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