Ignore server aggregation until API ready

This commit is contained in:
Valere 2019-06-04 17:14:52 +02:00
parent adbfde94d6
commit 53c91dc0c2
1 changed files with 19 additions and 14 deletions

View File

@ -44,6 +44,9 @@ internal interface EventRelationsAggregationTask : Task<EventRelationsAggregatio
*/ */
internal class DefaultEventRelationsAggregationTask(private val monarchy: Monarchy) : EventRelationsAggregationTask { internal class DefaultEventRelationsAggregationTask(private val monarchy: Monarchy) : EventRelationsAggregationTask {


//OPT OUT serer aggregation until API mature enough
private val SHOULD_HANDLE_SERVER_AGREGGATION = false

override fun execute(params: EventRelationsAggregationTask.Params): Try<Unit> { override fun execute(params: EventRelationsAggregationTask.Params): Try<Unit> {
return monarchy.tryTransactionAsync { realm -> return monarchy.tryTransactionAsync { realm ->
update(realm, params.events, params.userId) update(realm, params.events, params.userId)
@ -155,20 +158,22 @@ internal class DefaultEventRelationsAggregationTask(private val monarchy: Monarc
} }


private fun handleInitialAggregatedRelations(event: Event, roomId: String, aggregation: AggregatedAnnotation, realm: Realm) { private fun handleInitialAggregatedRelations(event: Event, roomId: String, aggregation: AggregatedAnnotation, realm: Realm) {
aggregation.chunk?.forEach { if (SHOULD_HANDLE_SERVER_AGREGGATION) {
if (it.type == EventType.REACTION) { aggregation.chunk?.forEach {
val eventId = event.eventId ?: "" if (it.type == EventType.REACTION) {
val existing = EventAnnotationsSummaryEntity.where(realm, eventId).findFirst() val eventId = event.eventId ?: ""
if (existing == null) { val existing = EventAnnotationsSummaryEntity.where(realm, eventId).findFirst()
val eventSummary = EventAnnotationsSummaryEntity.create(realm, eventId) if (existing == null) {
eventSummary.roomId = roomId val eventSummary = EventAnnotationsSummaryEntity.create(realm, eventId)
val sum = realm.createObject(ReactionAggregatedSummaryEntity::class.java) eventSummary.roomId = roomId
sum.key = it.key val sum = realm.createObject(ReactionAggregatedSummaryEntity::class.java)
sum.firstTimestamp = event.originServerTs ?: 0 //TODO how to maintain order? sum.key = it.key
sum.count = it.count sum.firstTimestamp = event.originServerTs ?: 0 //TODO how to maintain order?
eventSummary.reactionsSummary.add(sum) sum.count = it.count
} else { eventSummary.reactionsSummary.add(sum)
//TODO how to handle that } else {
//TODO how to handle that
}
} }
} }
} }