1 /*
2  *  Make.org Core API
3  *  Copyright (C) 2018 Make.org
4  *
5  * This program is free software: you can redistribute it and/or modify
6  *  it under the terms of the GNU Affero General Public License as
7  *  published by the Free Software Foundation, either version 3 of the
8  *  License, or (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU Affero General Public License for more details.
14  *
15  *  You should have received a copy of the GNU Affero General Public License
16  *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
17  *
18  */
19 
20 package org.make.api.proposal
21 
22 import akka.actor.typed.scaladsl.Behaviors
23 import akka.actor.typed.{ActorRef, Behavior}
24 import akka.persistence.typed.scaladsl.{Effect, EventSourcedBehavior, ReplyEffect, RetentionCriteria}
25 import akka.persistence.typed.{PersistenceId, SnapshotAdapter}
26 import cats.implicits._
27 import grizzled.slf4j.Logging
28 import org.make.api.proposal.ProposalActorResponse.Error._
29 import org.make.api.proposal.ProposalActorResponse._
30 import org.make.api.proposal.ProposalEvent._
31 import org.make.api.proposal.PublishedProposalEvent._
32 import org.make.api.sessionhistory._
33 import org.make.api.technical.EffectBuilderHelper._
34 import org.make.core._
35 import org.make.core.history.HistoryActions.VoteTrust
36 import org.make.core.proposal.ProposalActionType._
37 import org.make.core.proposal.ProposalStatus.{Accepted, Postponed, Refused}
38 import org.make.core.proposal.QualificationKey._
39 import org.make.core.proposal.VoteKey._
40 import org.make.core.proposal._
41 import org.make.core.technical.IdGenerator
42 import org.make.core.user.UserId
43 import spray.json.DefaultJsonProtocol._
44 import spray.json.{DefaultJsonProtocol, RootJsonFormat}
45 
46 import java.time.temporal.ChronoUnit
47 import java.time.{LocalDate, ZoneOffset}
48 import scala.concurrent.ExecutionContext.Implicits.global
49 import scala.concurrent.Future
50 import scala.concurrent.duration.{Deadline, FiniteDuration}
51 import scala.util.{Failure, Success}
52 
53 object ProposalActor extends Logging {
54 
55   val JournalPluginId: String = "make-api.event-sourcing.proposals.journal"
56   val SnapshotPluginId: String = "make-api.event-sourcing.proposals.snapshot"
57   val QueryJournalPluginId: String = "make-api.event-sourcing.proposals.query"
58 
59   final case class State(proposal: Option[Proposal]) extends MakeSerializable {
60 
61     def getProposal: ProposalActorResponse[ProposalNotFound, Proposal] = proposal match {
62       case Some(proposal) => Envelope(proposal)
63       case _              => ProposalNotFound
64     }
65 
66     def getVotes(newProposalsVoteThreshold: Int): ProposalActorResponse[VoteError, VotesActorResponse] =
67       getProposal.flatMap(_.votingOptions match {
68         case Some(votingOptions) =>
69           val scores = VotingOptionsScores(votingOptions, newProposalsVoteThreshold)
70           val agree = VoteActorResponse(votingOptions.agreeVote, scores.agree)
71           val neutral = VoteActorResponse(votingOptions.neutralVote, scores.neutral)
72           val disagree = VoteActorResponse(votingOptions.disagreeVote, scores.disagree)
73           Envelope(VotesActorResponse(agree, disagree, neutral))
74         case None => VoteNotFound
75       })
76 
77     def getQualification(key: QualificationKey): ProposalActorResponse[QualificationError, Qualification] =
78       getProposal.flatMap(_.votingOptions match {
79         case Some(votingOptions) => Envelope(votingOptions.getQualification(key))
80         case None                => QualificationNotFound
81       })
82   }
83 
84   object State {
85     implicit val stateFormatter: RootJsonFormat[State] = DefaultJsonProtocol.jsonFormat1(State.apply)
86   }
87 
88   final case class ProposalLock(moderatorId: UserId, moderatorName: String, deadline: Deadline)
89 
90   class LockHandler(duration: FiniteDuration) {
91     var lock: Option[ProposalLock] = None
92     def take(id: UserId, name: Option[String]): Unit = {
93       lock = Some(ProposalLock(id, name.getOrElse("<unknown>"), duration.fromNow))
94     }
95   }
96 
97   def apply(
98     sessionHistoryCoordinatorService: SessionHistoryCoordinatorService,
99     lockDuration: FiniteDuration,
100     idGenerator: IdGenerator
101   ): Behavior[ProposalCommand] = {
102 
103     Behaviors.setup { implicit context =>
104       def commandHandler(lockHandler: LockHandler): (State, ProposalCommand) => ReplyEffect[ProposalEvent, State] = {
105         case (state, GetProposal(_, _, replyTo)) => Effect.reply(replyTo)(state.getProposal)
106         case (_, ViewProposalCommand(proposalId, requestContext, replyTo)) =>
107           onViewProposalCommand(proposalId, requestContext, replyTo)
108         case (_, command: ProposeCommand)                 => onProposeCommand(command)
109         case (state, command: UpdateProposalCommand)      => onUpdateProposalCommand(state, command)
110         case (state, command: UpdateProposalVotesCommand) => onUpdateProposalVotesCommand(state, command)
111         case (state, command: AcceptProposalCommand)      => onAcceptProposalCommand(state, command)
112         case (state, command: RefuseProposalCommand)      => onRefuseProposalCommand(state, command)
113         case (state, command: PostponeProposalCommand)    => onPostponeProposalCommand(state, command)
114         case (state, command: VoteProposalCommand)        => onVoteProposalCommand(state, command)
115         case (state, command: UnvoteProposalCommand)      => onUnvoteProposalCommand(state, command)
116         case (state, command: QualifyVoteCommand)         => onQualificationProposalCommand(state, command)
117         case (state, command: UnqualifyVoteCommand)       => onUnqualificationProposalCommand(state, command)
118         case (state, command: LockProposalCommand)        => onLockProposalCommand(state, command, lockHandler)
119         case (state, command: PatchProposalCommand)       => onPatchProposalCommand(state, command)
120         case (_, command: SetKeywordsCommand)             => onSetKeywordsCommand(command)
121         case (_, Stop(_, _, replyTo))                     => Effect.stop().thenReply(replyTo)(_ => Envelope(()))
122       }
123 
124       def onPatchProposalCommand(state: State, command: PatchProposalCommand): ReplyEffect[ProposalEvent, State] = {
125         state.proposal match {
126           case None => Effect.reply(command.replyTo)(ProposalNotFound)
127           case Some(proposal) =>
128             val changes = command.changes
129             val modifiedContext =
130               changes.creationContext.fold(proposal.creationContext) { contextChanges =>
131                 proposal.creationContext.copy(
132                   requestId = contextChanges.requestId.getOrElse(proposal.creationContext.requestId),
133                   sessionId = contextChanges.sessionId.getOrElse(proposal.creationContext.sessionId),
134                   visitorId = contextChanges.visitorId.orElse(proposal.creationContext.visitorId),
135                   visitorCreatedAt = contextChanges.visitorCreatedAt.orElse(proposal.creationContext.visitorCreatedAt),
136                   externalId = contextChanges.externalId.getOrElse(proposal.creationContext.externalId),
137                   country = contextChanges.country.orElse(proposal.creationContext.country),
138                   detectedCountry = contextChanges.detectedCountry.orElse(proposal.creationContext.detectedCountry),
139                   languageContext = proposal.creationContext.languageContext
140                     .copy(language = contextChanges.language.orElse(proposal.creationContext.languageContext.language)),
141                   operationId = contextChanges.operation.orElse(proposal.creationContext.operationId),
142                   source = contextChanges.source.orElse(proposal.creationContext.source),
143                   location = contextChanges.location.orElse(proposal.creationContext.location),
144                   questionContext = proposal.creationContext.questionContext.copy(
145                     question = contextChanges.question.orElse(proposal.creationContext.questionContext.question),
146                     questionId = contextChanges.questionId.orElse(proposal.creationContext.questionContext.questionId)
147                   ),
148                   hostname = contextChanges.hostname.orElse(proposal.creationContext.hostname),
149                   ipAddress = contextChanges.ipAddress.orElse(proposal.creationContext.ipAddress),
150                   ipAddressHash = contextChanges.ipAddressHash.orElse(proposal.creationContext.ipAddressHash),
151                   getParameters = contextChanges.getParameters.orElse(proposal.creationContext.getParameters),
152                   userAgent = contextChanges.userAgent.orElse(proposal.creationContext.userAgent),
153                   applicationName = contextChanges.applicationName.orElse(proposal.creationContext.applicationName),
154                   referrer = contextChanges.referrer.orElse(proposal.creationContext.referrer),
155                   customData = contextChanges.customData.getOrElse(proposal.creationContext.customData)
156                 )
157               }
158 
159             val modifiedProposal =
160               proposal.copy(
161                 slug = changes.slug.getOrElse(proposal.slug),
162                 content = changes.content.getOrElse(proposal.content),
163                 contentTranslations = changes.contentTranslations.orElse(proposal.contentTranslations),
164                 submittedAsLanguage = changes.submittedAsLanguage.orElse(proposal.submittedAsLanguage),
165                 author = changes.author.getOrElse(proposal.author),
166                 status = changes.status.getOrElse(proposal.status),
167                 refusalReason = changes.refusalReason.orElse(proposal.refusalReason),
168                 isAnonymous = changes.isAnonymous.getOrElse(proposal.isAnonymous),
169                 tags = changes.tags.getOrElse(proposal.tags),
170                 questionId = changes.questionId.orElse(proposal.questionId),
171                 creationContext = modifiedContext,
172                 idea = changes.ideaId.orElse(proposal.idea),
173                 operation = changes.operation.orElse(proposal.operation),
174                 updatedAt = Some(DateHelper.now()),
175                 initialProposal = changes.initialProposal.getOrElse(proposal.initialProposal),
176                 keywords = changes.keywords.getOrElse(proposal.keywords)
177               )
178 
179             val event = ProposalPatched(
180               id = command.proposalId,
181               requestContext = command.requestContext,
182               proposal = modifiedProposal,
183               eventDate = DateHelper.now(),
184               eventId = Some(idGenerator.nextEventId())
185             )
186             Effect
187               .persist[ProposalPatched, State](event)
188               .thenPublish(event)
189               .thenReply(command.replyTo)(_.getProposal)
190         }
191       }
192 
193       def onVoteProposalCommand(state: State, command: VoteProposalCommand): ReplyEffect[ProposalEvent, State] = {
194         state.proposal match {
195           case None => Effect.reply(command.replyTo)(ProposalNotFound)
196           case _ =>
197             command.vote match {
198               // User hasn't voted on proposal yet
199               case None =>
200                 val event = ProposalVoted(
201                   id = command.proposalId,
202                   maybeUserId = command.maybeUserId,
203                   eventDate = DateHelper.now(),
204                   maybeOrganisationId = command.maybeOrganisationId,
205                   requestContext = command.requestContext,
206                   voteKey = command.voteKey,
207                   voteTrust = command.voteTrust,
208                   eventId = Some(idGenerator.nextEventId())
209                 )
210                 Effect
211                   .persist[ProposalVoted, State](event)
212                   .thenPublish(event)
213                   .thenRun { s =>
214                     logVoteEvent(event).onComplete {
215                       case Success(_) => command.replyTo ! s.getVotes(command.newProposalsVoteThreshold)
216                       case Failure(e) => command.replyTo ! HistoryError(e)
217                     }
218                   }
219                   .thenNoReply()
220               // User has already voted on this proposal with this vote key (e.g.: double click)
221               case Some(vote) if vote.voteKey == command.voteKey =>
222                 Effect.reply(command.replyTo)(state.getVotes(command.newProposalsVoteThreshold))
223               // User has already voted with another key. Behaviour: first, unvote previous vote then, revote with new key
224               case Some(vote) =>
225                 val unvoteEvent = ProposalUnvoted(
226                   id = command.proposalId,
227                   maybeUserId = command.maybeUserId,
228                   eventDate = DateHelper.now(),
229                   requestContext = command.requestContext,
230                   voteKey = vote.voteKey,
231                   maybeOrganisationId = command.maybeOrganisationId,
232                   voteTrust = vote.trust,
233                   selectedQualifications = vote.qualificationKeys.keys.toSeq,
234                   eventId = Some(idGenerator.nextEventId())
235                 )
236                 val voteEvent = ProposalVoted(
237                   id = command.proposalId,
238                   maybeUserId = command.maybeUserId,
239                   eventDate = DateHelper.now(),
240                   maybeOrganisationId = command.maybeOrganisationId,
241                   requestContext = command.requestContext,
242                   voteKey = command.voteKey,
243                   voteTrust = command.voteTrust,
244                   eventId = Some(idGenerator.nextEventId())
245                 )
246                 Effect
247                   .persist[ProposalEvent, State](Seq(unvoteEvent, voteEvent))
248                   .thenPublish(unvoteEvent)
249                   .thenPublish(voteEvent)
250                   .thenRun { s =>
251                     (logUnvoteEvent(unvoteEvent) >> logVoteEvent(voteEvent)).onComplete {
252                       case Success(_) => command.replyTo ! s.getVotes(command.newProposalsVoteThreshold)
253                       case Failure(e) => command.replyTo ! HistoryError(e)
254                     }
255                   }
256                   .thenNoReply()
257             }
258         }
259       }
260 
261       def logVoteEvent(event: ProposalVoted): Future[_] = {
262         sessionHistoryCoordinatorService.logTransactionalHistory(
263           LogSessionVoteEvent(
264             sessionId = event.requestContext.sessionId,
265             requestContext = event.requestContext,
266             action = SessionAction(
267               date = event.eventDate,
268               actionType = ProposalVoteAction.value,
269               SessionVote(proposalId = event.id, voteKey = event.voteKey, trust = event.voteTrust)
270             )
271           )
272         )
273       }
274 
275       def logUnvoteEvent(event: ProposalUnvoted): Future[_] = {
276         sessionHistoryCoordinatorService.logTransactionalHistory(
277           LogSessionUnvoteEvent(
278             sessionId = event.requestContext.sessionId,
279             requestContext = event.requestContext,
280             action = SessionAction(
281               date = event.eventDate,
282               actionType = ProposalUnvoteAction.value,
283               SessionUnvote(proposalId = event.id, voteKey = event.voteKey, trust = event.voteTrust)
284             )
285           )
286         )
287       }
288 
289       def logQualifyVoteEvent(event: ProposalQualified): Future[_] = {
290         sessionHistoryCoordinatorService.logTransactionalHistory(
291           LogSessionQualificationEvent(
292             sessionId = event.requestContext.sessionId,
293             requestContext = event.requestContext,
294             action = SessionAction(
295               date = event.eventDate,
296               actionType = ProposalQualifyAction.value,
297               SessionQualification(
298                 proposalId = event.id,
299                 qualificationKey = event.qualificationKey,
300                 trust = event.voteTrust
301               )
302             )
303           )
304         )
305       }
306 
307       def logRemoveVoteQualificationEvent(event: ProposalUnqualified): Future[_] = {
308         sessionHistoryCoordinatorService.logTransactionalHistory(
309           LogSessionUnqualificationEvent(
310             sessionId = event.requestContext.sessionId,
311             requestContext = event.requestContext,
312             action = SessionAction(
313               date = event.eventDate,
314               actionType = ProposalUnqualifyAction.value,
315               SessionUnqualification(
316                 proposalId = event.id,
317                 qualificationKey = event.qualificationKey,
318                 trust = event.voteTrust
319               )
320             )
321           )
322         )
323       }
324 
325       def onUnvoteProposalCommand(state: State, command: UnvoteProposalCommand): ReplyEffect[ProposalEvent, State] = {
326         state.proposal match {
327           case None => Effect.reply(command.replyTo)(ProposalNotFound)
328           case _ =>
329             command.vote match {
330               // User hasn't voted on proposal yet
331               case None =>
332                 Effect.reply(command.replyTo)(state.getVotes(command.newProposalsVoteThreshold))
333               // User voted on this proposal so we unvote whatever voted key
334               case Some(vote) =>
335                 val event = ProposalUnvoted(
336                   id = command.proposalId,
337                   maybeUserId = command.maybeUserId,
338                   eventDate = DateHelper.now(),
339                   requestContext = command.requestContext,
340                   voteKey = vote.voteKey,
341                   maybeOrganisationId = command.maybeOrganisationId,
342                   selectedQualifications = vote.qualificationKeys.keys.toSeq,
343                   voteTrust = vote.trust,
344                   eventId = Some(idGenerator.nextEventId())
345                 )
346                 Effect
347                   .persist[ProposalUnvoted, State](event)
348                   .thenPublish(event)
349                   .thenRun { s =>
350                     logUnvoteEvent(event).flatMap { _ =>
351                       Future.traverse(event.selectedQualifications) { qualification =>
352                         logRemoveVoteQualificationEvent(
353                           ProposalUnqualified(
354                             event.id,
355                             maybeUserId = event.maybeUserId,
356                             eventDate = event.eventDate,
357                             requestContext = event.requestContext,
358                             voteKey = event.voteKey,
359                             qualificationKey = qualification,
360                             voteTrust = vote.qualificationKeys.getOrElse(qualification, event.voteTrust),
361                             eventId = Some(idGenerator.nextEventId())
362                           )
363                         )
364                       }
365                     }.onComplete { result =>
366                       command.replyTo ! (result match {
367                         case Success(_) => s.getVotes(command.newProposalsVoteThreshold)
368                         case Failure(e) => HistoryError(e)
369                       })
370                     }
371                   }
372                   .thenNoReply()
373             }
374         }
375       }
376 
377       def checkQualification(voteKey: VoteKey, commandVoteKey: VoteKey, qualificationKey: QualificationKey): Boolean = {
378         voteKey match {
379           case key if key != commandVoteKey => false
380           case Agree =>
381             qualificationKey == LikeIt || qualificationKey == Doable || qualificationKey == PlatitudeAgree
382           case Disagree =>
383             qualificationKey == NoWay || qualificationKey == Impossible || qualificationKey == PlatitudeDisagree
384           case Neutral =>
385             qualificationKey == DoNotCare || qualificationKey == DoNotUnderstand || qualificationKey == NoOpinion
386           case _ => false
387         }
388       }
389 
390       def onQualificationProposalCommand(
391         state: State,
392         command: QualifyVoteCommand
393       ): ReplyEffect[ProposalEvent, State] = {
394         state.proposal match {
395           case None => Effect.reply(command.replyTo)(ProposalNotFound)
396           case _ =>
397             command.vote match {
398               // User hasn't voted on proposal yet
399               case None =>
400                 Effect.reply(command.replyTo)(state.getQualification(command.qualificationKey))
401               // User already qualified this qualification key on this proposal (e.g.: double click)
402               case Some(vote) if vote.qualificationKeys.contains(command.qualificationKey) =>
403                 Effect.reply(command.replyTo)(state.getQualification(command.qualificationKey))
404               // Qualificication doesn't belong to user's vote.
405               case Some(vote) if !checkQualification(vote.voteKey, command.voteKey, command.qualificationKey) =>
406                 Effect.reply(command.replyTo)(state.getQualification(command.qualificationKey))
407               // User qualifies correctly
408               case Some(vote) =>
409                 val resolvedTrust = if (!vote.trust.isTrusted) {
410                   vote.trust
411                 } else {
412                   command.voteTrust
413                 }
414                 val event = ProposalQualified(
415                   id = command.proposalId,
416                   maybeUserId = command.maybeUserId,
417                   eventDate = DateHelper.now(),
418                   requestContext = command.requestContext,
419                   voteKey = command.voteKey,
420                   qualificationKey = command.qualificationKey,
421                   voteTrust = resolvedTrust,
422                   eventId = Some(idGenerator.nextEventId())
423                 )
424                 Effect
425                   .persist[ProposalQualified, State](event)
426                   .thenPublish(event)
427                   .thenRun { s =>
428                     logQualifyVoteEvent(event).onComplete { result =>
429                       command.replyTo ! (result match {
430                         case Success(_) =>
431                           s.getQualification(command.qualificationKey)
432                         case Failure(e) => HistoryError(e)
433                       })
434                     }
435                   }
436                   .thenNoReply()
437             }
438         }
439       }
440 
441       def onUnqualificationProposalCommand(
442         state: State,
443         command: UnqualifyVoteCommand
444       ): ReplyEffect[ProposalEvent, State] = {
445         state.proposal match {
446           case None => Effect.reply(command.replyTo)(ProposalNotFound)
447           case _ =>
448             command.vote match {
449               // User hasn't voted on proposal yet
450               case None =>
451                 Effect.reply(command.replyTo)(state.getQualification(command.qualificationKey))
452 
453               // User has voted and qualified this proposal
454               case Some(vote) if vote.qualificationKeys.contains(command.qualificationKey) =>
455                 val event = ProposalUnqualified(
456                   id = command.proposalId,
457                   maybeUserId = command.maybeUserId,
458                   eventDate = DateHelper.now(),
459                   requestContext = command.requestContext,
460                   voteKey = command.voteKey,
461                   qualificationKey = command.qualificationKey,
462                   voteTrust = vote.qualificationKeys.getOrElse(command.qualificationKey, command.voteTrust),
463                   eventId = Some(idGenerator.nextEventId())
464                 )
465                 Effect
466                   .persist[ProposalUnqualified, State](event)
467                   .thenPublish(event)
468                   .thenRun { s =>
469                     logRemoveVoteQualificationEvent(event).onComplete { result =>
470                       command.replyTo ! (result match {
471                         case Success(_) => s.getQualification(command.qualificationKey)
472                         case Failure(e) => HistoryError(e)
473                       })
474                     }
475                   }
476                   .thenNoReply()
477               // User has voted on this proposal but hasn't qualified with the unqualify key
478               case _ =>
479                 Effect.reply(command.replyTo)(state.getQualification(command.qualificationKey))
480 
481             }
482         }
483 
484       }
485 
486       def onViewProposalCommand(
487         proposalId: ProposalId,
488         requestContext: RequestContext,
489         replyTo: ActorRef[ProposalActorResponse[ProposalNotFound, Proposal]]
490       ): ReplyEffect[ProposalEvent, State] = {
491         Effect
492           .persist(
493             ProposalViewed(
494               id = proposalId,
495               eventDate = DateHelper.now(),
496               requestContext = requestContext,
497               eventId = Some(idGenerator.nextEventId())
498             )
499           )
500           .thenReply(replyTo)(_.getProposal)
501       }
502 
503       def onProposeCommand(command: ProposeCommand): ReplyEffect[ProposalEvent, State] = {
504         val user = command.user
505         val event = ProposalProposed(
506           id = command.proposalId,
507           author = ProposalAuthorInfo(
508             user.userId,
509             user.organisationName.orElse(user.firstName),
510             user.profile.flatMap(_.postalCode),
511             user.profile.flatMap(_.dateOfBirth).map { date =>
512               ChronoUnit.YEARS.between(date, LocalDate.now(ZoneOffset.UTC)).toInt
513             }
514           ),
515           slug = SlugHelper(command.content),
516           requestContext = command.requestContext,
517           userId = user.userId,
518           eventDate = command.createdAt,
519           content = command.content,
520           submittedAsLanguage = Some(command.submittedAsLanguage),
521           operation = command.question.operationId,
522           language = Some(command.question.defaultLanguage),
523           country = command.requestContext.country,
524           isAnonymous = command.isAnonymous,
525           question = Some(command.question.questionId),
526           initialProposal = command.initialProposal,
527           proposalType = command.proposalType,
528           eventId = Some(idGenerator.nextEventId())
529         )
530         Effect
531           .persist[ProposalProposed, State](event)
532           .thenPublish(event)
533           .thenReply(command.replyTo)(_ => Envelope(command.proposalId))
534 
535       }
536 
537       def onUpdateProposalCommand(state: State, command: UpdateProposalCommand): ReplyEffect[ProposalEvent, State] = {
538         state.proposal match {
539           case None => Effect.reply(command.replyTo)(ProposalNotFound)
540           case Some(proposal) if proposal.status != ProposalStatus.Accepted =>
541             Effect.reply(command.replyTo)(
542               InvalidStateError(s"Proposal ${command.proposalId.value} is not accepted and cannot be updated")
543             )
544           case Some(proposal) =>
545             val event =
546               ProposalUpdated(
547                 id = proposal.proposalId,
548                 eventDate = DateHelper.now(),
549                 requestContext = command.requestContext,
550                 updatedAt = command.updatedAt,
551                 moderator = Some(command.moderator),
552                 edition = (command.newContent, command.newTranslations) match {
553                   case (None, None) => None
554                   case (newContent, newTranslations) =>
555                     Some(ProposalEdition(proposal.content, newContent, proposal.contentTranslations, newTranslations))
556                 },
557                 tags = command.tags,
558                 similarProposals = Seq.empty,
559                 operation = command.question.operationId.orElse(proposal.operation),
560                 question = Some(command.question.questionId),
561                 idea = proposal.idea,
562                 eventId = Some(idGenerator.nextEventId())
563               )
564             Effect
565               .persist[ProposalUpdated, State](event)
566               .thenPublish(event)
567               .thenReply(command.replyTo)(_.getProposal)
568         }
569       }
570 
571       def onUpdateProposalVotesCommand(
572         state: State,
573         command: UpdateProposalVotesCommand
574       ): ReplyEffect[ProposalEvent, State] = {
575         state.proposal match {
576           case None => Effect.reply(command.replyTo)(ProposalNotFound)
577           case Some(proposal)
578               if !Seq(ProposalStatus.Accepted, ProposalStatus.Archived, ProposalStatus.Refused).contains(
579                 proposal.status
580               ) =>
581             Effect.reply(command.replyTo)(
582               InvalidStateError(
583                 s"Proposal ${command.proposalId.value} is not accepted/archived/refused and cannot be updated"
584               )
585             )
586           case Some(proposal) =>
587             val event = ProposalVotesUpdated(
588               id = command.proposalId,
589               eventDate = DateHelper.now(),
590               requestContext = command.requestContext,
591               updatedAt = command.updatedAt,
592               moderator = Some(command.moderator),
593               updatedVotes = proposal.votingOptions.map(mergeVotes(_, command.votes)),
594               eventId = Some(idGenerator.nextEventId())
595             )
596             Effect
597               .persist[ProposalVotesUpdated, State](event)
598               .thenPublish(event)
599               .thenReply(command.replyTo)(_.getProposal)
600         }
601       }
602 
603       def onAcceptProposalCommand(state: State, command: AcceptProposalCommand): ReplyEffect[ProposalEvent, State] = {
604         state.proposal match {
605           case None => Effect.reply(command.replyTo)(ProposalNotFound)
606           case Some(proposal) if proposal.status == ProposalStatus.Archived =>
607             Effect.reply(command.replyTo)(
608               InvalidStateError(s"Proposal ${command.proposalId.value} is archived and cannot be validated")
609             )
610           case Some(proposal) if proposal.status == ProposalStatus.Accepted =>
611             // possible double request, ignore.
612             // other modifications should use the proposal update method
613             Effect.reply(command.replyTo)(
614               InvalidStateError(s"Proposal ${command.proposalId.value} is already validated")
615             )
616           case Some(proposal) =>
617             val event = ProposalAccepted(
618               id = command.proposalId,
619               eventDate = DateHelper.now(),
620               requestContext = command.requestContext,
621               moderator = command.moderator,
622               edition = (command.newContent, command.newTranslations) match {
623                 case (None, None) => None
624                 case (newContent, newTranslations) =>
625                   Some(ProposalEdition(proposal.content, newContent, proposal.contentTranslations, newTranslations))
626               },
627               sendValidationEmail = command.sendNotificationEmail,
628               tags = command.tags,
629               similarProposals = Seq.empty,
630               idea = proposal.idea,
631               operation = command.question.operationId.orElse(proposal.operation),
632               question = Some(command.question.questionId),
633               eventId = Some(idGenerator.nextEventId())
634             )
635             Effect
636               .persist[ProposalAccepted, State](event)
637               .thenPublish(event)
638               .thenReply(command.replyTo)(_.getProposal)
639         }
640       }
641 
642       def onRefuseProposalCommand(state: State, command: RefuseProposalCommand): ReplyEffect[ProposalEvent, State] = {
643         state.proposal match {
644           case None => Effect.reply(command.replyTo)(ProposalNotFound)
645           case Some(proposal) if proposal.status == ProposalStatus.Archived =>
646             Effect.reply(command.replyTo)(
647               InvalidStateError(s"Proposal ${command.proposalId.value} is archived and cannot be refused")
648             )
649           case Some(proposal) if proposal.status == ProposalStatus.Refused =>
650             // possible double request, ignore.
651             // other modifications should use the proposal update command
652             Effect.reply(command.replyTo)(InvalidStateError(s"Proposal ${command.proposalId.value} is already refused"))
653           case Some(proposal) =>
654             val event = ProposalRefused(
655               id = command.proposalId,
656               eventDate = DateHelper.now(),
657               requestContext = command.requestContext,
658               moderator = command.moderator,
659               sendRefuseEmail = command.sendNotificationEmail,
660               refusalReason = command.refusalReason,
661               operation = proposal.operation,
662               eventId = Some(idGenerator.nextEventId())
663             )
664             Effect
665               .persist[ProposalRefused, State](event)
666               .thenPublish(event)
667               .thenReply(command.replyTo)(_.getProposal)
668         }
669       }
670 
671       def onPostponeProposalCommand(
672         state: State,
673         command: PostponeProposalCommand
674       ): ReplyEffect[ProposalEvent, State] = {
675         state.proposal match {
676           case None => Effect.reply(command.replyTo)(ProposalNotFound)
677           case Some(proposal) if proposal.status == ProposalStatus.Archived =>
678             Effect.reply(command.replyTo)(
679               InvalidStateError(s"Proposal ${command.proposalId.value} is archived and cannot be postponed")
680             )
681           case Some(proposal)
682               if proposal.status == ProposalStatus.Accepted || proposal.status == ProposalStatus.Refused =>
683             Effect.reply(command.replyTo)(
684               InvalidStateError(s"Proposal ${command.proposalId.value} is already moderated and cannot be postponed")
685             )
686           case Some(proposal) if proposal.status == ProposalStatus.Postponed =>
687             Effect.reply(command.replyTo)(
688               InvalidStateError(s"Proposal ${command.proposalId.value} is already postponed")
689             )
690           case Some(_) =>
691             val event =
692               ProposalPostponed(
693                 id = command.proposalId,
694                 requestContext = command.requestContext,
695                 moderator = command.moderator,
696                 eventDate = DateHelper.now(),
697                 eventId = Some(idGenerator.nextEventId())
698               )
699             Effect
700               .persist[ProposalPostponed, State](event)
701               .thenPublish(event)
702               .thenReply(command.replyTo)(_.getProposal)
703         }
704       }
705 
706       def onLockProposalCommand(
707         state: State,
708         command: LockProposalCommand,
709         lockHandler: LockHandler
710       ): ReplyEffect[ProposalEvent, State] = {
711         state.proposal match {
712           case None => Effect.reply(command.replyTo)(ProposalNotFound)
713           case _ =>
714             lockHandler.lock match {
715               case Some(ProposalLock(moderatorId, moderatorName, deadline))
716                   if moderatorId != command.moderatorId && deadline.hasTimeLeft() =>
717                 Effect.reply(command.replyTo)(AlreadyLockedBy(moderatorName))
718 
719               case maybeLock if maybeLock.forall(_.deadline.isOverdue()) =>
720                 val event = ProposalLocked(
721                   id = command.proposalId,
722                   moderatorId = command.moderatorId,
723                   moderatorName = command.moderatorName,
724                   eventDate = DateHelper.now(),
725                   requestContext = command.requestContext,
726                   eventId = Some(idGenerator.nextEventId())
727                 )
728                 lockHandler.take(event.moderatorId, event.moderatorName)
729                 Effect
730                   .persist[ProposalLocked, State](event)
731                   .thenPublish(event)
732                   .thenReply(command.replyTo)(_ => Envelope(event.moderatorId))
733               case _ =>
734                 lockHandler.take(command.moderatorId, command.moderatorName)
735                 Effect.reply(command.replyTo)(Envelope(command.moderatorId))
736             }
737         }
738       }
739 
740       def mergeVotes(proposalVotes: VotingOptions, commandVotes: Seq[UpdateVoteRequest]): VotingOptions = {
741         def mergeQualification(qualification: Qualification): Qualification =
742           commandVotes.flatMap(_.qualifications).find(_.key == qualification.key) match {
743             case None => qualification
744             case Some(updatedQualification) =>
745               qualification.copy(
746                 count = updatedQualification.count.getOrElse(qualification.count),
747                 countVerified = updatedQualification.countVerified.getOrElse(qualification.countVerified),
748                 countSequence = updatedQualification.countSequence.getOrElse(qualification.countSequence),
749                 countSegment = updatedQualification.countSegment.getOrElse(qualification.countSegment)
750               )
751           }
752         def mergeVote(vote: Vote): Vote =
753           commandVotes.find(_.key == vote.key) match {
754             case None => vote
755             case Some(updatedVote) =>
756               vote.copy(
757                 count = updatedVote.count.getOrElse(vote.count),
758                 countVerified = updatedVote.countVerified.getOrElse(vote.countVerified),
759                 countSequence = updatedVote.countSequence.getOrElse(vote.countSequence),
760                 countSegment = updatedVote.countSegment.getOrElse(vote.countSegment)
761               )
762           }
763 
764         proposalVotes.mapVotes(mergeVote).mapQualifications(mergeQualification)
765       }
766 
767       def onSetKeywordsCommand(command: SetKeywordsCommand): ReplyEffect[ProposalEvent, State] = {
768         val event = ProposalKeywordsSet(
769           command.proposalId,
770           eventDate = DateHelper.now(),
771           keywords = command.keywords,
772           requestContext = command.requestContext,
773           eventId = Some(idGenerator.nextEventId())
774         )
775         Effect.persist[ProposalKeywordsSet, State](event).thenPublish(event).thenReply(command.replyTo)(_.getProposal)
776       }
777 
778       def applyProposalUpdated(state: Proposal, event: ProposalUpdated): Proposal = {
779 
780         val arguments: Map[String, String] = Map(
781           "oldQuestion" -> state.questionId.filterNot(event.question.contains).fold("")(_.value),
782           "newQuestion" -> event.question.filterNot(state.questionId.contains).fold("")(_.value),
783           "oldOperation" -> state.operation.filterNot(event.operation.contains).fold("")(_.value),
784           "newOperation" -> event.operation.filterNot(state.operation.contains).fold("")(_.value),
785           "oldContent" -> event.edition.fold("")(_.oldVersion),
786           "newContent" -> event.edition.flatMap(_.newVersion).getOrElse(""),
787           "oldTranslations" -> event.edition.flatMap(_.oldContentTranslations.map(_.toString)).getOrElse(""),
788           "newTranslations" -> event.edition.flatMap(_.newContentTranslations.map(_.toString)).getOrElse(""),
789           "submittedAsLanguage" -> event.submittedAsLanguage.fold("")(_.value),
790           "removedTags" -> state.tags.diff(event.tags).map(_.value).mkString(","),
791           "addedTags" -> event.tags.diff(state.tags).map(_.value).mkString(",")
792         ).filter {
793           case (_, value) => value.nonEmpty
794         }
795         @SuppressWarnings(Array("org.wartremover.warts.Throw"))
796         val moderator: UserId = event.moderator match {
797           case Some(userId) => userId
798           case _            => throw new IllegalStateException("moderator required")
799         }
800         val action =
801           ProposalAction(
802             date = event.eventDate,
803             user = moderator,
804             actionType = ProposalUpdateAction.value,
805             arguments = arguments
806           )
807         val proposal =
808           state.copy(
809             tags = event.tags,
810             events = action :: state.events,
811             updatedAt = Some(event.eventDate),
812             idea = event.idea,
813             operation = event.operation,
814             questionId = event.question
815           )
816 
817         event.edition match {
818           case None => proposal
819           case Some(ProposalEdition(_, Some(newVersion), _, newContentTranslations)) =>
820             proposal.copy(
821               content = newVersion,
822               slug = SlugHelper(newVersion),
823               contentTranslations = newContentTranslations
824             )
825           case Some(ProposalEdition(_, None, _, newContentTranslations)) =>
826             proposal.copy(contentTranslations = newContentTranslations)
827         }
828       }
829 
830       def applyProposalVotesVerifiedUpdated(state: Proposal, event: ProposalVotesVerifiedUpdated): Proposal =
831         state.copy(votingOptions = event.updatedVerifiedVotes)
832 
833       def applyProposalVotesUpdated(state: Proposal, event: ProposalVotesUpdated): Proposal =
834         state.copy(votingOptions = event.updatedVotes)
835 
836       def applyProposalAccepted(state: Proposal, event: ProposalAccepted): Proposal = {
837         val arguments: Map[String, String] = Map(
838           "initialContent" -> event.edition.map(_.oldVersion).getOrElse(""),
839           "moderatedContent" -> event.edition.flatMap(_.newVersion).getOrElse(""),
840           "initialTranslations" -> event.edition.flatMap(_.oldContentTranslations.map(_.toString)).getOrElse(""),
841           "moderatedTranslations" -> event.edition.flatMap(_.newContentTranslations.map(_.toString)).getOrElse(""),
842           "tags" -> event.tags.map(_.value).mkString(","),
843           "userNotified" -> event.sendValidationEmail.toString
844         ).filter {
845           case (_, value) => value.nonEmpty
846         }
847         val action =
848           ProposalAction(
849             date = event.eventDate,
850             user = event.moderator,
851             actionType = ProposalAcceptAction.value,
852             arguments = arguments
853           )
854         val proposal =
855           state.copy(
856             tags = event.tags,
857             events = action :: state.events,
858             status = Accepted,
859             updatedAt = Some(event.eventDate),
860             validatedAt = Some(event.eventDate),
861             idea = event.idea,
862             operation = event.operation,
863             questionId = event.question
864           )
865 
866         event.edition match {
867           case None => proposal
868           case Some(ProposalEdition(_, Some(newVersion), _, newContentTranslations)) =>
869             proposal.copy(
870               content = newVersion,
871               slug = SlugHelper(newVersion),
872               contentTranslations = newContentTranslations
873             )
874           case Some(ProposalEdition(_, None, _, newContentTranslations)) =>
875             proposal.copy(contentTranslations = newContentTranslations)
876         }
877       }
878 
879       def applyProposalRefused(state: Proposal, event: ProposalRefused): Proposal = {
880         val arguments: Map[String, String] = Map(
881           "refusalReason" -> event.refusalReason.getOrElse(""),
882           "userNotified" -> event.sendRefuseEmail.toString
883         ).filter {
884           case (_, value) => value.nonEmpty
885         }
886         val action =
887           ProposalAction(date = event.eventDate, user = event.moderator, actionType = "refuse", arguments = arguments)
888         state.copy(
889           events = action :: state.events,
890           status = Refused,
891           refusalReason = event.refusalReason,
892           updatedAt = Some(event.eventDate),
893           validatedAt = Some(event.eventDate)
894         )
895       }
896 
897       def applyProposalPostponed(state: Proposal, event: ProposalPostponed): Proposal = {
898         val action =
899           ProposalAction(date = event.eventDate, user = event.moderator, actionType = "postpone", arguments = Map.empty)
900         state.copy(
901           events = action :: state.events,
902           status = Postponed,
903           updatedAt = Some(event.eventDate),
904           postponedAt = Some(event.eventDate)
905         )
906       }
907 
908       val increaseCountIf: (Int, Boolean) => Int = {
909         case (newCount, true) => newCount + 1
910         case (newCount, _)    => newCount
911       }
912 
913       def decreaseCountIf(logError: () => Unit): (Int, Boolean) => Int = {
914         case (0, true) =>
915           logError()
916           0
917         case (newCount, true) => newCount - 1
918         case (newCount, _)    => newCount
919       }
920 
921       def incrementWithVoteTrust(vote: Vote, voteTrust: VoteTrust): Vote =
922         vote.copy(
923           count = increaseCountIf(vote.count, true),
924           countSegment = increaseCountIf(vote.countSegment, voteTrust.isInSegment),
925           countSequence = increaseCountIf(vote.countSequence, voteTrust.isInSequence),
926           countVerified = increaseCountIf(vote.countVerified, voteTrust.isTrusted)
927         )
928 
929       def decrementWithVoteTrust(vote: Vote, proposal: Proposal, event: ProposalUnvoted): Vote = {
930         def genLogFunction(voteType: String): () => Unit =
931           () =>
932             logger.error(
933               s"Prevented $voteType [${event.voteKey}] count to be set to -1 for proposal: $proposal. Caused by event: $event"
934             )
935         vote.copy(
936           count = decreaseCountIf(genLogFunction("count"))(vote.count, true),
937           countSegment = decreaseCountIf(genLogFunction("countSegment"))(vote.countSegment, event.voteTrust.isInSegment),
938           countSequence =
939             decreaseCountIf(genLogFunction("countSequence"))(vote.countSequence, event.voteTrust.isInSequence),
940           countVerified =
941             decreaseCountIf(genLogFunction("countVerified"))(vote.countVerified, event.voteTrust.isTrusted)
942         )
943       }
944 
945       def applyProposalVoted(state: Proposal, event: ProposalVoted): Proposal = {
946         state.copy(
947           votingOptions =
948             state.votingOptions.map(_.updateVote(event.voteKey, incrementWithVoteTrust(_, event.voteTrust))),
949           organisationIds = event.maybeOrganisationId match {
950             case Some(organisationId)
951                 if !state.organisationIds
952                   .exists(_.value == organisationId.value) =>
953               state.organisationIds :+ organisationId
954             case _ => state.organisationIds
955           }
956         )
957       }
958 
959       def applyProposalUnvoted(state: Proposal, event: ProposalUnvoted): Proposal = {
960         state.copy(
961           votingOptions = state.votingOptions
962             .map(
963               _.updateVote(event.voteKey, decrementWithVoteTrust(_, state, event))
964                 .mapQualifications(
965                   qualification =>
966                     event.selectedQualifications
967                       .find(_ == qualification.key)
968                       .fold(qualification)(_ => applyUnqualifVote(state, qualification, event))
969                 )
970             ),
971           organisationIds = event.maybeOrganisationId match {
972             case Some(organisationId) =>
973               state.organisationIds.filterNot(_.value == organisationId.value)
974             case _ => state.organisationIds
975           }
976         )
977       }
978 
979       def applyUnqualifVote[T: Unvoted](state: Proposal, qualification: Qualification, event: T): Qualification = {
980         if (event.selectedQualifications.contains(qualification.key)) {
981           def logError(qualifType: String): () => Unit =
982             () =>
983               logger.error(
984                 s"Prevented $qualifType [${qualification.key}] count to be set to -1 for proposal: $state. Caused by event: $event"
985               )
986           Qualification(
987             key = qualification.key,
988             count = decreaseCountIf(logError("count"))(qualification.count, true),
989             countVerified =
990               decreaseCountIf(logError("countVerified"))(qualification.countVerified, event.voteTrust.isTrusted),
991             countSequence =
992               decreaseCountIf(logError("countSequence"))(qualification.countSequence, event.voteTrust.isInSequence),
993             countSegment =
994               decreaseCountIf(logError("countSegment"))(qualification.countSegment, event.voteTrust.isInSegment)
995           )
996         } else {
997           qualification
998         }
999       }
1000 
1001       def applyVoteTrustToQualification(qualification: Qualification, voteTrust: VoteTrust): Qualification =
1002         Qualification(
1003           key = qualification.key,
1004           count = increaseCountIf(qualification.count, true),
1005           countVerified = increaseCountIf(qualification.countVerified, voteTrust.isTrusted),
1006           countSequence = increaseCountIf(qualification.countSequence, voteTrust.isInSequence),
1007           countSegment = increaseCountIf(qualification.countSegment, voteTrust.isInSegment)
1008         )
1009 
1010       def applyProposalQualified(state: Proposal, event: ProposalQualified): Proposal =
1011         state.copy(votingOptions = state.votingOptions.map(
1012           _.updateQualification(event.qualificationKey, applyVoteTrustToQualification(_, event.voteTrust))
1013         )
1014         )
1015 
1016       def applyProposalUnqualified(state: Proposal, event: ProposalUnqualified): Proposal =
1017         state.copy(votingOptions =
1018           state.votingOptions.map(_.updateQualification(event.qualificationKey, applyUnqualifVote(state, _, event)))
1019         )
1020 
1021       def applyProposalLocked(state: Proposal, event: ProposalLocked): Proposal = {
1022         val arguments: Map[String, String] =
1023           Map("moderatorName" -> event.moderatorName.getOrElse("<unknown>")).filter {
1024             case (_, value) => value.nonEmpty
1025           }
1026         val action =
1027           ProposalAction(date = event.eventDate, user = event.moderatorId, actionType = "lock", arguments = arguments)
1028         state.copy(events = action :: state.events, updatedAt = Some(event.eventDate))
1029       }
1030 
1031       def applyProposalKeywordsSet(state: Proposal, event: ProposalKeywordsSet): Proposal = {
1032         state.copy(keywords = event.keywords, updatedAt = Some(event.eventDate))
1033       }
1034 
1035       val eventHandler: (State, ProposalEvent) => State = {
1036         case (_, e: ProposalProposed) =>
1037           State(
1038             Some(
1039               Proposal(
1040                 proposalId = e.id,
1041                 slug = e.slug,
1042                 author = e.userId,
1043                 createdAt = Some(e.eventDate),
1044                 updatedAt = None,
1045                 validatedAt = None,
1046                 postponedAt = None,
1047                 content = e.content,
1048                 submittedAsLanguage = e.submittedAsLanguage,
1049                 contentTranslations = None,
1050                 status = ProposalStatus.Pending,
1051                 questionId = e.question,
1052                 creationContext = e.requestContext,
1053                 votingOptions = Some(VotingOptions.empty),
1054                 isAnonymous = e.isAnonymous,
1055                 operation = e.operation,
1056                 proposalType = e.proposalType,
1057                 events = List(
1058                   ProposalAction(
1059                     date = e.eventDate,
1060                     user = e.userId,
1061                     actionType = ProposalProposeAction.value,
1062                     arguments = Map("content" -> e.content)
1063                   )
1064                 ),
1065                 initialProposal = e.initialProposal,
1066                 keywords = Seq.empty
1067               )
1068             )
1069           )
1070         case (state, e: ProposalUpdated) => State(state.proposal.map(applyProposalUpdated(_, e)))
1071         case (state, e: ProposalVotesVerifiedUpdated) =>
1072           State(state.proposal.map(applyProposalVotesVerifiedUpdated(_, e)))
1073         case (state, e: ProposalVotesUpdated) => State(state.proposal.map(applyProposalVotesUpdated(_, e)))
1074         case (state, e: ProposalAccepted)     => State(state.proposal.map(applyProposalAccepted(_, e)))
1075         case (state, e: ProposalRefused)      => State(state.proposal.map(applyProposalRefused(_, e)))
1076         case (state, e: ProposalPostponed)    => State(state.proposal.map(applyProposalPostponed(_, e)))
1077         case (state, e: ProposalVoted)        => State(state.proposal.map(applyProposalVoted(_, e)))
1078         case (state, e: ProposalUnvoted)      => State(state.proposal.map(applyProposalUnvoted(_, e)))
1079         case (state, e: ProposalQualified)    => State(state.proposal.map(applyProposalQualified(_, e)))
1080         case (state, e: ProposalUnqualified)  => State(state.proposal.map(applyProposalUnqualified(_, e)))
1081         case (state, e: ProposalLocked)       => State(state.proposal.map(applyProposalLocked(_, e)))
1082         case (_, e: ProposalPatched)          => State(Some(e.proposal))
1083         case (state, e: ProposalKeywordsSet)  => State(state.proposal.map(applyProposalKeywordsSet(_, e)))
1084         case (state, _: DeprecatedEvent)      => state
1085         case (state, _)                       => state
1086       }
1087 
1088       val snapshotAdapter = new SnapshotAdapter[State] {
1089         override def toJournal(state: State): Any = state
1090 
1091         @SuppressWarnings(Array("org.wartremover.warts.Throw"))
1092         override def fromJournal(from: Any): State = from match {
1093           case proposal: Proposal => State(Some(proposal))
1094           case state: State       => state
1095           case other =>
1096             throw new IllegalStateException(s"$other with class ${other.getClass} is not a recoverable state")
1097         }
1098       }
1099 
1100       EventSourcedBehavior
1101         .withEnforcedReplies[ProposalCommand, ProposalEvent, State](
1102           persistenceId = PersistenceId.ofUniqueId(context.self.path.name),
1103           emptyState = State(proposal = None),
1104           commandHandler(new LockHandler(lockDuration)),
1105           eventHandler
1106         )
1107         .withJournalPluginId(JournalPluginId)
1108         .withSnapshotPluginId(SnapshotPluginId)
1109         .withRetention(RetentionCriteria.snapshotEvery(numberOfEvents = 10, keepNSnapshots = 50))
1110         .snapshotAdapter(snapshotAdapter)
1111         .snapshotWhen {
1112           case (_, _: ProposalPatched, _) => true
1113           case _                          => false
1114         }
1115     }
1116   }
1117 
1118   implicit class UnvotedOps[T](val event: T) extends AnyVal {
1119     def selectedQualifications(implicit unvoted: Unvoted[T]): Seq[QualificationKey] = unvoted.qualifications(event)
1120     def voteTrust(implicit unvoted: Unvoted[T]): VoteTrust = unvoted.trust(event)
1121   }
1122 }
1123 
1124 trait Unvoted[T] {
1125   def qualifications(event: T): Seq[QualificationKey]
1126   def trust(event: T): VoteTrust
1127 }
1128 
1129 object Unvoted {
1130   implicit val qualification: Unvoted[ProposalUnqualified] = new Unvoted[ProposalUnqualified] {
1131     def qualifications(event: ProposalUnqualified): Seq[QualificationKey] =
1132       Seq(event.qualificationKey)
1133     def trust(event: ProposalUnqualified): VoteTrust =
1134       event.voteTrust
1135   }
1136 
1137   implicit val vote: Unvoted[ProposalUnvoted] = new Unvoted[ProposalUnvoted] {
1138     def qualifications(event: ProposalUnvoted): Seq[QualificationKey] =
1139       event.selectedQualifications
1140     def trust(event: ProposalUnvoted): VoteTrust =
1141       event.voteTrust
1142   }
1143 }
Line Stmt Id Pos Tree Symbol Tests Code
55 13329 2218 - 2261 Literal <nosymbol> "make-api.event-sourcing.proposals.journal"
56 11749 2295 - 2339 Literal <nosymbol> "make-api.event-sourcing.proposals.snapshot"
57 17227 2377 - 2418 Literal <nosymbol> "make-api.event-sourcing.proposals.query"
61 13683 2574 - 2582 Select org.make.api.proposal.ProposalActor.State.proposal State.this.proposal
62 10204 2620 - 2638 Apply org.make.api.proposal.ProposalActorResponse.Envelope.apply org.make.api.proposal.ProposalActorResponse.Envelope.apply[org.make.core.proposal.Proposal](proposal)
63 16628 2668 - 2684 Select org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound
67 17451 2803 - 3327 Apply org.make.api.proposal.ProposalActorResponse.flatMap State.this.getProposal.flatMap[org.make.api.proposal.ProposalActorResponse.Error.VoteError, org.make.api.proposal.ProposalActorResponse.VotesActorResponse](((x$1: org.make.core.proposal.Proposal) => x$1.votingOptions match { case (value: org.make.core.proposal.VotingOptions): Some[org.make.core.proposal.VotingOptions]((votingOptions @ _)) => { val scores: org.make.core.proposal.VotingOptionsScores = org.make.core.proposal.VotingOptionsScores.apply(votingOptions, newProposalsVoteThreshold); val agree: org.make.api.proposal.ProposalActorResponse.VoteActorResponse = org.make.api.proposal.ProposalActorResponse.VoteActorResponse.apply(votingOptions.agreeVote, scores.agree); val neutral: org.make.api.proposal.ProposalActorResponse.VoteActorResponse = org.make.api.proposal.ProposalActorResponse.VoteActorResponse.apply(votingOptions.neutralVote, scores.neutral); val disagree: org.make.api.proposal.ProposalActorResponse.VoteActorResponse = org.make.api.proposal.ProposalActorResponse.VoteActorResponse.apply(votingOptions.disagreeVote, scores.disagree); org.make.api.proposal.ProposalActorResponse.Envelope.apply[org.make.api.proposal.ProposalActorResponse.VotesActorResponse](org.make.api.proposal.ProposalActorResponse.VotesActorResponse.apply(agree, disagree, neutral)) } case scala.None => org.make.api.proposal.ProposalActorResponse.Error.VoteNotFound }))
67 14738 2823 - 2838 Select org.make.core.proposal.Proposal.votingOptions x$1.votingOptions
69 10989 2906 - 2967 Apply org.make.core.proposal.VotingOptionsScores.apply org.make.core.proposal.VotingOptionsScores.apply(votingOptions, newProposalsVoteThreshold)
70 16650 3008 - 3031 Select org.make.core.proposal.VotingOptions.agreeVote votingOptions.agreeVote
70 9466 2990 - 3046 Apply org.make.api.proposal.ProposalActorResponse.VoteActorResponse.apply org.make.api.proposal.ProposalActorResponse.VoteActorResponse.apply(votingOptions.agreeVote, scores.agree)
70 13547 3033 - 3045 Select org.make.core.proposal.VotingOptionsScores.agree scores.agree
71 14010 3116 - 3130 Select org.make.core.proposal.VotingOptionsScores.neutral scores.neutral
71 10220 3071 - 3131 Apply org.make.api.proposal.ProposalActorResponse.VoteActorResponse.apply org.make.api.proposal.ProposalActorResponse.VoteActorResponse.apply(votingOptions.neutralVote, scores.neutral)
71 17433 3089 - 3114 Select org.make.core.proposal.VotingOptions.neutralVote votingOptions.neutralVote
72 10872 3157 - 3219 Apply org.make.api.proposal.ProposalActorResponse.VoteActorResponse.apply org.make.api.proposal.ProposalActorResponse.VoteActorResponse.apply(votingOptions.disagreeVote, scores.disagree)
72 16500 3175 - 3201 Select org.make.core.proposal.VotingOptions.disagreeVote votingOptions.disagreeVote
72 14756 3203 - 3218 Select org.make.core.proposal.VotingOptionsScores.disagree scores.disagree
73 17002 3239 - 3283 Apply org.make.api.proposal.ProposalActorResponse.VotesActorResponse.apply org.make.api.proposal.ProposalActorResponse.VotesActorResponse.apply(agree, disagree, neutral)
73 13565 3230 - 3284 Apply org.make.api.proposal.ProposalActorResponse.Envelope.apply org.make.api.proposal.ProposalActorResponse.Envelope.apply[org.make.api.proposal.ProposalActorResponse.VotesActorResponse](org.make.api.proposal.ProposalActorResponse.VotesActorResponse.apply(agree, disagree, neutral))
74 9935 3306 - 3318 Select org.make.api.proposal.ProposalActorResponse.Error.VoteNotFound org.make.api.proposal.ProposalActorResponse.Error.VoteNotFound
78 10888 3443 - 3635 Apply org.make.api.proposal.ProposalActorResponse.flatMap State.this.getProposal.flatMap[org.make.api.proposal.ProposalActorResponse.Error.QualificationError, org.make.core.proposal.Qualification](((x$2: org.make.core.proposal.Proposal) => x$2.votingOptions match { case (value: org.make.core.proposal.VotingOptions): Some[org.make.core.proposal.VotingOptions]((votingOptions @ _)) => org.make.api.proposal.ProposalActorResponse.Envelope.apply[org.make.core.proposal.Qualification](votingOptions.getQualification(key)) case scala.None => org.make.api.proposal.ProposalActorResponse.Error.QualificationNotFound }))
78 14025 3463 - 3478 Select org.make.core.proposal.Proposal.votingOptions x$2.votingOptions
79 16519 3523 - 3568 Apply org.make.api.proposal.ProposalActorResponse.Envelope.apply org.make.api.proposal.ProposalActorResponse.Envelope.apply[org.make.core.proposal.Qualification](votingOptions.getQualification(key))
79 10177 3532 - 3567 Apply org.make.core.proposal.VotingOptions.getQualification votingOptions.getQualification(key)
80 14419 3605 - 3626 Select org.make.api.proposal.ProposalActorResponse.Error.QualificationNotFound org.make.api.proposal.ProposalActorResponse.Error.QualificationNotFound
85 13191 3746 - 3746 Select org.make.core.proposal.Proposal.writer org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest proposal.this.Proposal.writer
85 17015 3747 - 3758 Apply org.make.api.proposal.ProposalActor.State.apply org.make.api.proposal.proposalstatetest ProposalActor.this.State.apply(proposal)
85 17364 3715 - 3759 ApplyToImplicitArgs spray.json.ProductFormatsInstances.jsonFormat1 org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest spray.json.DefaultJsonProtocol.jsonFormat1[Option[org.make.core.proposal.Proposal], org.make.api.proposal.ProposalActor.State](((proposal: Option[org.make.core.proposal.Proposal]) => ProposalActor.this.State.apply(proposal)))(spray.json.DefaultJsonProtocol.optionFormat[org.make.core.proposal.Proposal](proposal.this.Proposal.writer), (ClassTag.apply[org.make.api.proposal.ProposalActor.State](classOf[org.make.api.proposal.ProposalActor$$State]): scala.reflect.ClassTag[org.make.api.proposal.ProposalActor.State]))
85 9959 3746 - 3746 ApplyToImplicitArgs spray.json.StandardFormats.optionFormat org.make.api.sessionhistory.sessionhistorycoordinatortest,org.make.api.technical.crm.crmservicecomponenttest spray.json.DefaultJsonProtocol.optionFormat[org.make.core.proposal.Proposal](proposal.this.Proposal.writer)
91 13908 3947 - 3951 Select scala.None scala.None
93 16645 4015 - 4091 Apply org.make.api.proposal.ProposalActor.LockHandler.lock_= LockHandler.this.lock_=(scala.Some.apply[org.make.api.proposal.ProposalActor.ProposalLock](ProposalActor.this.ProposalLock.apply(id, name.getOrElse[String]("<unknown>"), LockHandler.this.duration.fromNow)))
93 12697 4027 - 4090 Apply org.make.api.proposal.ProposalActor.ProposalLock.apply ProposalActor.this.ProposalLock.apply(id, name.getOrElse[String]("<unknown>"), LockHandler.this.duration.fromNow)
93 16166 4073 - 4089 Select scala.concurrent.duration.FiniteDuration.fromNow LockHandler.this.duration.fromNow
93 10199 4044 - 4071 Apply scala.Option.getOrElse name.getOrElse[String]("<unknown>")
93 10904 4022 - 4091 Apply scala.Some.apply scala.Some.apply[org.make.api.proposal.ProposalActor.ProposalLock](ProposalActor.this.ProposalLock.apply(id, name.getOrElse[String]("<unknown>"), LockHandler.this.duration.fromNow))
103 12999 4291 - 52975 Apply akka.actor.typed.scaladsl.Behaviors.setup akka.actor.typed.scaladsl.Behaviors.setup[org.make.api.proposal.ProposalCommand](((implicit context: akka.actor.typed.scaladsl.ActorContext[org.make.api.proposal.ProposalCommand]) => { def commandHandler(lockHandler: org.make.api.proposal.ProposalActor.LockHandler): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand) => akka.persistence.typed.scaladsl.ReplyEffect[org.make.api.proposal.ProposalEvent,org.make.api.proposal.ProposalActor.State] = ((x0$1: org.make.api.proposal.ProposalActor.State, x1$1: org.make.api.proposal.ProposalCommand) => scala.Tuple2.apply[org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand](x0$1, x1$1) match { case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalCommand): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand)((state @ _), (proposalId: org.make.core.proposal.ProposalId, requestContext: org.make.core.RequestContext, replyTo: akka.actor.typed.ActorRef[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound,org.make.core.proposal.Proposal]]): org.make.api.proposal.GetProposal(_, _, (replyTo @ _))) => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](replyTo)(state.getProposal) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalCommand): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand)(_, (proposalId: org.make.core.proposal.ProposalId, requestContext: org.make.core.RequestContext, replyTo: akka.actor.typed.ActorRef[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound,org.make.core.proposal.Proposal]]): org.make.api.proposal.ViewProposalCommand((proposalId @ _), (requestContext @ _), (replyTo @ _))) => onViewProposalCommand(proposalId, requestContext, replyTo) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalCommand): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand)(_, (command @ (_: org.make.api.proposal.ProposeCommand))) => onProposeCommand(command) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalCommand): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand)((state @ _), (command @ (_: org.make.api.proposal.UpdateProposalCommand))) => onUpdateProposalCommand(state, command) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalCommand): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand)((state @ _), (command @ (_: org.make.api.proposal.UpdateProposalVotesCommand))) => onUpdateProposalVotesCommand(state, command) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalCommand): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand)((state @ _), (command @ (_: org.make.api.proposal.AcceptProposalCommand))) => onAcceptProposalCommand(state, command) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalCommand): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand)((state @ _), (command @ (_: org.make.api.proposal.RefuseProposalCommand))) => onRefuseProposalCommand(state, command) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalCommand): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand)((state @ _), (command @ (_: org.make.api.proposal.PostponeProposalCommand))) => onPostponeProposalCommand(state, command) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalCommand): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand)((state @ _), (command @ (_: org.make.api.proposal.VoteProposalCommand))) => onVoteProposalCommand(state, command) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalCommand): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand)((state @ _), (command @ (_: org.make.api.proposal.UnvoteProposalCommand))) => onUnvoteProposalCommand(state, command) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalCommand): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand)((state @ _), (command @ (_: org.make.api.proposal.QualifyVoteCommand))) => onQualificationProposalCommand(state, command) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalCommand): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand)((state @ _), (command @ (_: org.make.api.proposal.UnqualifyVoteCommand))) => onUnqualificationProposalCommand(state, command) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalCommand): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand)((state @ _), (command @ (_: org.make.api.proposal.LockProposalCommand))) => onLockProposalCommand(state, command, lockHandler) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalCommand): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand)((state @ _), (command @ (_: org.make.api.proposal.PatchProposalCommand))) => onPatchProposalCommand(state, command) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalCommand): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand)(_, (command @ (_: org.make.api.proposal.SetKeywordsCommand))) => onSetKeywordsCommand(command) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalCommand): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalCommand)(_, (proposalId: org.make.core.proposal.ProposalId, requestContext: org.make.core.RequestContext, replyTo: akka.actor.typed.ActorRef[org.make.api.proposal.ProposalActorResponse.Envelope[Unit]]): org.make.api.proposal.Stop(_, _, (replyTo @ _))) => akka.persistence.typed.scaladsl.Effect.stop[Nothing, org.make.api.proposal.ProposalActor.State]().thenReply[org.make.api.proposal.ProposalActorResponse.Envelope[Unit]](replyTo)(((x$3: org.make.api.proposal.ProposalActor.State) => org.make.api.proposal.ProposalActorResponse.Envelope.apply[Unit](()))) }); def onPatchProposalCommand(state: org.make.api.proposal.ProposalActor.State, command: org.make.api.proposal.PatchProposalCommand): akka.persistence.typed.scaladsl.ReplyEffect[org.make.api.proposal.ProposalEvent,org.make.api.proposal.ProposalActor.State] = state.proposal match { case scala.None => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound) case (value: org.make.core.proposal.Proposal): Some[org.make.core.proposal.Proposal]((proposal @ _)) => { val changes: org.make.api.proposal.PatchProposalRequest = command.changes; val modifiedContext: org.make.core.RequestContext = changes.creationContext.fold[org.make.core.RequestContext](proposal.creationContext)(((contextChanges: org.make.api.proposal.PatchRequestContext) => { <artifact> val x$4: String = contextChanges.requestId.getOrElse[String](proposal.creationContext.requestId); <artifact> val x$5: org.make.core.session.SessionId = contextChanges.sessionId.getOrElse[org.make.core.session.SessionId](proposal.creationContext.sessionId); <artifact> val x$6: Option[org.make.core.session.VisitorId] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.visitorId.orElse[org.make.core.session.VisitorId](proposal.creationContext.visitorId); <artifact> val x$7: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.visitorCreatedAt.orElse[java.time.ZonedDateTime](proposal.creationContext.visitorCreatedAt); <artifact> val x$8: String = contextChanges.externalId.getOrElse[String](proposal.creationContext.externalId); <artifact> val x$9: Option[org.make.core.reference.Country] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.country.orElse[org.make.core.reference.Country](proposal.creationContext.country); <artifact> val x$10: Option[org.make.core.reference.Country] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.detectedCountry.orElse[org.make.core.reference.Country](proposal.creationContext.detectedCountry); <artifact> val x$11: org.make.core.RequestContextLanguage = proposal.creationContext.languageContext.copy(contextChanges.language.orElse[org.make.core.reference.Language](proposal.creationContext.languageContext.language), proposal.creationContext.languageContext.copy$default$2, proposal.creationContext.languageContext.copy$default$3, proposal.creationContext.languageContext.copy$default$4); <artifact> val x$12: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.operation.orElse[org.make.core.operation.OperationId](proposal.creationContext.operationId); <artifact> val x$13: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.source.orElse[String](proposal.creationContext.source); <artifact> val x$14: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.location.orElse[String](proposal.creationContext.location); <artifact> val x$15: org.make.core.RequestContextQuestion = { <artifact> val x$1: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.question.orElse[String](proposal.creationContext.questionContext.question); <artifact> val x$2: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.questionId.orElse[org.make.core.question.QuestionId](proposal.creationContext.questionContext.questionId); <artifact> val x$3: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = proposal.creationContext.questionContext.copy$default$2; proposal.creationContext.questionContext.copy(x$1, x$3, x$2) }; <artifact> val x$16: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.hostname.orElse[String](proposal.creationContext.hostname); <artifact> val x$17: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.ipAddress.orElse[String](proposal.creationContext.ipAddress); <artifact> val x$18: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.ipAddressHash.orElse[String](proposal.creationContext.ipAddressHash); <artifact> val x$19: Option[Map[String,String]] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.getParameters.orElse[Map[String,String]](proposal.creationContext.getParameters); <artifact> val x$20: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.userAgent.orElse[String](proposal.creationContext.userAgent); <artifact> val x$21: Option[org.make.core.ApplicationName] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.applicationName.orElse[org.make.core.ApplicationName](proposal.creationContext.applicationName); <artifact> val x$22: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.referrer.orElse[String](proposal.creationContext.referrer); <artifact> val x$23: Map[String,String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.customData.getOrElse[Map[String,String]](proposal.creationContext.customData); <artifact> val x$24: Option[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.creationContext.copy$default$1; proposal.creationContext.copy(x$24, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23) })); val modifiedProposal: org.make.core.proposal.Proposal = { <artifact> val x$25: String = changes.slug.getOrElse[String](proposal.slug); <artifact> val x$26: String = changes.content.getOrElse[String](proposal.content); <artifact> val x$27: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = changes.contentTranslations.orElse[org.make.core.technical.Multilingual[String]](proposal.contentTranslations); <artifact> val x$28: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = changes.submittedAsLanguage.orElse[org.make.core.reference.Language](proposal.submittedAsLanguage); <artifact> val x$29: org.make.core.user.UserId = changes.author.getOrElse[org.make.core.user.UserId](proposal.author); <artifact> val x$30: org.make.core.proposal.ProposalStatus = changes.status.getOrElse[org.make.core.proposal.ProposalStatus](proposal.status); <artifact> val x$31: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = changes.refusalReason.orElse[String](proposal.refusalReason); <artifact> val x$32: Boolean = changes.isAnonymous.getOrElse[Boolean](proposal.isAnonymous); <artifact> val x$33: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = changes.tags.getOrElse[Seq[org.make.core.tag.TagId]](proposal.tags); <artifact> val x$34: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = changes.questionId.orElse[org.make.core.question.QuestionId](proposal.questionId); <artifact> val x$35: org.make.core.RequestContext = modifiedContext; <artifact> val x$36: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = changes.ideaId.orElse[org.make.core.idea.IdeaId](proposal.idea); <artifact> val x$37: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = changes.operation.orElse[org.make.core.operation.OperationId](proposal.operation); <artifact> val x$38: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](org.make.core.DateHelper.now()); <artifact> val x$39: Boolean = changes.initialProposal.getOrElse[Boolean](proposal.initialProposal); <artifact> val x$40: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = changes.keywords.getOrElse[Seq[org.make.core.proposal.ProposalKeyword]](proposal.keywords); <artifact> val x$41: org.make.core.proposal.ProposalId = proposal.copy$default$1; <artifact> val x$42: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$10; <artifact> val x$43: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$12; <artifact> val x$44: org.make.core.proposal.ProposalType = proposal.copy$default$17; <artifact> val x$45: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$18; <artifact> val x$46: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$20; <artifact> val x$47: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$21; <artifact> val x$48: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$22; proposal.copy(x$41, x$25, x$26, x$28, x$27, x$29, x$30, x$31, x$33, x$42, x$32, x$43, x$34, x$35, x$36, x$37, x$44, x$45, x$38, x$46, x$47, x$48, x$39, x$40) }; val event: org.make.api.proposal.PublishedProposalEvent.ProposalPatched = { <artifact> val x$49: org.make.core.proposal.ProposalId = command.proposalId; <artifact> val x$50: org.make.core.RequestContext = command.requestContext; <artifact> val x$51: org.make.core.proposal.Proposal = modifiedProposal; <artifact> val x$52: java.time.ZonedDateTime = org.make.core.DateHelper.now(); <artifact> val x$53: Some[org.make.core.EventId] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()); org.make.api.proposal.PublishedProposalEvent.ProposalPatched.apply(x$49, x$52, x$50, x$51, x$53) }; org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalPatched, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalPatched, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound,org.make.core.proposal.Proposal]](command.replyTo)(((x$4: org.make.api.proposal.ProposalActor.State) => x$4.getProposal)) } }; def onVoteProposalCommand(state: org.make.api.proposal.ProposalActor.State, command: org.make.api.proposal.VoteProposalCommand): akka.persistence.typed.scaladsl.ReplyEffect[org.make.api.proposal.ProposalEvent,org.make.api.proposal.ProposalActor.State] = state.proposal match { case scala.None => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound) case _ => command.vote match { case scala.None => { val event: org.make.api.proposal.PublishedProposalEvent.ProposalVoted = { <artifact> val x$1: org.make.core.proposal.ProposalId = command.proposalId; <artifact> val x$2: Option[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = command.maybeUserId; <artifact> val x$3: java.time.ZonedDateTime = org.make.core.DateHelper.now(); <artifact> val x$4: Option[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = command.maybeOrganisationId; <artifact> val x$5: org.make.core.RequestContext = command.requestContext; <artifact> val x$6: org.make.core.proposal.VoteKey = command.voteKey; <artifact> val x$7: org.make.core.history.HistoryActions.VoteTrust = command.voteTrust; <artifact> val x$8: Some[org.make.core.EventId] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()); <artifact> val x$9: Option[org.make.core.proposal.OrganisationInfo] @scala.reflect.internal.annotations.uncheckedBounds = org.make.api.proposal.PublishedProposalEvent.ProposalVoted.apply$default$4; org.make.api.proposal.PublishedProposalEvent.ProposalVoted.apply(x$1, x$2, x$3, x$9, x$4, x$5, x$6, x$7, x$8) }; org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalVoted, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalVoted, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenRun(((s: org.make.api.proposal.ProposalActor.State) => logVoteEvent(event).onComplete[Unit](((x0$1: scala.util.Try[_$1]) => x0$1 match { case (value: _$1): scala.util.Success[_$1](_) => typed.this.ActorRef.ActorRefOps[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse]](command.replyTo).!(s.getVotes(command.newProposalsVoteThreshold)) case (exception: Throwable): scala.util.Failure[_$1]((e @ _)) => typed.this.ActorRef.ActorRefOps[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse]](command.replyTo).!(org.make.api.proposal.ProposalActorResponse.Error.HistoryError.apply(e)) }))(scala.concurrent.ExecutionContext.Implicits.global))).thenNoReply() } case (value: org.make.core.history.HistoryActions.VoteAndQualifications): Some[org.make.core.history.HistoryActions.VoteAndQualifications]((vote @ _)) if vote.voteKey.==(command.voteKey) => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(state.getVotes(command.newProposalsVoteThreshold)) case (value: org.make.core.history.HistoryActions.VoteAndQualifications): Some[org.make.core.history.HistoryActions.VoteAndQualifications]((vote @ _)) => { val unvoteEvent: org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted = { <artifact> val x$10: org.make.core.proposal.ProposalId = command.proposalId; <artifact> val x$11: Option[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = command.maybeUserId; <artifact> val x$12: java.time.ZonedDateTime = org.make.core.DateHelper.now(); <artifact> val x$13: org.make.core.RequestContext = command.requestContext; <artifact> val x$14: org.make.core.proposal.VoteKey = vote.voteKey; <artifact> val x$15: Option[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = command.maybeOrganisationId; <artifact> val x$16: org.make.core.history.HistoryActions.VoteTrust = vote.trust; <artifact> val x$17: Seq[org.make.core.proposal.QualificationKey] @scala.reflect.internal.annotations.uncheckedBounds = vote.qualificationKeys.keys.toSeq; <artifact> val x$18: Some[org.make.core.EventId] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()); <artifact> val x$19: Option[org.make.core.proposal.OrganisationInfo] @scala.reflect.internal.annotations.uncheckedBounds = org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.apply$default$4; org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.apply(x$10, x$11, x$12, x$19, x$15, x$13, x$14, x$17, x$16, x$18) }; val voteEvent: org.make.api.proposal.PublishedProposalEvent.ProposalVoted = { <artifact> val x$20: org.make.core.proposal.ProposalId = command.proposalId; <artifact> val x$21: Option[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = command.maybeUserId; <artifact> val x$22: java.time.ZonedDateTime = org.make.core.DateHelper.now(); <artifact> val x$23: Option[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = command.maybeOrganisationId; <artifact> val x$24: org.make.core.RequestContext = command.requestContext; <artifact> val x$25: org.make.core.proposal.VoteKey = command.voteKey; <artifact> val x$26: org.make.core.history.HistoryActions.VoteTrust = command.voteTrust; <artifact> val x$27: Some[org.make.core.EventId] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()); <artifact> val x$28: Option[org.make.core.proposal.OrganisationInfo] @scala.reflect.internal.annotations.uncheckedBounds = org.make.api.proposal.PublishedProposalEvent.ProposalVoted.apply$default$4; org.make.api.proposal.PublishedProposalEvent.ProposalVoted.apply(x$20, x$21, x$22, x$28, x$23, x$24, x$25, x$26, x$27) }; org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.ProposalEvent, org.make.api.proposal.ProposalActor.State](org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.ProposalEvent, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.ProposalEvent, org.make.api.proposal.ProposalActor.State](scala.`package`.Seq.apply[org.make.api.proposal.PublishedProposalEvent](unvoteEvent, voteEvent))).thenPublish(unvoteEvent)(context)).thenPublish(voteEvent)(context).thenRun(((s: org.make.api.proposal.ProposalActor.State) => cats.implicits.catsSyntaxFlatMapOps[scala.concurrent.Future, _$2](logUnvoteEvent(unvoteEvent))(cats.implicits.catsStdInstancesForFuture(scala.concurrent.ExecutionContext.Implicits.global)).>>[_$1](logVoteEvent(voteEvent))(cats.implicits.catsStdInstancesForFuture(scala.concurrent.ExecutionContext.Implicits.global)).onComplete[Unit](((x0$2: scala.util.Try[_$1]) => x0$2 match { case (value: _$1): scala.util.Success[_$1](_) => typed.this.ActorRef.ActorRefOps[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse]](command.replyTo).!(s.getVotes(command.newProposalsVoteThreshold)) case (exception: Throwable): scala.util.Failure[_$1]((e @ _)) => typed.this.ActorRef.ActorRefOps[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse]](command.replyTo).!(org.make.api.proposal.ProposalActorResponse.Error.HistoryError.apply(e)) }))(scala.concurrent.ExecutionContext.Implicits.global))).thenNoReply() } } }; def logVoteEvent(event: org.make.api.proposal.PublishedProposalEvent.ProposalVoted): scala.concurrent.Future[_] = sessionHistoryCoordinatorService.logTransactionalHistory[org.make.api.sessionhistory.LogSessionVoteEvent](org.make.api.sessionhistory.LogSessionVoteEvent.apply(event.requestContext.sessionId, event.requestContext, org.make.api.sessionhistory.SessionAction.apply[org.make.api.sessionhistory.SessionVote](event.eventDate, org.make.core.proposal.ProposalActionType.ProposalVoteAction.value, org.make.api.sessionhistory.SessionVote.apply(event.id, event.voteKey, event.voteTrust)))); def logUnvoteEvent(event: org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted): scala.concurrent.Future[_] = sessionHistoryCoordinatorService.logTransactionalHistory[org.make.api.sessionhistory.LogSessionUnvoteEvent](org.make.api.sessionhistory.LogSessionUnvoteEvent.apply(event.requestContext.sessionId, event.requestContext, org.make.api.sessionhistory.SessionAction.apply[org.make.api.sessionhistory.SessionUnvote](event.eventDate, org.make.core.proposal.ProposalActionType.ProposalUnvoteAction.value, org.make.api.sessionhistory.SessionUnvote.apply(event.id, event.voteKey, event.voteTrust)))); def logQualifyVoteEvent(event: org.make.api.proposal.PublishedProposalEvent.ProposalQualified): scala.concurrent.Future[_] = sessionHistoryCoordinatorService.logTransactionalHistory[org.make.api.sessionhistory.LogSessionQualificationEvent](org.make.api.sessionhistory.LogSessionQualificationEvent.apply(event.requestContext.sessionId, event.requestContext, org.make.api.sessionhistory.SessionAction.apply[org.make.api.sessionhistory.SessionQualification](event.eventDate, org.make.core.proposal.ProposalActionType.ProposalQualifyAction.value, org.make.api.sessionhistory.SessionQualification.apply(event.id, event.qualificationKey, event.voteTrust)))); def logRemoveVoteQualificationEvent(event: org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified): scala.concurrent.Future[_] = sessionHistoryCoordinatorService.logTransactionalHistory[org.make.api.sessionhistory.LogSessionUnqualificationEvent](org.make.api.sessionhistory.LogSessionUnqualificationEvent.apply(event.requestContext.sessionId, event.requestContext, org.make.api.sessionhistory.SessionAction.apply[org.make.api.sessionhistory.SessionUnqualification](event.eventDate, org.make.core.proposal.ProposalActionType.ProposalUnqualifyAction.value, org.make.api.sessionhistory.SessionUnqualification.apply(event.id, event.qualificationKey, event.voteTrust)))); def onUnvoteProposalCommand(state: org.make.api.proposal.ProposalActor.State, command: org.make.api.proposal.UnvoteProposalCommand): akka.persistence.typed.scaladsl.ReplyEffect[org.make.api.proposal.ProposalEvent,org.make.api.proposal.ProposalActor.State] = state.proposal match { case scala.None => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound) case _ => command.vote match { case scala.None => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(state.getVotes(command.newProposalsVoteThreshold)) case (value: org.make.core.history.HistoryActions.VoteAndQualifications): Some[org.make.core.history.HistoryActions.VoteAndQualifications]((vote @ _)) => { val event: org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted = { <artifact> val x$1: org.make.core.proposal.ProposalId = command.proposalId; <artifact> val x$2: Option[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = command.maybeUserId; <artifact> val x$3: java.time.ZonedDateTime = org.make.core.DateHelper.now(); <artifact> val x$4: org.make.core.RequestContext = command.requestContext; <artifact> val x$5: org.make.core.proposal.VoteKey = vote.voteKey; <artifact> val x$6: Option[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = command.maybeOrganisationId; <artifact> val x$7: Seq[org.make.core.proposal.QualificationKey] @scala.reflect.internal.annotations.uncheckedBounds = vote.qualificationKeys.keys.toSeq; <artifact> val x$8: org.make.core.history.HistoryActions.VoteTrust = vote.trust; <artifact> val x$9: Some[org.make.core.EventId] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()); <artifact> val x$10: Option[org.make.core.proposal.OrganisationInfo] @scala.reflect.internal.annotations.uncheckedBounds = org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.apply$default$4; org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.apply(x$1, x$2, x$3, x$10, x$6, x$4, x$5, x$7, x$8, x$9) }; org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenRun(((s: org.make.api.proposal.ProposalActor.State) => logUnvoteEvent(event).flatMap[Seq[Any]](((x$5: _$2) => scala.concurrent.Future.traverse[org.make.core.proposal.QualificationKey, Any, Seq](event.selectedQualifications)(((qualification: org.make.core.proposal.QualificationKey) => logRemoveVoteQualificationEvent(org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified.apply(event.id, event.maybeUserId, event.eventDate, event.requestContext, event.voteKey, qualification, vote.qualificationKeys.getOrElse[org.make.core.history.HistoryActions.VoteTrust](qualification, event.voteTrust), scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())))))(collection.this.BuildFrom.buildFromIterableOps[Seq, org.make.core.proposal.QualificationKey, Any], scala.concurrent.ExecutionContext.Implicits.global)))(scala.concurrent.ExecutionContext.Implicits.global).onComplete[Unit](((result: scala.util.Try[Seq[Any]]) => typed.this.ActorRef.ActorRefOps[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse]](command.replyTo).!(result match { case (value: Seq[Any]): scala.util.Success[Seq[Any]](_) => s.getVotes(command.newProposalsVoteThreshold) case (exception: Throwable): scala.util.Failure[Seq[Any]]((e @ _)) => org.make.api.proposal.ProposalActorResponse.Error.HistoryError.apply(e) })))(scala.concurrent.ExecutionContext.Implicits.global))).thenNoReply() } } }; def checkQualification(voteKey: org.make.core.proposal.VoteKey, commandVoteKey: org.make.core.proposal.VoteKey, qualificationKey: org.make.core.proposal.QualificationKey): Boolean = voteKey match { case (key @ _) if key.!=(commandVoteKey) => false case org.make.core.proposal.VoteKey.Agree => qualificationKey.==(org.make.core.proposal.QualificationKey.LikeIt).||(qualificationKey.==(org.make.core.proposal.QualificationKey.Doable)).||(qualificationKey.==(org.make.core.proposal.QualificationKey.PlatitudeAgree)) case org.make.core.proposal.VoteKey.Disagree => qualificationKey.==(org.make.core.proposal.QualificationKey.NoWay).||(qualificationKey.==(org.make.core.proposal.QualificationKey.Impossible)).||(qualificationKey.==(org.make.core.proposal.QualificationKey.PlatitudeDisagree)) case org.make.core.proposal.VoteKey.Neutral => qualificationKey.==(org.make.core.proposal.QualificationKey.DoNotCare).||(qualificationKey.==(org.make.core.proposal.QualificationKey.DoNotUnderstand)).||(qualificationKey.==(org.make.core.proposal.QualificationKey.NoOpinion)) case _ => false }; def onQualificationProposalCommand(state: org.make.api.proposal.ProposalActor.State, command: org.make.api.proposal.QualifyVoteCommand): akka.persistence.typed.scaladsl.ReplyEffect[org.make.api.proposal.ProposalEvent,org.make.api.proposal.ProposalActor.State] = state.proposal match { case scala.None => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound) case _ => command.vote match { case scala.None => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(state.getQualification(command.qualificationKey)) case (value: org.make.core.history.HistoryActions.VoteAndQualifications): Some[org.make.core.history.HistoryActions.VoteAndQualifications]((vote @ _)) if vote.qualificationKeys.contains(command.qualificationKey) => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(state.getQualification(command.qualificationKey)) case (value: org.make.core.history.HistoryActions.VoteAndQualifications): Some[org.make.core.history.HistoryActions.VoteAndQualifications]((vote @ _)) if checkQualification(vote.voteKey, command.voteKey, command.qualificationKey).unary_! => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(state.getQualification(command.qualificationKey)) case (value: org.make.core.history.HistoryActions.VoteAndQualifications): Some[org.make.core.history.HistoryActions.VoteAndQualifications]((vote @ _)) => { val resolvedTrust: org.make.core.history.HistoryActions.VoteTrust = if (vote.trust.isTrusted.unary_!) vote.trust else command.voteTrust; val event: org.make.api.proposal.PublishedProposalEvent.ProposalQualified = org.make.api.proposal.PublishedProposalEvent.ProposalQualified.apply(command.proposalId, command.maybeUserId, org.make.core.DateHelper.now(), command.requestContext, command.voteKey, command.qualificationKey, resolvedTrust, scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())); org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalQualified, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalQualified, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenRun(((s: org.make.api.proposal.ProposalActor.State) => logQualifyVoteEvent(event).onComplete[Unit](((result: scala.util.Try[_$3]) => typed.this.ActorRef.ActorRefOps[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification]](command.replyTo).!(result match { case (value: _$3): scala.util.Success[_$3](_) => s.getQualification(command.qualificationKey) case (exception: Throwable): scala.util.Failure[_$3]((e @ _)) => org.make.api.proposal.ProposalActorResponse.Error.HistoryError.apply(e) })))(scala.concurrent.ExecutionContext.Implicits.global))).thenNoReply() } } }; def onUnqualificationProposalCommand(state: org.make.api.proposal.ProposalActor.State, command: org.make.api.proposal.UnqualifyVoteCommand): akka.persistence.typed.scaladsl.ReplyEffect[org.make.api.proposal.ProposalEvent,org.make.api.proposal.ProposalActor.State] = state.proposal match { case scala.None => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound) case _ => command.vote match { case scala.None => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(state.getQualification(command.qualificationKey)) case (value: org.make.core.history.HistoryActions.VoteAndQualifications): Some[org.make.core.history.HistoryActions.VoteAndQualifications]((vote @ _)) if vote.qualificationKeys.contains(command.qualificationKey) => { val event: org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified = org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified.apply(command.proposalId, command.maybeUserId, org.make.core.DateHelper.now(), command.requestContext, command.voteKey, command.qualificationKey, vote.qualificationKeys.getOrElse[org.make.core.history.HistoryActions.VoteTrust](command.qualificationKey, command.voteTrust), scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())); org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenRun(((s: org.make.api.proposal.ProposalActor.State) => logRemoveVoteQualificationEvent(event).onComplete[Unit](((result: scala.util.Try[_$4]) => typed.this.ActorRef.ActorRefOps[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification]](command.replyTo).!(result match { case (value: _$4): scala.util.Success[_$4](_) => s.getQualification(command.qualificationKey) case (exception: Throwable): scala.util.Failure[_$4]((e @ _)) => org.make.api.proposal.ProposalActorResponse.Error.HistoryError.apply(e) })))(scala.concurrent.ExecutionContext.Implicits.global))).thenNoReply() } case _ => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(state.getQualification(command.qualificationKey)) } }; def onViewProposalCommand(proposalId: org.make.core.proposal.ProposalId, requestContext: org.make.core.RequestContext, replyTo: akka.actor.typed.ActorRef[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound,org.make.core.proposal.Proposal]]): akka.persistence.typed.scaladsl.ReplyEffect[org.make.api.proposal.ProposalEvent,org.make.api.proposal.ProposalActor.State] = akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalViewed, org.make.api.proposal.ProposalActor.State](org.make.api.proposal.PublishedProposalEvent.ProposalViewed.apply(proposalId, org.make.core.DateHelper.now(), requestContext, scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()))).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound,org.make.core.proposal.Proposal]](replyTo)(((x$6: org.make.api.proposal.ProposalActor.State) => x$6.getProposal)); def onProposeCommand(command: org.make.api.proposal.ProposeCommand): akka.persistence.typed.scaladsl.ReplyEffect[org.make.api.proposal.ProposalEvent,org.make.api.proposal.ProposalActor.State] = { val user: org.make.core.user.User = command.user; val event: org.make.api.proposal.PublishedProposalEvent.ProposalProposed = { <artifact> val x$1: org.make.core.proposal.ProposalId = command.proposalId; <artifact> val x$2: org.make.api.proposal.PublishedProposalEvent.ProposalAuthorInfo = org.make.api.proposal.PublishedProposalEvent.ProposalAuthorInfo.apply(user.userId, user.organisationName.orElse[String](user.firstName), user.profile.flatMap[String](((x$7: org.make.core.profile.Profile) => x$7.postalCode)), user.profile.flatMap[java.time.LocalDate](((x$8: org.make.core.profile.Profile) => x$8.dateOfBirth)).map[Int](((date: java.time.LocalDate) => YEARS.between(date, java.time.LocalDate.now(java.time.ZoneOffset.UTC)).toInt))); <artifact> val x$3: String = org.make.core.SlugHelper.apply(command.content); <artifact> val x$4: org.make.core.RequestContext = command.requestContext; <artifact> val x$5: org.make.core.user.UserId = user.userId; <artifact> val x$6: java.time.ZonedDateTime = command.createdAt; <artifact> val x$7: String = command.content; <artifact> val x$8: Some[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[org.make.core.reference.Language](command.submittedAsLanguage); <artifact> val x$9: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = command.question.operationId; <artifact> val x$10: Some[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[org.make.core.reference.Language](command.question.defaultLanguage); <artifact> val x$11: Option[org.make.core.reference.Country] @scala.reflect.internal.annotations.uncheckedBounds = command.requestContext.country; <artifact> val x$12: Boolean = command.isAnonymous; <artifact> val x$13: Some[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[org.make.core.question.QuestionId](command.question.questionId); <artifact> val x$14: Boolean = command.initialProposal; <artifact> val x$15: org.make.core.proposal.ProposalType = command.proposalType; <artifact> val x$16: Some[org.make.core.EventId] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()); org.make.api.proposal.PublishedProposalEvent.ProposalProposed.apply(x$1, x$3, x$4, x$2, x$5, x$6, x$7, x$8, x$12, x$9, x$10, x$11, x$13, x$14, x$15, x$16) }; org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalProposed, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalProposed, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse.Envelope[org.make.core.proposal.ProposalId]](command.replyTo)(((x$9: org.make.api.proposal.ProposalActor.State) => org.make.api.proposal.ProposalActorResponse.Envelope.apply[org.make.core.proposal.ProposalId](command.proposalId))) }; def onUpdateProposalCommand(state: org.make.api.proposal.ProposalActor.State, command: org.make.api.proposal.UpdateProposalCommand): akka.persistence.typed.scaladsl.ReplyEffect[org.make.api.proposal.ProposalEvent,org.make.api.proposal.ProposalActor.State] = state.proposal match { case scala.None => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound) case (value: org.make.core.proposal.Proposal): Some[org.make.core.proposal.Proposal]((proposal @ _)) if proposal.status.!=(org.make.core.proposal.ProposalStatus.Accepted) => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is not accepted and cannot be updated"): String))) case (value: org.make.core.proposal.Proposal): Some[org.make.core.proposal.Proposal]((proposal @ _)) => { val event: org.make.api.proposal.PublishedProposalEvent.ProposalUpdated = { <artifact> val x$1: org.make.core.proposal.ProposalId = proposal.proposalId; <artifact> val x$2: java.time.ZonedDateTime = org.make.core.DateHelper.now(); <artifact> val x$3: org.make.core.RequestContext = command.requestContext; <artifact> val x$4: java.time.ZonedDateTime = command.updatedAt; <artifact> val x$5: Some[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[org.make.core.user.UserId](command.moderator); <artifact> val x$6: Option[org.make.api.proposal.PublishedProposalEvent.ProposalEdition] @scala.reflect.internal.annotations.uncheckedBounds = scala.Tuple2.apply[Option[String], Option[org.make.core.technical.Multilingual[String]]](command.newContent, command.newTranslations) match { case (_1: Option[String], _2: Option[org.make.core.technical.Multilingual[String]]): (Option[String], Option[org.make.core.technical.Multilingual[String]])(scala.None, scala.None) => scala.None case (_1: Option[String], _2: Option[org.make.core.technical.Multilingual[String]]): (Option[String], Option[org.make.core.technical.Multilingual[String]])((newContent @ _), (newTranslations @ _)) => scala.Some.apply[org.make.api.proposal.PublishedProposalEvent.ProposalEdition](org.make.api.proposal.PublishedProposalEvent.ProposalEdition.apply(proposal.content, newContent, proposal.contentTranslations, newTranslations)) }; <artifact> val x$7: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = command.tags; <artifact> val x$8: Seq[Nothing] @scala.reflect.internal.annotations.uncheckedBounds = scala.`package`.Seq.empty[Nothing]; <artifact> val x$9: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = command.question.operationId.orElse[org.make.core.operation.OperationId](proposal.operation); <artifact> val x$10: Some[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[org.make.core.question.QuestionId](command.question.questionId); <artifact> val x$11: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.idea; <artifact> val x$12: Some[org.make.core.EventId] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()); <artifact> val x$13: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = org.make.api.proposal.PublishedProposalEvent.ProposalUpdated.apply$default$11; org.make.api.proposal.PublishedProposalEvent.ProposalUpdated.apply(x$1, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$11, x$9, x$13, x$10, x$12) }; org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalUpdated, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalUpdated, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal]](command.replyTo)(((x$10: org.make.api.proposal.ProposalActor.State) => x$10.getProposal)) } }; def onUpdateProposalVotesCommand(state: org.make.api.proposal.ProposalActor.State, command: org.make.api.proposal.UpdateProposalVotesCommand): akka.persistence.typed.scaladsl.ReplyEffect[org.make.api.proposal.ProposalEvent,org.make.api.proposal.ProposalActor.State] = state.proposal match { case scala.None => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound) case (value: org.make.core.proposal.Proposal): Some[org.make.core.proposal.Proposal]((proposal @ _)) if scala.`package`.Seq.apply[org.make.core.proposal.ProposalStatus](org.make.core.proposal.ProposalStatus.Accepted, org.make.core.proposal.ProposalStatus.Archived, org.make.core.proposal.ProposalStatus.Refused).contains[org.make.core.proposal.ProposalStatus](proposal.status).unary_! => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is not accepted/archived/refused and cannot be updated"): String))) case (value: org.make.core.proposal.Proposal): Some[org.make.core.proposal.Proposal]((proposal @ _)) => { val event: org.make.api.proposal.PublishedProposalEvent.ProposalVotesUpdated = org.make.api.proposal.PublishedProposalEvent.ProposalVotesUpdated.apply(command.proposalId, org.make.core.DateHelper.now(), command.requestContext, command.updatedAt, scala.Some.apply[org.make.core.user.UserId](command.moderator), proposal.votingOptions.map[org.make.core.proposal.VotingOptions](((x$11: org.make.core.proposal.VotingOptions) => mergeVotes(x$11, command.votes))), scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())); org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalVotesUpdated, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalVotesUpdated, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal]](command.replyTo)(((x$12: org.make.api.proposal.ProposalActor.State) => x$12.getProposal)) } }; def onAcceptProposalCommand(state: org.make.api.proposal.ProposalActor.State, command: org.make.api.proposal.AcceptProposalCommand): akka.persistence.typed.scaladsl.ReplyEffect[org.make.api.proposal.ProposalEvent,org.make.api.proposal.ProposalActor.State] = state.proposal match { case scala.None => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound) case (value: org.make.core.proposal.Proposal): Some[org.make.core.proposal.Proposal]((proposal @ _)) if proposal.status.==(org.make.core.proposal.ProposalStatus.Archived) => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is archived and cannot be validated"): String))) case (value: org.make.core.proposal.Proposal): Some[org.make.core.proposal.Proposal]((proposal @ _)) if proposal.status.==(org.make.core.proposal.ProposalStatus.Accepted) => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is already validated"): String))) case (value: org.make.core.proposal.Proposal): Some[org.make.core.proposal.Proposal]((proposal @ _)) => { val event: org.make.api.proposal.PublishedProposalEvent.ProposalAccepted = org.make.api.proposal.PublishedProposalEvent.ProposalAccepted.apply(command.proposalId, org.make.core.DateHelper.now(), command.requestContext, command.moderator, scala.Tuple2.apply[Option[String], Option[org.make.core.technical.Multilingual[String]]](command.newContent, command.newTranslations) match { case (_1: Option[String], _2: Option[org.make.core.technical.Multilingual[String]]): (Option[String], Option[org.make.core.technical.Multilingual[String]])(scala.None, scala.None) => scala.None case (_1: Option[String], _2: Option[org.make.core.technical.Multilingual[String]]): (Option[String], Option[org.make.core.technical.Multilingual[String]])((newContent @ _), (newTranslations @ _)) => scala.Some.apply[org.make.api.proposal.PublishedProposalEvent.ProposalEdition](org.make.api.proposal.PublishedProposalEvent.ProposalEdition.apply(proposal.content, newContent, proposal.contentTranslations, newTranslations)) }, command.sendNotificationEmail, command.tags, scala.`package`.Seq.empty[Nothing], proposal.idea, command.question.operationId.orElse[org.make.core.operation.OperationId](proposal.operation), scala.Some.apply[org.make.core.question.QuestionId](command.question.questionId), scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())); org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalAccepted, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalAccepted, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal]](command.replyTo)(((x$13: org.make.api.proposal.ProposalActor.State) => x$13.getProposal)) } }; def onRefuseProposalCommand(state: org.make.api.proposal.ProposalActor.State, command: org.make.api.proposal.RefuseProposalCommand): akka.persistence.typed.scaladsl.ReplyEffect[org.make.api.proposal.ProposalEvent,org.make.api.proposal.ProposalActor.State] = state.proposal match { case scala.None => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound) case (value: org.make.core.proposal.Proposal): Some[org.make.core.proposal.Proposal]((proposal @ _)) if proposal.status.==(org.make.core.proposal.ProposalStatus.Archived) => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is archived and cannot be refused"): String))) case (value: org.make.core.proposal.Proposal): Some[org.make.core.proposal.Proposal]((proposal @ _)) if proposal.status.==(org.make.core.proposal.ProposalStatus.Refused) => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is already refused"): String))) case (value: org.make.core.proposal.Proposal): Some[org.make.core.proposal.Proposal]((proposal @ _)) => { val event: org.make.api.proposal.PublishedProposalEvent.ProposalRefused = org.make.api.proposal.PublishedProposalEvent.ProposalRefused.apply(command.proposalId, org.make.core.DateHelper.now(), command.requestContext, command.moderator, command.sendNotificationEmail, command.refusalReason, proposal.operation, scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())); org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalRefused, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalRefused, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal]](command.replyTo)(((x$14: org.make.api.proposal.ProposalActor.State) => x$14.getProposal)) } }; def onPostponeProposalCommand(state: org.make.api.proposal.ProposalActor.State, command: org.make.api.proposal.PostponeProposalCommand): akka.persistence.typed.scaladsl.ReplyEffect[org.make.api.proposal.ProposalEvent,org.make.api.proposal.ProposalActor.State] = state.proposal match { case scala.None => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound) case (value: org.make.core.proposal.Proposal): Some[org.make.core.proposal.Proposal]((proposal @ _)) if proposal.status.==(org.make.core.proposal.ProposalStatus.Archived) => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is archived and cannot be postponed"): String))) case (value: org.make.core.proposal.Proposal): Some[org.make.core.proposal.Proposal]((proposal @ _)) if proposal.status.==(org.make.core.proposal.ProposalStatus.Accepted).||(proposal.status.==(org.make.core.proposal.ProposalStatus.Refused)) => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is already moderated and cannot be postponed"): String))) case (value: org.make.core.proposal.Proposal): Some[org.make.core.proposal.Proposal]((proposal @ _)) if proposal.status.==(org.make.core.proposal.ProposalStatus.Postponed) => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is already postponed"): String))) case (value: org.make.core.proposal.Proposal): Some[org.make.core.proposal.Proposal](_) => { val event: org.make.api.proposal.PublishedProposalEvent.ProposalPostponed = { <artifact> val x$1: org.make.core.proposal.ProposalId = command.proposalId; <artifact> val x$2: org.make.core.RequestContext = command.requestContext; <artifact> val x$3: org.make.core.user.UserId = command.moderator; <artifact> val x$4: java.time.ZonedDateTime = org.make.core.DateHelper.now(); <artifact> val x$5: Some[org.make.core.EventId] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()); org.make.api.proposal.PublishedProposalEvent.ProposalPostponed.apply(x$1, x$4, x$2, x$3, x$5) }; org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalPostponed, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalPostponed, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal]](command.replyTo)(((x$15: org.make.api.proposal.ProposalActor.State) => x$15.getProposal)) } }; def onLockProposalCommand(state: org.make.api.proposal.ProposalActor.State, command: org.make.api.proposal.LockProposalCommand, lockHandler: org.make.api.proposal.ProposalActor.LockHandler): akka.persistence.typed.scaladsl.ReplyEffect[org.make.api.proposal.ProposalEvent,org.make.api.proposal.ProposalActor.State] = state.proposal match { case scala.None => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.LockError,org.make.core.user.UserId], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound) case _ => lockHandler.lock match { case (value: org.make.api.proposal.ProposalActor.ProposalLock): Some[org.make.api.proposal.ProposalActor.ProposalLock]((moderatorId: org.make.core.user.UserId, moderatorName: String, deadline: scala.concurrent.duration.Deadline): org.make.api.proposal.ProposalActor.ProposalLock((moderatorId @ _), (moderatorName @ _), (deadline @ _))) if moderatorId.!=(command.moderatorId).&&(deadline.hasTimeLeft()) => akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.LockError,org.make.core.user.UserId], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.AlreadyLockedBy.apply(moderatorName)) case (maybeLock @ _) if maybeLock.forall(((x$16: org.make.api.proposal.ProposalActor.ProposalLock) => x$16.deadline.isOverdue())) => { val event: org.make.api.proposal.PublishedProposalEvent.ProposalLocked = org.make.api.proposal.PublishedProposalEvent.ProposalLocked.apply(command.proposalId, command.moderatorId, command.moderatorName, org.make.core.DateHelper.now(), command.requestContext, scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())); lockHandler.take(event.moderatorId, event.moderatorName); org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalLocked, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalLocked, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.LockError,org.make.core.user.UserId]](command.replyTo)(((x$17: org.make.api.proposal.ProposalActor.State) => org.make.api.proposal.ProposalActorResponse.Envelope.apply[org.make.core.user.UserId](event.moderatorId))) } case _ => { lockHandler.take(command.moderatorId, command.moderatorName); akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.LockError,org.make.core.user.UserId], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Envelope.apply[org.make.core.user.UserId](command.moderatorId)) } } }; def mergeVotes(proposalVotes: org.make.core.proposal.VotingOptions, commandVotes: Seq[org.make.api.proposal.UpdateVoteRequest]): org.make.core.proposal.VotingOptions = { def mergeQualification(qualification: org.make.core.proposal.Qualification): org.make.core.proposal.Qualification = commandVotes.flatMap[org.make.api.proposal.UpdateQualificationRequest](((x$18: org.make.api.proposal.UpdateVoteRequest) => x$18.qualifications)).find(((x$19: org.make.api.proposal.UpdateQualificationRequest) => x$19.key.==(qualification.key))) match { case scala.None => qualification case (value: org.make.api.proposal.UpdateQualificationRequest): Some[org.make.api.proposal.UpdateQualificationRequest]((updatedQualification @ _)) => { <artifact> val x$1: Int = updatedQualification.count.getOrElse[Int](qualification.count); <artifact> val x$2: Int = updatedQualification.countVerified.getOrElse[Int](qualification.countVerified); <artifact> val x$3: Int = updatedQualification.countSequence.getOrElse[Int](qualification.countSequence); <artifact> val x$4: Int = updatedQualification.countSegment.getOrElse[Int](qualification.countSegment); <artifact> val x$5: org.make.core.proposal.QualificationKey = qualification.copy$default$1; qualification.copy(x$5, x$1, x$2, x$3, x$4) } }; def mergeVote(vote: org.make.core.proposal.Vote): org.make.core.proposal.Vote = commandVotes.find(((x$20: org.make.api.proposal.UpdateVoteRequest) => x$20.key.==(vote.key))) match { case scala.None => vote case (value: org.make.api.proposal.UpdateVoteRequest): Some[org.make.api.proposal.UpdateVoteRequest]((updatedVote @ _)) => { <artifact> val x$1: Int = updatedVote.count.getOrElse[Int](vote.count); <artifact> val x$2: Int = updatedVote.countVerified.getOrElse[Int](vote.countVerified); <artifact> val x$3: Int = updatedVote.countSequence.getOrElse[Int](vote.countSequence); <artifact> val x$4: Int = updatedVote.countSegment.getOrElse[Int](vote.countSegment); <artifact> val x$5: org.make.core.proposal.VoteKey = vote.copy$default$1; <artifact> val x$6: Seq[org.make.core.proposal.Qualification] @scala.reflect.internal.annotations.uncheckedBounds = vote.copy$default$6; vote.copy(x$5, x$1, x$2, x$3, x$4, x$6) } }; proposalVotes.mapVotes(((vote: org.make.core.proposal.Vote) => mergeVote(vote))).mapQualifications(((qualification: org.make.core.proposal.Qualification) => mergeQualification(qualification))) }; def onSetKeywordsCommand(command: org.make.api.proposal.SetKeywordsCommand): akka.persistence.typed.scaladsl.ReplyEffect[org.make.api.proposal.ProposalEvent,org.make.api.proposal.ProposalActor.State] = { val event: org.make.api.proposal.PublishedProposalEvent.ProposalKeywordsSet = org.make.api.proposal.PublishedProposalEvent.ProposalKeywordsSet.apply(command.proposalId, org.make.core.DateHelper.now(), command.keywords, command.requestContext, scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())); org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalKeywordsSet, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalKeywordsSet, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound,org.make.core.proposal.Proposal]](command.replyTo)(((x$21: org.make.api.proposal.ProposalActor.State) => x$21.getProposal)) }; def applyProposalUpdated(state: org.make.core.proposal.Proposal, event: org.make.api.proposal.PublishedProposalEvent.ProposalUpdated): org.make.core.proposal.Proposal = { val arguments: Map[String,String] = scala.Predef.Map.apply[String, String](scala.Predef.ArrowAssoc[String]("oldQuestion").->[String](state.questionId.filterNot(((elem: Any) => event.question.contains[Any](elem))).fold[String]("")(((x$22: org.make.core.question.QuestionId) => x$22.value))), scala.Predef.ArrowAssoc[String]("newQuestion").->[String](event.question.filterNot(((elem: Any) => state.questionId.contains[Any](elem))).fold[String]("")(((x$23: org.make.core.question.QuestionId) => x$23.value))), scala.Predef.ArrowAssoc[String]("oldOperation").->[String](state.operation.filterNot(((elem: Any) => event.operation.contains[Any](elem))).fold[String]("")(((x$24: org.make.core.operation.OperationId) => x$24.value))), scala.Predef.ArrowAssoc[String]("newOperation").->[String](event.operation.filterNot(((elem: Any) => state.operation.contains[Any](elem))).fold[String]("")(((x$25: org.make.core.operation.OperationId) => x$25.value))), scala.Predef.ArrowAssoc[String]("oldContent").->[String](event.edition.fold[String]("")(((x$26: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$26.oldVersion))), scala.Predef.ArrowAssoc[String]("newContent").->[String](event.edition.flatMap[String](((x$27: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$27.newVersion)).getOrElse[String]("")), scala.Predef.ArrowAssoc[String]("oldTranslations").->[String](event.edition.flatMap[String](((x$28: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$28.oldContentTranslations.map[String](((x$29: org.make.core.technical.Multilingual[String]) => x$29.toString())))).getOrElse[String]("")), scala.Predef.ArrowAssoc[String]("newTranslations").->[String](event.edition.flatMap[String](((x$30: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$30.newContentTranslations.map[String](((x$31: org.make.core.technical.Multilingual[String]) => x$31.toString())))).getOrElse[String]("")), scala.Predef.ArrowAssoc[String]("submittedAsLanguage").->[String](event.submittedAsLanguage.fold[String]("")(((x$32: org.make.core.reference.Language) => x$32.value))), scala.Predef.ArrowAssoc[String]("removedTags").->[String](state.tags.diff[org.make.core.tag.TagId](event.tags).map[String](((x$33: org.make.core.tag.TagId) => x$33.value)).mkString(",")), scala.Predef.ArrowAssoc[String]("addedTags").->[String](event.tags.diff[org.make.core.tag.TagId](state.tags).map[String](((x$34: org.make.core.tag.TagId) => x$34.value)).mkString(","))).filter(((x0$1: (String, String)) => x0$1 match { case (_1: String, _2: String): (String, String)(_, (value @ _)) => scala.Predef.augmentString(value).nonEmpty })); @SuppressWarnings(value = ["org.wartremover.warts.Throw"]) val moderator: org.make.core.user.UserId = event.moderator match { case (value: org.make.core.user.UserId): Some[org.make.core.user.UserId]((userId @ _)) => userId case _ => throw new java.lang.IllegalStateException("moderator required") }; val action: org.make.core.proposal.ProposalAction = org.make.core.proposal.ProposalAction.apply(event.eventDate, moderator, org.make.core.proposal.ProposalActionType.ProposalUpdateAction.value, arguments); val proposal: org.make.core.proposal.Proposal = { <artifact> val x$1: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = event.tags; <artifact> val x$2: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = { final <synthetic> <artifact> val rassoc$1: org.make.core.proposal.ProposalAction = action; state.events.::[org.make.core.proposal.ProposalAction](rassoc$1) }; <artifact> val x$3: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](event.eventDate); <artifact> val x$4: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = event.idea; <artifact> val x$5: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = event.operation; <artifact> val x$6: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = event.question; <artifact> val x$7: org.make.core.proposal.ProposalId = state.copy$default$1; <artifact> val x$8: String = state.copy$default$2; <artifact> val x$9: String = state.copy$default$3; <artifact> val x$10: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$4; <artifact> val x$11: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$5; <artifact> val x$12: org.make.core.user.UserId = state.copy$default$6; <artifact> val x$13: org.make.core.proposal.ProposalStatus = state.copy$default$7; <artifact> val x$14: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$8; <artifact> val x$15: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$10; <artifact> val x$16: Boolean = state.copy$default$11; <artifact> val x$17: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$12; <artifact> val x$18: org.make.core.RequestContext = state.copy$default$14; <artifact> val x$19: org.make.core.proposal.ProposalType = state.copy$default$17; <artifact> val x$20: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$18; <artifact> val x$21: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$20; <artifact> val x$22: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$21; <artifact> val x$23: Boolean = state.copy$default$23; <artifact> val x$24: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$24; state.copy(x$7, x$8, x$9, x$10, x$11, x$12, x$13, x$14, x$1, x$15, x$16, x$17, x$6, x$18, x$4, x$5, x$19, x$20, x$3, x$21, x$22, x$2, x$23, x$24) }; event.edition match { case scala.None => proposal case (value: org.make.api.proposal.PublishedProposalEvent.ProposalEdition): Some[org.make.api.proposal.PublishedProposalEvent.ProposalEdition]((oldVersion: String, newVersion: Option[String], oldContentTranslations: Option[org.make.core.technical.Multilingual[String]], newContentTranslations: Option[org.make.core.technical.Multilingual[String]]): org.make.api.proposal.PublishedProposalEvent.ProposalEdition(_, (value: String): Some[String]((newVersion @ _)), _, (newContentTranslations @ _))) => { <artifact> val x$25: String = newVersion; <artifact> val x$26: String = org.make.core.SlugHelper.apply(newVersion); <artifact> val x$27: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = newContentTranslations; <artifact> val x$28: org.make.core.proposal.ProposalId = proposal.copy$default$1; <artifact> val x$29: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$4; <artifact> val x$30: org.make.core.user.UserId = proposal.copy$default$6; <artifact> val x$31: org.make.core.proposal.ProposalStatus = proposal.copy$default$7; <artifact> val x$32: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$8; <artifact> val x$33: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$9; <artifact> val x$34: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$10; <artifact> val x$35: Boolean = proposal.copy$default$11; <artifact> val x$36: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$12; <artifact> val x$37: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$13; <artifact> val x$38: org.make.core.RequestContext = proposal.copy$default$14; <artifact> val x$39: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$15; <artifact> val x$40: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$16; <artifact> val x$41: org.make.core.proposal.ProposalType = proposal.copy$default$17; <artifact> val x$42: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$18; <artifact> val x$43: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$19; <artifact> val x$44: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$20; <artifact> val x$45: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$21; <artifact> val x$46: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$22; <artifact> val x$47: Boolean = proposal.copy$default$23; <artifact> val x$48: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$24; proposal.copy(x$28, x$26, x$25, x$29, x$27, x$30, x$31, x$32, x$33, x$34, x$35, x$36, x$37, x$38, x$39, x$40, x$41, x$42, x$43, x$44, x$45, x$46, x$47, x$48) } case (value: org.make.api.proposal.PublishedProposalEvent.ProposalEdition): Some[org.make.api.proposal.PublishedProposalEvent.ProposalEdition]((oldVersion: String, newVersion: Option[String], oldContentTranslations: Option[org.make.core.technical.Multilingual[String]], newContentTranslations: Option[org.make.core.technical.Multilingual[String]]): org.make.api.proposal.PublishedProposalEvent.ProposalEdition(_, scala.None, _, (newContentTranslations @ _))) => { <artifact> val x$49: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = newContentTranslations; <artifact> val x$50: org.make.core.proposal.ProposalId = proposal.copy$default$1; <artifact> val x$51: String = proposal.copy$default$2; <artifact> val x$52: String = proposal.copy$default$3; <artifact> val x$53: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$4; <artifact> val x$54: org.make.core.user.UserId = proposal.copy$default$6; <artifact> val x$55: org.make.core.proposal.ProposalStatus = proposal.copy$default$7; <artifact> val x$56: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$8; <artifact> val x$57: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$9; <artifact> val x$58: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$10; <artifact> val x$59: Boolean = proposal.copy$default$11; <artifact> val x$60: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$12; <artifact> val x$61: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$13; <artifact> val x$62: org.make.core.RequestContext = proposal.copy$default$14; <artifact> val x$63: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$15; <artifact> val x$64: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$16; <artifact> val x$65: org.make.core.proposal.ProposalType = proposal.copy$default$17; <artifact> val x$66: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$18; <artifact> val x$67: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$19; <artifact> val x$68: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$20; <artifact> val x$69: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$21; <artifact> val x$70: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$22; <artifact> val x$71: Boolean = proposal.copy$default$23; <artifact> val x$72: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$24; proposal.copy(x$50, x$51, x$52, x$53, x$49, x$54, x$55, x$56, x$57, x$58, x$59, x$60, x$61, x$62, x$63, x$64, x$65, x$66, x$67, x$68, x$69, x$70, x$71, x$72) } } }; def applyProposalVotesVerifiedUpdated(state: org.make.core.proposal.Proposal, event: org.make.api.proposal.PublishedProposalEvent.ProposalVotesVerifiedUpdated): org.make.core.proposal.Proposal = { <artifact> val x$1: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = event.updatedVerifiedVotes; <artifact> val x$2: org.make.core.proposal.ProposalId = state.copy$default$1; <artifact> val x$3: String = state.copy$default$2; <artifact> val x$4: String = state.copy$default$3; <artifact> val x$5: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$4; <artifact> val x$6: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$5; <artifact> val x$7: org.make.core.user.UserId = state.copy$default$6; <artifact> val x$8: org.make.core.proposal.ProposalStatus = state.copy$default$7; <artifact> val x$9: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$8; <artifact> val x$10: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$9; <artifact> val x$11: Boolean = state.copy$default$11; <artifact> val x$12: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$12; <artifact> val x$13: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$13; <artifact> val x$14: org.make.core.RequestContext = state.copy$default$14; <artifact> val x$15: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$15; <artifact> val x$16: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$16; <artifact> val x$17: org.make.core.proposal.ProposalType = state.copy$default$17; <artifact> val x$18: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$18; <artifact> val x$19: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$19; <artifact> val x$20: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$20; <artifact> val x$21: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$21; <artifact> val x$22: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$22; <artifact> val x$23: Boolean = state.copy$default$23; <artifact> val x$24: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$24; state.copy(x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$1, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24) }; def applyProposalVotesUpdated(state: org.make.core.proposal.Proposal, event: org.make.api.proposal.PublishedProposalEvent.ProposalVotesUpdated): org.make.core.proposal.Proposal = { <artifact> val x$1: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = event.updatedVotes; <artifact> val x$2: org.make.core.proposal.ProposalId = state.copy$default$1; <artifact> val x$3: String = state.copy$default$2; <artifact> val x$4: String = state.copy$default$3; <artifact> val x$5: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$4; <artifact> val x$6: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$5; <artifact> val x$7: org.make.core.user.UserId = state.copy$default$6; <artifact> val x$8: org.make.core.proposal.ProposalStatus = state.copy$default$7; <artifact> val x$9: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$8; <artifact> val x$10: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$9; <artifact> val x$11: Boolean = state.copy$default$11; <artifact> val x$12: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$12; <artifact> val x$13: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$13; <artifact> val x$14: org.make.core.RequestContext = state.copy$default$14; <artifact> val x$15: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$15; <artifact> val x$16: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$16; <artifact> val x$17: org.make.core.proposal.ProposalType = state.copy$default$17; <artifact> val x$18: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$18; <artifact> val x$19: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$19; <artifact> val x$20: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$20; <artifact> val x$21: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$21; <artifact> val x$22: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$22; <artifact> val x$23: Boolean = state.copy$default$23; <artifact> val x$24: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$24; state.copy(x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$1, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24) }; def applyProposalAccepted(state: org.make.core.proposal.Proposal, event: org.make.api.proposal.PublishedProposalEvent.ProposalAccepted): org.make.core.proposal.Proposal = { val arguments: Map[String,String] = scala.Predef.Map.apply[String, String](scala.Predef.ArrowAssoc[String]("initialContent").->[String](event.edition.map[String](((x$35: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$35.oldVersion)).getOrElse[String]("")), scala.Predef.ArrowAssoc[String]("moderatedContent").->[String](event.edition.flatMap[String](((x$36: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$36.newVersion)).getOrElse[String]("")), scala.Predef.ArrowAssoc[String]("initialTranslations").->[String](event.edition.flatMap[String](((x$37: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$37.oldContentTranslations.map[String](((x$38: org.make.core.technical.Multilingual[String]) => x$38.toString())))).getOrElse[String]("")), scala.Predef.ArrowAssoc[String]("moderatedTranslations").->[String](event.edition.flatMap[String](((x$39: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$39.newContentTranslations.map[String](((x$40: org.make.core.technical.Multilingual[String]) => x$40.toString())))).getOrElse[String]("")), scala.Predef.ArrowAssoc[String]("tags").->[String](event.tags.map[String](((x$41: org.make.core.tag.TagId) => x$41.value)).mkString(",")), scala.Predef.ArrowAssoc[String]("userNotified").->[String](event.sendValidationEmail.toString())).filter(((x0$1: (String, String)) => x0$1 match { case (_1: String, _2: String): (String, String)(_, (value @ _)) => scala.Predef.augmentString(value).nonEmpty })); val action: org.make.core.proposal.ProposalAction = org.make.core.proposal.ProposalAction.apply(event.eventDate, event.moderator, org.make.core.proposal.ProposalActionType.ProposalAcceptAction.value, arguments); val proposal: org.make.core.proposal.Proposal = { <artifact> val x$1: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = event.tags; <artifact> val x$2: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = { final <synthetic> <artifact> val rassoc$2: org.make.core.proposal.ProposalAction = action; state.events.::[org.make.core.proposal.ProposalAction](rassoc$2) }; <artifact> val x$3: org.make.core.proposal.ProposalStatus.Accepted.type = org.make.core.proposal.ProposalStatus.Accepted; <artifact> val x$4: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](event.eventDate); <artifact> val x$5: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](event.eventDate); <artifact> val x$6: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = event.idea; <artifact> val x$7: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = event.operation; <artifact> val x$8: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = event.question; <artifact> val x$9: org.make.core.proposal.ProposalId = state.copy$default$1; <artifact> val x$10: String = state.copy$default$2; <artifact> val x$11: String = state.copy$default$3; <artifact> val x$12: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$4; <artifact> val x$13: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$5; <artifact> val x$14: org.make.core.user.UserId = state.copy$default$6; <artifact> val x$15: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$8; <artifact> val x$16: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$10; <artifact> val x$17: Boolean = state.copy$default$11; <artifact> val x$18: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$12; <artifact> val x$19: org.make.core.RequestContext = state.copy$default$14; <artifact> val x$20: org.make.core.proposal.ProposalType = state.copy$default$17; <artifact> val x$21: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$18; <artifact> val x$22: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$21; <artifact> val x$23: Boolean = state.copy$default$23; <artifact> val x$24: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$24; state.copy(x$9, x$10, x$11, x$12, x$13, x$14, x$3, x$15, x$1, x$16, x$17, x$18, x$8, x$19, x$6, x$7, x$20, x$21, x$4, x$5, x$22, x$2, x$23, x$24) }; event.edition match { case scala.None => proposal case (value: org.make.api.proposal.PublishedProposalEvent.ProposalEdition): Some[org.make.api.proposal.PublishedProposalEvent.ProposalEdition]((oldVersion: String, newVersion: Option[String], oldContentTranslations: Option[org.make.core.technical.Multilingual[String]], newContentTranslations: Option[org.make.core.technical.Multilingual[String]]): org.make.api.proposal.PublishedProposalEvent.ProposalEdition(_, (value: String): Some[String]((newVersion @ _)), _, (newContentTranslations @ _))) => { <artifact> val x$25: String = newVersion; <artifact> val x$26: String = org.make.core.SlugHelper.apply(newVersion); <artifact> val x$27: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = newContentTranslations; <artifact> val x$28: org.make.core.proposal.ProposalId = proposal.copy$default$1; <artifact> val x$29: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$4; <artifact> val x$30: org.make.core.user.UserId = proposal.copy$default$6; <artifact> val x$31: org.make.core.proposal.ProposalStatus = proposal.copy$default$7; <artifact> val x$32: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$8; <artifact> val x$33: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$9; <artifact> val x$34: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$10; <artifact> val x$35: Boolean = proposal.copy$default$11; <artifact> val x$36: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$12; <artifact> val x$37: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$13; <artifact> val x$38: org.make.core.RequestContext = proposal.copy$default$14; <artifact> val x$39: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$15; <artifact> val x$40: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$16; <artifact> val x$41: org.make.core.proposal.ProposalType = proposal.copy$default$17; <artifact> val x$42: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$18; <artifact> val x$43: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$19; <artifact> val x$44: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$20; <artifact> val x$45: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$21; <artifact> val x$46: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$22; <artifact> val x$47: Boolean = proposal.copy$default$23; <artifact> val x$48: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$24; proposal.copy(x$28, x$26, x$25, x$29, x$27, x$30, x$31, x$32, x$33, x$34, x$35, x$36, x$37, x$38, x$39, x$40, x$41, x$42, x$43, x$44, x$45, x$46, x$47, x$48) } case (value: org.make.api.proposal.PublishedProposalEvent.ProposalEdition): Some[org.make.api.proposal.PublishedProposalEvent.ProposalEdition]((oldVersion: String, newVersion: Option[String], oldContentTranslations: Option[org.make.core.technical.Multilingual[String]], newContentTranslations: Option[org.make.core.technical.Multilingual[String]]): org.make.api.proposal.PublishedProposalEvent.ProposalEdition(_, scala.None, _, (newContentTranslations @ _))) => { <artifact> val x$49: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = newContentTranslations; <artifact> val x$50: org.make.core.proposal.ProposalId = proposal.copy$default$1; <artifact> val x$51: String = proposal.copy$default$2; <artifact> val x$52: String = proposal.copy$default$3; <artifact> val x$53: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$4; <artifact> val x$54: org.make.core.user.UserId = proposal.copy$default$6; <artifact> val x$55: org.make.core.proposal.ProposalStatus = proposal.copy$default$7; <artifact> val x$56: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$8; <artifact> val x$57: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$9; <artifact> val x$58: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$10; <artifact> val x$59: Boolean = proposal.copy$default$11; <artifact> val x$60: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$12; <artifact> val x$61: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$13; <artifact> val x$62: org.make.core.RequestContext = proposal.copy$default$14; <artifact> val x$63: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$15; <artifact> val x$64: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$16; <artifact> val x$65: org.make.core.proposal.ProposalType = proposal.copy$default$17; <artifact> val x$66: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$18; <artifact> val x$67: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$19; <artifact> val x$68: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$20; <artifact> val x$69: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$21; <artifact> val x$70: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$22; <artifact> val x$71: Boolean = proposal.copy$default$23; <artifact> val x$72: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = proposal.copy$default$24; proposal.copy(x$50, x$51, x$52, x$53, x$49, x$54, x$55, x$56, x$57, x$58, x$59, x$60, x$61, x$62, x$63, x$64, x$65, x$66, x$67, x$68, x$69, x$70, x$71, x$72) } } }; def applyProposalRefused(state: org.make.core.proposal.Proposal, event: org.make.api.proposal.PublishedProposalEvent.ProposalRefused): org.make.core.proposal.Proposal = { val arguments: Map[String,String] = scala.Predef.Map.apply[String, String](scala.Predef.ArrowAssoc[String]("refusalReason").->[String](event.refusalReason.getOrElse[String]("")), scala.Predef.ArrowAssoc[String]("userNotified").->[String](event.sendRefuseEmail.toString())).filter(((x0$1: (String, String)) => x0$1 match { case (_1: String, _2: String): (String, String)(_, (value @ _)) => scala.Predef.augmentString(value).nonEmpty })); val action: org.make.core.proposal.ProposalAction = org.make.core.proposal.ProposalAction.apply(event.eventDate, event.moderator, "refuse", arguments); { <artifact> val x$1: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = { final <synthetic> <artifact> val rassoc$3: org.make.core.proposal.ProposalAction = action; state.events.::[org.make.core.proposal.ProposalAction](rassoc$3) }; <artifact> val x$2: org.make.core.proposal.ProposalStatus.Refused.type = org.make.core.proposal.ProposalStatus.Refused; <artifact> val x$3: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = event.refusalReason; <artifact> val x$4: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](event.eventDate); <artifact> val x$5: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](event.eventDate); <artifact> val x$6: org.make.core.proposal.ProposalId = state.copy$default$1; <artifact> val x$7: String = state.copy$default$2; <artifact> val x$8: String = state.copy$default$3; <artifact> val x$9: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$4; <artifact> val x$10: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$5; <artifact> val x$11: org.make.core.user.UserId = state.copy$default$6; <artifact> val x$12: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$9; <artifact> val x$13: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$10; <artifact> val x$14: Boolean = state.copy$default$11; <artifact> val x$15: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$12; <artifact> val x$16: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$13; <artifact> val x$17: org.make.core.RequestContext = state.copy$default$14; <artifact> val x$18: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$15; <artifact> val x$19: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$16; <artifact> val x$20: org.make.core.proposal.ProposalType = state.copy$default$17; <artifact> val x$21: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$18; <artifact> val x$22: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$21; <artifact> val x$23: Boolean = state.copy$default$23; <artifact> val x$24: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$24; state.copy(x$6, x$7, x$8, x$9, x$10, x$11, x$2, x$3, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$4, x$5, x$22, x$1, x$23, x$24) } }; def applyProposalPostponed(state: org.make.core.proposal.Proposal, event: org.make.api.proposal.PublishedProposalEvent.ProposalPostponed): org.make.core.proposal.Proposal = { val action: org.make.core.proposal.ProposalAction = org.make.core.proposal.ProposalAction.apply(event.eventDate, event.moderator, "postpone", scala.Predef.Map.empty[String, Nothing]); { <artifact> val x$1: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = { final <synthetic> <artifact> val rassoc$4: org.make.core.proposal.ProposalAction = action; state.events.::[org.make.core.proposal.ProposalAction](rassoc$4) }; <artifact> val x$2: org.make.core.proposal.ProposalStatus.Postponed.type = org.make.core.proposal.ProposalStatus.Postponed; <artifact> val x$3: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](event.eventDate); <artifact> val x$4: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](event.eventDate); <artifact> val x$5: org.make.core.proposal.ProposalId = state.copy$default$1; <artifact> val x$6: String = state.copy$default$2; <artifact> val x$7: String = state.copy$default$3; <artifact> val x$8: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$4; <artifact> val x$9: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$5; <artifact> val x$10: org.make.core.user.UserId = state.copy$default$6; <artifact> val x$11: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$8; <artifact> val x$12: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$9; <artifact> val x$13: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$10; <artifact> val x$14: Boolean = state.copy$default$11; <artifact> val x$15: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$12; <artifact> val x$16: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$13; <artifact> val x$17: org.make.core.RequestContext = state.copy$default$14; <artifact> val x$18: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$15; <artifact> val x$19: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$16; <artifact> val x$20: org.make.core.proposal.ProposalType = state.copy$default$17; <artifact> val x$21: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$18; <artifact> val x$22: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$20; <artifact> val x$23: Boolean = state.copy$default$23; <artifact> val x$24: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$24; state.copy(x$5, x$6, x$7, x$8, x$9, x$10, x$2, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$3, x$22, x$4, x$1, x$23, x$24) } }; val increaseCountIf: (Int, Boolean) => Int = ((x0$1: Int, x1$1: Boolean) => scala.Tuple2.apply[Int, Boolean](x0$1, x1$1) match { case (_1: Int, _2: Boolean): (Int, Boolean)((newCount @ _), true) => newCount.+(1) case (_1: Int, _2: Boolean): (Int, Boolean)((newCount @ _), _) => newCount }); def decreaseCountIf(logError: () => Unit): (Int, Boolean) => Int = ((x0$1: Int, x1$1: Boolean) => scala.Tuple2.apply[Int, Boolean](x0$1, x1$1) match { case (_1: Int, _2: Boolean): (Int, Boolean)(0, true) => { logError.apply(); 0 } case (_1: Int, _2: Boolean): (Int, Boolean)((newCount @ _), true) => newCount.-(1) case (_1: Int, _2: Boolean): (Int, Boolean)((newCount @ _), _) => newCount }); def incrementWithVoteTrust(vote: org.make.core.proposal.Vote, voteTrust: org.make.core.history.HistoryActions.VoteTrust): org.make.core.proposal.Vote = { <artifact> val x$1: Int = increaseCountIf.apply(vote.count, true); <artifact> val x$2: Int = increaseCountIf.apply(vote.countSegment, voteTrust.isInSegment); <artifact> val x$3: Int = increaseCountIf.apply(vote.countSequence, voteTrust.isInSequence); <artifact> val x$4: Int = increaseCountIf.apply(vote.countVerified, voteTrust.isTrusted); <artifact> val x$5: org.make.core.proposal.VoteKey = vote.copy$default$1; <artifact> val x$6: Seq[org.make.core.proposal.Qualification] @scala.reflect.internal.annotations.uncheckedBounds = vote.copy$default$6; vote.copy(x$5, x$1, x$4, x$3, x$2, x$6) }; def decrementWithVoteTrust(vote: org.make.core.proposal.Vote, proposal: org.make.core.proposal.Proposal, event: org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted): org.make.core.proposal.Vote = { def genLogFunction(voteType: String): () => Unit = (() => ProposalActor.this.logger.error(("Prevented ".+(voteType).+(" [").+(event.voteKey).+("] count to be set to -1 for proposal: ").+(proposal).+(". Caused by event: ").+(event): String))); { <artifact> val x$1: Int = decreaseCountIf(genLogFunction("count")).apply(vote.count, true); <artifact> val x$2: Int = decreaseCountIf(genLogFunction("countSegment")).apply(vote.countSegment, event.voteTrust.isInSegment); <artifact> val x$3: Int = decreaseCountIf(genLogFunction("countSequence")).apply(vote.countSequence, event.voteTrust.isInSequence); <artifact> val x$4: Int = decreaseCountIf(genLogFunction("countVerified")).apply(vote.countVerified, event.voteTrust.isTrusted); <artifact> val x$5: org.make.core.proposal.VoteKey = vote.copy$default$1; <artifact> val x$6: Seq[org.make.core.proposal.Qualification] @scala.reflect.internal.annotations.uncheckedBounds = vote.copy$default$6; vote.copy(x$5, x$1, x$4, x$3, x$2, x$6) } }; def applyProposalVoted(state: org.make.core.proposal.Proposal, event: org.make.api.proposal.PublishedProposalEvent.ProposalVoted): org.make.core.proposal.Proposal = { <artifact> val x$1: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = state.votingOptions.map[org.make.core.proposal.VotingOptions](((x$42: org.make.core.proposal.VotingOptions) => x$42.updateVote(event.voteKey, ((x$43: org.make.core.proposal.Vote) => incrementWithVoteTrust(x$43, event.voteTrust))))); <artifact> val x$2: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = event.maybeOrganisationId match { case (value: org.make.core.user.UserId): Some[org.make.core.user.UserId]((organisationId @ _)) if state.organisationIds.exists(((x$44: org.make.core.user.UserId) => x$44.value.==(organisationId.value))).unary_! => state.organisationIds.:+[org.make.core.user.UserId](organisationId) case _ => state.organisationIds }; <artifact> val x$3: org.make.core.proposal.ProposalId = state.copy$default$1; <artifact> val x$4: String = state.copy$default$2; <artifact> val x$5: String = state.copy$default$3; <artifact> val x$6: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$4; <artifact> val x$7: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$5; <artifact> val x$8: org.make.core.user.UserId = state.copy$default$6; <artifact> val x$9: org.make.core.proposal.ProposalStatus = state.copy$default$7; <artifact> val x$10: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$8; <artifact> val x$11: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$9; <artifact> val x$12: Boolean = state.copy$default$11; <artifact> val x$13: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$13; <artifact> val x$14: org.make.core.RequestContext = state.copy$default$14; <artifact> val x$15: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$15; <artifact> val x$16: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$16; <artifact> val x$17: org.make.core.proposal.ProposalType = state.copy$default$17; <artifact> val x$18: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$18; <artifact> val x$19: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$19; <artifact> val x$20: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$20; <artifact> val x$21: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$21; <artifact> val x$22: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$22; <artifact> val x$23: Boolean = state.copy$default$23; <artifact> val x$24: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$24; state.copy(x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$11, x$1, x$12, x$2, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24) }; def applyProposalUnvoted(state: org.make.core.proposal.Proposal, event: org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted): org.make.core.proposal.Proposal = { <artifact> val x$1: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = state.votingOptions.map[org.make.core.proposal.VotingOptions](((x$45: org.make.core.proposal.VotingOptions) => x$45.updateVote(event.voteKey, ((x$46: org.make.core.proposal.Vote) => decrementWithVoteTrust(x$46, state, event))).mapQualifications(((qualification: org.make.core.proposal.Qualification) => event.selectedQualifications.find(((x$47: org.make.core.proposal.QualificationKey) => x$47.==(qualification.key))).fold[org.make.core.proposal.Qualification](qualification)(((x$48: org.make.core.proposal.QualificationKey) => applyUnqualifVote[org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted](state, qualification, event)(proposal.this.Unvoted.vote))))))); <artifact> val x$2: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = event.maybeOrganisationId match { case (value: org.make.core.user.UserId): Some[org.make.core.user.UserId]((organisationId @ _)) => state.organisationIds.filterNot(((x$49: org.make.core.user.UserId) => x$49.value.==(organisationId.value))) case _ => state.organisationIds }; <artifact> val x$3: org.make.core.proposal.ProposalId = state.copy$default$1; <artifact> val x$4: String = state.copy$default$2; <artifact> val x$5: String = state.copy$default$3; <artifact> val x$6: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$4; <artifact> val x$7: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$5; <artifact> val x$8: org.make.core.user.UserId = state.copy$default$6; <artifact> val x$9: org.make.core.proposal.ProposalStatus = state.copy$default$7; <artifact> val x$10: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$8; <artifact> val x$11: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$9; <artifact> val x$12: Boolean = state.copy$default$11; <artifact> val x$13: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$13; <artifact> val x$14: org.make.core.RequestContext = state.copy$default$14; <artifact> val x$15: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$15; <artifact> val x$16: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$16; <artifact> val x$17: org.make.core.proposal.ProposalType = state.copy$default$17; <artifact> val x$18: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$18; <artifact> val x$19: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$19; <artifact> val x$20: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$20; <artifact> val x$21: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$21; <artifact> val x$22: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$22; <artifact> val x$23: Boolean = state.copy$default$23; <artifact> val x$24: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$24; state.copy(x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$11, x$1, x$12, x$2, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24) }; def applyUnqualifVote[T](state: org.make.core.proposal.Proposal, qualification: org.make.core.proposal.Qualification, event: T)(implicit evidence$1: org.make.api.proposal.Unvoted[T]): org.make.core.proposal.Qualification = if (ProposalActor.this.UnvotedOps[T](event).selectedQualifications(evidence$1).contains[org.make.core.proposal.QualificationKey](qualification.key)) { def logError(qualifType: String): () => Unit = (() => ProposalActor.this.logger.error(("Prevented ".+(qualifType).+(" [").+(qualification.key).+("] count to be set to -1 for proposal: ").+(state).+(". Caused by event: ").+(event): String))); org.make.core.proposal.Qualification.apply(qualification.key, decreaseCountIf(logError("count")).apply(qualification.count, true), decreaseCountIf(logError("countVerified")).apply(qualification.countVerified, ProposalActor.this.UnvotedOps[T](event).voteTrust(evidence$1).isTrusted), decreaseCountIf(logError("countSequence")).apply(qualification.countSequence, ProposalActor.this.UnvotedOps[T](event).voteTrust(evidence$1).isInSequence), decreaseCountIf(logError("countSegment")).apply(qualification.countSegment, ProposalActor.this.UnvotedOps[T](event).voteTrust(evidence$1).isInSegment)) } else qualification; def applyVoteTrustToQualification(qualification: org.make.core.proposal.Qualification, voteTrust: org.make.core.history.HistoryActions.VoteTrust): org.make.core.proposal.Qualification = org.make.core.proposal.Qualification.apply(qualification.key, increaseCountIf.apply(qualification.count, true), increaseCountIf.apply(qualification.countVerified, voteTrust.isTrusted), increaseCountIf.apply(qualification.countSequence, voteTrust.isInSequence), increaseCountIf.apply(qualification.countSegment, voteTrust.isInSegment)); def applyProposalQualified(state: org.make.core.proposal.Proposal, event: org.make.api.proposal.PublishedProposalEvent.ProposalQualified): org.make.core.proposal.Proposal = { <artifact> val x$1: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = state.votingOptions.map[org.make.core.proposal.VotingOptions](((x$50: org.make.core.proposal.VotingOptions) => x$50.updateQualification(event.qualificationKey, ((x$51: org.make.core.proposal.Qualification) => applyVoteTrustToQualification(x$51, event.voteTrust))))); <artifact> val x$2: org.make.core.proposal.ProposalId = state.copy$default$1; <artifact> val x$3: String = state.copy$default$2; <artifact> val x$4: String = state.copy$default$3; <artifact> val x$5: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$4; <artifact> val x$6: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$5; <artifact> val x$7: org.make.core.user.UserId = state.copy$default$6; <artifact> val x$8: org.make.core.proposal.ProposalStatus = state.copy$default$7; <artifact> val x$9: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$8; <artifact> val x$10: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$9; <artifact> val x$11: Boolean = state.copy$default$11; <artifact> val x$12: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$12; <artifact> val x$13: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$13; <artifact> val x$14: org.make.core.RequestContext = state.copy$default$14; <artifact> val x$15: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$15; <artifact> val x$16: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$16; <artifact> val x$17: org.make.core.proposal.ProposalType = state.copy$default$17; <artifact> val x$18: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$18; <artifact> val x$19: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$19; <artifact> val x$20: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$20; <artifact> val x$21: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$21; <artifact> val x$22: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$22; <artifact> val x$23: Boolean = state.copy$default$23; <artifact> val x$24: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$24; state.copy(x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$1, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24) }; def applyProposalUnqualified(state: org.make.core.proposal.Proposal, event: org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified): org.make.core.proposal.Proposal = { <artifact> val x$1: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = state.votingOptions.map[org.make.core.proposal.VotingOptions](((x$52: org.make.core.proposal.VotingOptions) => x$52.updateQualification(event.qualificationKey, ((x$53: org.make.core.proposal.Qualification) => applyUnqualifVote[org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified](state, x$53, event)(proposal.this.Unvoted.qualification))))); <artifact> val x$2: org.make.core.proposal.ProposalId = state.copy$default$1; <artifact> val x$3: String = state.copy$default$2; <artifact> val x$4: String = state.copy$default$3; <artifact> val x$5: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$4; <artifact> val x$6: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$5; <artifact> val x$7: org.make.core.user.UserId = state.copy$default$6; <artifact> val x$8: org.make.core.proposal.ProposalStatus = state.copy$default$7; <artifact> val x$9: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$8; <artifact> val x$10: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$9; <artifact> val x$11: Boolean = state.copy$default$11; <artifact> val x$12: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$12; <artifact> val x$13: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$13; <artifact> val x$14: org.make.core.RequestContext = state.copy$default$14; <artifact> val x$15: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$15; <artifact> val x$16: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$16; <artifact> val x$17: org.make.core.proposal.ProposalType = state.copy$default$17; <artifact> val x$18: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$18; <artifact> val x$19: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$19; <artifact> val x$20: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$20; <artifact> val x$21: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$21; <artifact> val x$22: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$22; <artifact> val x$23: Boolean = state.copy$default$23; <artifact> val x$24: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$24; state.copy(x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$1, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24) }; def applyProposalLocked(state: org.make.core.proposal.Proposal, event: org.make.api.proposal.PublishedProposalEvent.ProposalLocked): org.make.core.proposal.Proposal = { val arguments: Map[String,String] = scala.Predef.Map.apply[String, String](scala.Predef.ArrowAssoc[String]("moderatorName").->[String](event.moderatorName.getOrElse[String]("<unknown>"))).filter(((x0$1: (String, String)) => x0$1 match { case (_1: String, _2: String): (String, String)(_, (value @ _)) => scala.Predef.augmentString(value).nonEmpty })); val action: org.make.core.proposal.ProposalAction = org.make.core.proposal.ProposalAction.apply(event.eventDate, event.moderatorId, "lock", arguments); { <artifact> val x$1: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = { final <synthetic> <artifact> val rassoc$5: org.make.core.proposal.ProposalAction = action; state.events.::[org.make.core.proposal.ProposalAction](rassoc$5) }; <artifact> val x$2: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](event.eventDate); <artifact> val x$3: org.make.core.proposal.ProposalId = state.copy$default$1; <artifact> val x$4: String = state.copy$default$2; <artifact> val x$5: String = state.copy$default$3; <artifact> val x$6: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$4; <artifact> val x$7: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$5; <artifact> val x$8: org.make.core.user.UserId = state.copy$default$6; <artifact> val x$9: org.make.core.proposal.ProposalStatus = state.copy$default$7; <artifact> val x$10: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$8; <artifact> val x$11: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$9; <artifact> val x$12: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$10; <artifact> val x$13: Boolean = state.copy$default$11; <artifact> val x$14: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$12; <artifact> val x$15: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$13; <artifact> val x$16: org.make.core.RequestContext = state.copy$default$14; <artifact> val x$17: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$15; <artifact> val x$18: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$16; <artifact> val x$19: org.make.core.proposal.ProposalType = state.copy$default$17; <artifact> val x$20: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$18; <artifact> val x$21: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$20; <artifact> val x$22: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$21; <artifact> val x$23: Boolean = state.copy$default$23; <artifact> val x$24: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$24; state.copy(x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$2, x$21, x$22, x$1, x$23, x$24) } }; def applyProposalKeywordsSet(state: org.make.core.proposal.Proposal, event: org.make.api.proposal.PublishedProposalEvent.ProposalKeywordsSet): org.make.core.proposal.Proposal = { <artifact> val x$1: Seq[org.make.core.proposal.ProposalKeyword] @scala.reflect.internal.annotations.uncheckedBounds = event.keywords; <artifact> val x$2: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](event.eventDate); <artifact> val x$3: org.make.core.proposal.ProposalId = state.copy$default$1; <artifact> val x$4: String = state.copy$default$2; <artifact> val x$5: String = state.copy$default$3; <artifact> val x$6: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$4; <artifact> val x$7: Option[org.make.core.technical.Multilingual[String]] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$5; <artifact> val x$8: org.make.core.user.UserId = state.copy$default$6; <artifact> val x$9: org.make.core.proposal.ProposalStatus = state.copy$default$7; <artifact> val x$10: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$8; <artifact> val x$11: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$9; <artifact> val x$12: Option[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$10; <artifact> val x$13: Boolean = state.copy$default$11; <artifact> val x$14: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$12; <artifact> val x$15: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$13; <artifact> val x$16: org.make.core.RequestContext = state.copy$default$14; <artifact> val x$17: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$15; <artifact> val x$18: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$16; <artifact> val x$19: org.make.core.proposal.ProposalType = state.copy$default$17; <artifact> val x$20: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$18; <artifact> val x$21: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$20; <artifact> val x$22: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$21; <artifact> val x$23: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = state.copy$default$22; <artifact> val x$24: Boolean = state.copy$default$23; state.copy(x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$2, x$21, x$22, x$23, x$24, x$1) }; val eventHandler: (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent) => org.make.api.proposal.ProposalActor.State = ((x0$2: org.make.api.proposal.ProposalActor.State, x1$2: org.make.api.proposal.ProposalEvent) => scala.Tuple2.apply[org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent](x0$2, x1$2) match { case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent)(_, (e @ (_: org.make.api.proposal.PublishedProposalEvent.ProposalProposed))) => ProposalActor.this.State.apply(scala.Some.apply[org.make.core.proposal.Proposal]({ <artifact> val x$1: org.make.core.proposal.ProposalId = e.id; <artifact> val x$2: String = e.slug; <artifact> val x$3: org.make.core.user.UserId = e.userId; <artifact> val x$4: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](e.eventDate); <artifact> val x$5: None.type = scala.None; <artifact> val x$6: None.type = scala.None; <artifact> val x$7: None.type = scala.None; <artifact> val x$8: String = e.content; <artifact> val x$9: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = e.submittedAsLanguage; <artifact> val x$10: None.type = scala.None; <artifact> val x$11: org.make.core.proposal.ProposalStatus.Pending.type = org.make.core.proposal.ProposalStatus.Pending; <artifact> val x$12: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = e.question; <artifact> val x$13: org.make.core.RequestContext = e.requestContext; <artifact> val x$14: Some[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[org.make.core.proposal.VotingOptions](org.make.core.proposal.VotingOptions.empty); <artifact> val x$15: Boolean = e.isAnonymous; <artifact> val x$16: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = e.operation; <artifact> val x$17: org.make.core.proposal.ProposalType = e.proposalType; <artifact> val x$18: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = scala.`package`.List.apply[org.make.core.proposal.ProposalAction](org.make.core.proposal.ProposalAction.apply(e.eventDate, e.userId, org.make.core.proposal.ProposalActionType.ProposalProposeAction.value, scala.Predef.Map.apply[String, String](scala.Predef.ArrowAssoc[String]("content").->[String](e.content)))); <artifact> val x$19: Boolean = e.initialProposal; <artifact> val x$20: Seq[Nothing] @scala.reflect.internal.annotations.uncheckedBounds = scala.`package`.Seq.empty[Nothing]; <artifact> val x$21: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = org.make.core.proposal.Proposal.apply$default$8; <artifact> val x$22: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = org.make.core.proposal.Proposal.apply$default$9; <artifact> val x$23: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = org.make.core.proposal.Proposal.apply$default$12; <artifact> val x$24: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = org.make.core.proposal.Proposal.apply$default$15; org.make.core.proposal.Proposal.apply(x$1, x$2, x$8, x$9, x$10, x$3, x$11, x$21, x$22, x$14, x$15, x$23, x$12, x$13, x$24, x$16, x$17, x$4, x$5, x$6, x$7, x$18, x$19, x$20) })) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent)((state @ _), (e @ (_: org.make.api.proposal.PublishedProposalEvent.ProposalUpdated))) => ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$54: org.make.core.proposal.Proposal) => applyProposalUpdated(x$54, e)))) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent)((state @ _), (e @ (_: org.make.api.proposal.PublishedProposalEvent.ProposalVotesVerifiedUpdated))) => ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$55: org.make.core.proposal.Proposal) => applyProposalVotesVerifiedUpdated(x$55, e)))) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent)((state @ _), (e @ (_: org.make.api.proposal.PublishedProposalEvent.ProposalVotesUpdated))) => ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$56: org.make.core.proposal.Proposal) => applyProposalVotesUpdated(x$56, e)))) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent)((state @ _), (e @ (_: org.make.api.proposal.PublishedProposalEvent.ProposalAccepted))) => ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$57: org.make.core.proposal.Proposal) => applyProposalAccepted(x$57, e)))) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent)((state @ _), (e @ (_: org.make.api.proposal.PublishedProposalEvent.ProposalRefused))) => ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$58: org.make.core.proposal.Proposal) => applyProposalRefused(x$58, e)))) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent)((state @ _), (e @ (_: org.make.api.proposal.PublishedProposalEvent.ProposalPostponed))) => ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$59: org.make.core.proposal.Proposal) => applyProposalPostponed(x$59, e)))) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent)((state @ _), (e @ (_: org.make.api.proposal.PublishedProposalEvent.ProposalVoted))) => ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$60: org.make.core.proposal.Proposal) => applyProposalVoted(x$60, e)))) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent)((state @ _), (e @ (_: org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted))) => ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$61: org.make.core.proposal.Proposal) => applyProposalUnvoted(x$61, e)))) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent)((state @ _), (e @ (_: org.make.api.proposal.PublishedProposalEvent.ProposalQualified))) => ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$62: org.make.core.proposal.Proposal) => applyProposalQualified(x$62, e)))) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent)((state @ _), (e @ (_: org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified))) => ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$63: org.make.core.proposal.Proposal) => applyProposalUnqualified(x$63, e)))) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent)((state @ _), (e @ (_: org.make.api.proposal.PublishedProposalEvent.ProposalLocked))) => ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$64: org.make.core.proposal.Proposal) => applyProposalLocked(x$64, e)))) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent)(_, (e @ (_: org.make.api.proposal.PublishedProposalEvent.ProposalPatched))) => ProposalActor.this.State.apply(scala.Some.apply[org.make.core.proposal.Proposal](e.proposal)) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent)((state @ _), (e @ (_: org.make.api.proposal.PublishedProposalEvent.ProposalKeywordsSet))) => ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$65: org.make.core.proposal.Proposal) => applyProposalKeywordsSet(x$65, e)))) case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent)((state @ _), (_: org.make.api.proposal.ProposalEvent.DeprecatedEvent)) => state case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent)((state @ _), _) => state }); val snapshotAdapter: akka.persistence.typed.SnapshotAdapter[org.make.api.proposal.ProposalActor.State] = { final class $anon extends AnyRef with akka.persistence.typed.SnapshotAdapter[org.make.api.proposal.ProposalActor.State] { def <init>(): <$anon: akka.persistence.typed.SnapshotAdapter[org.make.api.proposal.ProposalActor.State]> = { $anon.super.<init>(); () }; override def toJournal(state: org.make.api.proposal.ProposalActor.State): Any = state; @SuppressWarnings(value = ["org.wartremover.warts.Throw"]) override def fromJournal(from: Any): org.make.api.proposal.ProposalActor.State = from match { case (proposal @ (_: org.make.core.proposal.Proposal)) => ProposalActor.this.State.apply(scala.Some.apply[org.make.core.proposal.Proposal](proposal)) case (state @ (_: org.make.api.proposal.ProposalActor.State)) => state case (other @ _) => throw new java.lang.IllegalStateException(("".+(other).+(" with class ").+(other.getClass()).+(" is not a recoverable state"): String)) } }; new $anon() }; akka.persistence.typed.scaladsl.EventSourcedBehavior.withEnforcedReplies[org.make.api.proposal.ProposalCommand, org.make.api.proposal.ProposalEvent, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.PersistenceId.ofUniqueId(context.self.path.name), ProposalActor.this.State.apply(scala.None), commandHandler(new ProposalActor.this.LockHandler(lockDuration)), eventHandler).withJournalPluginId(ProposalActor.this.JournalPluginId).withSnapshotPluginId(ProposalActor.this.SnapshotPluginId).withRetention(akka.persistence.typed.scaladsl.RetentionCriteria.snapshotEvery(10, 50)).snapshotAdapter(snapshotAdapter).snapshotWhen(((x0$3: org.make.api.proposal.ProposalActor.State, x1$3: org.make.api.proposal.ProposalEvent, x2$1: Long) => scala.Tuple3.apply[org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent, Long](x0$3, x1$3, x2$1) match { case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent, _3: Long): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent, Long)(_, (_: org.make.api.proposal.PublishedProposalEvent.ProposalPatched), _) => true case _ => false })) }))
105 9910 4499 - 4539 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](replyTo)(state.getProposal)
105 13210 4521 - 4538 Select org.make.api.proposal.ProposalActor.State.getProposal state.getProposal
107 17374 4628 - 4686 Apply org.make.api.proposal.ProposalActor.onViewProposalCommand onViewProposalCommand(proposalId, requestContext, replyTo)
108 13919 4748 - 4773 Apply org.make.api.proposal.ProposalActor.onProposeCommand onProposeCommand(command)
109 10079 4835 - 4874 Apply org.make.api.proposal.ProposalActor.onUpdateProposalCommand onUpdateProposalCommand(state, command)
110 16180 4936 - 4980 Apply org.make.api.proposal.ProposalActor.onUpdateProposalVotesCommand onUpdateProposalVotesCommand(state, command)
111 12919 5042 - 5081 Apply org.make.api.proposal.ProposalActor.onAcceptProposalCommand onAcceptProposalCommand(state, command)
112 10802 5143 - 5182 Apply org.make.api.proposal.ProposalActor.onRefuseProposalCommand onRefuseProposalCommand(state, command)
113 16662 5244 - 5285 Apply org.make.api.proposal.ProposalActor.onPostponeProposalCommand onPostponeProposalCommand(state, command)
114 13085 5347 - 5384 Apply org.make.api.proposal.ProposalActor.onVoteProposalCommand onVoteProposalCommand(state, command)
115 9932 5446 - 5485 Apply org.make.api.proposal.ProposalActor.onUnvoteProposalCommand onUnvoteProposalCommand(state, command)
116 15449 5547 - 5593 Apply org.make.api.proposal.ProposalActor.onQualificationProposalCommand onQualificationProposalCommand(state, command)
117 14189 5655 - 5703 Apply org.make.api.proposal.ProposalActor.onUnqualificationProposalCommand onUnqualificationProposalCommand(state, command)
118 10096 5765 - 5815 Apply org.make.api.proposal.ProposalActor.onLockProposalCommand onLockProposalCommand(state, command, lockHandler)
119 16060 5877 - 5915 Apply org.make.api.proposal.ProposalActor.onPatchProposalCommand onPatchProposalCommand(state, command)
120 12938 5977 - 6006 Apply org.make.api.proposal.ProposalActor.onSetKeywordsCommand onSetKeywordsCommand(command)
121 17156 6068 - 6119 Apply akka.persistence.typed.scaladsl.EffectBuilder.thenReply akka.persistence.typed.scaladsl.Effect.stop[Nothing, org.make.api.proposal.ProposalActor.State]().thenReply[org.make.api.proposal.ProposalActorResponse.Envelope[Unit]](replyTo)(((x$3: org.make.api.proposal.ProposalActor.State) => org.make.api.proposal.ProposalActorResponse.Envelope.apply[Unit](())))
121 11162 6106 - 6118 Apply org.make.api.proposal.ProposalActorResponse.Envelope.apply org.make.api.proposal.ProposalActorResponse.Envelope.apply[Unit](())
125 13101 6254 - 6268 Select org.make.api.proposal.ProposalActor.State.proposal state.proposal
126 9951 6313 - 6328 Select org.make.api.proposal.PatchProposalCommand.replyTo command.replyTo
126 13898 6300 - 6347 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound)
126 15934 6330 - 6346 Select org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound
128 10595 6407 - 6422 Select org.make.api.proposal.PatchProposalCommand.changes command.changes
130 16411 6500 - 6524 Select org.make.core.proposal.Proposal.creationContext proposal.creationContext
130 15845 6471 - 9021 Apply scala.Option.fold changes.creationContext.fold[org.make.core.RequestContext](proposal.creationContext)(((contextChanges: org.make.api.proposal.PatchRequestContext) => { <artifact> val x$4: String = contextChanges.requestId.getOrElse[String](proposal.creationContext.requestId); <artifact> val x$5: org.make.core.session.SessionId = contextChanges.sessionId.getOrElse[org.make.core.session.SessionId](proposal.creationContext.sessionId); <artifact> val x$6: Option[org.make.core.session.VisitorId] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.visitorId.orElse[org.make.core.session.VisitorId](proposal.creationContext.visitorId); <artifact> val x$7: Option[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.visitorCreatedAt.orElse[java.time.ZonedDateTime](proposal.creationContext.visitorCreatedAt); <artifact> val x$8: String = contextChanges.externalId.getOrElse[String](proposal.creationContext.externalId); <artifact> val x$9: Option[org.make.core.reference.Country] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.country.orElse[org.make.core.reference.Country](proposal.creationContext.country); <artifact> val x$10: Option[org.make.core.reference.Country] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.detectedCountry.orElse[org.make.core.reference.Country](proposal.creationContext.detectedCountry); <artifact> val x$11: org.make.core.RequestContextLanguage = proposal.creationContext.languageContext.copy(contextChanges.language.orElse[org.make.core.reference.Language](proposal.creationContext.languageContext.language), proposal.creationContext.languageContext.copy$default$2, proposal.creationContext.languageContext.copy$default$3, proposal.creationContext.languageContext.copy$default$4); <artifact> val x$12: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.operation.orElse[org.make.core.operation.OperationId](proposal.creationContext.operationId); <artifact> val x$13: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.source.orElse[String](proposal.creationContext.source); <artifact> val x$14: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.location.orElse[String](proposal.creationContext.location); <artifact> val x$15: org.make.core.RequestContextQuestion = { <artifact> val x$1: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.question.orElse[String](proposal.creationContext.questionContext.question); <artifact> val x$2: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.questionId.orElse[org.make.core.question.QuestionId](proposal.creationContext.questionContext.questionId); <artifact> val x$3: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = proposal.creationContext.questionContext.copy$default$2; proposal.creationContext.questionContext.copy(x$1, x$3, x$2) }; <artifact> val x$16: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.hostname.orElse[String](proposal.creationContext.hostname); <artifact> val x$17: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.ipAddress.orElse[String](proposal.creationContext.ipAddress); <artifact> val x$18: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.ipAddressHash.orElse[String](proposal.creationContext.ipAddressHash); <artifact> val x$19: Option[Map[String,String]] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.getParameters.orElse[Map[String,String]](proposal.creationContext.getParameters); <artifact> val x$20: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.userAgent.orElse[String](proposal.creationContext.userAgent); <artifact> val x$21: Option[org.make.core.ApplicationName] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.applicationName.orElse[org.make.core.ApplicationName](proposal.creationContext.applicationName); <artifact> val x$22: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.referrer.orElse[String](proposal.creationContext.referrer); <artifact> val x$23: Map[String,String] @scala.reflect.internal.annotations.uncheckedBounds = contextChanges.customData.getOrElse[Map[String,String]](proposal.creationContext.customData); <artifact> val x$24: Option[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = proposal.creationContext.copy$default$1; proposal.creationContext.copy(x$24, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23) }))
131 9744 6562 - 9005 Apply org.make.core.RequestContext.copy proposal.creationContext.copy(x$24, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23)
131 13494 6587 - 6587 Select org.make.core.RequestContext.copy$default$1 proposal.creationContext.copy$default$1
132 12958 6658 - 6692 Select org.make.core.RequestContext.requestId proposal.creationContext.requestId
132 10785 6623 - 6693 Apply scala.Option.getOrElse contextChanges.requestId.getOrElse[String](proposal.creationContext.requestId)
133 13585 6725 - 6795 Apply scala.Option.getOrElse contextChanges.sessionId.getOrElse[org.make.core.session.SessionId](proposal.creationContext.sessionId)
133 16892 6760 - 6794 Select org.make.core.RequestContext.sessionId proposal.creationContext.sessionId
134 9828 6859 - 6893 Select org.make.core.RequestContext.visitorId proposal.creationContext.visitorId
134 15952 6827 - 6894 Apply scala.Option.orElse contextChanges.visitorId.orElse[org.make.core.session.VisitorId](proposal.creationContext.visitorId)
135 13789 6972 - 7013 Select org.make.core.RequestContext.visitorCreatedAt proposal.creationContext.visitorCreatedAt
135 10345 6933 - 7014 Apply scala.Option.orElse contextChanges.visitorCreatedAt.orElse[java.time.ZonedDateTime](proposal.creationContext.visitorCreatedAt)
136 12832 7047 - 7119 Apply scala.Option.getOrElse contextChanges.externalId.getOrElse[String](proposal.creationContext.externalId)
136 16427 7083 - 7118 Select org.make.core.RequestContext.externalId proposal.creationContext.externalId
137 16771 7149 - 7212 Apply scala.Option.orElse contextChanges.country.orElse[org.make.core.reference.Country](proposal.creationContext.country)
137 9116 7179 - 7211 Select org.make.core.RequestContext.country proposal.creationContext.country
138 9845 7250 - 7329 Apply scala.Option.orElse contextChanges.detectedCountry.orElse[org.make.core.reference.Country](proposal.creationContext.detectedCountry)
138 13078 7288 - 7328 Select org.make.core.RequestContext.detectedCountry proposal.creationContext.detectedCountry
140 13801 7445 - 7526 Apply scala.Option.orElse contextChanges.language.orElse[org.make.core.reference.Language](proposal.creationContext.languageContext.language)
140 12849 7429 - 7429 Select org.make.core.RequestContextLanguage.copy$default$4 proposal.creationContext.languageContext.copy$default$4
140 16055 7429 - 7429 Select org.make.core.RequestContextLanguage.copy$default$3 proposal.creationContext.languageContext.copy$default$3
140 8990 7367 - 7527 Apply org.make.core.RequestContextLanguage.copy proposal.creationContext.languageContext.copy(contextChanges.language.orElse[org.make.core.reference.Language](proposal.creationContext.languageContext.language), proposal.creationContext.languageContext.copy$default$2, proposal.creationContext.languageContext.copy$default$3, proposal.creationContext.languageContext.copy$default$4)
140 15572 7476 - 7525 Select org.make.core.RequestContextLanguage.language proposal.creationContext.languageContext.language
140 10362 7429 - 7429 Select org.make.core.RequestContextLanguage.copy$default$2 proposal.creationContext.languageContext.copy$default$2
141 13093 7561 - 7630 Apply scala.Option.orElse contextChanges.operation.orElse[org.make.core.operation.OperationId](proposal.creationContext.operationId)
141 16786 7593 - 7629 Select org.make.core.RequestContext.operationId proposal.creationContext.operationId
142 15590 7659 - 7720 Apply scala.Option.orElse contextChanges.source.orElse[String](proposal.creationContext.source)
142 9483 7688 - 7719 Select org.make.core.RequestContext.source proposal.creationContext.source
143 10589 7751 - 7816 Apply scala.Option.orElse contextChanges.location.orElse[String](proposal.creationContext.location)
143 13715 7782 - 7815 Select org.make.core.RequestContext.location proposal.creationContext.location
144 13579 7895 - 7895 Select org.make.core.RequestContextQuestion.copy$default$2 proposal.creationContext.questionContext.copy$default$2
144 9501 7854 - 8153 Apply org.make.core.RequestContextQuestion.copy proposal.creationContext.questionContext.copy(x$1, x$3, x$2)
145 12808 7932 - 8013 Apply scala.Option.orElse contextChanges.question.orElse[String](proposal.creationContext.questionContext.question)
145 16068 7963 - 8012 Select org.make.core.RequestContextQuestion.question proposal.creationContext.questionContext.question
146 9010 8081 - 8132 Select org.make.core.RequestContextQuestion.questionId proposal.creationContext.questionContext.questionId
146 16805 8048 - 8133 Apply scala.Option.orElse contextChanges.questionId.orElse[org.make.core.question.QuestionId](proposal.creationContext.questionContext.questionId)
148 12032 8184 - 8249 Apply scala.Option.orElse contextChanges.hostname.orElse[String](proposal.creationContext.hostname)
148 15808 8215 - 8248 Select org.make.core.RequestContext.hostname proposal.creationContext.hostname
149 16542 8281 - 8348 Apply scala.Option.orElse contextChanges.ipAddress.orElse[String](proposal.creationContext.ipAddress)
149 10602 8313 - 8347 Select org.make.core.RequestContext.ipAddress proposal.creationContext.ipAddress
150 9252 8384 - 8459 Apply scala.Option.orElse contextChanges.ipAddressHash.orElse[String](proposal.creationContext.ipAddressHash)
150 12828 8420 - 8458 Select org.make.core.RequestContext.ipAddressHash proposal.creationContext.ipAddressHash
151 17067 8531 - 8569 Select org.make.core.RequestContext.getParameters proposal.creationContext.getParameters
151 13597 8495 - 8570 Apply scala.Option.orElse contextChanges.getParameters.orElse[Map[String,String]](proposal.creationContext.getParameters)
152 15827 8602 - 8669 Apply scala.Option.orElse contextChanges.userAgent.orElse[String](proposal.creationContext.userAgent)
152 9977 8634 - 8668 Select org.make.core.RequestContext.userAgent proposal.creationContext.userAgent
153 10513 8707 - 8786 Apply scala.Option.orElse contextChanges.applicationName.orElse[org.make.core.ApplicationName](proposal.creationContext.applicationName)
153 12391 8745 - 8785 Select org.make.core.RequestContext.applicationName proposal.creationContext.applicationName
154 12715 8817 - 8882 Apply scala.Option.orElse contextChanges.referrer.orElse[String](proposal.creationContext.referrer)
154 16558 8848 - 8881 Select org.make.core.RequestContext.referrer proposal.creationContext.referrer
155 15149 8915 - 8987 Apply scala.Option.getOrElse contextChanges.customData.getOrElse[Map[String,String]](proposal.creationContext.customData)
155 9271 8951 - 8986 Select org.make.core.RequestContext.customData proposal.creationContext.customData
160 9136 9081 - 9081 Select org.make.core.proposal.Proposal.copy$default$10 proposal.copy$default$10
160 15721 9081 - 9081 Select org.make.core.proposal.Proposal.copy$default$20 proposal.copy$default$20
160 18257 9081 - 9081 Select org.make.core.proposal.Proposal.copy$default$22 proposal.copy$default$22
160 12158 9081 - 9081 Select org.make.core.proposal.Proposal.copy$default$21 proposal.copy$default$21
160 14933 9081 - 9081 Select org.make.core.proposal.Proposal.copy$default$12 proposal.copy$default$12
160 12986 9081 - 9081 Select org.make.core.proposal.Proposal.copy$default$1 proposal.copy$default$1
160 13500 9081 - 9081 Select org.make.core.proposal.Proposal.copy$default$17 proposal.copy$default$17
160 16452 9072 - 10293 Apply org.make.core.proposal.Proposal.copy proposal.copy(x$41, x$25, x$26, x$28, x$27, x$29, x$30, x$31, x$33, x$42, x$32, x$43, x$34, x$35, x$36, x$37, x$44, x$45, x$38, x$46, x$47, x$48, x$39, x$40)
160 9860 9081 - 9081 Select org.make.core.proposal.Proposal.copy$default$18 proposal.copy$default$18
161 12007 9133 - 9146 Select org.make.core.proposal.Proposal.slug proposal.slug
161 10230 9110 - 9147 Apply scala.Option.getOrElse changes.slug.getOrElse[String](proposal.slug)
162 16444 9201 - 9217 Select org.make.core.proposal.Proposal.content proposal.content
162 12735 9175 - 9218 Apply scala.Option.getOrElse changes.content.getOrElse[String](proposal.content)
163 15020 9258 - 9322 Apply scala.Option.orElse changes.contentTranslations.orElse[org.make.core.technical.Multilingual[String]](proposal.contentTranslations)
163 9289 9293 - 9321 Select org.make.core.proposal.Proposal.contentTranslations proposal.contentTranslations
164 9644 9362 - 9426 Apply scala.Option.orElse changes.submittedAsLanguage.orElse[org.make.core.reference.Language](proposal.submittedAsLanguage)
164 13241 9397 - 9425 Select org.make.core.proposal.Proposal.submittedAsLanguage proposal.submittedAsLanguage
165 15727 9478 - 9493 Select org.make.core.proposal.Proposal.author proposal.author
165 12026 9453 - 9494 Apply scala.Option.getOrElse changes.author.getOrElse[org.make.core.user.UserId](proposal.author)
166 16531 9521 - 9562 Apply scala.Option.getOrElse changes.status.getOrElse[org.make.core.proposal.ProposalStatus](proposal.status)
166 10110 9546 - 9561 Select org.make.core.proposal.Proposal.status proposal.status
167 8901 9596 - 9648 Apply scala.Option.orElse changes.refusalReason.orElse[String](proposal.refusalReason)
167 12750 9625 - 9647 Select org.make.core.proposal.Proposal.refusalReason proposal.refusalReason
168 15044 9710 - 9730 Select org.make.core.proposal.Proposal.isAnonymous proposal.isAnonymous
168 13114 9680 - 9731 Apply scala.Option.getOrElse changes.isAnonymous.getOrElse[Boolean](proposal.isAnonymous)
169 15744 9756 - 9793 Apply scala.Option.getOrElse changes.tags.getOrElse[Seq[org.make.core.tag.TagId]](proposal.tags)
169 9969 9779 - 9792 Select org.make.core.proposal.Proposal.tags proposal.tags
170 11917 9850 - 9869 Select org.make.core.proposal.Proposal.questionId proposal.questionId
170 18016 9824 - 9870 Apply scala.Option.orElse changes.questionId.orElse[org.make.core.question.QuestionId](proposal.questionId)
172 16426 9968 - 9981 Select org.make.core.proposal.Proposal.idea proposal.idea
172 12974 9946 - 9982 Apply scala.Option.orElse changes.ideaId.orElse[org.make.core.idea.IdeaId](proposal.idea)
173 8923 10037 - 10055 Select org.make.core.proposal.Proposal.operation proposal.operation
173 14912 10012 - 10056 Apply scala.Option.orElse changes.operation.orElse[org.make.core.operation.OperationId](proposal.operation)
174 9985 10086 - 10108 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](org.make.core.DateHelper.now())
174 13489 10091 - 10107 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
175 15703 10178 - 10202 Select org.make.core.proposal.Proposal.initialProposal proposal.initialProposal
175 11933 10144 - 10203 Apply scala.Option.getOrElse changes.initialProposal.getOrElse[Boolean](proposal.initialProposal)
176 17880 10259 - 10276 Select org.make.core.proposal.Proposal.keywords proposal.keywords
176 16437 10232 - 10277 Apply scala.Option.getOrElse changes.keywords.getOrElse[Seq[org.make.core.proposal.ProposalKeyword]](proposal.keywords)
179 15608 10319 - 10586 Apply org.make.api.proposal.PublishedProposalEvent.ProposalPatched.apply org.make.api.proposal.PublishedProposalEvent.ProposalPatched.apply(x$49, x$52, x$50, x$51, x$53)
180 12627 10355 - 10373 Select org.make.api.proposal.PatchProposalCommand.proposalId command.proposalId
181 9153 10406 - 10428 Select org.make.api.proposal.PatchProposalCommand.requestContext command.requestContext
183 15171 10499 - 10515 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
184 9877 10541 - 10572 Apply scala.Some.apply scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())
184 11690 10546 - 10571 Apply org.make.core.technical.IdGenerator.nextEventId idGenerator.nextEventId()
187 12177 10599 - 10659 Apply akka.persistence.typed.scaladsl.Effect.persist akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalPatched, org.make.api.proposal.ProposalActor.State](event)
189 12644 10599 - 10750 Apply akka.persistence.typed.scaladsl.EffectBuilder.thenReply org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalPatched, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalPatched, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound,org.make.core.proposal.Proposal]](command.replyTo)(((x$4: org.make.api.proposal.ProposalActor.State) => x$4.getProposal))
189 18008 10719 - 10734 Select org.make.api.proposal.PatchProposalCommand.replyTo command.replyTo
189 16356 10736 - 10749 Select org.make.api.proposal.ProposalActor.State.getProposal x$4.getProposal
194 9029 10893 - 10907 Select org.make.api.proposal.ProposalActor.State.proposal state.proposal
195 9775 10939 - 10986 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound)
195 14910 10952 - 10967 Select org.make.api.proposal.VoteProposalCommand.replyTo command.replyTo
195 11454 10969 - 10985 Select org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound
197 15625 11019 - 11031 Select org.make.api.proposal.VoteProposalCommand.vote command.vote
200 12429 11146 - 11146 Select org.make.api.proposal.PublishedProposalEvent.ProposalVoted.apply$default$4 org.make.api.proposal.PublishedProposalEvent.ProposalVoted.apply$default$4
200 17896 11146 - 11604 Apply org.make.api.proposal.PublishedProposalEvent.ProposalVoted.apply org.make.api.proposal.PublishedProposalEvent.ProposalVoted.apply(x$1, x$2, x$3, x$9, x$4, x$5, x$6, x$7, x$8)
201 12191 11184 - 11202 Select org.make.api.proposal.VoteProposalCommand.proposalId command.proposalId
202 17877 11236 - 11255 Select org.make.api.proposal.VoteProposalCommand.maybeUserId command.maybeUserId
203 14433 11287 - 11303 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
204 12543 11345 - 11372 Select org.make.api.proposal.VoteProposalCommand.maybeOrganisationId command.maybeOrganisationId
205 9049 11409 - 11431 Select org.make.api.proposal.VoteProposalCommand.requestContext command.requestContext
206 14925 11461 - 11476 Select org.make.api.proposal.VoteProposalCommand.voteKey command.voteKey
207 11332 11508 - 11525 Select org.make.api.proposal.VoteProposalCommand.voteTrust command.voteTrust
208 15523 11555 - 11586 Apply scala.Some.apply scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())
208 9851 11560 - 11585 Apply org.make.core.technical.IdGenerator.nextEventId idGenerator.nextEventId()
219 14325 11621 - 12063 Apply akka.persistence.typed.scaladsl.EffectBuilder.thenNoReply org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalVoted, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalVoted, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenRun(((s: org.make.api.proposal.ProposalActor.State) => logVoteEvent(event).onComplete[Unit](((x0$1: scala.util.Try[_$1]) => x0$1 match { case (value: _$1): scala.util.Success[_$1](_) => typed.this.ActorRef.ActorRefOps[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse]](command.replyTo).!(s.getVotes(command.newProposalsVoteThreshold)) case (exception: Throwable): scala.util.Failure[_$1]((e @ _)) => typed.this.ActorRef.ActorRefOps[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse]](command.replyTo).!(org.make.api.proposal.ProposalActorResponse.Error.HistoryError.apply(e)) }))(scala.concurrent.ExecutionContext.Implicits.global))).thenNoReply()
221 12858 12210 - 12225 Select org.make.api.proposal.VoteProposalCommand.voteKey command.voteKey
221 9065 12194 - 12225 Apply java.lang.Object.== vote.voteKey.==(command.voteKey)
222 15864 12245 - 12325 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(state.getVotes(command.newProposalsVoteThreshold))
222 11354 12290 - 12323 Select org.make.api.proposal.VoteProposalCommand.newProposalsVoteThreshold command.newProposalsVoteThreshold
222 15414 12258 - 12273 Select org.make.api.proposal.VoteProposalCommand.replyTo command.replyTo
222 9758 12275 - 12324 Apply org.make.api.proposal.ProposalActor.State.getVotes state.getVotes(command.newProposalsVoteThreshold)
225 18397 12516 - 12516 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.apply$default$4 org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.apply$default$4
225 14558 12516 - 13044 Apply org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.apply org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.apply(x$10, x$11, x$12, x$19, x$15, x$13, x$14, x$17, x$16, x$18)
226 12445 12556 - 12574 Select org.make.api.proposal.VoteProposalCommand.proposalId command.proposalId
227 18377 12608 - 12627 Select org.make.api.proposal.VoteProposalCommand.maybeUserId command.maybeUserId
228 14664 12659 - 12675 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
229 12751 12712 - 12734 Select org.make.api.proposal.VoteProposalCommand.requestContext command.requestContext
230 9021 12764 - 12776 Select org.make.core.history.HistoryActions.VoteAndQualifications.voteKey vote.voteKey
231 15430 12818 - 12845 Select org.make.api.proposal.VoteProposalCommand.maybeOrganisationId command.maybeOrganisationId
232 11823 12877 - 12887 Select org.make.core.history.HistoryActions.VoteAndQualifications.trust vote.trust
233 17617 12932 - 12965 Select scala.collection.IterableOnceOps.toSeq vote.qualificationKeys.keys.toSeq
234 15879 13000 - 13025 Apply org.make.core.technical.IdGenerator.nextEventId idGenerator.nextEventId()
234 12050 12995 - 13026 Apply scala.Some.apply scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())
236 8935 13077 - 13535 Apply org.make.api.proposal.PublishedProposalEvent.ProposalVoted.apply org.make.api.proposal.PublishedProposalEvent.ProposalVoted.apply(x$20, x$21, x$22, x$28, x$23, x$24, x$25, x$26, x$27)
236 12776 13077 - 13077 Select org.make.api.proposal.PublishedProposalEvent.ProposalVoted.apply$default$4 org.make.api.proposal.PublishedProposalEvent.ProposalVoted.apply$default$4
237 12763 13115 - 13133 Select org.make.api.proposal.VoteProposalCommand.proposalId command.proposalId
238 9039 13167 - 13186 Select org.make.api.proposal.VoteProposalCommand.maybeUserId command.maybeUserId
239 15063 13218 - 13234 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
240 11607 13276 - 13303 Select org.make.api.proposal.VoteProposalCommand.maybeOrganisationId command.maybeOrganisationId
241 17639 13340 - 13362 Select org.make.api.proposal.VoteProposalCommand.requestContext command.requestContext
242 15518 13392 - 13407 Select org.make.api.proposal.VoteProposalCommand.voteKey command.voteKey
243 12065 13439 - 13456 Select org.make.api.proposal.VoteProposalCommand.voteTrust command.voteTrust
244 18029 13491 - 13516 Apply org.make.core.technical.IdGenerator.nextEventId idGenerator.nextEventId()
244 14577 13486 - 13517 Apply scala.Some.apply scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())
256 15078 13552 - 14101 Apply akka.persistence.typed.scaladsl.EffectBuilder.thenNoReply org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.ProposalEvent, org.make.api.proposal.ProposalActor.State](org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.ProposalEvent, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.ProposalEvent, org.make.api.proposal.ProposalActor.State](scala.`package`.Seq.apply[org.make.api.proposal.PublishedProposalEvent](unvoteEvent, voteEvent))).thenPublish(unvoteEvent)(context)).thenPublish(voteEvent)(context).thenRun(((s: org.make.api.proposal.ProposalActor.State) => cats.implicits.catsSyntaxFlatMapOps[scala.concurrent.Future, _$2](logUnvoteEvent(unvoteEvent))(cats.implicits.catsStdInstancesForFuture(scala.concurrent.ExecutionContext.Implicits.global)).>>[_$1](logVoteEvent(voteEvent))(cats.implicits.catsStdInstancesForFuture(scala.concurrent.ExecutionContext.Implicits.global)).onComplete[Unit](((x0$2: scala.util.Try[_$1]) => x0$2 match { case (value: _$1): scala.util.Success[_$1](_) => typed.this.ActorRef.ActorRefOps[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse]](command.replyTo).!(s.getVotes(command.newProposalsVoteThreshold)) case (exception: Throwable): scala.util.Failure[_$1]((e @ _)) => typed.this.ActorRef.ActorRefOps[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse]](command.replyTo).!(org.make.api.proposal.ProposalActorResponse.Error.HistoryError.apply(e)) }))(scala.concurrent.ExecutionContext.Implicits.global))).thenNoReply()
262 17290 14203 - 14660 Apply org.make.api.sessionhistory.SessionHistoryCoordinatorService.logTransactionalHistory sessionHistoryCoordinatorService.logTransactionalHistory[org.make.api.sessionhistory.LogSessionVoteEvent](org.make.api.sessionhistory.LogSessionVoteEvent.apply(event.requestContext.sessionId, event.requestContext, org.make.api.sessionhistory.SessionAction.apply[org.make.api.sessionhistory.SessionVote](event.eventDate, org.make.core.proposal.ProposalActionType.ProposalVoteAction.value, org.make.api.sessionhistory.SessionVote.apply(event.id, event.voteKey, event.voteTrust))))
263 11821 14271 - 14650 Apply org.make.api.sessionhistory.LogSessionVoteEvent.apply org.make.api.sessionhistory.LogSessionVoteEvent.apply(event.requestContext.sessionId, event.requestContext, org.make.api.sessionhistory.SessionAction.apply[org.make.api.sessionhistory.SessionVote](event.eventDate, org.make.core.proposal.ProposalActionType.ProposalVoteAction.value, org.make.api.sessionhistory.SessionVote.apply(event.id, event.voteKey, event.voteTrust)))
264 11803 14316 - 14346 Select org.make.core.RequestContext.sessionId event.requestContext.sessionId
265 17515 14377 - 14397 Select org.make.api.proposal.PublishedProposalEvent.ProposalVoted.requestContext event.requestContext
266 14950 14420 - 14638 Apply org.make.api.sessionhistory.SessionAction.apply org.make.api.sessionhistory.SessionAction.apply[org.make.api.sessionhistory.SessionVote](event.eventDate, org.make.core.proposal.ProposalActionType.ProposalVoteAction.value, org.make.api.sessionhistory.SessionVote.apply(event.id, event.voteKey, event.voteTrust))
267 15535 14456 - 14471 Select org.make.api.proposal.PublishedProposalEvent.ProposalVoted.eventDate event.eventDate
268 11948 14500 - 14524 Select org.make.core.proposal.ProposalActionType.value org.make.core.proposal.ProposalActionType.ProposalVoteAction.value
269 10956 14608 - 14623 Select org.make.api.proposal.PublishedProposalEvent.ProposalVoted.voteTrust event.voteTrust
269 8949 14540 - 14624 Apply org.make.api.sessionhistory.SessionVote.apply org.make.api.sessionhistory.SessionVote.apply(event.id, event.voteKey, event.voteTrust)
269 14335 14585 - 14598 Select org.make.api.proposal.PublishedProposalEvent.ProposalVoted.voteKey event.voteKey
269 18374 14565 - 14573 Select org.make.api.proposal.PublishedProposalEvent.ProposalVoted.id event.id
276 12460 14742 - 15205 Apply org.make.api.sessionhistory.SessionHistoryCoordinatorService.logTransactionalHistory sessionHistoryCoordinatorService.logTransactionalHistory[org.make.api.sessionhistory.LogSessionUnvoteEvent](org.make.api.sessionhistory.LogSessionUnvoteEvent.apply(event.requestContext.sessionId, event.requestContext, org.make.api.sessionhistory.SessionAction.apply[org.make.api.sessionhistory.SessionUnvote](event.eventDate, org.make.core.proposal.ProposalActionType.ProposalUnvoteAction.value, org.make.api.sessionhistory.SessionUnvote.apply(event.id, event.voteKey, event.voteTrust))))
277 14086 14810 - 15195 Apply org.make.api.sessionhistory.LogSessionUnvoteEvent.apply org.make.api.sessionhistory.LogSessionUnvoteEvent.apply(event.requestContext.sessionId, event.requestContext, org.make.api.sessionhistory.SessionAction.apply[org.make.api.sessionhistory.SessionUnvote](event.eventDate, org.make.core.proposal.ProposalActionType.ProposalUnvoteAction.value, org.make.api.sessionhistory.SessionUnvote.apply(event.id, event.voteKey, event.voteTrust)))
278 16030 14857 - 14887 Select org.make.core.RequestContext.sessionId event.requestContext.sessionId
279 11965 14918 - 14938 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.requestContext event.requestContext
280 17774 14961 - 15183 Apply org.make.api.sessionhistory.SessionAction.apply org.make.api.sessionhistory.SessionAction.apply[org.make.api.sessionhistory.SessionUnvote](event.eventDate, org.make.core.proposal.ProposalActionType.ProposalUnvoteAction.value, org.make.api.sessionhistory.SessionUnvote.apply(event.id, event.voteKey, event.voteTrust))
281 18390 14997 - 15012 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.eventDate event.eventDate
282 14812 15041 - 15067 Select org.make.core.proposal.ProposalActionType.value org.make.core.proposal.ProposalActionType.ProposalUnvoteAction.value
283 9459 15130 - 15143 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.voteKey event.voteKey
283 15332 15153 - 15168 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.voteTrust event.voteTrust
283 11067 15110 - 15118 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.id event.id
283 11835 15083 - 15169 Apply org.make.api.sessionhistory.SessionUnvote.apply org.make.api.sessionhistory.SessionUnvote.apply(event.id, event.voteKey, event.voteTrust)
290 14706 15294 - 15854 Apply org.make.api.sessionhistory.SessionHistoryCoordinatorService.logTransactionalHistory sessionHistoryCoordinatorService.logTransactionalHistory[org.make.api.sessionhistory.LogSessionQualificationEvent](org.make.api.sessionhistory.LogSessionQualificationEvent.apply(event.requestContext.sessionId, event.requestContext, org.make.api.sessionhistory.SessionAction.apply[org.make.api.sessionhistory.SessionQualification](event.eventDate, org.make.core.proposal.ProposalActionType.ProposalQualifyAction.value, org.make.api.sessionhistory.SessionQualification.apply(event.id, event.qualificationKey, event.voteTrust))))
291 18304 15362 - 15844 Apply org.make.api.sessionhistory.LogSessionQualificationEvent.apply org.make.api.sessionhistory.LogSessionQualificationEvent.apply(event.requestContext.sessionId, event.requestContext, org.make.api.sessionhistory.SessionAction.apply[org.make.api.sessionhistory.SessionQualification](event.eventDate, org.make.core.proposal.ProposalActionType.ProposalQualifyAction.value, org.make.api.sessionhistory.SessionQualification.apply(event.id, event.qualificationKey, event.voteTrust)))
292 18292 15416 - 15446 Select org.make.core.RequestContext.sessionId event.requestContext.sessionId
293 14827 15477 - 15497 Select org.make.api.proposal.PublishedProposalEvent.ProposalQualified.requestContext event.requestContext
294 11940 15520 - 15832 Apply org.make.api.sessionhistory.SessionAction.apply org.make.api.sessionhistory.SessionAction.apply[org.make.api.sessionhistory.SessionQualification](event.eventDate, org.make.core.proposal.ProposalActionType.ProposalQualifyAction.value, org.make.api.sessionhistory.SessionQualification.apply(event.id, event.qualificationKey, event.voteTrust))
295 10934 15556 - 15571 Select org.make.api.proposal.PublishedProposalEvent.ProposalQualified.eventDate event.eventDate
296 9186 15600 - 15627 Select org.make.core.proposal.ProposalActionType.value org.make.core.proposal.ProposalActionType.ProposalQualifyAction.value
297 13951 15643 - 15818 Apply org.make.api.sessionhistory.SessionQualification.apply org.make.api.sessionhistory.SessionQualification.apply(event.id, event.qualificationKey, event.voteTrust)
298 15348 15694 - 15702 Select org.make.api.proposal.PublishedProposalEvent.ProposalQualified.id event.id
299 11727 15739 - 15761 Select org.make.api.proposal.PublishedProposalEvent.ProposalQualified.qualificationKey event.qualificationKey
300 17513 15787 - 15802 Select org.make.api.proposal.PublishedProposalEvent.ProposalQualified.voteTrust event.voteTrust
308 16700 15957 - 16523 Apply org.make.api.sessionhistory.SessionHistoryCoordinatorService.logTransactionalHistory sessionHistoryCoordinatorService.logTransactionalHistory[org.make.api.sessionhistory.LogSessionUnqualificationEvent](org.make.api.sessionhistory.LogSessionUnqualificationEvent.apply(event.requestContext.sessionId, event.requestContext, org.make.api.sessionhistory.SessionAction.apply[org.make.api.sessionhistory.SessionUnqualification](event.eventDate, org.make.core.proposal.ProposalActionType.ProposalUnqualifyAction.value, org.make.api.sessionhistory.SessionUnqualification.apply(event.id, event.qualificationKey, event.voteTrust))))
309 10838 16025 - 16513 Apply org.make.api.sessionhistory.LogSessionUnqualificationEvent.apply org.make.api.sessionhistory.LogSessionUnqualificationEvent.apply(event.requestContext.sessionId, event.requestContext, org.make.api.sessionhistory.SessionAction.apply[org.make.api.sessionhistory.SessionUnqualification](event.eventDate, org.make.core.proposal.ProposalActionType.ProposalUnqualifyAction.value, org.make.api.sessionhistory.SessionUnqualification.apply(event.id, event.qualificationKey, event.voteTrust)))
310 10953 16081 - 16111 Select org.make.core.RequestContext.sessionId event.requestContext.sessionId
311 9066 16142 - 16162 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified.requestContext event.requestContext
312 14805 16185 - 16501 Apply org.make.api.sessionhistory.SessionAction.apply org.make.api.sessionhistory.SessionAction.apply[org.make.api.sessionhistory.SessionUnqualification](event.eventDate, org.make.core.proposal.ProposalActionType.ProposalUnqualifyAction.value, org.make.api.sessionhistory.SessionUnqualification.apply(event.id, event.qualificationKey, event.voteTrust))
313 14942 16221 - 16236 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified.eventDate event.eventDate
314 11485 16265 - 16294 Select org.make.core.proposal.ProposalActionType.value org.make.core.proposal.ProposalActionType.ProposalUnqualifyAction.value
315 17919 16310 - 16487 Apply org.make.api.sessionhistory.SessionUnqualification.apply org.make.api.sessionhistory.SessionUnqualification.apply(event.id, event.qualificationKey, event.voteTrust)
316 17406 16363 - 16371 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified.id event.id
317 13976 16408 - 16430 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified.qualificationKey event.qualificationKey
318 11956 16456 - 16471 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified.voteTrust event.voteTrust
326 14960 16660 - 16674 Select org.make.api.proposal.ProposalActor.State.proposal state.proposal
327 11371 16719 - 16734 Select org.make.api.proposal.UnvoteProposalCommand.replyTo command.replyTo
327 17768 16736 - 16752 Select org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound
327 13996 16706 - 16753 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound)
329 12455 16786 - 16798 Select org.make.api.proposal.UnvoteProposalCommand.vote command.vote
332 17936 16914 - 16929 Select org.make.api.proposal.UnvoteProposalCommand.replyTo command.replyTo
332 16719 16901 - 16981 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(state.getVotes(command.newProposalsVoteThreshold))
332 14685 16946 - 16979 Select org.make.api.proposal.UnvoteProposalCommand.newProposalsVoteThreshold command.newProposalsVoteThreshold
332 11212 16931 - 16980 Apply org.make.api.proposal.ProposalActor.State.getVotes state.getVotes(command.newProposalsVoteThreshold)
335 11625 17120 - 17120 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.apply$default$4 org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.apply$default$4
335 17665 17120 - 17648 Apply org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.apply org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.apply(x$1, x$2, x$3, x$10, x$6, x$4, x$5, x$7, x$8, x$9)
336 15441 17160 - 17178 Select org.make.api.proposal.UnvoteProposalCommand.proposalId command.proposalId
337 11722 17212 - 17231 Select org.make.api.proposal.UnvoteProposalCommand.maybeUserId command.maybeUserId
338 17640 17263 - 17279 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
339 13946 17316 - 17338 Select org.make.api.proposal.UnvoteProposalCommand.requestContext command.requestContext
340 11870 17368 - 17380 Select org.make.core.history.HistoryActions.VoteAndQualifications.voteKey vote.voteKey
341 18410 17422 - 17449 Select org.make.api.proposal.UnvoteProposalCommand.maybeOrganisationId command.maybeOrganisationId
342 14701 17494 - 17527 Select scala.collection.IterableOnceOps.toSeq vote.qualificationKeys.keys.toSeq
343 11229 17559 - 17569 Select org.make.core.history.HistoryActions.VoteAndQualifications.trust vote.trust
344 16947 17604 - 17629 Apply org.make.core.technical.IdGenerator.nextEventId idGenerator.nextEventId()
344 14865 17599 - 17630 Apply scala.Some.apply scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())
372 13967 17665 - 18990 Apply akka.persistence.typed.scaladsl.EffectBuilder.thenNoReply org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenRun(((s: org.make.api.proposal.ProposalActor.State) => logUnvoteEvent(event).flatMap[Seq[Any]](((x$5: _$2) => scala.concurrent.Future.traverse[org.make.core.proposal.QualificationKey, Any, Seq](event.selectedQualifications)(((qualification: org.make.core.proposal.QualificationKey) => logRemoveVoteQualificationEvent(org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified.apply(event.id, event.maybeUserId, event.eventDate, event.requestContext, event.voteKey, qualification, vote.qualificationKeys.getOrElse[org.make.core.history.HistoryActions.VoteTrust](qualification, event.voteTrust), scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())))))(collection.this.BuildFrom.buildFromIterableOps[Seq, org.make.core.proposal.QualificationKey, Any], scala.concurrent.ExecutionContext.Implicits.global)))(scala.concurrent.ExecutionContext.Implicits.global).onComplete[Unit](((result: scala.util.Try[Seq[Any]]) => typed.this.ActorRef.ActorRefOps[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.VoteError,org.make.api.proposal.ProposalActorResponse.VotesActorResponse]](command.replyTo).!(result match { case (value: Seq[Any]): scala.util.Success[Seq[Any]](_) => s.getVotes(command.newProposalsVoteThreshold) case (exception: Throwable): scala.util.Failure[Seq[Any]]((e @ _)) => org.make.api.proposal.ProposalActorResponse.Error.HistoryError.apply(e) })))(scala.concurrent.ExecutionContext.Implicits.global))).thenNoReply()
379 18203 19216 - 19221 Literal <nosymbol> false
379 10402 19191 - 19212 Apply java.lang.Object.!= key.!=(commandVoteKey)
381 15093 19338 - 19352 Select org.make.core.proposal.QualificationKey.PlatitudeAgree org.make.core.proposal.QualificationKey.PlatitudeAgree
381 16965 19288 - 19314 Apply java.lang.Object.== qualificationKey.==(org.make.core.proposal.QualificationKey.Doable)
381 11640 19318 - 19352 Apply java.lang.Object.== qualificationKey.==(org.make.core.proposal.QualificationKey.PlatitudeAgree)
381 17678 19258 - 19352 Apply scala.Boolean.|| qualificationKey.==(org.make.core.proposal.QualificationKey.LikeIt).||(qualificationKey.==(org.make.core.proposal.QualificationKey.Doable)).||(qualificationKey.==(org.make.core.proposal.QualificationKey.PlatitudeAgree))
381 11110 19308 - 19314 Select org.make.core.proposal.QualificationKey.Doable org.make.core.proposal.QualificationKey.Doable
381 14594 19278 - 19284 Select org.make.core.proposal.QualificationKey.LikeIt org.make.core.proposal.QualificationKey.LikeIt
383 10419 19441 - 19451 Select org.make.core.proposal.QualificationKey.Impossible org.make.core.proposal.QualificationKey.Impossible
383 10852 19455 - 19492 Apply java.lang.Object.== qualificationKey.==(org.make.core.proposal.QualificationKey.PlatitudeDisagree)
383 18391 19421 - 19451 Apply java.lang.Object.== qualificationKey.==(org.make.core.proposal.QualificationKey.Impossible)
383 14613 19475 - 19492 Select org.make.core.proposal.QualificationKey.PlatitudeDisagree org.make.core.proposal.QualificationKey.PlatitudeDisagree
383 16844 19392 - 19492 Apply scala.Boolean.|| qualificationKey.==(org.make.core.proposal.QualificationKey.NoWay).||(qualificationKey.==(org.make.core.proposal.QualificationKey.Impossible)).||(qualificationKey.==(org.make.core.proposal.QualificationKey.PlatitudeDisagree))
383 13852 19412 - 19417 Select org.make.core.proposal.QualificationKey.NoWay org.make.core.proposal.QualificationKey.NoWay
385 18404 19531 - 19632 Apply scala.Boolean.|| qualificationKey.==(org.make.core.proposal.QualificationKey.DoNotCare).||(qualificationKey.==(org.make.core.proposal.QualificationKey.DoNotUnderstand)).||(qualificationKey.==(org.make.core.proposal.QualificationKey.NoOpinion))
385 10293 19603 - 19632 Apply java.lang.Object.== qualificationKey.==(org.make.core.proposal.QualificationKey.NoOpinion)
385 13149 19551 - 19560 Select org.make.core.proposal.QualificationKey.DoNotCare org.make.core.proposal.QualificationKey.DoNotCare
385 11381 19584 - 19599 Select org.make.core.proposal.QualificationKey.DoNotUnderstand org.make.core.proposal.QualificationKey.DoNotUnderstand
385 13871 19623 - 19632 Select org.make.core.proposal.QualificationKey.NoOpinion org.make.core.proposal.QualificationKey.NoOpinion
385 17555 19564 - 19599 Apply java.lang.Object.== qualificationKey.==(org.make.core.proposal.QualificationKey.DoNotUnderstand)
386 14367 19653 - 19658 Literal <nosymbol> false
394 10761 19833 - 19847 Select org.make.api.proposal.ProposalActor.State.proposal state.proposal
395 11853 19879 - 19926 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound)
395 13623 19909 - 19925 Select org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound
395 16864 19892 - 19907 Select org.make.api.proposal.QualifyVoteCommand.replyTo command.replyTo
397 17653 19959 - 19971 Select org.make.api.proposal.QualifyVoteCommand.vote command.vote
400 14842 20074 - 20153 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(state.getQualification(command.qualificationKey))
400 10643 20127 - 20151 Select org.make.api.proposal.QualifyVoteCommand.qualificationKey command.qualificationKey
400 17823 20104 - 20152 Apply org.make.api.proposal.ProposalActor.State.getQualification state.getQualification(command.qualificationKey)
400 13763 20087 - 20102 Select org.make.api.proposal.QualifyVoteCommand.replyTo command.replyTo
402 16740 20288 - 20345 Apply scala.collection.MapOps.contains vote.qualificationKeys.contains(command.qualificationKey)
402 11102 20320 - 20344 Select org.make.api.proposal.QualifyVoteCommand.qualificationKey command.qualificationKey
403 14115 20365 - 20444 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(state.getQualification(command.qualificationKey))
403 17530 20395 - 20443 Apply org.make.api.proposal.ProposalActor.State.getQualification state.getQualification(command.qualificationKey)
403 13644 20378 - 20393 Select org.make.api.proposal.QualifyVoteCommand.replyTo command.replyTo
403 11269 20418 - 20442 Select org.make.api.proposal.QualifyVoteCommand.qualificationKey command.qualificationKey
405 10661 20562 - 20574 Select org.make.core.history.HistoryActions.VoteAndQualifications.voteKey vote.voteKey
405 16609 20576 - 20591 Select org.make.api.proposal.QualifyVoteCommand.voteKey command.voteKey
405 14605 20593 - 20617 Select org.make.api.proposal.QualifyVoteCommand.qualificationKey command.qualificationKey
405 10976 20542 - 20618 Select scala.Boolean.unary_! checkQualification(vote.voteKey, command.voteKey, command.qualificationKey).unary_!
406 13663 20691 - 20715 Select org.make.api.proposal.QualifyVoteCommand.qualificationKey command.qualificationKey
406 17547 20638 - 20717 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(state.getQualification(command.qualificationKey))
406 16840 20651 - 20666 Select org.make.api.proposal.QualifyVoteCommand.replyTo command.replyTo
406 11753 20668 - 20716 Apply org.make.api.proposal.ProposalActor.State.getQualification state.getQualification(command.qualificationKey)
409 13998 20833 - 20854 Select scala.Boolean.unary_! vote.trust.isTrusted.unary_!
410 10287 20876 - 20886 Select org.make.core.history.HistoryActions.VoteAndQualifications.trust vote.trust
410 16040 20876 - 20886 Block org.make.core.history.HistoryActions.VoteAndQualifications.trust vote.trust
412 10993 20930 - 20947 Block org.make.api.proposal.QualifyVoteCommand.voteTrust command.voteTrust
412 14506 20930 - 20947 Select org.make.api.proposal.QualifyVoteCommand.voteTrust command.voteTrust
414 10875 20994 - 21446 Apply org.make.api.proposal.PublishedProposalEvent.ProposalQualified.apply org.make.api.proposal.PublishedProposalEvent.ProposalQualified.apply(command.proposalId, command.maybeUserId, org.make.core.DateHelper.now(), command.requestContext, command.voteKey, command.qualificationKey, resolvedTrust, scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()))
415 16855 21036 - 21054 Select org.make.api.proposal.QualifyVoteCommand.proposalId command.proposalId
416 13292 21088 - 21107 Select org.make.api.proposal.QualifyVoteCommand.maybeUserId command.maybeUserId
417 11554 21139 - 21155 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
418 17437 21192 - 21214 Select org.make.api.proposal.QualifyVoteCommand.requestContext command.requestContext
419 14014 21244 - 21259 Select org.make.api.proposal.QualifyVoteCommand.voteKey command.voteKey
420 10302 21298 - 21322 Select org.make.api.proposal.QualifyVoteCommand.qualificationKey command.qualificationKey
422 16261 21402 - 21427 Apply org.make.core.technical.IdGenerator.nextEventId idGenerator.nextEventId()
422 14517 21397 - 21428 Apply scala.Some.apply scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())
436 16736 21463 - 22000 Apply akka.persistence.typed.scaladsl.EffectBuilder.thenNoReply org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalQualified, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalQualified, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenRun(((s: org.make.api.proposal.ProposalActor.State) => logQualifyVoteEvent(event).onComplete[Unit](((result: scala.util.Try[_$3]) => typed.this.ActorRef.ActorRefOps[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification]](command.replyTo).!(result match { case (value: _$3): scala.util.Success[_$3](_) => s.getQualification(command.qualificationKey) case (exception: Throwable): scala.util.Failure[_$3]((e @ _)) => org.make.api.proposal.ProposalActorResponse.Error.HistoryError.apply(e) })))(scala.concurrent.ExecutionContext.Implicits.global))).thenNoReply()
445 13309 22193 - 22207 Select org.make.api.proposal.ProposalActor.State.proposal state.proposal
446 13774 22239 - 22286 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound)
446 10020 22252 - 22267 Select org.make.api.proposal.UnqualifyVoteCommand.replyTo command.replyTo
446 17456 22269 - 22285 Select org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound
448 10181 22319 - 22331 Select org.make.api.proposal.UnqualifyVoteCommand.vote command.vote
451 16606 22447 - 22462 Select org.make.api.proposal.UnqualifyVoteCommand.replyTo command.replyTo
451 10891 22464 - 22512 Apply org.make.api.proposal.ProposalActor.State.getQualification state.getQualification(command.qualificationKey)
451 16752 22434 - 22513 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(state.getQualification(command.qualificationKey))
451 14717 22487 - 22511 Select org.make.api.proposal.UnqualifyVoteCommand.qualificationKey command.qualificationKey
454 10042 22608 - 22665 Apply scala.collection.MapOps.contains vote.qualificationKeys.contains(command.qualificationKey)
454 13194 22640 - 22664 Select org.make.api.proposal.UnqualifyVoteCommand.qualificationKey command.qualificationKey
455 10080 22697 - 23215 Apply org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified.apply org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified.apply(command.proposalId, command.maybeUserId, org.make.core.DateHelper.now(), command.requestContext, command.voteKey, command.qualificationKey, vote.qualificationKeys.getOrElse[org.make.core.history.HistoryActions.VoteTrust](command.qualificationKey, command.voteTrust), scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()))
456 17224 22741 - 22759 Select org.make.api.proposal.UnqualifyVoteCommand.proposalId command.proposalId
457 13680 22793 - 22812 Select org.make.api.proposal.UnqualifyVoteCommand.maybeUserId command.maybeUserId
458 10203 22844 - 22860 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
459 16481 22897 - 22919 Select org.make.api.proposal.UnqualifyVoteCommand.requestContext command.requestContext
460 13045 22949 - 22964 Select org.make.api.proposal.UnqualifyVoteCommand.voteKey command.voteKey
461 10985 23003 - 23027 Select org.make.api.proposal.UnqualifyVoteCommand.qualificationKey command.qualificationKey
462 13546 23118 - 23135 Select org.make.api.proposal.UnqualifyVoteCommand.voteTrust command.voteTrust
462 16649 23092 - 23116 Select org.make.api.proposal.UnqualifyVoteCommand.qualificationKey command.qualificationKey
462 9911 23059 - 23136 Apply scala.collection.MapOps.getOrElse vote.qualificationKeys.getOrElse[org.make.core.history.HistoryActions.VoteTrust](command.qualificationKey, command.voteTrust)
463 14004 23166 - 23197 Apply scala.Some.apply scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())
463 17693 23171 - 23196 Apply org.make.core.technical.IdGenerator.nextEventId idGenerator.nextEventId()
476 16499 23232 - 23757 Apply akka.persistence.typed.scaladsl.EffectBuilder.thenNoReply org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenRun(((s: org.make.api.proposal.ProposalActor.State) => logRemoveVoteQualificationEvent(event).onComplete[Unit](((result: scala.util.Try[_$4]) => typed.this.ActorRef.ActorRefOps[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification]](command.replyTo).!(result match { case (value: _$4): scala.util.Success[_$4](_) => s.getQualification(command.qualificationKey) case (exception: Throwable): scala.util.Failure[_$4]((e @ _)) => org.make.api.proposal.ProposalActorResponse.Error.HistoryError.apply(e) })))(scala.concurrent.ExecutionContext.Implicits.global))).thenNoReply()
479 16998 23921 - 23969 Apply org.make.api.proposal.ProposalActor.State.getQualification state.getQualification(command.qualificationKey)
479 12464 23904 - 23919 Select org.make.api.proposal.UnqualifyVoteCommand.replyTo command.replyTo
479 10867 23944 - 23968 Select org.make.api.proposal.UnqualifyVoteCommand.qualificationKey command.qualificationKey
479 13443 23891 - 23970 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.QualificationError,org.make.core.proposal.Qualification], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(state.getQualification(command.qualificationKey))
493 10172 24282 - 24489 Apply org.make.api.proposal.PublishedProposalEvent.ProposalViewed.apply org.make.api.proposal.PublishedProposalEvent.ProposalViewed.apply(proposalId, org.make.core.DateHelper.now(), requestContext, scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()))
495 9934 24355 - 24371 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
497 13884 24444 - 24475 Apply scala.Some.apply scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())
497 17446 24449 - 24474 Apply org.make.core.technical.IdGenerator.nextEventId idGenerator.nextEventId()
500 12939 24243 - 24546 Apply akka.persistence.typed.scaladsl.EffectBuilder.thenReply akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalViewed, org.make.api.proposal.ProposalActor.State](org.make.api.proposal.PublishedProposalEvent.ProposalViewed.apply(proposalId, org.make.core.DateHelper.now(), requestContext, scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()))).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound,org.make.core.proposal.Proposal]](replyTo)(((x$6: org.make.api.proposal.ProposalActor.State) => x$6.getProposal))
500 16391 24532 - 24545 Select org.make.api.proposal.ProposalActor.State.getProposal x$6.getProposal
504 10883 24666 - 24678 Select org.make.api.proposal.ProposeCommand.user command.user
505 10592 24699 - 25794 Apply org.make.api.proposal.PublishedProposalEvent.ProposalProposed.apply org.make.api.proposal.PublishedProposalEvent.ProposalProposed.apply(x$1, x$3, x$4, x$2, x$5, x$6, x$7, x$8, x$12, x$9, x$10, x$11, x$13, x$14, x$15, x$16)
506 16880 24732 - 24750 Select org.make.api.proposal.ProposeCommand.proposalId command.proposalId
507 15686 24771 - 25091 Apply org.make.api.proposal.PublishedProposalEvent.ProposalAuthorInfo.apply org.make.api.proposal.PublishedProposalEvent.ProposalAuthorInfo.apply(user.userId, user.organisationName.orElse[String](user.firstName), user.profile.flatMap[String](((x$7: org.make.core.profile.Profile) => x$7.postalCode)), user.profile.flatMap[java.time.LocalDate](((x$8: org.make.core.profile.Profile) => x$8.dateOfBirth)).map[Int](((date: java.time.LocalDate) => YEARS.between(date, java.time.LocalDate.now(java.time.ZoneOffset.UTC)).toInt)))
508 13188 24803 - 24814 Select org.make.core.user.User.userId user.userId
509 9957 24857 - 24871 Select org.make.core.user.User.firstName user.firstName
509 15665 24828 - 24872 Apply scala.Option.orElse user.organisationName.orElse[String](user.firstName)
510 10662 24886 - 24920 Apply scala.Option.flatMap user.profile.flatMap[String](((x$7: org.make.core.profile.Profile) => x$7.postalCode))
510 13903 24907 - 24919 Select org.make.core.profile.Profile.postalCode x$7.postalCode
511 9584 24934 - 25079 Apply scala.Option.map user.profile.flatMap[java.time.LocalDate](((x$8: org.make.core.profile.Profile) => x$8.dateOfBirth)).map[Int](((date: java.time.LocalDate) => YEARS.between(date, java.time.LocalDate.now(java.time.ZoneOffset.UTC)).toInt))
511 16164 24955 - 24968 Select org.make.core.profile.Profile.dateOfBirth x$8.dateOfBirth
512 16640 25029 - 25058 Apply java.time.LocalDate.now java.time.LocalDate.now(java.time.ZoneOffset.UTC)
512 13204 24998 - 25065 Select scala.Long.toInt YEARS.between(date, java.time.LocalDate.now(java.time.ZoneOffset.UTC)).toInt
512 10790 25043 - 25057 Select java.time.ZoneOffset.UTC java.time.ZoneOffset.UTC
512 12695 24998 - 25014 Literal <nosymbol> YEARS
515 13792 25121 - 25136 Select org.make.api.proposal.ProposeCommand.content command.content
515 10075 25110 - 25137 Apply org.make.core.SlugHelper.apply org.make.core.SlugHelper.apply(command.content)
516 16176 25166 - 25188 Select org.make.api.proposal.ProposeCommand.requestContext command.requestContext
517 12915 25209 - 25220 Select org.make.core.user.User.userId user.userId
518 10798 25244 - 25261 Select org.make.api.proposal.ProposeCommand.createdAt command.createdAt
519 17138 25283 - 25298 Select org.make.api.proposal.ProposeCommand.content command.content
520 9927 25332 - 25365 Apply scala.Some.apply scala.Some.apply[org.make.core.reference.Language](command.submittedAsLanguage)
520 13082 25337 - 25364 Select org.make.api.proposal.ProposeCommand.submittedAsLanguage command.submittedAsLanguage
521 15913 25389 - 25417 Select org.make.core.question.Question.operationId command.question.operationId
522 13805 25445 - 25477 Select org.make.core.question.Question.defaultLanguage command.question.defaultLanguage
522 10091 25440 - 25478 Apply scala.Some.apply scala.Some.apply[org.make.core.reference.Language](command.question.defaultLanguage)
523 16058 25500 - 25530 Select org.make.core.RequestContext.country command.requestContext.country
524 12934 25556 - 25575 Select org.make.api.proposal.ProposeCommand.isAnonymous command.isAnonymous
525 9357 25603 - 25630 Select org.make.core.question.Question.questionId command.question.questionId
525 17153 25598 - 25631 Apply scala.Some.apply scala.Some.apply[org.make.core.question.QuestionId](command.question.questionId)
526 13097 25661 - 25684 Select org.make.api.proposal.ProposeCommand.initialProposal command.initialProposal
527 9809 25711 - 25731 Select org.make.api.proposal.ProposeCommand.proposalType command.proposalType
528 13893 25753 - 25784 Apply scala.Some.apply scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())
528 15931 25758 - 25783 Apply org.make.core.technical.IdGenerator.nextEventId idGenerator.nextEventId()
531 16408 25803 - 25860 Apply akka.persistence.typed.scaladsl.Effect.persist akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalProposed, org.make.api.proposal.ProposalActor.State](event)
533 9374 25943 - 25961 Select org.make.api.proposal.ProposeCommand.proposalId command.proposalId
533 12809 25912 - 25927 Select org.make.api.proposal.ProposeCommand.replyTo command.replyTo
533 16888 25934 - 25962 Apply org.make.api.proposal.ProposalActorResponse.Envelope.apply org.make.api.proposal.ProposalActorResponse.Envelope.apply[org.make.core.proposal.ProposalId](command.proposalId)
533 13583 25803 - 25963 Apply akka.persistence.typed.scaladsl.EffectBuilder.thenReply org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalProposed, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalProposed, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse.Envelope[org.make.core.proposal.ProposalId]](command.replyTo)(((x$9: org.make.api.proposal.ProposalActor.State) => org.make.api.proposal.ProposalActorResponse.Envelope.apply[org.make.core.proposal.ProposalId](command.proposalId)))
538 9827 26101 - 26115 Select org.make.api.proposal.ProposalActor.State.proposal state.proposal
539 15811 26160 - 26175 Select org.make.api.proposal.UpdateProposalCommand.replyTo command.replyTo
539 10340 26147 - 26194 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound)
539 12116 26177 - 26193 Select org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound
540 16312 26247 - 26270 Select org.make.core.proposal.ProposalStatus.Accepted org.make.core.proposal.ProposalStatus.Accepted
540 12831 26228 - 26270 Apply java.lang.Object.!= proposal.status.!=(org.make.core.proposal.ProposalStatus.Accepted)
541 13071 26286 - 26441 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is not accepted and cannot be updated"): String)))
541 9111 26299 - 26314 Select org.make.api.proposal.UpdateProposalCommand.replyTo command.replyTo
542 16766 26331 - 26427 Apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is not accepted and cannot be updated"): String))
546 10496 26513 - 27434 Apply org.make.api.proposal.PublishedProposalEvent.ProposalUpdated.apply org.make.api.proposal.PublishedProposalEvent.ProposalUpdated.apply(x$1, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$11, x$9, x$13, x$10, x$12)
546 12031 26513 - 26513 Select org.make.api.proposal.PublishedProposalEvent.ProposalUpdated.apply$default$11 org.make.api.proposal.PublishedProposalEvent.ProposalUpdated.apply$default$11
547 9725 26551 - 26570 Select org.make.core.proposal.Proposal.proposalId proposal.proposalId
548 15829 26600 - 26616 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
549 12136 26651 - 26673 Select org.make.api.proposal.UpdateProposalCommand.requestContext command.requestContext
550 10216 26703 - 26720 Select org.make.api.proposal.UpdateProposalCommand.updatedAt command.updatedAt
551 16050 26755 - 26772 Select org.make.api.proposal.UpdateProposalCommand.moderator command.moderator
551 12716 26750 - 26773 Apply scala.Some.apply scala.Some.apply[org.make.core.user.UserId](command.moderator)
553 8989 26894 - 26898 Select scala.None scala.None
555 9481 26980 - 27072 Apply org.make.api.proposal.PublishedProposalEvent.ProposalEdition.apply org.make.api.proposal.PublishedProposalEvent.ProposalEdition.apply(proposal.content, newContent, proposal.contentTranslations, newTranslations)
555 13560 27026 - 27054 Select org.make.core.proposal.Proposal.contentTranslations proposal.contentTranslations
555 16781 26996 - 27012 Select org.make.core.proposal.Proposal.content proposal.content
555 15587 26975 - 27073 Apply scala.Some.apply scala.Some.apply[org.make.api.proposal.PublishedProposalEvent.ProposalEdition](org.make.api.proposal.PublishedProposalEvent.ProposalEdition.apply(proposal.content, newContent, proposal.contentTranslations, newTranslations))
557 12009 27116 - 27128 Select org.make.api.proposal.UpdateProposalCommand.tags command.tags
558 10584 27165 - 27174 TypeApply scala.collection.SeqFactory.Delegate.empty scala.`package`.Seq.empty[Nothing]
559 12480 27204 - 27259 Apply scala.Option.orElse command.question.operationId.orElse[org.make.core.operation.OperationId](proposal.operation)
559 16514 27240 - 27258 Select org.make.core.proposal.Proposal.operation proposal.operation
560 9007 27293 - 27320 Select org.make.core.question.Question.questionId command.question.questionId
560 15022 27288 - 27321 Apply scala.Some.apply scala.Some.apply[org.make.core.question.QuestionId](command.question.questionId)
561 13575 27346 - 27359 Select org.make.core.proposal.Proposal.idea proposal.idea
562 9496 27392 - 27417 Apply org.make.core.technical.IdGenerator.nextEventId idGenerator.nextEventId()
562 15806 27387 - 27418 Apply scala.Some.apply scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())
565 16537 27447 - 27507 Apply akka.persistence.typed.scaladsl.Effect.persist akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalUpdated, org.make.api.proposal.ProposalActor.State](event)
567 12823 27567 - 27582 Select org.make.api.proposal.UpdateProposalCommand.replyTo command.replyTo
567 9250 27584 - 27597 Select org.make.api.proposal.ProposalActor.State.getProposal x$10.getProposal
567 15046 27447 - 27598 Apply akka.persistence.typed.scaladsl.EffectBuilder.thenReply org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalUpdated, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalUpdated, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal]](command.replyTo)(((x$10: org.make.api.proposal.ProposalActor.State) => x$10.getProposal))
575 13479 27779 - 27793 Select org.make.api.proposal.ProposalActor.State.proposal state.proposal
576 9973 27838 - 27853 Select org.make.api.proposal.UpdateProposalVotesCommand.replyTo command.replyTo
576 15822 27855 - 27871 Select org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound
576 12265 27825 - 27872 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound)
578 14996 27920 - 28056 Select scala.Boolean.unary_! scala.`package`.Seq.apply[org.make.core.proposal.ProposalStatus](org.make.core.proposal.ProposalStatus.Accepted, org.make.core.proposal.ProposalStatus.Archived, org.make.core.proposal.ProposalStatus.Refused).contains[org.make.core.proposal.ProposalStatus](proposal.status).unary_!
578 10510 27925 - 27948 Select org.make.core.proposal.ProposalStatus.Accepted org.make.core.proposal.ProposalStatus.Accepted
578 16554 27950 - 27973 Select org.make.core.proposal.ProposalStatus.Archived org.make.core.proposal.ProposalStatus.Archived
578 12714 27975 - 27997 Select org.make.core.proposal.ProposalStatus.Refused org.make.core.proposal.ProposalStatus.Refused
579 9267 28025 - 28040 Select org.make.core.proposal.Proposal.status proposal.status
581 15706 28072 - 28276 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is not accepted/archived/refused and cannot be updated"): String)))
581 13492 28085 - 28100 Select org.make.api.proposal.UpdateProposalVotesCommand.replyTo command.replyTo
582 9739 28117 - 28262 Apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is not accepted/archived/refused and cannot be updated"): String))
587 16526 28334 - 28746 Apply org.make.api.proposal.PublishedProposalEvent.ProposalVotesUpdated.apply org.make.api.proposal.PublishedProposalEvent.ProposalVotesUpdated.apply(command.proposalId, org.make.core.DateHelper.now(), command.requestContext, command.updatedAt, scala.Some.apply[org.make.core.user.UserId](command.moderator), proposal.votingOptions.map[org.make.core.proposal.VotingOptions](((x$11: org.make.core.proposal.VotingOptions) => mergeVotes(x$11, command.votes))), scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()))
588 12282 28375 - 28393 Select org.make.api.proposal.UpdateProposalVotesCommand.proposalId command.proposalId
589 18114 28421 - 28437 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
590 16441 28470 - 28492 Select org.make.api.proposal.UpdateProposalVotesCommand.requestContext command.requestContext
591 12732 28520 - 28537 Select org.make.api.proposal.UpdateProposalVotesCommand.updatedAt command.updatedAt
592 15018 28565 - 28588 Apply scala.Some.apply scala.Some.apply[org.make.core.user.UserId](command.moderator)
592 9139 28570 - 28587 Select org.make.api.proposal.UpdateProposalVotesCommand.moderator command.moderator
593 13238 28660 - 28673 Select org.make.api.proposal.UpdateProposalVotesCommand.votes command.votes
593 15726 28619 - 28675 Apply scala.Option.map proposal.votingOptions.map[org.make.core.proposal.VotingOptions](((x$11: org.make.core.proposal.VotingOptions) => mergeVotes(x$11, command.votes)))
593 9643 28646 - 28674 Apply org.make.api.proposal.ProposalActor.mergeVotes mergeVotes(x$11, command.votes)
594 17991 28701 - 28732 Apply scala.Some.apply scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())
594 11896 28706 - 28731 Apply org.make.core.technical.IdGenerator.nextEventId idGenerator.nextEventId()
597 12630 28759 - 28824 Apply akka.persistence.typed.scaladsl.Effect.persist akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalVotesUpdated, org.make.api.proposal.ProposalActor.State](event)
599 11444 28759 - 28915 Apply akka.persistence.typed.scaladsl.EffectBuilder.thenReply org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalVotesUpdated, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalVotesUpdated, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal]](command.replyTo)(((x$12: org.make.api.proposal.ProposalActor.State) => x$12.getProposal))
599 15041 28901 - 28914 Select org.make.api.proposal.ProposalActor.State.getProposal x$12.getProposal
599 9157 28884 - 28899 Select org.make.api.proposal.UpdateProposalVotesCommand.replyTo command.replyTo
604 9965 29062 - 29076 Select org.make.api.proposal.ProposalActor.State.proposal state.proposal
605 18012 29108 - 29155 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound)
605 15610 29121 - 29136 Select org.make.api.proposal.AcceptProposalCommand.replyTo command.replyTo
605 11916 29138 - 29154 Select org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound
606 12969 29189 - 29231 Apply java.lang.Object.== proposal.status.==(org.make.core.proposal.ProposalStatus.Archived)
606 16422 29208 - 29231 Select org.make.core.proposal.ProposalStatus.Archived org.make.core.proposal.ProposalStatus.Archived
607 9410 29260 - 29275 Select org.make.api.proposal.AcceptProposalCommand.replyTo command.replyTo
607 11780 29247 - 29400 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is archived and cannot be validated"): String)))
608 14911 29292 - 29386 Apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is archived and cannot be validated"): String))
610 15960 29434 - 29476 Apply java.lang.Object.== proposal.status.==(org.make.core.proposal.ProposalStatus.Accepted)
610 9839 29453 - 29476 Select org.make.core.proposal.ProposalStatus.Accepted org.make.core.proposal.ProposalStatus.Accepted
613 11930 29626 - 29641 Select org.make.api.proposal.AcceptProposalCommand.replyTo command.replyTo
613 16434 29613 - 29751 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is already validated"): String)))
614 17879 29658 - 29737 Apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is already validated"): String))
617 9026 29809 - 30712 Apply org.make.api.proposal.PublishedProposalEvent.ProposalAccepted.apply org.make.api.proposal.PublishedProposalEvent.ProposalAccepted.apply(command.proposalId, org.make.core.DateHelper.now(), command.requestContext, command.moderator, scala.Tuple2.apply[Option[String], Option[org.make.core.technical.Multilingual[String]]](command.newContent, command.newTranslations) match { case (_1: Option[String], _2: Option[org.make.core.technical.Multilingual[String]]): (Option[String], Option[org.make.core.technical.Multilingual[String]])(scala.None, scala.None) => scala.None case (_1: Option[String], _2: Option[org.make.core.technical.Multilingual[String]]): (Option[String], Option[org.make.core.technical.Multilingual[String]])((newContent @ _), (newTranslations @ _)) => scala.Some.apply[org.make.api.proposal.PublishedProposalEvent.ProposalEdition](org.make.api.proposal.PublishedProposalEvent.ProposalEdition.apply(proposal.content, newContent, proposal.contentTranslations, newTranslations)) }, command.sendNotificationEmail, command.tags, scala.`package`.Seq.empty[Nothing], proposal.idea, command.question.operationId.orElse[org.make.core.operation.OperationId](proposal.operation), scala.Some.apply[org.make.core.question.QuestionId](command.question.questionId), scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()))
618 12845 29846 - 29864 Select org.make.api.proposal.AcceptProposalCommand.proposalId command.proposalId
619 9133 29892 - 29908 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
620 14930 29941 - 29963 Select org.make.api.proposal.AcceptProposalCommand.requestContext command.requestContext
621 11673 29991 - 30008 Select org.make.api.proposal.AcceptProposalCommand.moderator command.moderator
623 9856 30125 - 30129 Select scala.None scala.None
625 17901 30207 - 30299 Apply org.make.api.proposal.PublishedProposalEvent.ProposalEdition.apply org.make.api.proposal.PublishedProposalEvent.ProposalEdition.apply(proposal.content, newContent, proposal.contentTranslations, newTranslations)
625 15716 30223 - 30239 Select org.make.core.proposal.Proposal.content proposal.content
625 12157 30253 - 30281 Select org.make.core.proposal.Proposal.contentTranslations proposal.contentTranslations
625 14648 30202 - 30300 Apply scala.Some.apply scala.Some.apply[org.make.api.proposal.PublishedProposalEvent.ProposalEdition](org.make.api.proposal.PublishedProposalEvent.ProposalEdition.apply(proposal.content, newContent, proposal.contentTranslations, newTranslations))
627 12864 30354 - 30383 Select org.make.api.proposal.AcceptProposalCommand.sendNotificationEmail command.sendNotificationEmail
628 9149 30406 - 30418 Select org.make.api.proposal.AcceptProposalCommand.tags command.tags
629 15169 30453 - 30462 TypeApply scala.collection.SeqFactory.Delegate.empty scala.`package`.Seq.empty[Nothing]
630 11689 30485 - 30498 Select org.make.core.proposal.Proposal.idea proposal.idea
631 9763 30562 - 30580 Select org.make.core.proposal.Proposal.operation proposal.operation
631 15605 30526 - 30581 Apply scala.Option.orElse command.question.operationId.orElse[org.make.core.operation.OperationId](proposal.operation)
632 17858 30608 - 30641 Apply scala.Some.apply scala.Some.apply[org.make.core.question.QuestionId](command.question.questionId)
632 12172 30613 - 30640 Select org.make.core.question.Question.questionId command.question.questionId
633 12640 30667 - 30698 Apply scala.Some.apply scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())
633 14415 30672 - 30697 Apply org.make.core.technical.IdGenerator.nextEventId idGenerator.nextEventId()
636 15182 30725 - 30786 Apply akka.persistence.typed.scaladsl.Effect.persist akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalAccepted, org.make.api.proposal.ProposalActor.State](event)
638 15621 30725 - 30877 Apply akka.persistence.typed.scaladsl.EffectBuilder.thenReply org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalAccepted, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalAccepted, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal]](command.replyTo)(((x$13: org.make.api.proposal.ProposalActor.State) => x$13.getProposal))
638 9514 30863 - 30876 Select org.make.api.proposal.ProposalActor.State.getProposal x$13.getProposal
638 11305 30846 - 30861 Select org.make.api.proposal.AcceptProposalCommand.replyTo command.replyTo
643 12053 31024 - 31038 Select org.make.api.proposal.ProposalActor.State.proposal state.proposal
644 12838 31070 - 31117 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound)
644 17874 31083 - 31098 Select org.make.api.proposal.RefuseProposalCommand.replyTo command.replyTo
644 14303 31100 - 31116 Select org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound
645 9045 31170 - 31193 Select org.make.core.proposal.ProposalStatus.Archived org.make.core.proposal.ProposalStatus.Archived
645 15397 31151 - 31193 Apply java.lang.Object.== proposal.status.==(org.make.core.proposal.ProposalStatus.Archived)
646 11328 31222 - 31237 Select org.make.api.proposal.RefuseProposalCommand.replyTo command.replyTo
646 15839 31209 - 31360 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is archived and cannot be refused"): String)))
647 17727 31254 - 31346 Apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is archived and cannot be refused"): String))
649 18358 31394 - 31435 Apply java.lang.Object.== proposal.status.==(org.make.core.proposal.ProposalStatus.Refused)
649 12070 31413 - 31435 Select org.make.core.proposal.ProposalStatus.Refused org.make.core.proposal.ProposalStatus.Refused
652 9284 31573 - 31681 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is already refused"): String)))
652 12854 31603 - 31680 Apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is already refused"): String))
652 14322 31586 - 31601 Select org.make.api.proposal.RefuseProposalCommand.replyTo command.replyTo
654 15040 31739 - 32170 Apply org.make.api.proposal.PublishedProposalEvent.ProposalRefused.apply org.make.api.proposal.PublishedProposalEvent.ProposalRefused.apply(command.proposalId, org.make.core.DateHelper.now(), command.requestContext, command.moderator, command.sendNotificationEmail, command.refusalReason, proposal.operation, scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()))
655 15413 31775 - 31793 Select org.make.api.proposal.RefuseProposalCommand.proposalId command.proposalId
656 11348 31821 - 31837 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
657 17591 31870 - 31892 Select org.make.api.proposal.RefuseProposalCommand.requestContext command.requestContext
658 15859 31920 - 31937 Select org.make.api.proposal.RefuseProposalCommand.moderator command.moderator
659 12022 31971 - 32000 Select org.make.api.proposal.RefuseProposalCommand.sendNotificationEmail command.sendNotificationEmail
660 18376 32032 - 32053 Select org.make.api.proposal.RefuseProposalCommand.refusalReason command.refusalReason
661 14662 32081 - 32099 Select org.make.core.proposal.Proposal.operation proposal.operation
662 11046 32130 - 32155 Apply org.make.core.technical.IdGenerator.nextEventId idGenerator.nextEventId()
662 9302 32125 - 32156 Apply scala.Some.apply scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())
665 11822 32183 - 32243 Apply akka.persistence.typed.scaladsl.Effect.persist akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalRefused, org.make.api.proposal.ProposalActor.State](event)
667 15739 32320 - 32333 Select org.make.api.proposal.ProposalActor.State.getProposal x$14.getProposal
667 17614 32303 - 32318 Select org.make.api.proposal.RefuseProposalCommand.replyTo command.replyTo
667 12046 32183 - 32334 Apply akka.persistence.typed.scaladsl.EffectBuilder.thenReply org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalRefused, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalRefused, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal]](command.replyTo)(((x$14: org.make.api.proposal.ProposalActor.State) => x$14.getProposal))
675 18140 32509 - 32523 Select org.make.api.proposal.ProposalActor.State.proposal state.proposal
676 14557 32568 - 32583 Select org.make.api.proposal.PostponeProposalCommand.replyTo command.replyTo
676 8919 32555 - 32602 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound)
676 11069 32585 - 32601 Select org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound
677 15057 32655 - 32678 Select org.make.core.proposal.ProposalStatus.Archived org.make.core.proposal.ProposalStatus.Archived
677 11319 32636 - 32678 Apply java.lang.Object.== proposal.status.==(org.make.core.proposal.ProposalStatus.Archived)
678 17497 32707 - 32722 Select org.make.api.proposal.PostponeProposalCommand.replyTo command.replyTo
678 12061 32694 - 32847 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is archived and cannot be postponed"): String)))
679 15752 32739 - 32833 Apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is archived and cannot be postponed"): String))
682 10936 32941 - 32982 Apply java.lang.Object.== proposal.status.==(org.make.core.proposal.ProposalStatus.Refused)
682 8932 32895 - 32982 Apply scala.Boolean.|| proposal.status.==(org.make.core.proposal.ProposalStatus.Accepted).||(proposal.status.==(org.make.core.proposal.ProposalStatus.Refused))
682 18026 32914 - 32937 Select org.make.core.proposal.ProposalStatus.Accepted org.make.core.proposal.ProposalStatus.Accepted
682 14314 32960 - 32982 Select org.make.core.proposal.ProposalStatus.Refused org.make.core.proposal.ProposalStatus.Refused
683 15075 33011 - 33026 Select org.make.api.proposal.PostponeProposalCommand.replyTo command.replyTo
683 17273 32998 - 33160 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is already moderated and cannot be postponed"): String)))
684 11801 33043 - 33146 Apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is already moderated and cannot be postponed"): String))
686 13716 33213 - 33237 Select org.make.core.proposal.ProposalStatus.Postponed org.make.core.proposal.ProposalStatus.Postponed
686 11945 33194 - 33237 Apply java.lang.Object.== proposal.status.==(org.make.core.proposal.ProposalStatus.Postponed)
687 10706 33253 - 33391 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is already postponed"): String)))
687 18042 33266 - 33281 Select org.make.api.proposal.PostponeProposalCommand.replyTo command.replyTo
688 14791 33298 - 33377 Apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply org.make.api.proposal.ProposalActorResponse.Error.InvalidStateError.apply(("Proposal ".+(command.proposalId.value).+(" is already postponed"): String))
692 18271 33456 - 33739 Apply org.make.api.proposal.PublishedProposalEvent.ProposalPostponed.apply org.make.api.proposal.PublishedProposalEvent.ProposalPostponed.apply(x$1, x$4, x$2, x$3, x$5)
693 8945 33496 - 33514 Select org.make.api.proposal.PostponeProposalCommand.proposalId command.proposalId
694 14946 33549 - 33571 Select org.make.api.proposal.PostponeProposalCommand.requestContext command.requestContext
695 11818 33601 - 33618 Select org.make.api.proposal.PostponeProposalCommand.moderator command.moderator
696 17753 33648 - 33664 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
697 11961 33692 - 33723 Apply scala.Some.apply scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())
697 14062 33697 - 33722 Apply org.make.core.technical.IdGenerator.nextEventId idGenerator.nextEventId()
700 14807 33752 - 33814 Apply akka.persistence.typed.scaladsl.Effect.persist akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalPostponed, org.make.api.proposal.ProposalActor.State](event)
702 10915 33874 - 33889 Select org.make.api.proposal.PostponeProposalCommand.replyTo command.replyTo
702 9165 33891 - 33904 Select org.make.api.proposal.ProposalActor.State.getProposal x$15.getProposal
702 14965 33752 - 33905 Apply akka.persistence.typed.scaladsl.EffectBuilder.thenReply org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalPostponed, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalPostponed, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ModificationError,org.make.core.proposal.Proposal]](command.replyTo)(((x$15: org.make.api.proposal.ProposalActor.State) => x$15.getProposal))
711 11708 34106 - 34120 Select org.make.api.proposal.ProposalActor.State.proposal state.proposal
712 14082 34182 - 34198 Select org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound
712 17771 34165 - 34180 Select org.make.api.proposal.LockProposalCommand.replyTo command.replyTo
712 12187 34152 - 34199 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.LockError,org.make.core.user.UserId], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound)
714 18288 34232 - 34248 Select org.make.api.proposal.ProposalActor.LockHandler.lock lockHandler.lock
716 10932 34392 - 34414 Apply scala.concurrent.duration.Deadline.hasTimeLeft deadline.hasTimeLeft()
716 14687 34369 - 34388 Select org.make.api.proposal.LockProposalCommand.moderatorId command.moderatorId
716 17064 34354 - 34414 Apply scala.Boolean.&& moderatorId.!=(command.moderatorId).&&(deadline.hasTimeLeft())
717 11725 34464 - 34494 Apply org.make.api.proposal.ProposalActorResponse.Error.AlreadyLockedBy.apply org.make.api.proposal.ProposalActorResponse.Error.AlreadyLockedBy.apply(moderatorName)
717 17510 34434 - 34495 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.LockError,org.make.core.user.UserId], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Error.AlreadyLockedBy.apply(moderatorName))
717 14920 34447 - 34462 Select org.make.api.proposal.LockProposalCommand.replyTo command.replyTo
719 12207 34529 - 34569 Apply scala.Option.forall maybeLock.forall(((x$16: org.make.api.proposal.ProposalActor.ProposalLock) => x$16.deadline.isOverdue()))
719 13950 34546 - 34568 Apply scala.concurrent.duration.Deadline.isOverdue x$16.deadline.isOverdue()
720 13973 34601 - 34954 Apply org.make.api.proposal.PublishedProposalEvent.ProposalLocked.apply org.make.api.proposal.PublishedProposalEvent.ProposalLocked.apply(command.proposalId, command.moderatorId, command.moderatorName, org.make.core.DateHelper.now(), command.requestContext, scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()))
721 17891 34640 - 34658 Select org.make.api.proposal.LockProposalCommand.proposalId command.proposalId
722 14705 34692 - 34711 Select org.make.api.proposal.LockProposalCommand.moderatorId command.moderatorId
723 10951 34747 - 34768 Select org.make.api.proposal.LockProposalCommand.moderatorName command.moderatorName
724 16951 34800 - 34816 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
725 14939 34853 - 34875 Select org.make.api.proposal.LockProposalCommand.requestContext command.requestContext
726 11347 34910 - 34935 Apply org.make.core.technical.IdGenerator.nextEventId idGenerator.nextEventId()
726 17405 34905 - 34936 Apply scala.Some.apply scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())
728 17913 35007 - 35026 Select org.make.api.proposal.PublishedProposalEvent.ProposalLocked.moderatorName event.moderatorName
728 14800 34971 - 35027 Apply org.make.api.proposal.ProposalActor.LockHandler.take lockHandler.take(event.moderatorId, event.moderatorName)
728 10118 34988 - 35005 Select org.make.api.proposal.PublishedProposalEvent.ProposalLocked.moderatorId event.moderatorId
730 10837 35044 - 35107 Apply akka.persistence.typed.scaladsl.Effect.persist akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalLocked, org.make.api.proposal.ProposalActor.State](event)
732 16968 35175 - 35190 Select org.make.api.proposal.LockProposalCommand.replyTo command.replyTo
732 11366 35197 - 35224 Apply org.make.api.proposal.ProposalActorResponse.Envelope.apply org.make.api.proposal.ProposalActorResponse.Envelope.apply[org.make.core.user.UserId](event.moderatorId)
732 15426 35206 - 35223 Select org.make.api.proposal.PublishedProposalEvent.ProposalLocked.moderatorId event.moderatorId
732 17761 35044 - 35225 Apply akka.persistence.typed.scaladsl.EffectBuilder.thenReply org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalLocked, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalLocked, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.LockError,org.make.core.user.UserId]](command.replyTo)(((x$17: org.make.api.proposal.ProposalActor.State) => org.make.api.proposal.ProposalActorResponse.Envelope.apply[org.make.core.user.UserId](event.moderatorId)))
734 17931 35266 - 35326 Apply org.make.api.proposal.ProposalActor.LockHandler.take lockHandler.take(command.moderatorId, command.moderatorName)
734 10137 35304 - 35325 Select org.make.api.proposal.LockProposalCommand.moderatorName command.moderatorName
734 13853 35283 - 35302 Select org.make.api.proposal.LockProposalCommand.moderatorId command.moderatorId
735 14680 35356 - 35371 Select org.make.api.proposal.LockProposalCommand.replyTo command.replyTo
735 15438 35343 - 35403 Apply akka.persistence.typed.scaladsl.Effect.reply akka.persistence.typed.scaladsl.Effect.reply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.LockError,org.make.core.user.UserId], Nothing, org.make.api.proposal.ProposalActor.State](command.replyTo)(org.make.api.proposal.ProposalActorResponse.Envelope.apply[org.make.core.user.UserId](command.moderatorId))
735 11209 35382 - 35401 Select org.make.api.proposal.LockProposalCommand.moderatorId command.moderatorId
735 17187 35373 - 35402 Apply org.make.api.proposal.ProposalActorResponse.Envelope.apply org.make.api.proposal.ProposalActorResponse.Envelope.apply[org.make.core.user.UserId](command.moderatorId)
742 17636 35686 - 35703 Select org.make.core.proposal.Qualification.key qualification.key
742 10626 35633 - 35704 Apply scala.collection.IterableOnceOps.find commandVotes.flatMap[org.make.api.proposal.UpdateQualificationRequest](((x$18: org.make.api.proposal.UpdateVoteRequest) => x$18.qualifications)).find(((x$19: org.make.api.proposal.UpdateQualificationRequest) => x$19.key.==(qualification.key)))
742 14217 35677 - 35703 Apply java.lang.Object.== x$19.key.==(qualification.key)
742 11385 35654 - 35670 Select org.make.api.proposal.UpdateVoteRequest.qualifications x$18.qualifications
745 17827 35813 - 36248 Apply org.make.core.proposal.Qualification.copy qualification.copy(x$5, x$1, x$2, x$3, x$4)
745 10398 35827 - 35827 Select org.make.core.proposal.Qualification.copy$default$1 qualification.copy$default$1
746 14697 35857 - 35914 Apply scala.Option.getOrElse updatedQualification.count.getOrElse[Int](qualification.count)
746 18407 35894 - 35913 Select org.make.core.proposal.Qualification.count qualification.count
747 11091 35993 - 36020 Select org.make.core.proposal.Qualification.countVerified qualification.countVerified
747 16945 35948 - 36021 Apply scala.Option.getOrElse updatedQualification.countVerified.getOrElse[Int](qualification.countVerified)
748 11622 36055 - 36128 Apply scala.Option.getOrElse updatedQualification.countSequence.getOrElse[Int](qualification.countSequence)
748 13171 36100 - 36127 Select org.make.core.proposal.Qualification.countSequence qualification.countSequence
749 17659 36205 - 36231 Select org.make.core.proposal.Qualification.countSegment qualification.countSegment
749 13832 36161 - 36232 Apply scala.Option.getOrElse updatedQualification.countSegment.getOrElse[Int](qualification.countSegment)
753 14591 36340 - 36348 Select org.make.core.proposal.Vote.key vote.key
753 16821 36313 - 36349 Apply scala.collection.IterableOnceOps.find commandVotes.find(((x$20: org.make.api.proposal.UpdateVoteRequest) => x$20.key.==(vote.key)))
753 11106 36331 - 36348 Apply java.lang.Object.== x$20.key.==(vote.key)
756 13403 36445 - 36445 Select org.make.core.proposal.Vote.copy$default$6 vote.copy$default$6
756 16841 36445 - 36445 Select org.make.core.proposal.Vote.copy$default$1 vote.copy$default$1
756 11831 36440 - 36794 Apply org.make.core.proposal.Vote.copy vote.copy(x$5, x$1, x$2, x$3, x$4, x$6)
757 13389 36503 - 36513 Select org.make.core.proposal.Vote.count vote.count
757 11636 36475 - 36514 Apply scala.Option.getOrElse updatedVote.count.getOrElse[Int](vote.count)
758 13849 36548 - 36603 Apply scala.Option.getOrElse updatedVote.countVerified.getOrElse[Int](vote.countVerified)
758 17534 36584 - 36602 Select org.make.core.proposal.Vote.countVerified vote.countVerified
759 18385 36637 - 36692 Apply scala.Option.getOrElse updatedVote.countSequence.getOrElse[Int](vote.countSequence)
759 10416 36673 - 36691 Select org.make.core.proposal.Vote.countSequence vote.countSequence
760 10742 36725 - 36778 Apply scala.Option.getOrElse updatedVote.countSegment.getOrElse[Int](vote.countSegment)
760 14609 36760 - 36777 Select org.make.core.proposal.Vote.countSegment vote.countSegment
764 17551 36839 - 36848 Apply org.make.api.proposal.ProposalActor.mergeVote mergeVote(vote)
764 13868 36868 - 36886 Apply org.make.api.proposal.ProposalActor.mergeQualification mergeQualification(qualification)
764 10291 36816 - 36887 Apply org.make.core.proposal.VotingOptions.mapQualifications proposalVotes.mapVotes(((vote: org.make.core.proposal.Vote) => mergeVote(vote))).mapQualifications(((qualification: org.make.core.proposal.Qualification) => mergeQualification(qualification)))
768 17509 37016 - 37258 Apply org.make.api.proposal.PublishedProposalEvent.ProposalKeywordsSet.apply org.make.api.proposal.PublishedProposalEvent.ProposalKeywordsSet.apply(command.proposalId, org.make.core.DateHelper.now(), command.keywords, command.requestContext, scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId()))
769 16124 37047 - 37065 Select org.make.api.proposal.SetKeywordsCommand.proposalId command.proposalId
770 14823 37089 - 37105 Apply org.make.core.DefaultDateHelper.now org.make.core.DateHelper.now()
771 10758 37128 - 37144 Select org.make.api.proposal.SetKeywordsCommand.keywords command.keywords
772 16861 37173 - 37195 Select org.make.api.proposal.SetKeywordsCommand.requestContext command.requestContext
773 13622 37222 - 37247 Apply org.make.core.technical.IdGenerator.nextEventId idGenerator.nextEventId()
773 11848 37217 - 37248 Apply scala.Some.apply scala.Some.apply[org.make.core.EventId](idGenerator.nextEventId())
775 16585 37363 - 37376 Select org.make.api.proposal.ProposalActor.State.getProposal x$21.getProposal
775 13762 37267 - 37316 Apply akka.persistence.typed.scaladsl.Effect.persist akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalKeywordsSet, org.make.api.proposal.ProposalActor.State](event)
775 14838 37267 - 37377 Apply akka.persistence.typed.scaladsl.EffectBuilder.thenReply org.make.api.technical.EffectBuilderHelper.PublishOps[org.make.api.proposal.PublishedProposalEvent.ProposalKeywordsSet, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.scaladsl.Effect.persist[org.make.api.proposal.PublishedProposalEvent.ProposalKeywordsSet, org.make.api.proposal.ProposalActor.State](event)).thenPublish(event)(context).thenReply[org.make.api.proposal.ProposalActorResponse[org.make.api.proposal.ProposalActorResponse.Error.ProposalNotFound,org.make.core.proposal.Proposal]](command.replyTo)(((x$21: org.make.api.proposal.ProposalActor.State) => x$21.getProposal))
775 10307 37346 - 37361 Select org.make.api.proposal.SetKeywordsCommand.replyTo command.replyTo
781 16738 37578 - 37601 Apply scala.Option.contains event.question.contains[Any](elem)
781 17527 37551 - 37620 Apply scala.Option.fold state.questionId.filterNot(((elem: Any) => event.question.contains[Any](elem))).fold[String]("")(((x$22: org.make.core.question.QuestionId) => x$22.value))
781 14111 37534 - 37620 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("oldQuestion").->[String](state.questionId.filterNot(((elem: Any) => event.question.contains[Any](elem))).fold[String]("")(((x$22: org.make.core.question.QuestionId) => x$22.value)))
781 10022 37612 - 37619 Select org.make.core.question.QuestionId.value x$22.value
781 13643 37608 - 37610 Literal <nosymbol> ""
781 11098 37534 - 37547 Literal <nosymbol> "oldQuestion"
782 13528 37632 - 37718 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("newQuestion").->[String](event.question.filterNot(((elem: Any) => state.questionId.contains[Any](elem))).fold[String]("")(((x$23: org.make.core.question.QuestionId) => x$23.value)))
782 10971 37710 - 37717 Select org.make.core.question.QuestionId.value x$23.value
782 10546 37632 - 37645 Literal <nosymbol> "newQuestion"
782 17089 37649 - 37718 Apply scala.Option.fold event.question.filterNot(((elem: Any) => state.questionId.contains[Any](elem))).fold[String]("")(((x$23: org.make.core.question.QuestionId) => x$23.value))
782 16607 37674 - 37699 Apply scala.Option.contains state.questionId.contains[Any](elem)
782 14489 37706 - 37708 Literal <nosymbol> ""
783 17542 37774 - 37798 Apply scala.Option.contains event.operation.contains[Any](elem)
783 14503 37730 - 37817 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("oldOperation").->[String](state.operation.filterNot(((elem: Any) => event.operation.contains[Any](elem))).fold[String]("")(((x$24: org.make.core.operation.OperationId) => x$24.value)))
783 13992 37805 - 37807 Literal <nosymbol> ""
783 10044 37730 - 37744 Literal <nosymbol> "oldOperation"
783 10283 37809 - 37816 Select org.make.core.operation.OperationId.value x$24.value
783 16482 37748 - 37817 Apply scala.Option.fold state.operation.filterNot(((elem: Any) => event.operation.contains[Any](elem))).fold[String]("")(((x$24: org.make.core.operation.OperationId) => x$24.value))
784 16716 37873 - 37897 Apply scala.Option.contains state.operation.contains[Any](elem)
784 10988 37829 - 37843 Literal <nosymbol> "newOperation"
784 14008 37829 - 37916 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("newOperation").->[String](event.operation.filterNot(((elem: Any) => state.operation.contains[Any](elem))).fold[String]("")(((x$25: org.make.core.operation.OperationId) => x$25.value)))
784 9465 37908 - 37915 Select org.make.core.operation.OperationId.value x$25.value
784 13287 37904 - 37906 Literal <nosymbol> ""
784 17432 37847 - 37916 Apply scala.Option.fold event.operation.filterNot(((elem: Any) => state.operation.contains[Any](elem))).fold[String]("")(((x$25: org.make.core.operation.OperationId) => x$25.value))
785 16256 37963 - 37965 Literal <nosymbol> ""
785 12789 37967 - 37979 Select org.make.api.proposal.PublishedProposalEvent.ProposalEdition.oldVersion x$26.oldVersion
785 16733 37928 - 37980 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("oldContent").->[String](event.edition.fold[String]("")(((x$26: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$26.oldVersion)))
785 10159 37928 - 37940 Literal <nosymbol> "oldContent"
785 10871 37944 - 37980 Apply scala.Option.fold event.edition.fold[String]("")(((x$26: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$26.oldVersion))
786 10018 38008 - 38057 Apply scala.Option.getOrElse event.edition.flatMap[String](((x$27: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$27.newVersion)).getOrElse[String]("")
786 13170 37992 - 38004 Literal <nosymbol> "newContent"
786 17450 37992 - 38057 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("newContent").->[String](event.edition.flatMap[String](((x$27: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$27.newVersion)).getOrElse[String](""))
787 14259 38069 - 38086 Literal <nosymbol> "oldTranslations"
787 10176 38090 - 38167 Apply scala.Option.getOrElse event.edition.flatMap[String](((x$28: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$28.oldContentTranslations.map[String](((x$29: org.make.core.technical.Multilingual[String]) => x$29.toString())))).getOrElse[String]("")
787 16269 38069 - 38167 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("oldTranslations").->[String](event.edition.flatMap[String](((x$28: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$28.oldContentTranslations.map[String](((x$29: org.make.core.technical.Multilingual[String]) => x$29.toString())))).getOrElse[String](""))
788 13023 38179 - 38196 Literal <nosymbol> "newTranslations"
788 17221 38179 - 38277 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("newTranslations").->[String](event.edition.flatMap[String](((x$30: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$30.newContentTranslations.map[String](((x$31: org.make.core.technical.Multilingual[String]) => x$31.toString())))).getOrElse[String](""))
788 10887 38200 - 38277 Apply scala.Option.getOrElse event.edition.flatMap[String](((x$30: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$30.newContentTranslations.map[String](((x$31: org.make.core.technical.Multilingual[String]) => x$31.toString())))).getOrElse[String]("")
789 16011 38349 - 38356 Select org.make.core.reference.Language.value x$32.value
789 10197 38289 - 38357 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("submittedAsLanguage").->[String](event.submittedAsLanguage.fold[String]("")(((x$32: org.make.core.reference.Language) => x$32.value)))
789 13190 38289 - 38310 Literal <nosymbol> "submittedAsLanguage"
789 10037 38345 - 38347 Literal <nosymbol> ""
789 13676 38314 - 38357 Apply scala.Option.fold event.submittedAsLanguage.fold[String]("")(((x$32: org.make.core.reference.Language) => x$32.value))
790 10846 38369 - 38440 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("removedTags").->[String](state.tags.diff[org.make.core.tag.TagId](event.tags).map[String](((x$33: org.make.core.tag.TagId) => x$33.value)).mkString(","))
790 13040 38386 - 38440 Apply scala.collection.IterableOnceOps.mkString state.tags.diff[org.make.core.tag.TagId](event.tags).map[String](((x$33: org.make.core.tag.TagId) => x$33.value)).mkString(",")
790 16479 38369 - 38382 Literal <nosymbol> "removedTags"
791 16644 38452 - 38463 Literal <nosymbol> "addedTags"
791 9909 38452 - 38521 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("addedTags").->[String](event.tags.diff[org.make.core.tag.TagId](state.tags).map[String](((x$34: org.make.core.tag.TagId) => x$34.value)).mkString(","))
791 13207 38467 - 38521 Apply scala.collection.IterableOnceOps.mkString event.tags.diff[org.make.core.tag.TagId](state.tags).map[String](((x$34: org.make.core.tag.TagId) => x$34.value)).mkString(",")
792 13867 37519 - 38594 Apply scala.collection.IterableOps.filter scala.Predef.Map.apply[String, String](scala.Predef.ArrowAssoc[String]("oldQuestion").->[String](state.questionId.filterNot(((elem: Any) => event.question.contains[Any](elem))).fold[String]("")(((x$22: org.make.core.question.QuestionId) => x$22.value))), scala.Predef.ArrowAssoc[String]("newQuestion").->[String](event.question.filterNot(((elem: Any) => state.questionId.contains[Any](elem))).fold[String]("")(((x$23: org.make.core.question.QuestionId) => x$23.value))), scala.Predef.ArrowAssoc[String]("oldOperation").->[String](state.operation.filterNot(((elem: Any) => event.operation.contains[Any](elem))).fold[String]("")(((x$24: org.make.core.operation.OperationId) => x$24.value))), scala.Predef.ArrowAssoc[String]("newOperation").->[String](event.operation.filterNot(((elem: Any) => state.operation.contains[Any](elem))).fold[String]("")(((x$25: org.make.core.operation.OperationId) => x$25.value))), scala.Predef.ArrowAssoc[String]("oldContent").->[String](event.edition.fold[String]("")(((x$26: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$26.oldVersion))), scala.Predef.ArrowAssoc[String]("newContent").->[String](event.edition.flatMap[String](((x$27: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$27.newVersion)).getOrElse[String]("")), scala.Predef.ArrowAssoc[String]("oldTranslations").->[String](event.edition.flatMap[String](((x$28: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$28.oldContentTranslations.map[String](((x$29: org.make.core.technical.Multilingual[String]) => x$29.toString())))).getOrElse[String]("")), scala.Predef.ArrowAssoc[String]("newTranslations").->[String](event.edition.flatMap[String](((x$30: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$30.newContentTranslations.map[String](((x$31: org.make.core.technical.Multilingual[String]) => x$31.toString())))).getOrElse[String]("")), scala.Predef.ArrowAssoc[String]("submittedAsLanguage").->[String](event.submittedAsLanguage.fold[String]("")(((x$32: org.make.core.reference.Language) => x$32.value))), scala.Predef.ArrowAssoc[String]("removedTags").->[String](state.tags.diff[org.make.core.tag.TagId](event.tags).map[String](((x$33: org.make.core.tag.TagId) => x$33.value)).mkString(",")), scala.Predef.ArrowAssoc[String]("addedTags").->[String](event.tags.diff[org.make.core.tag.TagId](state.tags).map[String](((x$34: org.make.core.tag.TagId) => x$34.value)).mkString(","))).filter(((x0$1: (String, String)) => x0$1 match { case (_1: String, _2: String): (String, String)(_, (value @ _)) => scala.Predef.augmentString(value).nonEmpty }))
793 16027 38570 - 38584 Select scala.collection.StringOps.nonEmpty scala.Predef.augmentString(value).nonEmpty
796 10078 38691 - 38706 Select org.make.api.proposal.PublishedProposalEvent.ProposalUpdated.moderator event.moderator
798 16496 38784 - 38837 Throw <nosymbol> throw new java.lang.IllegalStateException("moderator required")
801 16995 38879 - 39059 Apply org.make.core.proposal.ProposalAction.apply org.make.core.proposal.ProposalAction.apply(event.eventDate, moderator, org.make.core.proposal.ProposalActionType.ProposalUpdateAction.value, arguments)
802 12917 38914 - 38929 Select org.make.api.proposal.PublishedProposalEvent.ProposalUpdated.eventDate event.eventDate
804 10863 38986 - 39012 Select org.make.core.proposal.ProposalActionType.value org.make.core.proposal.ProposalActionType.ProposalUpdateAction.value
808 10072 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$21 state.copy$default$21
808 9094 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$11 state.copy$default$11
808 15682 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$18 state.copy$default$18
808 15664 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$5 state.copy$default$5
808 12811 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$10 state.copy$default$10
808 16875 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$2 state.copy$default$2
808 16627 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$23 state.copy$default$23
808 13660 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$14 state.copy$default$14
808 9114 39093 - 39351 Apply org.make.core.proposal.Proposal.copy state.copy(x$7, x$8, x$9, x$10, x$11, x$12, x$13, x$14, x$1, x$15, x$16, x$17, x$6, x$18, x$4, x$5, x$19, x$20, x$3, x$21, x$22, x$2, x$23, x$24)
808 10657 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$7 state.copy$default$7
808 12912 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$24 state.copy$default$24
808 13184 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$3 state.copy$default$3
808 13788 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$20 state.copy$default$20
808 9580 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$17 state.copy$default$17
808 9810 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$4 state.copy$default$4
808 9074 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$1 state.copy$default$1
808 16156 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$8 state.copy$default$8
808 16891 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$12 state.copy$default$12
808 13897 39099 - 39099 Select org.make.core.proposal.Proposal.copy$default$6 state.copy$default$6
809 13442 39124 - 39134 Select org.make.api.proposal.PublishedProposalEvent.ProposalUpdated.tags event.tags
810 9931 39164 - 39179 Apply scala.collection.immutable.List.:: state.events.::[org.make.core.proposal.ProposalAction](rassoc$1)
811 15646 39210 - 39225 Select org.make.api.proposal.PublishedProposalEvent.ProposalUpdated.eventDate event.eventDate
811 13880 39205 - 39226 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.eventDate)
812 10444 39247 - 39257 Select org.make.api.proposal.PublishedProposalEvent.ProposalUpdated.idea event.idea
813 16390 39283 - 39298 Select org.make.api.proposal.PublishedProposalEvent.ProposalUpdated.operation event.operation
814 12937 39325 - 39339 Select org.make.api.proposal.PublishedProposalEvent.ProposalUpdated.question event.question
817 17136 39361 - 39374 Select org.make.api.proposal.PublishedProposalEvent.ProposalUpdated.edition event.edition
820 12931 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$9 proposal.copy$default$9
820 9354 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$10 proposal.copy$default$10
820 12093 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$15 proposal.copy$default$15
820 9808 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$13 proposal.copy$default$13
820 15912 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$4 proposal.copy$default$4
820 17150 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$11 proposal.copy$default$11
820 13564 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$12 proposal.copy$default$12
820 15807 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$23 proposal.copy$default$23
820 9464 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$1 proposal.copy$default$1
820 10588 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$16 proposal.copy$default$16
820 12807 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$18 proposal.copy$default$18
820 10576 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$7 proposal.copy$default$7
820 15926 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$14 proposal.copy$default$14
820 16518 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$17 proposal.copy$default$17
820 12113 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$24 proposal.copy$default$24
820 9825 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$22 proposal.copy$default$22
820 13578 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$21 proposal.copy$default$21
820 16054 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$8 proposal.copy$default$8
820 9370 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$19 proposal.copy$default$19
820 15109 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$20 proposal.copy$default$20
820 12139 39524 - 39524 Select org.make.core.proposal.Proposal.copy$default$6 proposal.copy$default$6
820 10198 39515 - 39683 Apply org.make.core.proposal.Proposal.copy proposal.copy(x$28, x$26, x$25, x$29, x$27, x$30, x$31, x$32, x$33, x$34, x$35, x$36, x$37, x$38, x$39, x$40, x$41, x$42, x$43, x$44, x$45, x$46, x$47, x$48)
822 13077 39587 - 39609 Apply org.make.core.SlugHelper.apply org.make.core.SlugHelper.apply(newVersion)
826 11989 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$9 proposal.copy$default$9
826 16047 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$11 proposal.copy$default$11
826 13571 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$24 proposal.copy$default$24
826 16310 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$1 proposal.copy$default$1
826 12473 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$21 proposal.copy$default$21
826 15021 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$23 proposal.copy$default$23
826 16510 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$20 proposal.copy$default$20
826 10212 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$10 proposal.copy$default$10
826 9952 39772 - 39831 Apply org.make.core.proposal.Proposal.copy proposal.copy(x$50, x$51, x$52, x$53, x$49, x$54, x$55, x$56, x$57, x$58, x$59, x$60, x$61, x$62, x$63, x$64, x$65, x$66, x$67, x$68, x$69, x$70, x$71, x$72)
826 18116 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$19 proposal.copy$default$19
826 15131 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$4 proposal.copy$default$4
826 13337 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$6 proposal.copy$default$6
826 13555 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$15 proposal.copy$default$15
826 10056 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$7 proposal.copy$default$7
826 12825 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$2 proposal.copy$default$2
826 13061 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$12 proposal.copy$default$12
826 8988 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$13 proposal.copy$default$13
826 9475 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$16 proposal.copy$default$16
826 12008 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$18 proposal.copy$default$18
826 8972 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$3 proposal.copy$default$3
826 15782 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$17 proposal.copy$default$17
826 9226 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$22 proposal.copy$default$22
826 14998 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$14 proposal.copy$default$14
826 15826 39781 - 39781 Select org.make.core.proposal.Proposal.copy$default$8 proposal.copy$default$8
831 15802 39996 - 40022 Select org.make.api.proposal.PublishedProposalEvent.ProposalVotesVerifiedUpdated.updatedVerifiedVotes event.updatedVerifiedVotes
831 15356 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$6 state.copy$default$6
831 15015 39969 - 40023 Apply org.make.core.proposal.Proposal.copy state.copy(x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$1, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24)
831 14994 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$16 state.copy$default$16
831 12374 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$1 state.copy$default$1
831 15702 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$19 state.copy$default$19
831 13477 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$7 state.copy$default$7
831 9245 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$5 state.copy$default$5
831 12711 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$14 state.copy$default$14
831 18094 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$12 state.copy$default$12
831 9843 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$18 state.copy$default$18
831 12956 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$4 state.copy$default$4
831 12277 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$20 state.copy$default$20
831 9137 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$24 state.copy$default$24
831 12262 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$11 state.copy$default$11
831 16425 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$13 state.copy$default$13
831 17968 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$21 state.copy$default$21
831 18318 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$2 state.copy$default$2
831 15683 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$9 state.copy$default$9
831 11538 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$17 state.copy$default$17
831 9968 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$8 state.copy$default$8
831 9262 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$15 state.copy$default$15
831 16532 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$3 state.copy$default$3
831 16191 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$22 state.copy$default$22
831 12614 39975 - 39975 Select org.make.core.proposal.Proposal.copy$default$23 state.copy$default$23
834 12841 40127 - 40173 Apply org.make.core.proposal.Proposal.copy state.copy(x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$1, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24)
834 9154 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$7 state.copy$default$7
834 11307 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$19 state.copy$default$19
834 9961 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$11 state.copy$default$11
834 17859 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$14 state.copy$default$14
834 14746 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$15 state.copy$default$15
834 11441 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$9 state.copy$default$9
834 12132 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$22 state.copy$default$22
834 11895 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$3 state.copy$default$3
834 11420 40154 - 40172 Select org.make.api.proposal.PublishedProposalEvent.ProposalVotesUpdated.updatedVotes event.updatedVotes
834 14769 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$24 state.copy$default$24
834 15956 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$21 state.copy$default$21
834 14909 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$18 state.copy$default$18
834 12965 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$16 state.copy$default$16
834 12947 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$6 state.copy$default$6
834 15944 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$12 state.copy$default$12
834 17986 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$4 state.copy$default$4
834 11915 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$13 state.copy$default$13
834 14400 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$5 state.copy$default$5
834 15722 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$2 state.copy$default$2
834 9944 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$1 state.copy$default$1
834 9836 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$20 state.copy$default$20
834 17878 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$23 state.copy$default$23
834 14893 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$8 state.copy$default$8
834 9106 40133 - 40133 Select org.make.core.proposal.Proposal.copy$default$17 state.copy$default$17
838 15150 40343 - 40388 Apply scala.Option.getOrElse event.edition.map[String](((x$35: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$35.oldVersion)).getOrElse[String]("")
838 9128 40323 - 40339 Literal <nosymbol> "initialContent"
838 11672 40323 - 40388 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("initialContent").->[String](event.edition.map[String](((x$35: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$35.oldVersion)).getOrElse[String](""))
839 17731 40400 - 40418 Literal <nosymbol> "moderatedContent"
839 15846 40422 - 40471 Apply scala.Option.getOrElse event.edition.flatMap[String](((x$36: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$36.newVersion)).getOrElse[String]("")
839 12152 40400 - 40471 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("moderatedContent").->[String](event.edition.flatMap[String](((x$36: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$36.newVersion)).getOrElse[String](""))
840 12859 40483 - 40585 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("initialTranslations").->[String](event.edition.flatMap[String](((x$37: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$37.oldContentTranslations.map[String](((x$38: org.make.core.technical.Multilingual[String]) => x$38.toString())))).getOrElse[String](""))
840 14647 40508 - 40585 Apply scala.Option.getOrElse event.edition.flatMap[String](((x$37: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$37.oldContentTranslations.map[String](((x$38: org.make.core.technical.Multilingual[String]) => x$38.toString())))).getOrElse[String]("")
840 18228 40483 - 40504 Literal <nosymbol> "initialTranslations"
841 15164 40624 - 40701 Apply scala.Option.getOrElse event.edition.flatMap[String](((x$39: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$39.newContentTranslations.map[String](((x$40: org.make.core.technical.Multilingual[String]) => x$40.toString())))).getOrElse[String]("")
841 11434 40597 - 40701 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("moderatedTranslations").->[String](event.edition.flatMap[String](((x$39: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$39.newContentTranslations.map[String](((x$40: org.make.core.technical.Multilingual[String]) => x$40.toString())))).getOrElse[String](""))
841 9005 40597 - 40620 Literal <nosymbol> "moderatedTranslations"
842 12027 40713 - 40760 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("tags").->[String](event.tags.map[String](((x$41: org.make.core.tag.TagId) => x$41.value)).mkString(","))
842 17592 40713 - 40719 Literal <nosymbol> "tags"
842 15602 40723 - 40760 Apply scala.collection.IterableOnceOps.mkString event.tags.map[String](((x$41: org.make.core.tag.TagId) => x$41.value)).mkString(",")
843 14411 40790 - 40824 Apply scala.Any.toString event.sendValidationEmail.toString()
843 17855 40772 - 40786 Literal <nosymbol> "userNotified"
843 12752 40772 - 40824 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("userNotified").->[String](event.sendValidationEmail.toString())
844 15179 40308 - 40897 Apply scala.collection.IterableOps.filter scala.Predef.Map.apply[String, String](scala.Predef.ArrowAssoc[String]("initialContent").->[String](event.edition.map[String](((x$35: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$35.oldVersion)).getOrElse[String]("")), scala.Predef.ArrowAssoc[String]("moderatedContent").->[String](event.edition.flatMap[String](((x$36: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$36.newVersion)).getOrElse[String]("")), scala.Predef.ArrowAssoc[String]("initialTranslations").->[String](event.edition.flatMap[String](((x$37: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$37.oldContentTranslations.map[String](((x$38: org.make.core.technical.Multilingual[String]) => x$38.toString())))).getOrElse[String]("")), scala.Predef.ArrowAssoc[String]("moderatedTranslations").->[String](event.edition.flatMap[String](((x$39: org.make.api.proposal.PublishedProposalEvent.ProposalEdition) => x$39.newContentTranslations.map[String](((x$40: org.make.core.technical.Multilingual[String]) => x$40.toString())))).getOrElse[String]("")), scala.Predef.ArrowAssoc[String]("tags").->[String](event.tags.map[String](((x$41: org.make.core.tag.TagId) => x$41.value)).mkString(",")), scala.Predef.ArrowAssoc[String]("userNotified").->[String](event.sendValidationEmail.toString())).filter(((x0$1: (String, String)) => x0$1 match { case (_1: String, _2: String): (String, String)(_, (value @ _)) => scala.Predef.augmentString(value).nonEmpty }))
845 9020 40873 - 40887 Select scala.collection.StringOps.nonEmpty scala.Predef.augmentString(value).nonEmpty
848 12049 40929 - 41115 Apply org.make.core.proposal.ProposalAction.apply org.make.core.proposal.ProposalAction.apply(event.eventDate, event.moderator, org.make.core.proposal.ProposalActionType.ProposalAcceptAction.value, arguments)
849 11303 40964 - 40979 Select org.make.api.proposal.PublishedProposalEvent.ProposalAccepted.eventDate event.eventDate
850 17359 41000 - 41015 Select org.make.api.proposal.PublishedProposalEvent.ProposalAccepted.moderator event.moderator
851 15503 41042 - 41068 Select org.make.core.proposal.ProposalActionType.value org.make.core.proposal.ProposalActionType.ProposalAcceptAction.value
855 14318 41155 - 41155 Select org.make.core.proposal.Proposal.copy$default$1 state.copy$default$1
855 17479 41155 - 41155 Select org.make.core.proposal.Proposal.copy$default$23 state.copy$default$23
855 9279 41155 - 41155 Select org.make.core.proposal.Proposal.copy$default$3 state.copy$default$3
855 14793 41155 - 41155 Select org.make.core.proposal.Proposal.copy$default$12 state.copy$default$12
855 14183 41155 - 41155 Select org.make.core.proposal.Proposal.copy$default$8 state.copy$default$8
855 11043 41155 - 41155 Select org.make.core.proposal.Proposal.copy$default$14 state.copy$default$14
855 9299 41155 - 41155 Select org.make.core.proposal.Proposal.copy$default$17 state.copy$default$17
855 15409 41155 - 41155 Select org.make.core.proposal.Proposal.copy$default$4 state.copy$default$4
855 17589 41155 - 41155 Select org.make.core.proposal.Proposal.copy$default$6 state.copy$default$6
855 11820 41155 - 41155 Select org.make.core.proposal.Proposal.copy$default$21 state.copy$default$21
855 14066 41155 - 41155 Select org.make.core.proposal.Proposal.copy$default$24 state.copy$default$24
855 15035 41155 - 41155 Select org.make.core.proposal.Proposal.copy$default$18 state.copy$default$18
855 18375 41155 - 41155 Select org.make.core.proposal.Proposal.copy$default$11 state.copy$default$11
855 12041 41149 - 41487 Apply org.make.core.proposal.Proposal.copy state.copy(x$9, x$10, x$11, x$12, x$13, x$14, x$3, x$15, x$1, x$16, x$17, x$18, x$8, x$19, x$6, x$7, x$20, x$21, x$4, x$5, x$22, x$2, x$23, x$24)
855 12017 41155 - 41155 Select org.make.core.proposal.Proposal.copy$default$10 state.copy$default$10
855 11021 41155 - 41155 Select org.make.core.proposal.Proposal.copy$default$2 state.copy$default$2
855 11804 41155 - 41155 Select org.make.core.proposal.Proposal.copy$default$5 state.copy$default$5
856 17871 41180 - 41190 Select org.make.api.proposal.PublishedProposalEvent.ProposalAccepted.tags event.tags
857 14301 41220 - 41235 Apply scala.collection.immutable.List.:: state.events.::[org.make.core.proposal.ProposalAction](rassoc$2)
858 11156 41258 - 41266 Select org.make.core.proposal.ProposalStatus.Accepted org.make.core.proposal.ProposalStatus.Accepted
859 8922 41297 - 41312 Select org.make.api.proposal.PublishedProposalEvent.ProposalAccepted.eventDate event.eventDate
859 15393 41292 - 41313 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.eventDate)
860 11325 41346 - 41361 Select org.make.api.proposal.PublishedProposalEvent.ProposalAccepted.eventDate event.eventDate
860 17257 41341 - 41362 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.eventDate)
861 15836 41383 - 41393 Select org.make.api.proposal.PublishedProposalEvent.ProposalAccepted.idea event.idea
862 12066 41419 - 41434 Select org.make.api.proposal.PublishedProposalEvent.ProposalAccepted.operation event.operation
863 18357 41461 - 41475 Select org.make.api.proposal.PublishedProposalEvent.ProposalAccepted.question event.question
866 18006 41497 - 41510 Select org.make.api.proposal.PublishedProposalEvent.ProposalAccepted.edition event.edition
869 14788 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$21 proposal.copy$default$21
869 14770 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$12 proposal.copy$default$12
869 16798 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$14 proposal.copy$default$14
869 15054 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$6 proposal.copy$default$6
869 11064 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$1 proposal.copy$default$1
869 14943 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$24 proposal.copy$default$24
869 10935 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$13 proposal.copy$default$13
869 10702 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$22 proposal.copy$default$22
869 14087 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$9 proposal.copy$default$9
869 8913 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$4 proposal.copy$default$4
869 16683 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$23 proposal.copy$default$23
869 11928 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$10 proposal.copy$default$10
869 17269 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$17 proposal.copy$default$17
869 11455 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$7 proposal.copy$default$7
869 17897 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$20 proposal.copy$default$20
869 17496 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$8 proposal.copy$default$8
869 13952 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$18 proposal.copy$default$18
869 18022 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$11 proposal.copy$default$11
869 11798 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$16 proposal.copy$default$16
869 11813 41651 - 41819 Apply org.make.core.proposal.Proposal.copy proposal.copy(x$28, x$26, x$25, x$29, x$27, x$30, x$31, x$32, x$33, x$34, x$35, x$36, x$37, x$38, x$39, x$40, x$41, x$42, x$43, x$44, x$45, x$46, x$47, x$48)
869 14926 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$15 proposal.copy$default$15
869 11941 41660 - 41660 Select org.make.core.proposal.Proposal.copy$default$19 proposal.copy$default$19
871 14556 41723 - 41745 Apply org.make.core.SlugHelper.apply org.make.core.SlugHelper.apply(newVersion)
875 17641 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$20 proposal.copy$default$20
875 14058 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$2 proposal.copy$default$2
875 12446 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$3 proposal.copy$default$3
875 11719 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$19 proposal.copy$default$19
875 17766 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$11 proposal.copy$default$11
875 14916 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$18 proposal.copy$default$18
875 17751 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$1 proposal.copy$default$1
875 10493 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$13 proposal.copy$default$13
875 13947 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$21 proposal.copy$default$21
875 18283 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$14 proposal.copy$default$14
875 16925 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$17 proposal.copy$default$17
875 11195 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$7 proposal.copy$default$7
875 17888 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$23 proposal.copy$default$23
875 10507 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$22 proposal.copy$default$22
875 13931 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$12 proposal.copy$default$12
875 15429 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$9 proposal.copy$default$9
875 18267 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$4 proposal.copy$default$4
875 17047 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$8 proposal.copy$default$8
875 10823 41908 - 41967 Apply org.make.core.proposal.Proposal.copy proposal.copy(x$50, x$51, x$52, x$53, x$49, x$54, x$55, x$56, x$57, x$58, x$59, x$60, x$61, x$62, x$63, x$64, x$65, x$66, x$67, x$68, x$69, x$70, x$71, x$72)
875 10931 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$16 proposal.copy$default$16
875 11705 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$10 proposal.copy$default$10
875 14702 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$24 proposal.copy$default$24
875 14684 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$15 proposal.copy$default$15
875 14803 41917 - 41917 Select org.make.core.proposal.Proposal.copy$default$6 proposal.copy$default$6
881 11343 42133 - 42185 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("refusalReason").->[String](event.refusalReason.getOrElse[String](""))
881 13257 42152 - 42185 Apply scala.Option.getOrElse event.refusalReason.getOrElse[String]("")
881 16948 42133 - 42148 Literal <nosymbol> "refusalReason"
882 10116 42197 - 42245 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("userNotified").->[String](event.sendRefuseEmail.toString())
882 13833 42215 - 42245 Apply scala.Any.toString event.sendRefuseEmail.toString()
882 17404 42197 - 42211 Literal <nosymbol> "userNotified"
883 14333 42118 - 42318 Apply scala.collection.IterableOps.filter scala.Predef.Map.apply[String, String](scala.Predef.ArrowAssoc[String]("refusalReason").->[String](event.refusalReason.getOrElse[String]("")), scala.Predef.ArrowAssoc[String]("userNotified").->[String](event.sendRefuseEmail.toString())).filter(((x0$1: (String, String)) => x0$1 match { case (_1: String, _2: String): (String, String)(_, (value @ _)) => scala.Predef.augmentString(value).nonEmpty }))
884 17909 42294 - 42308 Select scala.collection.StringOps.nonEmpty scala.Predef.augmentString(value).nonEmpty
887 10836 42372 - 42387 Select org.make.api.proposal.PublishedProposalEvent.ProposalRefused.eventDate event.eventDate
887 13124 42426 - 42434 Literal <nosymbol> "refuse"
887 11362 42350 - 42458 Apply org.make.core.proposal.ProposalAction.apply org.make.core.proposal.ProposalAction.apply(event.eventDate, event.moderator, "refuse", arguments)
887 16963 42396 - 42411 Select org.make.api.proposal.PublishedProposalEvent.ProposalRefused.moderator event.moderator
888 17632 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$3 state.copy$default$3
888 10625 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$5 state.copy$default$5
888 13385 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$24 state.copy$default$24
888 13624 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$12 state.copy$default$12
888 10394 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$16 state.copy$default$16
888 16940 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$11 state.copy$default$11
888 11521 42467 - 42697 Apply org.make.core.proposal.Proposal.copy state.copy(x$6, x$7, x$8, x$9, x$10, x$11, x$2, x$3, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$4, x$5, x$22, x$1, x$23, x$24)
888 14213 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$4 state.copy$default$4
888 14102 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$15 state.copy$default$15
888 11087 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$10 state.copy$default$10
888 14574 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$9 state.copy$default$9
888 13150 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$1 state.copy$default$1
888 17654 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$14 state.copy$default$14
888 11834 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$2 state.copy$default$2
888 11101 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$21 state.copy$default$21
888 16819 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$23 state.copy$default$23
888 16128 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$6 state.copy$default$6
888 16586 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$17 state.copy$default$17
888 11618 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$13 state.copy$default$13
888 14588 42473 - 42473 Select org.make.core.proposal.Proposal.copy$default$18 state.copy$default$18
889 17611 42505 - 42520 Apply scala.collection.immutable.List.:: state.events.::[org.make.core.proposal.ProposalAction](rassoc$3)
890 13851 42541 - 42548 Select org.make.core.proposal.ProposalStatus.Refused org.make.core.proposal.ProposalStatus.Refused
891 10135 42576 - 42595 Select org.make.api.proposal.PublishedProposalEvent.ProposalRefused.refusalReason event.refusalReason
892 18389 42624 - 42639 Select org.make.api.proposal.PublishedProposalEvent.ProposalRefused.eventDate event.eventDate
892 14675 42619 - 42640 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.eventDate)
893 11065 42671 - 42686 Select org.make.api.proposal.PublishedProposalEvent.ProposalRefused.eventDate event.eventDate
893 16842 42666 - 42687 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.eventDate)
899 10268 42904 - 42914 Literal <nosymbol> "postpone"
899 13848 42874 - 42889 Select org.make.api.proposal.PublishedProposalEvent.ProposalPostponed.moderator event.moderator
899 14604 42828 - 42938 Apply org.make.core.proposal.ProposalAction.apply org.make.core.proposal.ProposalAction.apply(event.eventDate, event.moderator, "postpone", scala.Predef.Map.empty[String, Nothing])
899 16102 42928 - 42937 TypeApply scala.collection.immutable.Map.empty scala.Predef.Map.empty[String, Nothing]
899 17531 42850 - 42865 Select org.make.api.proposal.PublishedProposalEvent.ProposalPostponed.eventDate event.eventDate
900 12539 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$13 state.copy$default$13
900 16720 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$5 state.copy$default$5
900 13621 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$6 state.copy$default$6
900 16564 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$2 state.copy$default$2
900 10161 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$11 state.copy$default$11
900 16737 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$15 state.copy$default$15
900 10179 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$23 state.copy$default$23
900 13968 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$20 state.copy$default$20
900 10947 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$14 state.copy$default$14
900 16584 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$12 state.copy$default$12
900 9550 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$8 state.copy$default$8
900 10755 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$4 state.copy$default$4
900 10019 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$17 state.copy$default$17
900 14819 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$3 state.copy$default$3
900 13760 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$10 state.copy$default$10
900 10288 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$1 state.copy$default$1
900 17522 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$18 state.copy$default$18
900 13640 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$16 state.copy$default$16
900 13024 42947 - 43132 Apply org.make.core.proposal.Proposal.copy state.copy(x$5, x$6, x$7, x$8, x$9, x$10, x$2, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$3, x$22, x$4, x$1, x$23, x$24)
900 16604 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$24 state.copy$default$24
900 17782 42953 - 42953 Select org.make.core.proposal.Proposal.copy$default$9 state.copy$default$9
901 10974 42985 - 43000 Apply scala.collection.immutable.List.:: state.events.::[org.make.core.proposal.ProposalAction](rassoc$4)
902 16838 43021 - 43030 Select org.make.core.proposal.ProposalStatus.Postponed org.make.core.proposal.ProposalStatus.Postponed
903 13277 43059 - 43074 Select org.make.api.proposal.PublishedProposalEvent.ProposalPostponed.eventDate event.eventDate
903 9532 43054 - 43075 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.eventDate)
904 13748 43101 - 43122 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.eventDate)
904 17546 43106 - 43121 Select org.make.api.proposal.PublishedProposalEvent.ProposalPostponed.eventDate event.eventDate
909 10966 43228 - 43240 Apply scala.Int.+ newCount.+(1)
915 16964 43403 - 43413 Apply scala.Function0.apply logError.apply()
916 13527 43424 - 43425 Literal <nosymbol> 0
917 10041 43459 - 43471 Apply scala.Int.- newCount.-(1)
922 16252 43611 - 43611 Select org.make.core.proposal.Vote.copy$default$1 vote.copy$default$1
922 13001 43611 - 43611 Select org.make.core.proposal.Vote.copy$default$6 vote.copy$default$6
922 10868 43606 - 43933 Apply org.make.core.proposal.Vote.copy vote.copy(x$5, x$1, x$4, x$3, x$2, x$6)
923 13988 43663 - 43667 Literal <nosymbol> true
923 10279 43635 - 43668 Apply scala.Function2.apply increaseCountIf.apply(vote.count, true)
923 17421 43651 - 43661 Select org.make.core.proposal.Vote.count vote.count
924 16480 43711 - 43728 Select org.make.core.proposal.Vote.countSegment vote.countSegment
924 10851 43695 - 43752 Apply scala.Function2.apply increaseCountIf.apply(vote.countSegment, voteTrust.isInSegment)
924 12771 43730 - 43751 Select org.make.core.history.HistoryActions.VoteTrust.isInSegment voteTrust.isInSegment
925 16983 43796 - 43814 Select org.make.core.proposal.Vote.countSequence vote.countSequence
925 9912 43780 - 43839 Apply scala.Function2.apply increaseCountIf.apply(vote.countSequence, voteTrust.isInSequence)
925 13284 43816 - 43838 Select org.make.core.history.HistoryActions.VoteTrust.isInSequence voteTrust.isInSequence
926 10155 43867 - 43923 Apply scala.Function2.apply increaseCountIf.apply(vote.countVerified, voteTrust.isTrusted)
926 15768 43883 - 43901 Select org.make.core.proposal.Vote.countVerified vote.countVerified
926 14005 43903 - 43922 Select org.make.core.history.HistoryActions.VoteTrust.isTrusted voteTrust.isTrusted
932 16729 44121 - 44275 Apply grizzled.slf4j.Logger.error ProposalActor.this.logger.error(("Prevented ".+(voteType).+(" [").+(event.voteKey).+("] count to be set to -1 for proposal: ").+(proposal).+(". Caused by event: ").+(event): String))
935 16976 44289 - 44289 Select org.make.core.proposal.Vote.copy$default$6 vote.copy$default$6
935 13662 44284 - 44776 Apply org.make.core.proposal.Vote.copy vote.copy(x$5, x$1, x$4, x$3, x$2, x$6)
935 9442 44289 - 44289 Select org.make.core.proposal.Vote.copy$default$1 vote.copy$default$1
936 13885 44313 - 44371 Apply scala.Function2.apply decreaseCountIf(genLogFunction("count")).apply(vote.count, true)
936 15989 44366 - 44370 Literal <nosymbol> true
936 10016 44354 - 44364 Select org.make.core.proposal.Vote.count vote.count
936 13168 44329 - 44352 Apply org.make.api.proposal.ProposalActor.genLogFunction genLogFunction("count")
937 11244 44398 - 44493 Apply scala.Function2.apply decreaseCountIf(genLogFunction("countSegment")).apply(vote.countSegment, event.voteTrust.isInSegment)
937 10173 44414 - 44444 Apply org.make.api.proposal.ProposalActor.genLogFunction genLogFunction("countSegment")
937 13020 44465 - 44492 Select org.make.core.history.HistoryActions.VoteTrust.isInSegment event.voteTrust.isInSegment
937 16146 44446 - 44463 Select org.make.core.proposal.Vote.countSegment vote.countSegment
939 16008 44533 - 44631 Apply scala.Function2.apply decreaseCountIf(genLogFunction("countSequence")).apply(vote.countSequence, event.voteTrust.isInSequence)
939 13187 44582 - 44600 Select org.make.core.proposal.Vote.countSequence vote.countSequence
939 9888 44602 - 44630 Select org.make.core.history.HistoryActions.VoteTrust.isInSequence event.voteTrust.isInSequence
939 17218 44549 - 44580 Apply org.make.api.proposal.ProposalActor.genLogFunction genLogFunction("countSequence")
941 13980 44687 - 44718 Apply org.make.api.proposal.ProposalActor.genLogFunction genLogFunction("countVerified")
941 10660 44720 - 44738 Select org.make.core.proposal.Vote.countVerified vote.countVerified
941 12894 44671 - 44766 Apply scala.Function2.apply decreaseCountIf(genLogFunction("countVerified")).apply(vote.countVerified, event.voteTrust.isTrusted)
941 16478 44740 - 44765 Select org.make.core.history.HistoryActions.VoteTrust.isTrusted event.voteTrust.isTrusted
946 9073 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$5 state.copy$default$5
946 10323 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$13 state.copy$default$13
946 12228 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$1 state.copy$default$1
946 16624 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$23 state.copy$default$23
946 15891 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$20 state.copy$default$20
946 9566 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$8 state.copy$default$8
946 9093 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$16 state.copy$default$16
946 16872 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$6 state.copy$default$6
946 12117 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$21 state.copy$default$21
946 13654 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$18 state.copy$default$18
946 10068 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$22 state.copy$default$22
946 12553 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$15 state.copy$default$15
946 9332 44876 - 45347 Apply org.make.core.proposal.Proposal.copy state.copy(x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$11, x$1, x$12, x$2, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24)
946 15663 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$9 state.copy$default$9
946 16141 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$3 state.copy$default$3
946 16751 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$17 state.copy$default$17
946 13641 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$7 state.copy$default$7
946 16153 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$14 state.copy$default$14
946 12935 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$4 state.copy$default$4
946 10303 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$2 state.copy$default$2
946 9576 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$19 state.copy$default$19
946 12910 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$24 state.copy$default$24
946 12094 44882 - 44882 Select org.make.core.proposal.Proposal.copy$default$11 state.copy$default$11
948 10428 44950 - 45021 Apply org.make.core.proposal.VotingOptions.updateVote x$42.updateVote(event.voteKey, ((x$43: org.make.core.proposal.Vote) => incrementWithVoteTrust(x$43, event.voteTrust)))
948 9907 44963 - 44976 Select org.make.api.proposal.PublishedProposalEvent.ProposalVoted.voteKey event.voteKey
948 13863 44978 - 45020 Apply org.make.api.proposal.ProposalActor.incrementWithVoteTrust incrementWithVoteTrust(x$43, event.voteTrust)
948 16024 45004 - 45019 Select org.make.api.proposal.PublishedProposalEvent.ProposalVoted.voteTrust event.voteTrust
948 16374 44926 - 45022 Apply scala.Option.map state.votingOptions.map[org.make.core.proposal.VotingOptions](((x$42: org.make.core.proposal.VotingOptions) => x$42.updateVote(event.voteKey, ((x$43: org.make.core.proposal.Vote) => incrementWithVoteTrust(x$43, event.voteTrust)))))
949 12916 45052 - 45077 Select org.make.api.proposal.PublishedProposalEvent.ProposalVoted.maybeOrganisationId event.maybeOrganisationId
951 13160 45143 - 45224 Select scala.Boolean.unary_! state.organisationIds.exists(((x$44: org.make.core.user.UserId) => x$44.value.==(organisationId.value))).unary_!
952 9201 45203 - 45223 Select org.make.core.user.UserId.value organisationId.value
952 16856 45192 - 45223 Apply java.lang.Object.== x$44.value.==(organisationId.value)
953 9928 45242 - 45281 Apply scala.collection.SeqOps.:+ state.organisationIds.:+[org.make.core.user.UserId](organisationId)
954 15914 45304 - 45325 Select org.make.core.proposal.Proposal.organisationIds state.organisationIds
960 16493 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$22 state.copy$default$22
960 8986 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$24 state.copy$default$24
960 15805 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$8 state.copy$default$8
960 13203 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$17 state.copy$default$17
960 14997 45451 - 46158 Apply org.make.core.proposal.Proposal.copy state.copy(x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$11, x$1, x$12, x$2, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24)
960 15108 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$5 state.copy$default$5
960 16615 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$13 state.copy$default$13
960 18098 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$21 state.copy$default$21
960 13056 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$23 state.copy$default$23
960 9228 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$4 state.copy$default$4
960 13319 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$6 state.copy$default$6
960 10053 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$18 state.copy$default$18
960 12694 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$14 state.copy$default$14
960 18077 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$11 state.copy$default$11
960 15128 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$16 state.copy$default$16
960 9709 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$7 state.copy$default$7
960 11988 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$20 state.copy$default$20
960 16515 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$2 state.copy$default$2
960 9248 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$15 state.copy$default$15
960 10315 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$1 state.copy$default$1
960 12806 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$3 state.copy$default$3
960 15823 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$19 state.copy$default$19
960 12109 45457 - 45457 Select org.make.core.proposal.Proposal.copy$default$9 state.copy$default$9
962 9350 45489 - 45909 Apply scala.Option.map state.votingOptions.map[org.make.core.proposal.VotingOptions](((x$45: org.make.core.proposal.VotingOptions) => x$45.updateVote(event.voteKey, ((x$46: org.make.core.proposal.Vote) => decrementWithVoteTrust(x$46, state, event))).mapQualifications(((qualification: org.make.core.proposal.Qualification) => event.selectedQualifications.find(((x$47: org.make.core.proposal.QualificationKey) => x$47.==(qualification.key))).fold[org.make.core.proposal.Qualification](qualification)(((x$48: org.make.core.proposal.QualificationKey) => applyUnqualifVote[org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted](state, qualification, event)(proposal.this.Unvoted.vote)))))))
963 15134 45554 - 45567 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.voteKey event.voteKey
963 13072 45569 - 45608 Apply org.make.api.proposal.ProposalActor.decrementWithVoteTrust decrementWithVoteTrust(x$46, state, event)
964 12788 45541 - 45895 Apply org.make.core.proposal.VotingOptions.mapQualifications x$45.updateVote(event.voteKey, ((x$46: org.make.core.proposal.Vote) => decrementWithVoteTrust(x$46, state, event))).mapQualifications(((qualification: org.make.core.proposal.Qualification) => event.selectedQualifications.find(((x$47: org.make.core.proposal.QualificationKey) => x$47.==(qualification.key))).fold[org.make.core.proposal.Qualification](qualification)(((x$48: org.make.core.proposal.QualificationKey) => applyUnqualifVote[org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted](state, qualification, event)(proposal.this.Unvoted.vote)))))
967 15909 45758 - 45780 Apply java.lang.Object.== x$47.==(qualification.key)
967 10061 45763 - 45780 Select org.make.core.proposal.Qualification.key qualification.key
968 10573 45830 - 45876 ApplyToImplicitArgs org.make.api.proposal.ProposalActor.applyUnqualifVote applyUnqualifVote[org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted](state, qualification, event)(proposal.this.Unvoted.vote)
968 12343 45847 - 45847 Select org.make.api.proposal.Unvoted.vote proposal.this.Unvoted.vote
968 16051 45701 - 45877 Apply scala.Option.fold event.selectedQualifications.find(((x$47: org.make.core.proposal.QualificationKey) => x$47.==(qualification.key))).fold[org.make.core.proposal.Qualification](qualification)(((x$48: org.make.core.proposal.QualificationKey) => applyUnqualifVote[org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted](state, qualification, event)(proposal.this.Unvoted.vote)))
971 15228 45939 - 45964 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.maybeOrganisationId event.maybeOrganisationId
973 15784 46028 - 46092 Apply scala.collection.IterableOps.filterNot state.organisationIds.filterNot(((x$49: org.make.core.user.UserId) => x$49.value.==(organisationId.value)))
973 13561 46071 - 46091 Select org.make.core.user.UserId.value organisationId.value
973 9804 46060 - 46091 Apply java.lang.Object.== x$49.value.==(organisationId.value)
974 12360 46115 - 46136 Select org.make.core.proposal.Proposal.organisationIds state.organisationIds
980 11540 46334 - 46351 Select org.make.core.proposal.Qualification.key qualification.key
980 12259 46354 - 47200 Block <nosymbol> { def logError(qualifType: String): () => Unit = (() => ProposalActor.this.logger.error(("Prevented ".+(qualifType).+(" [").+(qualification.key).+("] count to be set to -1 for proposal: ").+(state).+(". Caused by event: ").+(event): String))); org.make.core.proposal.Qualification.apply(qualification.key, decreaseCountIf(logError("count")).apply(qualification.count, true), decreaseCountIf(logError("countVerified")).apply(qualification.countVerified, ProposalActor.this.UnvotedOps[T](event).voteTrust(evidence$1).isTrusted), decreaseCountIf(logError("countSequence")).apply(qualification.countSequence, ProposalActor.this.UnvotedOps[T](event).voteTrust(evidence$1).isInSequence), decreaseCountIf(logError("countSegment")).apply(qualification.countSegment, ProposalActor.this.UnvotedOps[T](event).voteTrust(evidence$1).isInSegment)) }
980 9929 46296 - 46352 Apply scala.collection.SeqOps.contains ProposalActor.this.UnvotedOps[T](event).selectedQualifications(evidence$1).contains[org.make.core.proposal.QualificationKey](qualification.key)
983 16037 46445 - 46606 Apply grizzled.slf4j.Logger.error ProposalActor.this.logger.error(("Prevented ".+(qualifType).+(" [").+(qualification.key).+("] count to be set to -1 for proposal: ").+(state).+(". Caused by event: ").+(event): String))
986 15680 46617 - 47190 Apply org.make.core.proposal.Qualification.apply org.make.core.proposal.Qualification.apply(qualification.key, decreaseCountIf(logError("count")).apply(qualification.count, true), decreaseCountIf(logError("countVerified")).apply(qualification.countVerified, ProposalActor.this.UnvotedOps[T](event).voteTrust(evidence$1).isTrusted), decreaseCountIf(logError("countSequence")).apply(qualification.countSequence, ProposalActor.this.UnvotedOps[T](event).voteTrust(evidence$1).isInSequence), decreaseCountIf(logError("countSegment")).apply(qualification.countSegment, ProposalActor.this.UnvotedOps[T](event).voteTrust(evidence$1).isInSegment))
987 12006 46650 - 46667 Select org.make.core.proposal.Qualification.key qualification.key
988 17969 46705 - 46722 Apply org.make.api.proposal.ProposalActor.logError logError("count")
988 16506 46724 - 46743 Select org.make.core.proposal.Qualification.count qualification.count
988 9224 46689 - 46750 Apply scala.Function2.apply decreaseCountIf(logError("count")).apply(qualification.count, true)
988 12471 46745 - 46749 Literal <nosymbol> true
990 15796 46794 - 46892 Apply scala.Function2.apply decreaseCountIf(logError("countVerified")).apply(qualification.countVerified, ProposalActor.this.UnvotedOps[T](event).voteTrust(evidence$1).isTrusted)
990 15017 46810 - 46835 Apply org.make.api.proposal.ProposalActor.logError logError("countVerified")
990 11742 46837 - 46864 Select org.make.core.proposal.Qualification.countVerified qualification.countVerified
990 9947 46866 - 46891 Select org.make.core.history.HistoryActions.VoteTrust.isTrusted ProposalActor.this.UnvotedOps[T](event).voteTrust(evidence$1).isTrusted
992 12951 46936 - 47037 Apply scala.Function2.apply decreaseCountIf(logError("countSequence")).apply(qualification.countSequence, ProposalActor.this.UnvotedOps[T](event).voteTrust(evidence$1).isInSequence)
992 12244 46952 - 46977 Apply org.make.api.proposal.ProposalActor.logError logError("countSequence")
992 17989 46979 - 47006 Select org.make.core.proposal.Qualification.countSequence qualification.countSequence
992 16409 47008 - 47036 Select org.make.core.history.HistoryActions.VoteTrust.isInSequence ProposalActor.this.UnvotedOps[T](event).voteTrust(evidence$1).isInSequence
994 9964 47080 - 47178 Apply scala.Function2.apply decreaseCountIf(logError("countSegment")).apply(qualification.countSegment, ProposalActor.this.UnvotedOps[T](event).voteTrust(evidence$1).isInSegment)
994 11763 47150 - 47177 Select org.make.core.history.HistoryActions.VoteTrust.isInSegment ProposalActor.this.UnvotedOps[T](event).voteTrust(evidence$1).isInSegment
994 9242 47096 - 47120 Apply org.make.api.proposal.ProposalActor.logError logError("countSegment")
994 15247 47122 - 47148 Select org.make.core.proposal.Qualification.countSegment qualification.countSegment
997 17946 47218 - 47231 Ident org.make.api.proposal.ProposalActor.qualification qualification
1002 11418 47368 - 47770 Apply org.make.core.proposal.Qualification.apply org.make.core.proposal.Qualification.apply(qualification.key, increaseCountIf.apply(qualification.count, true), increaseCountIf.apply(qualification.countVerified, voteTrust.isTrusted), increaseCountIf.apply(qualification.countSequence, voteTrust.isInSequence), increaseCountIf.apply(qualification.countSegment, voteTrust.isInSegment))
1003 14748 47399 - 47416 Select org.make.core.proposal.Qualification.key qualification.key
1004 9112 47473 - 47477 Literal <nosymbol> true
1004 12706 47452 - 47471 Select org.make.core.proposal.Qualification.count qualification.count
1004 15259 47436 - 47478 Apply scala.Function2.apply increaseCountIf.apply(qualification.count, true)
1005 11533 47522 - 47549 Select org.make.core.proposal.Qualification.countVerified qualification.countVerified
1005 15699 47506 - 47571 Apply scala.Function2.apply increaseCountIf.apply(qualification.countVerified, voteTrust.isTrusted)
1005 9840 47551 - 47570 Select org.make.core.history.HistoryActions.VoteTrust.isTrusted voteTrust.isTrusted
1006 14500 47599 - 47667 Apply scala.Function2.apply increaseCountIf.apply(qualification.countSequence, voteTrust.isInSequence)
1006 17966 47644 - 47666 Select org.make.core.history.HistoryActions.VoteTrust.isInSequence voteTrust.isInSequence
1006 12137 47615 - 47642 Select org.make.core.proposal.Qualification.countSequence qualification.countSequence
1007 9134 47738 - 47759 Select org.make.core.history.HistoryActions.VoteTrust.isInSegment voteTrust.isInSegment
1007 12612 47710 - 47736 Select org.make.core.proposal.Qualification.countSegment qualification.countSegment
1007 14872 47694 - 47760 Apply scala.Function2.apply increaseCountIf.apply(qualification.countSegment, voteTrust.isInSegment)
1011 17707 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$15 state.copy$default$15
1011 17575 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$24 state.copy$default$24
1011 12129 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$17 state.copy$default$17
1011 11438 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$4 state.copy$default$4
1011 14907 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$13 state.copy$default$13
1011 15840 47868 - 48046 Apply org.make.core.proposal.Proposal.copy state.copy(x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$1, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24)
1011 11157 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$20 state.copy$default$20
1011 14892 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$3 state.copy$default$3
1011 11306 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$14 state.copy$default$14
1011 15146 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$22 state.copy$default$22
1011 11910 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$7 state.copy$default$7
1011 14745 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$9 state.copy$default$9
1011 14398 47895 - 48036 Apply scala.Option.map state.votingOptions.map[org.make.core.proposal.VotingOptions](((x$50: org.make.core.proposal.VotingOptions) => x$50.updateQualification(event.qualificationKey, ((x$51: org.make.core.proposal.Qualification) => applyVoteTrustToQualification(x$51, event.voteTrust)))))
1011 14631 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$19 state.copy$default$19
1011 15941 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$6 state.copy$default$6
1011 9125 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$21 state.copy$default$21
1011 9379 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$12 state.copy$default$12
1011 17687 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$5 state.copy$default$5
1011 11329 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$23 state.copy$default$23
1011 15824 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$16 state.copy$default$16
1011 9008 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$2 state.copy$default$2
1011 12821 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$11 state.copy$default$11
1011 17875 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$18 state.copy$default$18
1011 17857 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$8 state.copy$default$8
1011 12943 47874 - 47874 Select org.make.core.proposal.Proposal.copy$default$1 state.copy$default$1
1012 12155 47976 - 48025 Apply org.make.api.proposal.ProposalActor.applyVoteTrustToQualification applyVoteTrustToQualification(x$51, event.voteTrust)
1012 9939 47952 - 47974 Select org.make.api.proposal.PublishedProposalEvent.ProposalQualified.qualificationKey event.qualificationKey
1012 15588 48009 - 48024 Select org.make.api.proposal.PublishedProposalEvent.ProposalQualified.voteTrust event.voteTrust
1012 17983 47930 - 48026 Apply org.make.core.proposal.VotingOptions.updateQualification x$50.updateQualification(event.qualificationKey, ((x$51: org.make.core.proposal.Qualification) => applyVoteTrustToQualification(x$51, event.voteTrust)))
1017 18335 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$16 state.copy$default$16
1017 17590 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$3 state.copy$default$3
1017 11301 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$12 state.copy$default$12
1017 9016 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$9 state.copy$default$9
1017 15039 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$11 state.copy$default$11
1017 17255 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$22 state.copy$default$22
1017 12045 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$15 state.copy$default$15
1017 11931 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$24 state.copy$default$24
1017 12021 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$5 state.copy$default$5
1017 15161 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$1 state.copy$default$1
1017 14165 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$23 state.copy$default$23
1017 15597 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$4 state.copy$default$4
1017 17356 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$13 state.copy$default$13
1017 11282 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$2 state.copy$default$2
1017 13794 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$14 state.copy$default$14
1017 11150 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$18 state.copy$default$18
1017 11045 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$8 state.copy$default$8
1017 11781 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$21 state.copy$default$21
1017 14278 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$7 state.copy$default$7
1017 18354 48148 - 48301 Apply org.make.core.proposal.Proposal.copy state.copy(x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$1, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$21, x$22, x$23, x$24)
1017 15058 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$20 state.copy$default$20
1017 18126 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$6 state.copy$default$6
1017 14298 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$17 state.copy$default$17
1017 8918 48154 - 48154 Select org.make.core.proposal.Proposal.copy$default$19 state.copy$default$19
1018 9001 48185 - 48291 Apply scala.Option.map state.votingOptions.map[org.make.core.proposal.VotingOptions](((x$52: org.make.core.proposal.VotingOptions) => x$52.updateQualification(event.qualificationKey, ((x$53: org.make.core.proposal.Qualification) => applyUnqualifVote[org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified](state, x$53, event)(proposal.this.Unvoted.qualification)))))
1018 12147 48231 - 48253 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified.qualificationKey event.qualificationKey
1018 11022 48209 - 48290 Apply org.make.core.proposal.VotingOptions.updateQualification x$52.updateQualification(event.qualificationKey, ((x$53: org.make.core.proposal.Qualification) => applyUnqualifVote[org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified](state, x$53, event)(proposal.this.Unvoted.qualification)))
1018 18113 48272 - 48272 Select org.make.api.proposal.Unvoted.qualification proposal.this.Unvoted.qualification
1018 14646 48255 - 48289 ApplyToImplicitArgs org.make.api.proposal.ProposalActor.applyUnqualifVote applyUnqualifVote[org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified](state, x$53, event)(proposal.this.Unvoted.qualification)
1023 9276 48446 - 48507 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("moderatorName").->[String](event.moderatorName.getOrElse[String]("<unknown>"))
1023 14315 48446 - 48461 Literal <nosymbol> "moderatorName"
1023 11019 48465 - 48507 Apply scala.Option.getOrElse event.moderatorName.getOrElse[String]("<unknown>")
1023 11802 48442 - 48575 Apply scala.collection.IterableOps.filter scala.Predef.Map.apply[String, String](scala.Predef.ArrowAssoc[String]("moderatorName").->[String](event.moderatorName.getOrElse[String]("<unknown>"))).filter(((x0$1: (String, String)) => x0$1 match { case (_1: String, _2: String): (String, String)(_, (value @ _)) => scala.Predef.augmentString(value).nonEmpty }))
1024 15301 48549 - 48563 Select scala.collection.StringOps.nonEmpty scala.Predef.augmentString(value).nonEmpty
1027 18369 48607 - 48715 Apply org.make.core.proposal.ProposalAction.apply org.make.core.proposal.ProposalAction.apply(event.eventDate, event.moderatorId, "lock", arguments)
1027 12289 48685 - 48691 Literal <nosymbol> "lock"
1027 17585 48629 - 48644 Select org.make.api.proposal.PublishedProposalEvent.ProposalLocked.eventDate event.eventDate
1027 14041 48653 - 48670 Select org.make.api.proposal.PublishedProposalEvent.ProposalLocked.moderatorId event.moderatorId
1028 17031 48780 - 48801 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.eventDate)
1028 10933 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$17 state.copy$default$17
1028 11911 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$5 state.copy$default$5
1028 16666 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$18 state.copy$default$18
1028 10227 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$14 state.copy$default$14
1028 11465 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$21 state.copy$default$21
1028 18020 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$15 state.copy$default$15
1028 18002 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$6 state.copy$default$6
1028 13932 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$13 state.copy$default$13
1028 14766 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$16 state.copy$default$16
1028 14063 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$4 state.copy$default$4
1028 14790 48751 - 48766 Apply scala.collection.immutable.List.:: state.events.::[org.make.core.proposal.ProposalAction](rassoc$5)
1028 10914 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$8 state.copy$default$8
1028 14808 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$7 state.copy$default$7
1028 10250 48724 - 48802 Apply org.make.core.proposal.Proposal.copy state.copy(x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$2, x$21, x$22, x$1, x$23, x$24)
1028 13949 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$24 state.copy$default$24
1028 11817 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$2 state.copy$default$2
1028 17478 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$3 state.copy$default$3
1028 14921 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$20 state.copy$default$20
1028 17050 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$9 state.copy$default$9
1028 15049 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$10 state.copy$default$10
1028 15031 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$1 state.copy$default$1
1028 11451 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$11 state.copy$default$11
1028 11041 48785 - 48800 Select org.make.api.proposal.PublishedProposalEvent.ProposalLocked.eventDate event.eventDate
1028 17495 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$12 state.copy$default$12
1028 17728 48730 - 48730 Select org.make.core.proposal.Proposal.copy$default$23 state.copy$default$23
1032 11702 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$12 state.copy$default$12
1032 17043 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$10 state.copy$default$10
1032 11606 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$22 state.copy$default$22
1032 13472 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$21 state.copy$default$21
1032 13125 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$11 state.copy$default$11
1032 17748 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$4 state.copy$default$4
1032 16923 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$20 state.copy$default$20
1032 17892 48936 - 48950 Select org.make.api.proposal.PublishedProposalEvent.ProposalKeywordsSet.keywords event.keywords
1032 13929 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$14 state.copy$default$14
1032 17637 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$23 state.copy$default$23
1032 18172 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$16 state.copy$default$16
1032 17912 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$7 state.copy$default$7
1032 11192 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$9 state.copy$default$9
1032 11177 48964 - 48985 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](event.eventDate)
1032 10926 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$18 state.copy$default$18
1032 10489 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$15 state.copy$default$15
1032 14661 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$8 state.copy$default$8
1032 13943 48914 - 48986 Apply org.make.core.proposal.Proposal.copy state.copy(x$3, x$4, x$5, x$6, x$7, x$8, x$9, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$20, x$2, x$21, x$22, x$23, x$24, x$1)
1032 14783 48969 - 48984 Select org.make.api.proposal.PublishedProposalEvent.ProposalKeywordsSet.eventDate event.eventDate
1032 14053 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$5 state.copy$default$5
1032 16682 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$1 state.copy$default$1
1032 14681 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$17 state.copy$default$17
1032 17615 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$13 state.copy$default$13
1032 10117 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$6 state.copy$default$6
1032 11687 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$3 state.copy$default$3
1032 14938 48920 - 48920 Select org.make.core.proposal.Proposal.copy$default$2 state.copy$default$2
1037 10390 49107 - 50320 Apply org.make.api.proposal.ProposalActor.State.apply ProposalActor.this.State.apply(scala.Some.apply[org.make.core.proposal.Proposal]({ <artifact> val x$1: org.make.core.proposal.ProposalId = e.id; <artifact> val x$2: String = e.slug; <artifact> val x$3: org.make.core.user.UserId = e.userId; <artifact> val x$4: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](e.eventDate); <artifact> val x$5: None.type = scala.None; <artifact> val x$6: None.type = scala.None; <artifact> val x$7: None.type = scala.None; <artifact> val x$8: String = e.content; <artifact> val x$9: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = e.submittedAsLanguage; <artifact> val x$10: None.type = scala.None; <artifact> val x$11: org.make.core.proposal.ProposalStatus.Pending.type = org.make.core.proposal.ProposalStatus.Pending; <artifact> val x$12: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = e.question; <artifact> val x$13: org.make.core.RequestContext = e.requestContext; <artifact> val x$14: Some[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[org.make.core.proposal.VotingOptions](org.make.core.proposal.VotingOptions.empty); <artifact> val x$15: Boolean = e.isAnonymous; <artifact> val x$16: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = e.operation; <artifact> val x$17: org.make.core.proposal.ProposalType = e.proposalType; <artifact> val x$18: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = scala.`package`.List.apply[org.make.core.proposal.ProposalAction](org.make.core.proposal.ProposalAction.apply(e.eventDate, e.userId, org.make.core.proposal.ProposalActionType.ProposalProposeAction.value, scala.Predef.Map.apply[String, String](scala.Predef.ArrowAssoc[String]("content").->[String](e.content)))); <artifact> val x$19: Boolean = e.initialProposal; <artifact> val x$20: Seq[Nothing] @scala.reflect.internal.annotations.uncheckedBounds = scala.`package`.Seq.empty[Nothing]; <artifact> val x$21: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = org.make.core.proposal.Proposal.apply$default$8; <artifact> val x$22: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = org.make.core.proposal.Proposal.apply$default$9; <artifact> val x$23: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = org.make.core.proposal.Proposal.apply$default$12; <artifact> val x$24: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = org.make.core.proposal.Proposal.apply$default$15; org.make.core.proposal.Proposal.apply(x$1, x$2, x$8, x$9, x$10, x$3, x$11, x$21, x$22, x$14, x$15, x$23, x$12, x$13, x$24, x$16, x$17, x$4, x$5, x$6, x$7, x$18, x$19, x$20) }))
1038 14098 49126 - 50308 Apply scala.Some.apply scala.Some.apply[org.make.core.proposal.Proposal]({ <artifact> val x$1: org.make.core.proposal.ProposalId = e.id; <artifact> val x$2: String = e.slug; <artifact> val x$3: org.make.core.user.UserId = e.userId; <artifact> val x$4: Some[java.time.ZonedDateTime] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[java.time.ZonedDateTime](e.eventDate); <artifact> val x$5: None.type = scala.None; <artifact> val x$6: None.type = scala.None; <artifact> val x$7: None.type = scala.None; <artifact> val x$8: String = e.content; <artifact> val x$9: Option[org.make.core.reference.Language] @scala.reflect.internal.annotations.uncheckedBounds = e.submittedAsLanguage; <artifact> val x$10: None.type = scala.None; <artifact> val x$11: org.make.core.proposal.ProposalStatus.Pending.type = org.make.core.proposal.ProposalStatus.Pending; <artifact> val x$12: Option[org.make.core.question.QuestionId] @scala.reflect.internal.annotations.uncheckedBounds = e.question; <artifact> val x$13: org.make.core.RequestContext = e.requestContext; <artifact> val x$14: Some[org.make.core.proposal.VotingOptions] @scala.reflect.internal.annotations.uncheckedBounds = scala.Some.apply[org.make.core.proposal.VotingOptions](org.make.core.proposal.VotingOptions.empty); <artifact> val x$15: Boolean = e.isAnonymous; <artifact> val x$16: Option[org.make.core.operation.OperationId] @scala.reflect.internal.annotations.uncheckedBounds = e.operation; <artifact> val x$17: org.make.core.proposal.ProposalType = e.proposalType; <artifact> val x$18: List[org.make.core.proposal.ProposalAction] @scala.reflect.internal.annotations.uncheckedBounds = scala.`package`.List.apply[org.make.core.proposal.ProposalAction](org.make.core.proposal.ProposalAction.apply(e.eventDate, e.userId, org.make.core.proposal.ProposalActionType.ProposalProposeAction.value, scala.Predef.Map.apply[String, String](scala.Predef.ArrowAssoc[String]("content").->[String](e.content)))); <artifact> val x$19: Boolean = e.initialProposal; <artifact> val x$20: Seq[Nothing] @scala.reflect.internal.annotations.uncheckedBounds = scala.`package`.Seq.empty[Nothing]; <artifact> val x$21: Option[String] @scala.reflect.internal.annotations.uncheckedBounds = org.make.core.proposal.Proposal.apply$default$8; <artifact> val x$22: Seq[org.make.core.tag.TagId] @scala.reflect.internal.annotations.uncheckedBounds = org.make.core.proposal.Proposal.apply$default$9; <artifact> val x$23: Seq[org.make.core.user.UserId] @scala.reflect.internal.annotations.uncheckedBounds = org.make.core.proposal.Proposal.apply$default$12; <artifact> val x$24: Option[org.make.core.idea.IdeaId] @scala.reflect.internal.annotations.uncheckedBounds = org.make.core.proposal.Proposal.apply$default$15; org.make.core.proposal.Proposal.apply(x$1, x$2, x$8, x$9, x$10, x$3, x$11, x$21, x$22, x$14, x$15, x$23, x$12, x$13, x$24, x$16, x$17, x$4, x$5, x$6, x$7, x$18, x$19, x$20) })
1039 17511 49146 - 50294 Apply org.make.core.proposal.Proposal.apply org.make.core.proposal.Proposal.apply(x$1, x$2, x$8, x$9, x$10, x$3, x$11, x$21, x$22, x$14, x$15, x$23, x$12, x$13, x$24, x$16, x$17, x$4, x$5, x$6, x$7, x$18, x$19, x$20)
1039 13366 49146 - 49146 Select org.make.core.proposal.Proposal.apply$default$12 org.make.core.proposal.Proposal.apply$default$12
1039 11084 49146 - 49146 Select org.make.core.proposal.Proposal.apply$default$8 org.make.core.proposal.Proposal.apply$default$8
1039 9552 49146 - 49146 Select org.make.core.proposal.Proposal.apply$default$15 org.make.core.proposal.Proposal.apply$default$15
1039 16795 49146 - 49146 Select org.make.core.proposal.Proposal.apply$default$9 org.make.core.proposal.Proposal.apply$default$9
1040 10380 49185 - 49189 Select org.make.api.proposal.PublishedProposalEvent.ProposalProposed.id e.id
1041 17884 49214 - 49220 Select org.make.api.proposal.PublishedProposalEvent.ProposalProposed.slug e.slug
1042 14576 49247 - 49255 Select org.make.api.proposal.PublishedProposalEvent.ProposalProposed.userId e.userId
1043 10822 49290 - 49301 Select org.make.api.proposal.PublishedProposalEvent.ProposalProposed.eventDate e.eventDate
1043 16943 49285 - 49302 Apply scala.Some.apply scala.Some.apply[java.time.ZonedDateTime](e.eventDate)
1044 13104 49332 - 49336 Select scala.None scala.None
1045 11339 49368 - 49372 Select scala.None scala.None
1046 17739 49404 - 49408 Select scala.None scala.None
1047 13831 49436 - 49445 Select org.make.api.proposal.PublishedProposalEvent.ProposalProposed.content e.content
1048 10396 49485 - 49506 Select org.make.api.proposal.PublishedProposalEvent.ProposalProposed.submittedAsLanguage e.submittedAsLanguage
1049 16083 49546 - 49550 Select scala.None scala.None
1050 14330 49577 - 49599 Select org.make.core.proposal.ProposalStatus.Pending org.make.core.proposal.ProposalStatus.Pending
1051 11185 49630 - 49640 Select org.make.api.proposal.PublishedProposalEvent.ProposalProposed.question e.question
1052 16820 49676 - 49692 Select org.make.api.proposal.PublishedProposalEvent.ProposalProposed.requestContext e.requestContext
1053 13122 49731 - 49750 Select org.make.core.proposal.VotingOptions.empty org.make.core.proposal.VotingOptions.empty
1053 11360 49726 - 49751 Apply scala.Some.apply scala.Some.apply[org.make.core.proposal.VotingOptions](org.make.core.proposal.VotingOptions.empty)
1054 17607 49783 - 49796 Select org.make.api.proposal.PublishedProposalEvent.ProposalProposed.isAnonymous e.isAnonymous
1055 14197 49826 - 49837 Select org.make.api.proposal.PublishedProposalEvent.ProposalProposed.operation e.operation
1056 10608 49870 - 49884 Select org.make.api.proposal.PublishedProposalEvent.ProposalProposed.proposalType e.proposalType
1057 10375 49911 - 50187 Apply scala.collection.IterableFactory.apply scala.`package`.List.apply[org.make.core.proposal.ProposalAction](org.make.core.proposal.ProposalAction.apply(e.eventDate, e.userId, org.make.core.proposal.ProposalActionType.ProposalProposeAction.value, scala.Predef.Map.apply[String, String](scala.Predef.ArrowAssoc[String]("content").->[String](e.content))))
1058 14083 49935 - 50169 Apply org.make.core.proposal.ProposalAction.apply org.make.core.proposal.ProposalAction.apply(e.eventDate, e.userId, org.make.core.proposal.ProposalActionType.ProposalProposeAction.value, scala.Predef.Map.apply[String, String](scala.Predef.ArrowAssoc[String]("content").->[String](e.content)))
1059 16103 49978 - 49989 Select org.make.api.proposal.PublishedProposalEvent.ProposalProposed.eventDate e.eventDate
1060 14349 50018 - 50026 Select org.make.api.proposal.PublishedProposalEvent.ProposalProposed.userId e.userId
1061 11060 50061 - 50088 Select org.make.core.proposal.ProposalActionType.value org.make.core.proposal.ProposalActionType.ProposalProposeAction.value
1062 13604 50139 - 50148 Select org.make.api.proposal.PublishedProposalEvent.ProposalProposed.content e.content
1062 9533 50126 - 50148 Apply scala.Predef.ArrowAssoc.-> scala.Predef.ArrowAssoc[String]("content").->[String](e.content)
1062 17161 50126 - 50135 Literal <nosymbol> "content"
1062 17627 50122 - 50149 Apply scala.collection.MapFactory.apply scala.Predef.Map.apply[String, String](scala.Predef.ArrowAssoc[String]("content").->[String](e.content))
1065 16125 50223 - 50240 Select org.make.api.proposal.PublishedProposalEvent.ProposalProposed.initialProposal e.initialProposal
1066 14570 50269 - 50278 TypeApply scala.collection.SeqFactory.Delegate.empty scala.`package`.Seq.empty[Nothing]
1070 10950 50365 - 50418 Apply org.make.api.proposal.ProposalActor.State.apply ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$54: org.make.core.proposal.Proposal) => applyProposalUpdated(x$54, e))))
1070 16323 50390 - 50416 Apply org.make.api.proposal.ProposalActor.applyProposalUpdated applyProposalUpdated(x$54, e)
1070 14585 50371 - 50417 Apply scala.Option.map state.proposal.map[org.make.core.proposal.Proposal](((x$54: org.make.core.proposal.Proposal) => applyProposalUpdated(x$54, e)))
1072 16815 50511 - 50550 Apply org.make.api.proposal.ProposalActor.applyProposalVotesVerifiedUpdated applyProposalVotesVerifiedUpdated(x$55, e)
1072 13381 50492 - 50551 Apply scala.Option.map state.proposal.map[org.make.core.proposal.Proposal](((x$55: org.make.core.proposal.Proposal) => applyProposalVotesVerifiedUpdated(x$55, e)))
1072 9508 50486 - 50552 Apply org.make.api.proposal.ProposalActor.State.apply ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$55: org.make.core.proposal.Proposal) => applyProposalVotesVerifiedUpdated(x$55, e))))
1073 10266 50602 - 50660 Apply org.make.api.proposal.ProposalActor.State.apply ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$56: org.make.core.proposal.Proposal) => applyProposalVotesUpdated(x$56, e))))
1073 13731 50608 - 50659 Apply scala.Option.map state.proposal.map[org.make.core.proposal.Proposal](((x$56: org.make.core.proposal.Proposal) => applyProposalVotesUpdated(x$56, e)))
1073 17526 50627 - 50658 Apply org.make.api.proposal.ProposalActor.applyProposalVotesUpdated applyProposalVotesUpdated(x$56, e)
1074 16336 50735 - 50762 Apply org.make.api.proposal.ProposalActor.applyProposalAccepted applyProposalAccepted(x$57, e)
1074 10970 50710 - 50764 Apply org.make.api.proposal.ProposalActor.State.apply ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$57: org.make.core.proposal.Proposal) => applyProposalAccepted(x$57, e))))
1074 12504 50716 - 50763 Apply scala.Option.map state.proposal.map[org.make.core.proposal.Proposal](((x$57: org.make.core.proposal.Proposal) => applyProposalAccepted(x$57, e)))
1075 16833 50839 - 50865 Apply org.make.api.proposal.ProposalActor.applyProposalRefused applyProposalRefused(x$58, e)
1075 9529 50814 - 50867 Apply org.make.api.proposal.ProposalActor.State.apply ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$58: org.make.core.proposal.Proposal) => applyProposalRefused(x$58, e))))
1075 13275 50820 - 50866 Apply scala.Option.map state.proposal.map[org.make.core.proposal.Proposal](((x$58: org.make.core.proposal.Proposal) => applyProposalRefused(x$58, e)))
1076 10284 50917 - 50972 Apply org.make.api.proposal.ProposalActor.State.apply ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$59: org.make.core.proposal.Proposal) => applyProposalPostponed(x$59, e))))
1076 17762 50942 - 50970 Apply org.make.api.proposal.ProposalActor.applyProposalPostponed applyProposalPostponed(x$59, e)
1076 13745 50923 - 50971 Apply scala.Option.map state.proposal.map[org.make.core.proposal.Proposal](((x$59: org.make.core.proposal.Proposal) => applyProposalPostponed(x$59, e)))
1077 10927 51022 - 51073 Apply org.make.api.proposal.ProposalActor.State.apply ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$60: org.make.core.proposal.Proposal) => applyProposalVoted(x$60, e))))
1077 12522 51028 - 51072 Apply scala.Option.map state.proposal.map[org.make.core.proposal.Proposal](((x$60: org.make.core.proposal.Proposal) => applyProposalVoted(x$60, e)))
1077 16562 51047 - 51071 Apply org.make.api.proposal.ProposalActor.applyProposalVoted applyProposalVoted(x$60, e)
1078 16717 51148 - 51174 Apply org.make.api.proposal.ProposalActor.applyProposalUnvoted applyProposalUnvoted(x$61, e)
1078 13288 51129 - 51175 Apply scala.Option.map state.proposal.map[org.make.core.proposal.Proposal](((x$61: org.make.core.proposal.Proposal) => applyProposalUnvoted(x$61, e)))
1078 9998 51123 - 51176 Apply org.make.api.proposal.ProposalActor.State.apply ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$61: org.make.core.proposal.Proposal) => applyProposalUnvoted(x$61, e))))
1079 10160 51226 - 51281 Apply org.make.api.proposal.ProposalActor.State.apply ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$62: org.make.core.proposal.Proposal) => applyProposalQualified(x$62, e))))
1079 14092 51232 - 51280 Apply scala.Option.map state.proposal.map[org.make.core.proposal.Proposal](((x$62: org.make.core.proposal.Proposal) => applyProposalQualified(x$62, e)))
1079 15500 51251 - 51279 Apply org.make.api.proposal.ProposalActor.applyProposalQualified applyProposalQualified(x$62, e)
1080 16582 51356 - 51386 Apply org.make.api.proposal.ProposalActor.applyProposalUnqualified applyProposalUnqualified(x$63, e)
1080 10943 51331 - 51388 Apply org.make.api.proposal.ProposalActor.State.apply ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$63: org.make.core.proposal.Proposal) => applyProposalUnqualified(x$63, e))))
1080 13003 51337 - 51387 Apply scala.Option.map state.proposal.map[org.make.core.proposal.Proposal](((x$63: org.make.core.proposal.Proposal) => applyProposalUnqualified(x$63, e)))
1081 13511 51444 - 51489 Apply scala.Option.map state.proposal.map[org.make.core.proposal.Proposal](((x$64: org.make.core.proposal.Proposal) => applyProposalLocked(x$64, e)))
1081 10017 51438 - 51490 Apply org.make.api.proposal.ProposalActor.State.apply ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$64: org.make.core.proposal.Proposal) => applyProposalLocked(x$64, e))))
1081 17074 51463 - 51488 Apply org.make.api.proposal.ProposalActor.applyProposalLocked applyProposalLocked(x$64, e)
1082 15515 51551 - 51561 Select org.make.api.proposal.PublishedProposalEvent.ProposalPatched.proposal e.proposal
1082 10519 51540 - 51563 Apply org.make.api.proposal.ProposalActor.State.apply ProposalActor.this.State.apply(scala.Some.apply[org.make.core.proposal.Proposal](e.proposal))
1082 13963 51546 - 51562 Apply scala.Some.apply scala.Some.apply[org.make.core.proposal.Proposal](e.proposal)
1083 16462 51638 - 51668 Apply org.make.api.proposal.ProposalActor.applyProposalKeywordsSet applyProposalKeywordsSet(x$65, e)
1083 13022 51619 - 51669 Apply scala.Option.map state.proposal.map[org.make.core.proposal.Proposal](((x$65: org.make.core.proposal.Proposal) => applyProposalKeywordsSet(x$65, e)))
1083 10961 51613 - 51670 Apply org.make.api.proposal.ProposalActor.State.apply ProposalActor.this.State.apply(state.proposal.map[org.make.core.proposal.Proposal](((x$65: org.make.core.proposal.Proposal) => applyProposalKeywordsSet(x$65, e))))
1088 15747 51818 - 51821 Apply org.make.api.proposal.ProposalActor.$anon.<init> new $anon()
1093 16960 52079 - 52093 Apply scala.Some.apply scala.Some.apply[org.make.core.proposal.Proposal](proposal)
1093 13269 52073 - 52094 Apply org.make.api.proposal.ProposalActor.State.apply ProposalActor.this.State.apply(scala.Some.apply[org.make.core.proposal.Proposal](proposal))
1096 9889 52174 - 52272 Throw <nosymbol> throw new java.lang.IllegalStateException(("".+(other).+(" with class ").+(other.getClass()).+(" is not a recoverable state"): String))
1102 13986 52439 - 52461 Select akka.actor.ActorPath.name context.self.path.name
1102 10131 52414 - 52462 Apply akka.persistence.typed.PersistenceId.ofUniqueId akka.persistence.typed.PersistenceId.ofUniqueId(context.self.path.name)
1103 13041 52487 - 52509 Apply org.make.api.proposal.ProposalActor.State.apply ProposalActor.this.State.apply(scala.None)
1103 16234 52504 - 52508 Select scala.None scala.None
1104 16979 52521 - 52566 Apply org.make.api.proposal.ProposalActor.commandHandler commandHandler(new ProposalActor.this.LockHandler(lockDuration))
1104 9182 52536 - 52565 Apply org.make.api.proposal.ProposalActor.LockHandler.<init> new ProposalActor.this.LockHandler(lockDuration)
1107 13145 52630 - 52645 Select org.make.api.proposal.ProposalActor.JournalPluginId ProposalActor.this.JournalPluginId
1108 9655 52677 - 52693 Select org.make.api.proposal.ProposalActor.SnapshotPluginId ProposalActor.this.SnapshotPluginId
1109 15766 52718 - 52791 Apply akka.persistence.typed.scaladsl.RetentionCriteria.snapshotEvery akka.persistence.typed.scaladsl.RetentionCriteria.snapshotEvery(10, 50)
1111 16126 52298 - 52969 Apply akka.persistence.typed.scaladsl.EventSourcedBehavior.snapshotWhen akka.persistence.typed.scaladsl.EventSourcedBehavior.withEnforcedReplies[org.make.api.proposal.ProposalCommand, org.make.api.proposal.ProposalEvent, org.make.api.proposal.ProposalActor.State](akka.persistence.typed.PersistenceId.ofUniqueId(context.self.path.name), ProposalActor.this.State.apply(scala.None), commandHandler(new ProposalActor.this.LockHandler(lockDuration)), eventHandler).withJournalPluginId(ProposalActor.this.JournalPluginId).withSnapshotPluginId(ProposalActor.this.SnapshotPluginId).withRetention(akka.persistence.typed.scaladsl.RetentionCriteria.snapshotEvery(10, 50)).snapshotAdapter(snapshotAdapter).snapshotWhen(((x0$3: org.make.api.proposal.ProposalActor.State, x1$3: org.make.api.proposal.ProposalEvent, x2$1: Long) => scala.Tuple3.apply[org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent, Long](x0$3, x1$3, x2$1) match { case (_1: org.make.api.proposal.ProposalActor.State, _2: org.make.api.proposal.ProposalEvent, _3: Long): (org.make.api.proposal.ProposalActor.State, org.make.api.proposal.ProposalEvent, Long)(_, (_: org.make.api.proposal.PublishedProposalEvent.ProposalPatched), _) => true case _ => false }))
1112 13869 52904 - 52908 Literal <nosymbol> true
1113 10151 52954 - 52959 Literal <nosymbol> false
1119 17201 53129 - 53158 Apply org.make.api.proposal.Unvoted.qualifications unvoted.qualifications(UnvotedOps.this.event)
1119 9203 53152 - 53157 Select org.make.api.proposal.ProposalActor.UnvotedOps.event UnvotedOps.this.event
1120 13165 53234 - 53239 Select org.make.api.proposal.ProposalActor.UnvotedOps.event UnvotedOps.this.event
1120 9666 53220 - 53240 Apply org.make.api.proposal.Unvoted.trust unvoted.trust(UnvotedOps.this.event)
1130 16144 53435 - 53438 Apply org.make.api.proposal.Unvoted.$anon.<init> new $anon()
1132 13881 53552 - 53579 Apply scala.collection.SeqFactory.Delegate.apply scala.`package`.Seq.apply[org.make.core.proposal.QualificationKey](event.qualificationKey)
1132 15986 53556 - 53578 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified.qualificationKey event.qualificationKey
1134 10642 53641 - 53656 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnqualified.voteTrust event.voteTrust
1137 17214 53710 - 53713 Apply org.make.api.proposal.Unvoted.$anon.<init> new $anon()
1139 13016 53819 - 53847 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.selectedQualifications event.selectedQualifications
1141 9423 53905 - 53920 Select org.make.api.proposal.PublishedProposalEvent.ProposalUnvoted.voteTrust event.voteTrust