@velony/contracts 1.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 (60) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +62 -0
  3. package/dist/identity/user-avatar-path-added.integration-event.d.ts +11 -0
  4. package/dist/identity/user-avatar-path-added.integration-event.js +3 -0
  5. package/dist/identity/user-avatar-path-added.integration-event.js.map +1 -0
  6. package/dist/identity/user-avatar-path-changed.integration-event.d.ts +11 -0
  7. package/dist/identity/user-avatar-path-changed.integration-event.js +3 -0
  8. package/dist/identity/user-avatar-path-changed.integration-event.js.map +1 -0
  9. package/dist/identity/user-avatar-path-removed.integration-event.d.ts +10 -0
  10. package/dist/identity/user-avatar-path-removed.integration-event.js +3 -0
  11. package/dist/identity/user-avatar-path-removed.integration-event.js.map +1 -0
  12. package/dist/identity/user-deleted.integration-event.d.ts +10 -0
  13. package/dist/identity/user-deleted.integration-event.js +3 -0
  14. package/dist/identity/user-deleted.integration-event.js.map +1 -0
  15. package/dist/identity/user-email-added.integration-event.d.ts +11 -0
  16. package/dist/identity/user-email-added.integration-event.js +3 -0
  17. package/dist/identity/user-email-added.integration-event.js.map +1 -0
  18. package/dist/identity/user-email-change-issued.integration-event.d.ts +11 -0
  19. package/dist/identity/user-email-change-issued.integration-event.js +3 -0
  20. package/dist/identity/user-email-change-issued.integration-event.js.map +1 -0
  21. package/dist/identity/user-email-change-revoked.integration-event.d.ts +10 -0
  22. package/dist/identity/user-email-change-revoked.integration-event.js +3 -0
  23. package/dist/identity/user-email-change-revoked.integration-event.js.map +1 -0
  24. package/dist/identity/user-email-changed.integration-event.d.ts +11 -0
  25. package/dist/identity/user-email-changed.integration-event.js +3 -0
  26. package/dist/identity/user-email-changed.integration-event.js.map +1 -0
  27. package/dist/identity/user-email-removed.integration-event.d.ts +10 -0
  28. package/dist/identity/user-email-removed.integration-event.js +3 -0
  29. package/dist/identity/user-email-removed.integration-event.js.map +1 -0
  30. package/dist/identity/user-name-changed.integration-event.d.ts +11 -0
  31. package/dist/identity/user-name-changed.integration-event.js +3 -0
  32. package/dist/identity/user-name-changed.integration-event.js.map +1 -0
  33. package/dist/identity/user-phone-number-added.integration-event.d.ts +11 -0
  34. package/dist/identity/user-phone-number-added.integration-event.js +3 -0
  35. package/dist/identity/user-phone-number-added.integration-event.js.map +1 -0
  36. package/dist/identity/user-phone-number-change-issued.integration-event.d.ts +11 -0
  37. package/dist/identity/user-phone-number-change-issued.integration-event.js +3 -0
  38. package/dist/identity/user-phone-number-change-issued.integration-event.js.map +1 -0
  39. package/dist/identity/user-phone-number-change-revoked.integration-event.d.ts +10 -0
  40. package/dist/identity/user-phone-number-change-revoked.integration-event.js +3 -0
  41. package/dist/identity/user-phone-number-change-revoked.integration-event.js.map +1 -0
  42. package/dist/identity/user-phone-number-changed.integration-event.d.ts +11 -0
  43. package/dist/identity/user-phone-number-changed.integration-event.js +3 -0
  44. package/dist/identity/user-phone-number-changed.integration-event.js.map +1 -0
  45. package/dist/identity/user-phone-number-removed.integration-event.d.ts +10 -0
  46. package/dist/identity/user-phone-number-removed.integration-event.js +3 -0
  47. package/dist/identity/user-phone-number-removed.integration-event.js.map +1 -0
  48. package/dist/identity/user-registered-local.integration-event.d.ts +12 -0
  49. package/dist/identity/user-registered-local.integration-event.js +3 -0
  50. package/dist/identity/user-registered-local.integration-event.js.map +1 -0
  51. package/dist/identity/user-username-changed.integration-event.d.ts +11 -0
  52. package/dist/identity/user-username-changed.integration-event.js +3 -0
  53. package/dist/identity/user-username-changed.integration-event.js.map +1 -0
  54. package/dist/index.d.ts +18 -0
  55. package/dist/index.js +3 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/integration-event.interface.d.ts +10 -0
  58. package/dist/integration-event.interface.js +3 -0
  59. package/dist/integration-event.interface.js.map +1 -0
  60. package/package.json +55 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 VelonY
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,62 @@
1
+ # @velony/contracts
2
+
3
+ A TypeScript contracts library providing integration event interfaces for event-driven architecture.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @velony/contracts
9
+ ```
10
+
11
+ ## Overview
12
+
13
+ This package provides TypeScript interfaces for integration events used across VelonY microservices. Integration events enable loose coupling between services in an event-driven architecture.
14
+
15
+ ## Usage
16
+
17
+ ```typescript
18
+ import {
19
+ UserCreatedIntegrationEvent,
20
+ UserEmailUpdatedIntegrationEvent,
21
+ UserPhoneAddedIntegrationEvent
22
+ } from '@velony/contracts';
23
+
24
+ // Example: Handle a user created event
25
+ const event: UserCreatedIntegrationEvent = {
26
+ type: 'user.created',
27
+ payload: {
28
+ id: 'user-123',
29
+ createdAt: new Date()
30
+ }
31
+ };
32
+ ```
33
+
34
+ ## Available Integration Events
35
+
36
+ ### Identity Domain
37
+
38
+ - `UserCreatedIntegrationEvent` - Fired when a new user is created
39
+ - `UserDeletedIntegrationEvent` - Fired when a user is deleted
40
+ - `UserNameUpdatedIntegrationEvent` - Fired when a user's name is updated
41
+ - `UserUsernameUpdatedIntegrationEvent` - Fired when a user's username is updated
42
+ - `UserEmailAddedIntegrationEvent` - Fired when an email is added to a user
43
+ - `UserEmailRemovedIntegrationEvent` - Fired when an email is removed from a user
44
+ - `UserEmailUpdatedIntegrationEvent` - Fired when a user's email is updated
45
+ - `UserPhoneAddedIntegrationEvent` - Fired when a phone number is added to a user
46
+ - `UserPhoneRemovedIntegrationEvent` - Fired when a phone number is removed from a user
47
+ - `UserPhoneUpdatedIntegrationEvent` - Fired when a user's phone number is updated
48
+ - `UserAvatarPathAddedIntegrationEvent` - Fired when an avatar path is added to a user
49
+ - `UserAvatarPathRemovedIntegrationEvent` - Fired when an avatar path is removed from a user
50
+ - `UserAvatarPathUpdatedIntegrationEvent` - Fired when a user's avatar path is updated
51
+
52
+ ## License
53
+
54
+ MIT
55
+
56
+ ## Repository
57
+
58
+ [https://github.com/velony-ai/contracts](https://github.com/velony-ai/contracts)
59
+
60
+ ## Issues
61
+
62
+ [https://github.com/velony-ai/contracts/issues](https://github.com/velony-ai/contracts/issues)
@@ -0,0 +1,11 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.avatar-path.added';
3
+ interface Payload {
4
+ userId: string;
5
+ avatarPath: string;
6
+ }
7
+ export interface UserAvatarPathAddedIntegrationEvent extends IntegrationEvent<Type, Payload> {
8
+ type: Type;
9
+ payload: Payload;
10
+ }
11
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-avatar-path-added.integration-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-avatar-path-added.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-avatar-path-added.integration-event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.avatar-path.changed';
3
+ interface Payload {
4
+ userId: string;
5
+ avatarPath: string;
6
+ }
7
+ export interface UserAvatarPathChangedIntegrationEvent extends IntegrationEvent<Type, Payload> {
8
+ type: Type;
9
+ payload: Payload;
10
+ }
11
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-avatar-path-changed.integration-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-avatar-path-changed.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-avatar-path-changed.integration-event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.avatar-path.removed';
3
+ interface Payload {
4
+ userId: string;
5
+ }
6
+ export interface UserAvatarPathRemovedIntegrationEvent extends IntegrationEvent<Type, Payload> {
7
+ type: Type;
8
+ payload: Payload;
9
+ }
10
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-avatar-path-removed.integration-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-avatar-path-removed.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-avatar-path-removed.integration-event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.deleted';
3
+ interface Payload {
4
+ userId: string;
5
+ }
6
+ export interface UserDeletedIntegrationEvent extends IntegrationEvent<Type, Payload> {
7
+ type: Type;
8
+ payload: Payload;
9
+ }
10
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-deleted.integration-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-deleted.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-deleted.integration-event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.email.added';
3
+ interface Payload {
4
+ userId: string;
5
+ email: string;
6
+ }
7
+ export interface UserEmailAddedIntegrationEvent extends IntegrationEvent<Type, Payload> {
8
+ type: Type;
9
+ payload: Payload;
10
+ }
11
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-email-added.integration-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-email-added.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-email-added.integration-event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.email-change.issued';
3
+ interface Payload {
4
+ userId: string;
5
+ email: string;
6
+ }
7
+ export interface UserEmailChangeIssuedIntegrationEvent extends IntegrationEvent<Type, Payload> {
8
+ type: Type;
9
+ payload: Payload;
10
+ }
11
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-email-change-issued.integration-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-email-change-issued.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-email-change-issued.integration-event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.email-change.revoked';
3
+ interface Payload {
4
+ userId: string;
5
+ }
6
+ export interface UserEmailChangeRevokedIntegrationEvent extends IntegrationEvent<Type, Payload> {
7
+ type: Type;
8
+ payload: Payload;
9
+ }
10
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-email-change-revoked.integration-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-email-change-revoked.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-email-change-revoked.integration-event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.email.changed';
3
+ interface Payload {
4
+ userId: string;
5
+ email: string;
6
+ }
7
+ export interface UserEmailChangedIntegrationEvent extends IntegrationEvent<Type, Payload> {
8
+ type: Type;
9
+ payload: Payload;
10
+ }
11
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-email-changed.integration-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-email-changed.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-email-changed.integration-event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.email.removed';
3
+ interface Payload {
4
+ userId: string;
5
+ }
6
+ export interface UserEmailRemovedIntegrationEvent extends IntegrationEvent<Type, Payload> {
7
+ type: Type;
8
+ payload: Payload;
9
+ }
10
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-email-removed.integration-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-email-removed.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-email-removed.integration-event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.name.changed';
3
+ interface Payload {
4
+ userId: string;
5
+ name: string;
6
+ }
7
+ export interface UserNameChangedIntegrationEvent extends IntegrationEvent<Type, Payload> {
8
+ type: Type;
9
+ payload: Payload;
10
+ }
11
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-name-changed.integration-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-name-changed.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-name-changed.integration-event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.phone-number.added';
3
+ interface Payload {
4
+ userId: string;
5
+ phoneNumber: string;
6
+ }
7
+ export interface UserPhoneNumberAddedIntegrationEvent extends IntegrationEvent<Type, Payload> {
8
+ type: Type;
9
+ payload: Payload;
10
+ }
11
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-phone-number-added.integration-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-phone-number-added.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-phone-number-added.integration-event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.phone-number-change.issued';
3
+ interface Payload {
4
+ userId: string;
5
+ phoneNumber: string;
6
+ }
7
+ export interface UserPhoneNumberChangeIssuedIntegrationEvent extends IntegrationEvent<Type, Payload> {
8
+ type: Type;
9
+ payload: Payload;
10
+ }
11
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-phone-number-change-issued.integration-event.js.map
@@ -0,0 +1 @@
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":""}
@@ -0,0 +1,10 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.phone-number-change.revoked';
3
+ interface Payload {
4
+ userId: string;
5
+ }
6
+ export interface UserPhoneNumberChangeRevokedIntegrationEvent extends IntegrationEvent<Type, Payload> {
7
+ type: Type;
8
+ payload: Payload;
9
+ }
10
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-phone-number-change-revoked.integration-event.js.map
@@ -0,0 +1 @@
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":""}
@@ -0,0 +1,11 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.phone-number.changed';
3
+ interface Payload {
4
+ userId: string;
5
+ phoneNumber: string;
6
+ }
7
+ export interface UserPhoneNumberChangedIntegrationEvent extends IntegrationEvent<Type, Payload> {
8
+ type: Type;
9
+ payload: Payload;
10
+ }
11
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-phone-number-changed.integration-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-phone-number-changed.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-phone-number-changed.integration-event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.phone-number.removed';
3
+ interface Payload {
4
+ userId: string;
5
+ }
6
+ export interface UserPhoneNumberRemovedIntegrationEvent extends IntegrationEvent<Type, Payload> {
7
+ type: Type;
8
+ payload: Payload;
9
+ }
10
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-phone-number-removed.integration-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-phone-number-removed.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-phone-number-removed.integration-event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.registered-local';
3
+ interface Payload {
4
+ userId: string;
5
+ name: string;
6
+ username: string;
7
+ }
8
+ export interface UserRegisteredLocalIntegrationEvent extends IntegrationEvent<Type, Payload> {
9
+ type: Type;
10
+ payload: Payload;
11
+ }
12
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-registered-local.integration-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-registered-local.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-registered-local.integration-event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { IntegrationEvent } from '../integration-event.interface';
2
+ type Type = 'user.username.changed';
3
+ interface Payload {
4
+ userId: string;
5
+ username: string;
6
+ }
7
+ export interface UserUsernameChangedIntegrationEvent extends IntegrationEvent<Type, Payload> {
8
+ type: Type;
9
+ payload: Payload;
10
+ }
11
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-username-changed.integration-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-username-changed.integration-event.js","sourceRoot":"","sources":["../../src/identity/user-username-changed.integration-event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ export type { IntegrationEvent } from './integration-event.interface';
2
+ export type { UserAvatarPathAddedIntegrationEvent } from './identity/user-avatar-path-added.integration-event';
3
+ export type { UserAvatarPathChangedIntegrationEvent } from './identity/user-avatar-path-changed.integration-event';
4
+ export type { UserAvatarPathRemovedIntegrationEvent } from './identity/user-avatar-path-removed.integration-event';
5
+ export type { UserDeletedIntegrationEvent } from './identity/user-deleted.integration-event';
6
+ export type { UserEmailAddedIntegrationEvent } from './identity/user-email-added.integration-event';
7
+ export type { UserEmailChangeIssuedIntegrationEvent } from './identity/user-email-change-issued.integration-event';
8
+ export type { UserEmailChangeRevokedIntegrationEvent } from './identity/user-email-change-revoked.integration-event';
9
+ export type { UserEmailChangedIntegrationEvent } from './identity/user-email-changed.integration-event';
10
+ export type { UserEmailRemovedIntegrationEvent } from './identity/user-email-removed.integration-event';
11
+ export type { UserNameChangedIntegrationEvent } from './identity/user-name-changed.integration-event';
12
+ export type { UserPhoneNumberAddedIntegrationEvent } from './identity/user-phone-number-added.integration-event';
13
+ export type { UserPhoneNumberChangeIssuedIntegrationEvent } from './identity/user-phone-number-change-issued.integration-event';
14
+ export type { UserPhoneNumberChangeRevokedIntegrationEvent } from './identity/user-phone-number-change-revoked.integration-event';
15
+ export type { UserPhoneNumberChangedIntegrationEvent } from './identity/user-phone-number-changed.integration-event';
16
+ export type { UserPhoneNumberRemovedIntegrationEvent } from './identity/user-phone-number-removed.integration-event';
17
+ export type { UserRegisteredLocalIntegrationEvent } from './identity/user-registered-local.integration-event';
18
+ export type { UserUsernameChangedIntegrationEvent } from './identity/user-username-changed.integration-event';
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ export interface IntegrationEvent<TType extends string, TPayload> {
2
+ id: string;
3
+ type: TType;
4
+ version: string;
5
+ occurredAt: Date;
6
+ payload: TPayload;
7
+ partitionKey: string;
8
+ createdAt: Date;
9
+ publishedAt: Date | null;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=integration-event.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-event.interface.js","sourceRoot":"","sources":["../src/integration-event.interface.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@velony/contracts",
3
+ "version": "1.0.0",
4
+ "description": "TypeScript contracts library providing integration event interfaces for event-driven architecture",
5
+ "keywords": [
6
+ "contracts",
7
+ "integration-events",
8
+ "typescript",
9
+ "event-driven",
10
+ "interfaces",
11
+ "types"
12
+ ],
13
+ "main": "./dist/index.js",
14
+ "types": "./dist/index.d.ts",
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/index.d.ts",
18
+ "import": "./dist/index.js"
19
+ }
20
+ },
21
+ "files": [
22
+ "dist",
23
+ "README.md",
24
+ "LICENSE"
25
+ ],
26
+ "engines": {
27
+ "node": ">=18.0.0"
28
+ },
29
+ "publishConfig": {
30
+ "access": "public"
31
+ },
32
+ "scripts": {
33
+ "build": "tsc",
34
+ "lint": "eslint src"
35
+ },
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "git+https://github.com/velony-ai/contracts.git"
39
+ },
40
+ "author": "velony-ai",
41
+ "license": "MIT",
42
+ "bugs": {
43
+ "url": "https://github.com/velony-ai/contracts/issues"
44
+ },
45
+ "homepage": "https://github.com/velony-ai/contracts#readme",
46
+ "devDependencies": {
47
+ "@eslint/js": "^9.39.2",
48
+ "eslint": "^9.39.2",
49
+ "eslint-config-prettier": "^10.1.8",
50
+ "eslint-plugin-prettier": "^5.5.4",
51
+ "eslint-plugin-security": "^3.0.1",
52
+ "typescript": "^5.9.3",
53
+ "typescript-eslint": "^8.51.0"
54
+ }
55
+ }