@@ -44,6 +44,7 @@ import ai.tock.bot.mongo.ClientIdCol_.Companion.UserIds
44
44
import ai.tock.bot.mongo.DialogCol_.Companion.GroupId
45
45
import ai.tock.bot.mongo.DialogCol_.Companion.PlayerIds
46
46
import ai.tock.bot.mongo.DialogCol_.Companion.Stories
47
+ import ai.tock.bot.mongo.DialogCol_.Companion.Test
47
48
import ai.tock.bot.mongo.DialogCol_.Companion._id
48
49
import ai.tock.bot.mongo.DialogTextCol_.Companion.Date
49
50
import ai.tock.bot.mongo.DialogTextCol_.Companion.DialogId
@@ -69,13 +70,16 @@ import com.github.salomonbrys.kodein.instance
69
70
import com.mongodb.ReadPreference.secondaryPreferred
70
71
import com.mongodb.client.model.IndexOptions
71
72
import com.mongodb.client.model.ReplaceOptions
73
+ import java.time.Instant
74
+ import java.time.Instant.now
75
+ import java.time.ZoneOffset
76
+ import java.util.concurrent.TimeUnit.DAYS
72
77
import mu.KotlinLogging
73
78
import org.litote.kmongo.Id
74
79
import org.litote.kmongo.MongoOperator.and
75
80
import org.litote.kmongo.MongoOperator.gt
76
81
import org.litote.kmongo.MongoOperator.or
77
82
import org.litote.kmongo.MongoOperator.type
78
- import org.litote.kmongo.`in`
79
83
import org.litote.kmongo.addEachToSet
80
84
import org.litote.kmongo.addToSet
81
85
import org.litote.kmongo.aggregate
@@ -92,6 +96,7 @@ import org.litote.kmongo.findOne
92
96
import org.litote.kmongo.findOneById
93
97
import org.litote.kmongo.getCollection
94
98
import org.litote.kmongo.gt
99
+ import org.litote.kmongo.`in`
95
100
import org.litote.kmongo.json
96
101
import org.litote.kmongo.limit
97
102
import org.litote.kmongo.lt
@@ -106,10 +111,6 @@ import org.litote.kmongo.sort
106
111
import org.litote.kmongo.toId
107
112
import org.litote.kmongo.updateOneById
108
113
import org.litote.kmongo.upsert
109
- import java.time.Instant
110
- import java.time.Instant.now
111
- import java.time.ZoneOffset
112
- import java.util.concurrent.TimeUnit.DAYS
113
114
114
115
/* *
115
116
*
@@ -154,8 +155,15 @@ internal object UserTimelineMongoDAO : UserTimelineDAO, UserReportDAO, DialogRep
154
155
indexOptions = IndexOptions ()
155
156
.expireAfter(longProperty(" tock_bot_timeline_index_ttl_days" , 365 ), DAYS )
156
157
)
158
+ userTimelineCol.ensureIndex(
159
+ Namespace ,
160
+ ApplicationIds ,
161
+ UserTimelineCol_ .UserPreferences .test,
162
+ LastUpdateDate
163
+ )
157
164
dialogCol.ensureIndex(PlayerIds .id, Namespace )
158
165
dialogCol.ensureIndex(PlayerIds .clientId)
166
+ dialogCol.ensureIndex(ApplicationIds , Test , DialogCol_ .LastUpdateDate )
159
167
dialogCol.ensureIndex(
160
168
DialogCol_ .LastUpdateDate ,
161
169
indexOptions = ttlIndexOptions
@@ -170,8 +178,6 @@ internal object UserTimelineMongoDAO : UserTimelineDAO, UserReportDAO, DialogRep
170
178
)
171
179
dialogCol.ensureIndex(GroupId )
172
180
173
- dialogTextCol.ensureIndex(Text )
174
- dialogTextCol.ensureIndex(Text )
175
181
dialogTextCol.ensureUniqueIndex(Text , DialogId )
176
182
dialogTextCol.ensureIndex(
177
183
Date ,
@@ -263,6 +269,7 @@ internal object UserTimelineMongoDAO : UserTimelineDAO, UserReportDAO, DialogRep
263
269
saveNlpStats(it.toActionId(), dialog.id, it.nlpStats!! )
264
270
}
265
271
}
272
+
266
273
is SendSentence -> {
267
274
if (it.messages.isNotEmpty()) {
268
275
saveConnectorMessage(it.toActionId(), dialog.id, it.messages)
@@ -271,6 +278,7 @@ internal object UserTimelineMongoDAO : UserTimelineDAO, UserReportDAO, DialogRep
271
278
saveNlpStats(it.toActionId(), dialog.id, it.nlpStats!! )
272
279
}
273
280
}
281
+
274
282
else -> {
275
283
/* do nothing*/
276
284
}
@@ -527,7 +535,11 @@ internal object UserTimelineMongoDAO : UserTimelineDAO, UserReportDAO, DialogRep
527
535
val count = c.countDocuments(filter)
528
536
return if (count > start) {
529
537
val list = c.find(filter)
530
- .skip(start.toInt()).limit(size).descendingSort(LastUpdateDate ).map { it.toUserReport() }.toList()
538
+ .skip(start.toInt())
539
+ .limit(size)
540
+ .descendingSort(LastUpdateDate )
541
+ .map { it.toUserReport() }
542
+ .toList()
531
543
UserReportQueryResult (count, start, start + list.size, list)
532
544
} else {
533
545
UserReportQueryResult (0 , 0 , 0 , emptyList())
0 commit comments