The event sourcing part allows to handle events.

All code link to that part is in pkg/pwes

the cli allow us to manage event sourcing with command:

pathwar events -h

USAGE
  pathwar [global flags] events [events flags] <cmd> [cmd flags]

SUBCOMMANDS
  start    start event sourcing agent
  rebuild  Rebuild current state from all events

There are different kind of events:

enum Kind {
    Unknown = 0;
    UserRegister = 1;
    UserLogin = 2;
    UserSetPreferences = 3;
    UserDeleteAccount = 4;
    SeasonChallengeBuy = 5;
    ChallengeSubscriptionValidate = 6;
    CouponValidate = 7;
    AgentRegister = 8;
    AgentChallengeInstanceCreate = 9;
    AgentChallengeInstanceUpdate = 10;
    TeamCreation = 11;
    TeamInviteSend = 12;
    TeamInviteAccept = 13;
  }
}