identity-events.ts raw

   1  import { DomainEvent } from './domain-event';
   2  
   3  /**
   4   * Event raised when a new identity is created.
   5   */
   6  export class IdentityCreated extends DomainEvent {
   7    readonly eventType = 'identity.created';
   8  
   9    constructor(
  10      readonly identityId: string,
  11      readonly publicKey: string,
  12      readonly nickname: string
  13    ) {
  14      super();
  15    }
  16  }
  17  
  18  /**
  19   * Event raised when an identity is renamed.
  20   */
  21  export class IdentityRenamed extends DomainEvent {
  22    readonly eventType = 'identity.renamed';
  23  
  24    constructor(
  25      readonly identityId: string,
  26      readonly oldNickname: string,
  27      readonly newNickname: string
  28    ) {
  29      super();
  30    }
  31  }
  32  
  33  /**
  34   * Event raised when an identity is selected (made active).
  35   */
  36  export class IdentitySelected extends DomainEvent {
  37    readonly eventType = 'identity.selected';
  38  
  39    constructor(
  40      readonly identityId: string,
  41      readonly previousIdentityId: string | null
  42    ) {
  43      super();
  44    }
  45  }
  46  
  47  /**
  48   * Event raised when an identity signs an event.
  49   */
  50  export class IdentitySigned extends DomainEvent {
  51    readonly eventType = 'identity.signed';
  52  
  53    constructor(
  54      readonly identityId: string,
  55      readonly eventKind: number,
  56      readonly signedEventId: string
  57    ) {
  58      super();
  59    }
  60  }
  61  
  62  /**
  63   * Event raised when an identity is deleted.
  64   */
  65  export class IdentityDeleted extends DomainEvent {
  66    readonly eventType = 'identity.deleted';
  67  
  68    constructor(
  69      readonly identityId: string,
  70      readonly publicKey: string
  71    ) {
  72      super();
  73    }
  74  }
  75