@velony/contracts 3.0.1 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +0 -2
  2. package/dist/identity/user-avatar-changed.integration-event.d.ts +1 -0
  3. package/dist/identity/user-created.integration-event.d.ts +1 -0
  4. package/dist/identity/user-deleted.integration-event.d.ts +1 -0
  5. package/dist/identity/user-email-changed.integration-event.d.ts +1 -0
  6. package/dist/identity/user-email-removed.integration-event.d.ts +1 -0
  7. package/dist/identity/user-name-changed.integration-event.d.ts +1 -0
  8. package/dist/identity/user-phone-number-changed.integration-event.d.ts +1 -0
  9. package/dist/identity/user-phone-number-removed.integration-event.d.ts +1 -0
  10. package/dist/identity/user-username-changed.integration-event.d.ts +1 -0
  11. package/dist/integration-event.d.ts +2 -15
  12. package/package.json +1 -1
  13. package/dist/identity/user-avatar-path-added.integration-event.d.ts +0 -12
  14. package/dist/identity/user-avatar-path-added.integration-event.js +0 -3
  15. package/dist/identity/user-avatar-path-added.integration-event.js.map +0 -1
  16. package/dist/identity/user-avatar-path-changed.integration-event.d.ts +0 -12
  17. package/dist/identity/user-avatar-path-changed.integration-event.js +0 -3
  18. package/dist/identity/user-avatar-path-changed.integration-event.js.map +0 -1
  19. package/dist/identity/user-avatar-path-removed.integration-event.d.ts +0 -11
  20. package/dist/identity/user-avatar-path-removed.integration-event.js +0 -3
  21. package/dist/identity/user-avatar-path-removed.integration-event.js.map +0 -1
  22. package/dist/identity/user-email-added.integration-event.d.ts +0 -12
  23. package/dist/identity/user-email-added.integration-event.js +0 -3
  24. package/dist/identity/user-email-added.integration-event.js.map +0 -1
  25. package/dist/identity/user-email-change-issued.integration-event.d.ts +0 -12
  26. package/dist/identity/user-email-change-issued.integration-event.js +0 -3
  27. package/dist/identity/user-email-change-issued.integration-event.js.map +0 -1
  28. package/dist/identity/user-email-change-revoked.integration-event.d.ts +0 -11
  29. package/dist/identity/user-email-change-revoked.integration-event.js +0 -3
  30. package/dist/identity/user-email-change-revoked.integration-event.js.map +0 -1
  31. package/dist/identity/user-phone-number-added.integration-event.d.ts +0 -12
  32. package/dist/identity/user-phone-number-added.integration-event.js +0 -3
  33. package/dist/identity/user-phone-number-added.integration-event.js.map +0 -1
  34. package/dist/identity/user-phone-number-change-issued.integration-event.d.ts +0 -12
  35. package/dist/identity/user-phone-number-change-issued.integration-event.js +0 -3
  36. package/dist/identity/user-phone-number-change-issued.integration-event.js.map +0 -1
  37. package/dist/identity/user-phone-number-change-revoked.integration-event.d.ts +0 -11
  38. package/dist/identity/user-phone-number-change-revoked.integration-event.js +0 -3
  39. package/dist/identity/user-phone-number-change-revoked.integration-event.js.map +0 -1
  40. package/dist/identity/user-registered-local.integration-event.d.ts +0 -13
  41. package/dist/identity/user-registered-local.integration-event.js +0 -3
  42. package/dist/identity/user-registered-local.integration-event.js.map +0 -1
package/README.md CHANGED
@@ -36,8 +36,6 @@ const event: UserCreatedIntegrationEvent = {
36
36
  phoneNumber: '+1234567890'
37
37
  },
38
38
  partitionKey: 'user-123',
39
- createdAt: new Date(),
40
- publishedAt: null
41
39
  };
42
40
  ```
43
41
 
@@ -2,6 +2,7 @@ import { IntegrationEvent } from '../integration-event';
2
2
  declare module '../integration-event' {
3
3
  interface IntegrationEventRegistry {
4
4
  'user.avatar.changed': {
5
+ version: '1.0.0';
5
6
  payload: {
6
7
  userId: string;
7
8
  avatarPath: string | null;
@@ -2,6 +2,7 @@ import { IntegrationEvent } from '../integration-event';
2
2
  declare module '../integration-event' {
3
3
  interface IntegrationEventRegistry {
4
4
  'user.created': {
5
+ version: '1.0.0';
5
6
  payload: {
6
7
  userId: string;
7
8
  name: string;
@@ -2,6 +2,7 @@ import { IntegrationEvent } from '../integration-event';
2
2
  declare module '../integration-event' {
3
3
  interface IntegrationEventRegistry {
4
4
  'user.deleted': {
5
+ version: '1.0.0';
5
6
  payload: {
6
7
  userId: string;
7
8
  };
@@ -2,6 +2,7 @@ import { IntegrationEvent } from '../integration-event';
2
2
  declare module '../integration-event' {
3
3
  interface IntegrationEventRegistry {
4
4
  'user.email.changed': {
5
+ version: '1.0.0';
5
6
  payload: {
6
7
  userId: string;
7
8
  email: string;
@@ -2,6 +2,7 @@ import { IntegrationEvent } from '../integration-event';
2
2
  declare module '../integration-event' {
3
3
  interface IntegrationEventRegistry {
4
4
  'user.email.removed': {
5
+ version: '1.0.0';
5
6
  payload: {
6
7
  userId: string;
7
8
  };
@@ -2,6 +2,7 @@ import { IntegrationEvent } from '../integration-event';
2
2
  declare module '../integration-event' {
3
3
  interface IntegrationEventRegistry {
4
4
  'user.name.changed': {
5
+ version: '1.0.0';
5
6
  payload: {
6
7
  userId: string;
7
8
  name: string;
@@ -2,6 +2,7 @@ import { IntegrationEvent } from '../integration-event';
2
2
  declare module '../integration-event' {
3
3
  interface IntegrationEventRegistry {
4
4
  'user.phone-number.changed': {
5
+ version: '1.0.0';
5
6
  payload: {
6
7
  userId: string;
7
8
  phoneNumber: string;
@@ -2,6 +2,7 @@ import { IntegrationEvent } from '../integration-event';
2
2
  declare module '../integration-event' {
3
3
  interface IntegrationEventRegistry {
4
4
  'user.phone-number.removed': {
5
+ version: '1.0.0';
5
6
  payload: {
6
7
  userId: string;
7
8
  };
@@ -2,6 +2,7 @@ import { IntegrationEvent } from '../integration-event';
2
2
  declare module '../integration-event' {
3
3
  interface IntegrationEventRegistry {
4
4
  'user.username.changed': {
5
+ version: '1.0.0';
5
6
  payload: {
6
7
  userId: string;
7
8
  username: string;
@@ -1,10 +1,10 @@
1
- declare const INTEGRATION_EVENT_BRAND: unique symbol;
2
1
  /**
3
2
  * Registry that maps integration event types to their payload types.
4
3
  * Extend this interface to register new integration event types.
5
4
  */
6
5
  export interface IntegrationEventRegistry {
7
6
  [key: string]: {
7
+ version: string;
8
8
  payload: unknown;
9
9
  };
10
10
  }
@@ -16,7 +16,6 @@ export interface IntegrationEventRegistry {
16
16
  * @template TType - The type identifier for the event (must be registered in IntegrationEventRegistry)
17
17
  */
18
18
  export type IntegrationEvent<TType extends keyof IntegrationEventRegistry> = {
19
- readonly [INTEGRATION_EVENT_BRAND]: void;
20
19
  /**
21
20
  * Unique identifier for this event instance.
22
21
  * @readonly
@@ -31,7 +30,7 @@ export type IntegrationEvent<TType extends keyof IntegrationEventRegistry> = {
31
30
  * Version of the event schema for backward compatibility.
32
31
  * @readonly
33
32
  */
34
- readonly version: string;
33
+ readonly version: IntegrationEventRegistry[TType]['version'];
35
34
  /**
36
35
  * The timestamp when the original domain event occurred.
37
36
  * @readonly
@@ -47,21 +46,9 @@ export type IntegrationEvent<TType extends keyof IntegrationEventRegistry> = {
47
46
  * @readonly
48
47
  */
49
48
  readonly partitionKey: string;
50
- /**
51
- * The timestamp when this integration event was created.
52
- * @readonly
53
- */
54
- readonly createdAt: Date;
55
- /**
56
- * The timestamp when this event was published to the message broker.
57
- * Null if not yet published.
58
- * @readonly
59
- */
60
- readonly publishedAt: Date | null;
61
49
  };
62
50
  /**
63
51
  * Union type representing any integration event registered in the IntegrationEventRegistry.
64
52
  * Useful for type-safe collections and handlers that work with multiple integration event types.
65
53
  */
66
54
  export type AnyIntegrationEvent = IntegrationEvent<keyof IntegrationEventRegistry>;
67
- export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velony/contracts",
3
- "version": "3.0.1",
3
+ "version": "4.0.0",
4
4
  "description": "TypeScript contracts library providing integration event interfaces for event-driven architecture",
5
5
  "keywords": [
6
6
  "contracts",
@@ -1,12 +0,0 @@
1
- import { IntegrationEvent } from '../integration-event';
2
- declare module '../integration-event' {
3
- interface IntegrationEventRegistry {
4
- 'user.avatar-path.added': {
5
- payload: {
6
- userId: string;
7
- avatarPath: string;
8
- };
9
- };
10
- }
11
- }
12
- export type UserAvatarPathAddedIntegrationEvent = IntegrationEvent<'user.avatar-path.added'>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=user-avatar-path-added.integration-event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-avatar-path-added.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-avatar-path-added.integration-event.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- import { IntegrationEvent } from '../integration-event';
2
- declare module '../integration-event' {
3
- interface IntegrationEventRegistry {
4
- 'user.avatar-path.changed': {
5
- payload: {
6
- userId: string;
7
- avatarPath: string;
8
- };
9
- };
10
- }
11
- }
12
- export type UserAvatarPathChangedIntegrationEvent = IntegrationEvent<'user.avatar-path.changed'>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=user-avatar-path-changed.integration-event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-avatar-path-changed.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-avatar-path-changed.integration-event.ts"],"names":[],"mappings":""}
@@ -1,11 +0,0 @@
1
- import { IntegrationEvent } from '../integration-event';
2
- declare module '../integration-event' {
3
- interface IntegrationEventRegistry {
4
- 'user.avatar-path.removed': {
5
- payload: {
6
- userId: string;
7
- };
8
- };
9
- }
10
- }
11
- export type UserAvatarPathRemovedIntegrationEvent = IntegrationEvent<'user.avatar-path.removed'>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=user-avatar-path-removed.integration-event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-avatar-path-removed.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-avatar-path-removed.integration-event.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- import { IntegrationEvent } from '../integration-event';
2
- declare module '../integration-event' {
3
- interface IntegrationEventRegistry {
4
- 'user.email.added': {
5
- payload: {
6
- userId: string;
7
- email: string;
8
- };
9
- };
10
- }
11
- }
12
- export type UserEmailAddedIntegrationEvent = IntegrationEvent<'user.email.added'>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=user-email-added.integration-event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-email-added.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-email-added.integration-event.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- import { IntegrationEvent } from '../integration-event';
2
- declare module '../integration-event' {
3
- interface IntegrationEventRegistry {
4
- 'user.email-change.issued': {
5
- payload: {
6
- userId: string;
7
- email: string;
8
- };
9
- };
10
- }
11
- }
12
- export type UserEmailChangeIssuedIntegrationEvent = IntegrationEvent<'user.email-change.issued'>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=user-email-change-issued.integration-event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-email-change-issued.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-email-change-issued.integration-event.ts"],"names":[],"mappings":""}
@@ -1,11 +0,0 @@
1
- import { IntegrationEvent } from '../integration-event';
2
- declare module '../integration-event' {
3
- interface IntegrationEventRegistry {
4
- 'user.email-change.revoked': {
5
- payload: {
6
- userId: string;
7
- };
8
- };
9
- }
10
- }
11
- export type UserEmailChangeRevokedIntegrationEvent = IntegrationEvent<'user.email-change.revoked'>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=user-email-change-revoked.integration-event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-email-change-revoked.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-email-change-revoked.integration-event.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- import { IntegrationEvent } from '../integration-event';
2
- declare module '../integration-event' {
3
- interface IntegrationEventRegistry {
4
- 'user.phone-number.added': {
5
- payload: {
6
- userId: string;
7
- phoneNumber: string;
8
- };
9
- };
10
- }
11
- }
12
- export type UserPhoneNumberAddedIntegrationEvent = IntegrationEvent<'user.phone-number.added'>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=user-phone-number-added.integration-event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-phone-number-added.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-phone-number-added.integration-event.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- import { IntegrationEvent } from '../integration-event';
2
- declare module '../integration-event' {
3
- interface IntegrationEventRegistry {
4
- 'user.phone-number-change.issued': {
5
- payload: {
6
- userId: string;
7
- phoneNumber: string;
8
- };
9
- };
10
- }
11
- }
12
- export type UserPhoneNumberChangeIssuedIntegrationEvent = IntegrationEvent<'user.phone-number-change.issued'>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=user-phone-number-change-issued.integration-event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-phone-number-change-issued.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-phone-number-change-issued.integration-event.ts"],"names":[],"mappings":""}
@@ -1,11 +0,0 @@
1
- import { IntegrationEvent } from '../integration-event';
2
- declare module '../integration-event' {
3
- interface IntegrationEventRegistry {
4
- 'user.phone-number-change.revoked': {
5
- payload: {
6
- userId: string;
7
- };
8
- };
9
- }
10
- }
11
- export type UserPhoneNumberChangeRevokedIntegrationEvent = IntegrationEvent<'user.phone-number-change.revoked'>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=user-phone-number-change-revoked.integration-event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-phone-number-change-revoked.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-phone-number-change-revoked.integration-event.ts"],"names":[],"mappings":""}
@@ -1,13 +0,0 @@
1
- import { IntegrationEvent } from '../integration-event';
2
- declare module '../integration-event' {
3
- interface IntegrationEventRegistry {
4
- 'user.registered-local': {
5
- payload: {
6
- userId: string;
7
- name: string;
8
- username: string;
9
- };
10
- };
11
- }
12
- }
13
- export type UserRegisteredLocalIntegrationEvent = IntegrationEvent<'user.registered-local'>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=user-registered-local.integration-event.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-registered-local.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-registered-local.integration-event.ts"],"names":[],"mappings":""}