@nextage/era-lib 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 (209) hide show
  1. package/build/__mocks__/msg-wrapper.d.ts +6 -0
  2. package/build/__mocks__/msg-wrapper.d.ts.map +1 -0
  3. package/build/__mocks__/msg-wrapper.js +13 -0
  4. package/build/__mocks__/msg-wrapper.js.map +1 -0
  5. package/build/__mocks__/nats-wrapper.d.ts +6 -0
  6. package/build/__mocks__/nats-wrapper.d.ts.map +1 -0
  7. package/build/__mocks__/nats-wrapper.js +13 -0
  8. package/build/__mocks__/nats-wrapper.js.map +1 -0
  9. package/build/constants.d.ts +52 -0
  10. package/build/constants.d.ts.map +1 -0
  11. package/build/constants.js +19 -0
  12. package/build/constants.js.map +1 -0
  13. package/build/enums.d.ts +46 -0
  14. package/build/enums.d.ts.map +1 -0
  15. package/build/enums.js +55 -0
  16. package/build/enums.js.map +1 -0
  17. package/build/errors/app-error.d.ts +13 -0
  18. package/build/errors/app-error.d.ts.map +1 -0
  19. package/build/errors/app-error.js +18 -0
  20. package/build/errors/app-error.js.map +1 -0
  21. package/build/errors/custom-error.d.ts +9 -0
  22. package/build/errors/custom-error.d.ts.map +1 -0
  23. package/build/errors/custom-error.js +11 -0
  24. package/build/errors/custom-error.js.map +1 -0
  25. package/build/errors/index.d.ts +3 -0
  26. package/build/errors/index.d.ts.map +1 -0
  27. package/build/errors/index.js +19 -0
  28. package/build/errors/index.js.map +1 -0
  29. package/build/events/base-listener.d.ts +16 -0
  30. package/build/events/base-listener.d.ts.map +1 -0
  31. package/build/events/base-listener.js +31 -0
  32. package/build/events/base-listener.js.map +1 -0
  33. package/build/events/base-nats-listener.d.ts +40 -0
  34. package/build/events/base-nats-listener.d.ts.map +1 -0
  35. package/build/events/base-nats-listener.js +102 -0
  36. package/build/events/base-nats-listener.js.map +1 -0
  37. package/build/events/base-nats-publisher.d.ts +14 -0
  38. package/build/events/base-nats-publisher.d.ts.map +1 -0
  39. package/build/events/base-nats-publisher.js +31 -0
  40. package/build/events/base-nats-publisher.js.map +1 -0
  41. package/build/events/base-publisher.d.ts +13 -0
  42. package/build/events/base-publisher.d.ts.map +1 -0
  43. package/build/events/base-publisher.js +18 -0
  44. package/build/events/base-publisher.js.map +1 -0
  45. package/build/events/business-unit/created-event.d.ts +7 -0
  46. package/build/events/business-unit/created-event.d.ts.map +1 -0
  47. package/build/events/business-unit/created-event.js +3 -0
  48. package/build/events/business-unit/created-event.js.map +1 -0
  49. package/build/events/business-unit/index.d.ts +4 -0
  50. package/build/events/business-unit/index.d.ts.map +1 -0
  51. package/build/events/business-unit/index.js +20 -0
  52. package/build/events/business-unit/index.js.map +1 -0
  53. package/build/events/business-unit/removed-event.d.ts +7 -0
  54. package/build/events/business-unit/removed-event.d.ts.map +1 -0
  55. package/build/events/business-unit/removed-event.js +3 -0
  56. package/build/events/business-unit/removed-event.js.map +1 -0
  57. package/build/events/business-unit/updated-event.d.ts +7 -0
  58. package/build/events/business-unit/updated-event.d.ts.map +1 -0
  59. package/build/events/business-unit/updated-event.js +3 -0
  60. package/build/events/business-unit/updated-event.js.map +1 -0
  61. package/build/events/employee/created-event.d.ts +7 -0
  62. package/build/events/employee/created-event.d.ts.map +1 -0
  63. package/build/events/employee/created-event.js +3 -0
  64. package/build/events/employee/created-event.js.map +1 -0
  65. package/build/events/employee/index.d.ts +4 -0
  66. package/build/events/employee/index.d.ts.map +1 -0
  67. package/build/events/employee/index.js +20 -0
  68. package/build/events/employee/index.js.map +1 -0
  69. package/build/events/employee/interfaces.d.ts +8 -0
  70. package/build/events/employee/interfaces.d.ts.map +1 -0
  71. package/build/events/employee/interfaces.js +3 -0
  72. package/build/events/employee/interfaces.js.map +1 -0
  73. package/build/events/employee/removed-event.d.ts +7 -0
  74. package/build/events/employee/removed-event.d.ts.map +1 -0
  75. package/build/events/employee/removed-event.js +3 -0
  76. package/build/events/employee/removed-event.js.map +1 -0
  77. package/build/events/employee/updated-event.d.ts +7 -0
  78. package/build/events/employee/updated-event.d.ts.map +1 -0
  79. package/build/events/employee/updated-event.js +3 -0
  80. package/build/events/employee/updated-event.js.map +1 -0
  81. package/build/events/employee-role/created-event.d.ts +7 -0
  82. package/build/events/employee-role/created-event.d.ts.map +1 -0
  83. package/build/events/employee-role/created-event.js +3 -0
  84. package/build/events/employee-role/created-event.js.map +1 -0
  85. package/build/events/employee-role/index.d.ts +4 -0
  86. package/build/events/employee-role/index.d.ts.map +1 -0
  87. package/build/events/employee-role/index.js +20 -0
  88. package/build/events/employee-role/index.js.map +1 -0
  89. package/build/events/employee-role/removed-event.d.ts +7 -0
  90. package/build/events/employee-role/removed-event.d.ts.map +1 -0
  91. package/build/events/employee-role/removed-event.js +3 -0
  92. package/build/events/employee-role/removed-event.js.map +1 -0
  93. package/build/events/employee-role/updated-event.d.ts +7 -0
  94. package/build/events/employee-role/updated-event.d.ts.map +1 -0
  95. package/build/events/employee-role/updated-event.js +3 -0
  96. package/build/events/employee-role/updated-event.js.map +1 -0
  97. package/build/events/event-message.d.ts +7 -0
  98. package/build/events/event-message.d.ts.map +1 -0
  99. package/build/events/event-message.js +16 -0
  100. package/build/events/event-message.js.map +1 -0
  101. package/build/events/event-subscription.d.ts +10 -0
  102. package/build/events/event-subscription.d.ts.map +1 -0
  103. package/build/events/event-subscription.js +16 -0
  104. package/build/events/event-subscription.js.map +1 -0
  105. package/build/events/index.d.ts +13 -0
  106. package/build/events/index.d.ts.map +1 -0
  107. package/build/events/index.js +35 -0
  108. package/build/events/index.js.map +1 -0
  109. package/build/events/interfaces.d.ts +16 -0
  110. package/build/events/interfaces.d.ts.map +1 -0
  111. package/build/events/interfaces.js +3 -0
  112. package/build/events/interfaces.js.map +1 -0
  113. package/build/events/msg-client-manager.d.ts +38 -0
  114. package/build/events/msg-client-manager.d.ts.map +1 -0
  115. package/build/events/msg-client-manager.js +93 -0
  116. package/build/events/msg-client-manager.js.map +1 -0
  117. package/build/events/nats-client-manager.d.ts +51 -0
  118. package/build/events/nats-client-manager.d.ts.map +1 -0
  119. package/build/events/nats-client-manager.js +169 -0
  120. package/build/events/nats-client-manager.js.map +1 -0
  121. package/build/events/nats-client-manager.old.d.ts +49 -0
  122. package/build/events/nats-client-manager.old.d.ts.map +1 -0
  123. package/build/events/nats-client-manager.old.js +108 -0
  124. package/build/events/nats-client-manager.old.js.map +1 -0
  125. package/build/events/types/base-event.controller.d.ts +44 -0
  126. package/build/events/types/base-event.controller.d.ts.map +1 -0
  127. package/build/events/types/base-event.controller.js +65 -0
  128. package/build/events/types/base-event.controller.js.map +1 -0
  129. package/build/events/types/employee.enums.d.ts +8 -0
  130. package/build/events/types/employee.enums.d.ts.map +1 -0
  131. package/build/events/types/employee.enums.js +12 -0
  132. package/build/events/types/employee.enums.js.map +1 -0
  133. package/build/events/types/enums.d.ts +26 -0
  134. package/build/events/types/enums.d.ts.map +1 -0
  135. package/build/events/types/enums.js +40 -0
  136. package/build/events/types/enums.js.map +1 -0
  137. package/build/events/types/events.interfaces.d.ts +13 -0
  138. package/build/events/types/events.interfaces.d.ts.map +1 -0
  139. package/build/events/types/events.interfaces.js +3 -0
  140. package/build/events/types/events.interfaces.js.map +1 -0
  141. package/build/events/types/index.d.ts +6 -0
  142. package/build/events/types/index.d.ts.map +1 -0
  143. package/build/events/types/index.js +22 -0
  144. package/build/events/types/index.js.map +1 -0
  145. package/build/events/types/order.enums.d.ts +8 -0
  146. package/build/events/types/order.enums.d.ts.map +1 -0
  147. package/build/events/types/order.enums.js +17 -0
  148. package/build/events/types/order.enums.js.map +1 -0
  149. package/build/events/types/project.enums.d.ts +8 -0
  150. package/build/events/types/project.enums.d.ts.map +1 -0
  151. package/build/events/types/project.enums.js +12 -0
  152. package/build/events/types/project.enums.js.map +1 -0
  153. package/build/index.d.ts +8 -0
  154. package/build/index.d.ts.map +1 -0
  155. package/build/index.js +24 -0
  156. package/build/index.js.map +1 -0
  157. package/build/interfaces.d.ts +47 -0
  158. package/build/interfaces.d.ts.map +1 -0
  159. package/build/interfaces.js +3 -0
  160. package/build/interfaces.js.map +1 -0
  161. package/build/msg-wrapper.d.ts +10 -0
  162. package/build/msg-wrapper.d.ts.map +1 -0
  163. package/build/msg-wrapper.js +18 -0
  164. package/build/msg-wrapper.js.map +1 -0
  165. package/build/nats-wrapper.d.ts +14 -0
  166. package/build/nats-wrapper.d.ts.map +1 -0
  167. package/build/nats-wrapper.js +24 -0
  168. package/build/nats-wrapper.js.map +1 -0
  169. package/build/routes/index.d.ts +3 -0
  170. package/build/routes/index.d.ts.map +1 -0
  171. package/build/routes/index.js +19 -0
  172. package/build/routes/index.js.map +1 -0
  173. package/build/routes/swagger.d.ts +13 -0
  174. package/build/routes/swagger.d.ts.map +1 -0
  175. package/build/routes/swagger.js +13 -0
  176. package/build/routes/swagger.js.map +1 -0
  177. package/build/routes/validators.d.ts +11 -0
  178. package/build/routes/validators.d.ts.map +1 -0
  179. package/build/routes/validators.js +17 -0
  180. package/build/routes/validators.js.map +1 -0
  181. package/build/services/index.d.ts +2 -0
  182. package/build/services/index.d.ts.map +1 -0
  183. package/build/services/index.js +18 -0
  184. package/build/services/index.js.map +1 -0
  185. package/build/services/password.d.ts +5 -0
  186. package/build/services/password.d.ts.map +1 -0
  187. package/build/services/password.js +20 -0
  188. package/build/services/password.js.map +1 -0
  189. package/build/types/base-user/index.d.ts +7 -0
  190. package/build/types/base-user/index.d.ts.map +1 -0
  191. package/build/types/base-user/index.js +3 -0
  192. package/build/types/base-user/index.js.map +1 -0
  193. package/build/types/express-session/index.d.ts +10 -0
  194. package/build/types/express-session/index.d.ts.map +1 -0
  195. package/build/types/express-session/index.js +3 -0
  196. package/build/types/express-session/index.js.map +1 -0
  197. package/build/utils/express.d.ts +31 -0
  198. package/build/utils/express.d.ts.map +1 -0
  199. package/build/utils/express.js +77 -0
  200. package/build/utils/express.js.map +1 -0
  201. package/build/utils/functs.d.ts +45 -0
  202. package/build/utils/functs.d.ts.map +1 -0
  203. package/build/utils/functs.js +269 -0
  204. package/build/utils/functs.js.map +1 -0
  205. package/build/utils/index.d.ts +3 -0
  206. package/build/utils/index.d.ts.map +1 -0
  207. package/build/utils/index.js +19 -0
  208. package/build/utils/index.js.map +1 -0
  209. package/package.json +64 -0
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MsgClientManager = void 0;
4
+ const ws_1 = require("ws");
5
+ const nx_frame_be_1 = require("@nextage/nx-frame-be");
6
+ const event_message_1 = require("./event-message");
7
+ const event_subscription_1 = require("./event-subscription");
8
+ class MsgClientManager extends ws_1.EventEmitter {
9
+ constructor(clientId, opts) {
10
+ super();
11
+ this.subs = {};
12
+ this.opts = {};
13
+ this.clientId = clientId;
14
+ this.opts = opts ?? {};
15
+ }
16
+ /**
17
+ *
18
+ */
19
+ async connect() {
20
+ nx_frame_be_1.APP.logger.info(`✅ Connected to Event Client Manager`);
21
+ //setTimeout(() => this.emit('connect', true), 500);
22
+ }
23
+ /**
24
+ *
25
+ * @param {*} key
26
+ * @param {*} method
27
+ */
28
+ subscribe(subject, queueGroupName, options) {
29
+ var _a;
30
+ const sub = new event_subscription_1.EventSubscription(subject, queueGroupName, options);
31
+ (_a = this.subs)[subject] ?? (_a[subject] = []);
32
+ this.subs[subject].push(sub);
33
+ nx_frame_be_1.APP.logger.info(`👂 Listening event: ${subject} / ${queueGroupName}`, (0, nx_frame_be_1.logClassCtx)(this));
34
+ return sub;
35
+ }
36
+ /**
37
+ *
38
+ * @param {*} key
39
+ * @param {*} data
40
+ */
41
+ async publish(subject, data, options) {
42
+ if (!this.subs[subject]) {
43
+ nx_frame_be_1.APP.logger.info(`❌ Data won't be published, no subscription for subject: ${subject}`, (0, nx_frame_be_1.logClassCtx)(this));
44
+ return;
45
+ }
46
+ //throw new Error('MsgClientManager : subject does not exist');
47
+ //this.subs[subject] ??= [];
48
+ this.subs[subject].forEach(sub => {
49
+ const message = new event_message_1.Message(data);
50
+ sub.emit('message', message);
51
+ nx_frame_be_1.APP.logger.info(`📤 Event published to subject ${subject}`, (0, nx_frame_be_1.logClassCtx)(this));
52
+ });
53
+ }
54
+ /**
55
+ *
56
+ * @param {*} id
57
+ */
58
+ unsubscribe(sub, cb = () => { }) {
59
+ sub.off('message', cb);
60
+ const subs = this.getSubscriptions(sub.subject) || [];
61
+ const idx = this.getSubscriptions(sub.subject).findIndex(s => s.id === sub.id);
62
+ if (idx >= 0)
63
+ subs.splice(idx, 1);
64
+ }
65
+ // /**
66
+ // *
67
+ // * @param data
68
+ // * @returns
69
+ // */
70
+ // encodeData(data: string): string | Uint8Array {
71
+ // return data;
72
+ // }
73
+ // /**
74
+ // *
75
+ // * @param data
76
+ // * @returns
77
+ // */
78
+ // decodeData(data: string | Uint8Array): string {
79
+ // return data as string;
80
+ // }
81
+ /**
82
+ *
83
+ * @param sub
84
+ * @returns
85
+ */
86
+ getSubscriptions(subject) {
87
+ if (!this.subs[subject])
88
+ throw new Error('MsgClientManager : subject does not exist');
89
+ return this.subs[subject];
90
+ }
91
+ }
92
+ exports.MsgClientManager = MsgClientManager;
93
+ //# sourceMappingURL=msg-client-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msg-client-manager.js","sourceRoot":"","sources":["../../src/events/msg-client-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { EventEmitter } from 'ws';
2
+ import { Consumer } from 'nats';
3
+ import { NatsConnection } from 'nats';
4
+ import { JetStreamClient, JetStreamManager } from 'nats';
5
+ import { NxObject, NxTypeObject } from '@nextage/nx-frame-be';
6
+ import { MsgClientInterface, EventSubOptions } from './interfaces';
7
+ export declare class NatsClientManager extends EventEmitter implements MsgClientInterface {
8
+ private readonly servers;
9
+ private readonly clientName?;
10
+ subs: NxTypeObject<NxTypeObject<Consumer>>;
11
+ private readonly opts;
12
+ private nc;
13
+ private js;
14
+ private jsm;
15
+ constructor(servers: string[] | string, clientName?: string | undefined);
16
+ get connection(): NatsConnection;
17
+ get jetStream(): JetStreamClient;
18
+ get jetStreamManager(): JetStreamManager;
19
+ /**
20
+ *
21
+ */
22
+ connect(servers?: string[]): Promise<void>;
23
+ /**
24
+ *
25
+ */
26
+ disconnect(): Promise<void>;
27
+ /**
28
+ *
29
+ * @param streamName
30
+ * @param subjects
31
+ */
32
+ createStream(streamName: string, subjects: string[]): Promise<void>;
33
+ /**
34
+ *
35
+ * @param {*} key
36
+ * @param {*} method
37
+ */
38
+ subscribe(subject: string, streamName: string, queueGroupName: string, options?: EventSubOptions): Promise<Consumer>;
39
+ /**
40
+ *
41
+ * @param {*} key
42
+ * @param {*} data
43
+ */
44
+ publish(subject: string, payload: string, options?: NxObject): Promise<void>;
45
+ /**
46
+ *
47
+ * @param {*} id
48
+ */
49
+ unsubscribe(subject: string, streamName: string, queueGroupName: string): Promise<void>;
50
+ }
51
+ //# sourceMappingURL=nats-client-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nats-client-manager.d.ts","sourceRoot":"","sources":["../../src/events/nats-client-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAmD,IAAI,CAAC;AAC/E,OAAO,EAAsB,QAAQ,EAA+B,MAAM,MAAM,CAAC;AACjF,OAAO,EAA2B,cAAc,EAAmB,MAAO,MAAM,CAAC;AACjF,OAAO,EAAiB,eAAe,EAAE,gBAAgB,EAAE,MAAe,MAAM,CAAC;AACjF,OAAO,EAAO,QAAQ,EAAE,YAAY,EAAE,MAAoC,sBAAsB,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAA4B,cAAc,CAAC;AAEzF,qBAAa,iBAAkB,SAAQ,YAAa,YAAW,kBAAkB;IAWnE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAVxC,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAM;IAEhD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IAGrC,OAAO,CAAC,EAAE,CAAmB;IAC7B,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,GAAG,CAAoB;gBAEF,OAAO,EAAM,MAAM,EAAE,GAAG,MAAM,EAC9B,UAAU,CAAC,EAAE,MAAM,YAAA;IAKhD,IAAI,UAAU,IAAI,cAAc,CAM/B;IAGD,IAAI,SAAS,IAAI,eAAe,CAM/B;IAED,IAAI,gBAAgB,IAAI,gBAAgB,CAEvC;IAED;;OAEG;IACG,OAAO,CAAC,OAAO,GAAE,MAAM,EAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B3E;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC;;;;OAIG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBzE;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4C1H;;;;OAIG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBlF;;;OAGG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAe9F"}
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NatsClientManager = void 0;
4
+ const ws_1 = require("ws");
5
+ const nats_1 = require("nats");
6
+ const nats_2 = require("nats");
7
+ const nats_3 = require("nats");
8
+ const nx_frame_be_1 = require("@nextage/nx-frame-be");
9
+ class NatsClientManager extends ws_1.EventEmitter {
10
+ constructor(servers, clientName) {
11
+ super();
12
+ this.servers = servers;
13
+ this.clientName = clientName;
14
+ this.subs = {};
15
+ this.opts = {};
16
+ }
17
+ get connection() {
18
+ if (!this.nc)
19
+ throw new Error('Cannot access NATS client before connecting');
20
+ return this.nc;
21
+ }
22
+ // Espone il JetStream client
23
+ get jetStream() {
24
+ if (!this.js)
25
+ throw new Error('JetStream client not initialized');
26
+ return this.js;
27
+ }
28
+ get jetStreamManager() {
29
+ return this.jsm;
30
+ }
31
+ /**
32
+ *
33
+ */
34
+ async connect(servers = ['nats://localhost:4222']) {
35
+ try {
36
+ this.nc = await (0, nats_1.connect)({
37
+ servers: this.servers,
38
+ name: this.clientName ?? 'nx-nats-client',
39
+ reconnect: true,
40
+ maxReconnectAttempts: 10,
41
+ reconnectTimeWait: 2000
42
+ });
43
+ this.js = this.nc.jetstream();
44
+ this.jsm = await this.nc.jetstreamManager();
45
+ nx_frame_be_1.APP.logger.info(`✅ Connected to NATS JetStream: ${this.nc.getServer()}`);
46
+ // Setup error handlers
47
+ this.nc.closed().then((err) => {
48
+ if (err)
49
+ nx_frame_be_1.APP.logger.error('❌ NATS connection closed with error:', err);
50
+ else
51
+ nx_frame_be_1.APP.logger.info('📪 NATS connection closed');
52
+ });
53
+ }
54
+ catch (error) {
55
+ nx_frame_be_1.APP.logger.error(`❌ Failed to connect to NATS: ${this.servers}`, error);
56
+ throw error;
57
+ }
58
+ }
59
+ /**
60
+ *
61
+ */
62
+ async disconnect() {
63
+ if (this.nc) {
64
+ await this.nc.close();
65
+ nx_frame_be_1.APP.logger.info('📪 NATS connection closed');
66
+ }
67
+ }
68
+ /**
69
+ *
70
+ * @param streamName
71
+ * @param subjects
72
+ */
73
+ async createStream(streamName, subjects) {
74
+ try {
75
+ await this.jsm.streams.add({
76
+ name: streamName,
77
+ subjects,
78
+ retention: nats_2.RetentionPolicy.Limits,
79
+ max_age: 24 * 60 * 60 * 1000 * 1000000, // 24 ore in nanosecondi
80
+ max_msgs: 1000,
81
+ storage: nats_1.StorageType.File,
82
+ });
83
+ nx_frame_be_1.APP.logger.info(`✅ Stream '${streamName}' created/updated`);
84
+ }
85
+ catch (error) {
86
+ if (error.message?.includes('stream name already in use')) {
87
+ nx_frame_be_1.APP.logger.info(`ℹ️ Stream '${streamName}' already exists`);
88
+ }
89
+ else {
90
+ nx_frame_be_1.APP.logger.error(`❌ Failed to create stream '${streamName}':`, error);
91
+ throw error;
92
+ }
93
+ }
94
+ }
95
+ /**
96
+ *
97
+ * @param {*} key
98
+ * @param {*} method
99
+ */
100
+ async subscribe(subject, streamName, queueGroupName, options) {
101
+ var _a;
102
+ // Crea consumer se non esiste
103
+ try {
104
+ const consumerConfig = {
105
+ name: queueGroupName,
106
+ durable_name: queueGroupName,
107
+ deliver_policy: nats_3.DeliverPolicy.New,
108
+ ack_policy: nats_1.AckPolicy.Explicit,
109
+ max_deliver: options?.maxDeliver,
110
+ ack_wait: options?.ackWait,
111
+ filter_subject: subject,
112
+ };
113
+ // Crea o ottieni il consumer usando JSM
114
+ try {
115
+ const consumerInfo = await this.jsm.consumers.info(streamName, queueGroupName);
116
+ nx_frame_be_1.APP.logger.info(`📋 Consumer '${queueGroupName}' already exists for stream '${streamName}'`);
117
+ }
118
+ catch (error) {
119
+ nx_frame_be_1.APP.logger.info(`📋 Creating consumer '${queueGroupName}' for stream '${streamName}'`);
120
+ await this.jsm.consumers.add(streamName, consumerConfig);
121
+ }
122
+ // Ottieni il consumer per il consumo dei messaggi
123
+ const consumer = await this.js.consumers.get(streamName, queueGroupName);
124
+ (_a = this.subs)[subject] ?? (_a[subject] = {});
125
+ this.subs[subject][`${streamName}.${queueGroupName}`] = consumer;
126
+ nx_frame_be_1.APP.logger.info(`👂 Listening on '${subject}' with consumer '${queueGroupName}'`);
127
+ return consumer;
128
+ }
129
+ catch (error) {
130
+ nx_frame_be_1.APP.logger.error(`❌ Failed to setup consumer for '${subject}':`, error);
131
+ throw error;
132
+ }
133
+ }
134
+ /**
135
+ *
136
+ * @param {*} key
137
+ * @param {*} data
138
+ */
139
+ async publish(subject, payload, options) {
140
+ try {
141
+ const defaultOptions = { timeout: 5000 };
142
+ const publishOptions = { ...defaultOptions, ...options };
143
+ const ack = await this.js.publish(subject, payload, publishOptions);
144
+ nx_frame_be_1.APP.logger.info(`📤 Published event on [${subject}]: message: ${payload}, stream: ${ack.stream}, seq: ${ack.seq}`);
145
+ }
146
+ catch (error) {
147
+ nx_frame_be_1.APP.logger.error(`❌ Failed to publish to '${subject}': %o`, error);
148
+ throw error;
149
+ }
150
+ }
151
+ /**
152
+ *
153
+ * @param {*} id
154
+ */
155
+ async unsubscribe(subject, streamName, queueGroupName) {
156
+ try {
157
+ // delete consumer reference from stack
158
+ delete this.subs[subject][`${streamName}.${queueGroupName}`];
159
+ // delete consumer form jetstream manager
160
+ await this.jsm.consumers.delete(streamName, queueGroupName);
161
+ nx_frame_be_1.APP.logger.info(`🛑 Stopped and deleted consumer '${queueGroupName}' for '${subject}'`);
162
+ }
163
+ catch (error) {
164
+ nx_frame_be_1.APP.logger.info(`🛑 Stopped listening on '${subject}' (consumer may have been already deleted)`);
165
+ }
166
+ }
167
+ }
168
+ exports.NatsClientManager = NatsClientManager;
169
+ //# sourceMappingURL=nats-client-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nats-client-manager.js","sourceRoot":"","sources":["../../src/events/nats-client-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { NxObject, NxTypeObject } from '@nextage/nx-frame-be';
2
+ import { EventSubscription } from './event-subscription';
3
+ import { MsgClientInterface, EventSubOptions } from './interfaces';
4
+ import { EventEmitter } from 'ws';
5
+ import { JetStreamClient, JetStreamManager, NatsConnection, Subscription } from 'nats';
6
+ export declare class NatsClientManagerOld extends EventEmitter implements MsgClientInterface {
7
+ private readonly servers;
8
+ private readonly clientName?;
9
+ subs: NxTypeObject<EventSubscription[]>;
10
+ private readonly opts;
11
+ private sc;
12
+ private nc;
13
+ private js;
14
+ private jsm;
15
+ constructor(servers: string[] | string, clientName?: string | undefined);
16
+ get connection(): NatsConnection;
17
+ get jetStream(): JetStreamClient;
18
+ get jetStreamManager(): JetStreamManager;
19
+ /**
20
+ *
21
+ */
22
+ connect(): Promise<void>;
23
+ /**
24
+ *
25
+ * @param {*} key
26
+ * @param {*} method
27
+ */
28
+ subscribe(subject: string, stream: string, durableName: string, options?: EventSubOptions): Promise<Subscription>;
29
+ /**
30
+ *
31
+ * @param {*} key
32
+ * @param {*} data
33
+ */
34
+ publish(subject: string, payload: string | Uint8Array<ArrayBufferLike>, options?: NxObject): Promise<void>;
35
+ /**
36
+ *
37
+ * @param {*} id
38
+ */
39
+ unsubscribe(sub: EventSubscription, cb?: (...args: any[]) => void): void;
40
+ encodeData(data: string): string | Uint8Array;
41
+ decodeData(data: string | Uint8Array): string;
42
+ /**
43
+ *
44
+ * @param sub
45
+ * @returns
46
+ */
47
+ private getSubscriptions;
48
+ }
49
+ //# sourceMappingURL=nats-client-manager.old.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nats-client-manager.old.d.ts","sourceRoot":"","sources":["../../src/events/nats-client-manager.old.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGhF,OAAO,EAAE,iBAAiB,EAAE,MAA6B,sBAAsB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAS,cAAc,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAsC,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAe,YAAY,EAAE,MAAM,MAAM,CAAC;AAExI,qBAAa,oBAAqB,SAAQ,YAAa,YAAW,kBAAkB;IAYtE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAXxC,IAAI,EAAE,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAM;IAE7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IAGrC,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,EAAE,CAAmB;IAC7B,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,GAAG,CAAoB;gBAEF,OAAO,EAAM,MAAM,EAAE,GAAG,MAAM,EAC9B,UAAU,CAAC,EAAE,MAAM,YAAA;IAKhD,IAAI,UAAU,IAAI,cAAc,CAM/B;IAGD,IAAI,SAAS,IAAI,eAAe,CAM/B;IAED,IAAI,gBAAgB,IAAI,gBAAgB,CAEvC;IAED;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAW9B;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IA4BvH;;;;OAIG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhH;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,iBAAiB,EAAE,EAAE,GAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAe,GAAG,IAAI;IAWlF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU;IAK7C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM;IAK7C;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CAOzB"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NatsClientManagerOld = void 0;
4
+ const nx_frame_be_1 = require("@nextage/nx-frame-be");
5
+ const ws_1 = require("ws");
6
+ const nats_1 = require("nats");
7
+ class NatsClientManagerOld extends ws_1.EventEmitter {
8
+ constructor(servers, clientName) {
9
+ super();
10
+ this.servers = servers;
11
+ this.clientName = clientName;
12
+ this.subs = {};
13
+ this.opts = {};
14
+ this.sc = (0, nats_1.StringCodec)();
15
+ }
16
+ get connection() {
17
+ if (!this.nc)
18
+ throw new Error('Cannot access NATS client before connecting');
19
+ return this.nc;
20
+ }
21
+ // Espone il JetStream client
22
+ get jetStream() {
23
+ if (!this.js)
24
+ throw new Error('JetStream client not initialized');
25
+ return this.js;
26
+ }
27
+ get jetStreamManager() {
28
+ return this.jsm;
29
+ }
30
+ /**
31
+ *
32
+ */
33
+ async connect() {
34
+ this.nc = await (0, nats_1.connect)({
35
+ servers: this.servers,
36
+ name: this.clientName ?? 'nx-nats-client'
37
+ });
38
+ this.js = this.nc.jetstream();
39
+ this.jsm = await this.nc.jetstreamManager();
40
+ }
41
+ /**
42
+ *
43
+ * @param {*} key
44
+ * @param {*} method
45
+ */
46
+ async subscribe(subject, stream, durableName, options) {
47
+ // Crea consumer se non esiste
48
+ try {
49
+ await this.jsm.consumers.info(stream, durableName);
50
+ }
51
+ catch {
52
+ const config = {
53
+ durable_name: durableName,
54
+ ack_policy: nats_1.AckPolicy.Explicit,
55
+ deliver_subject: `${subject}.${durableName}.inbox`,
56
+ filter_subject: subject,
57
+ };
58
+ await this.jsm.consumers.add(stream, config);
59
+ console.log(`🆕 Created consumer [${durableName}] on ${subject}`);
60
+ }
61
+ const sub = this.nc.subscribe(`${subject}.${durableName}.inbox`);
62
+ console.log(`🎧 Listening on ${subject} [durable=${durableName}]`);
63
+ // const sub = new EventSubscription(subject, queueGroupName, options);
64
+ // this.subs[subject] ??= [];
65
+ // this.subs[subject].push(sub);
66
+ // APP.logger.info(`Listening event: ${subject} / ${queueGroupName}`, logClassCtx(this));
67
+ return sub;
68
+ }
69
+ /**
70
+ *
71
+ * @param {*} key
72
+ * @param {*} data
73
+ */
74
+ async publish(subject, payload, options) {
75
+ const encodedPayload = this.sc.encode(JSON.stringify(payload));
76
+ await this.js.publish(subject, encodedPayload);
77
+ nx_frame_be_1.APP.logger.info(`📤 Published event on [${subject}]:`, payload);
78
+ }
79
+ /**
80
+ *
81
+ * @param {*} id
82
+ */
83
+ unsubscribe(sub, cb = () => { }) {
84
+ sub.off('message', cb);
85
+ const subs = this.getSubscriptions(sub.subject) || [];
86
+ const idx = this.getSubscriptions(sub.subject).findIndex(s => s.id === sub.id);
87
+ if (idx >= 0)
88
+ subs.splice(idx, 1);
89
+ }
90
+ encodeData(data) {
91
+ return this.sc.encode(data);
92
+ }
93
+ decodeData(data) {
94
+ return this.sc.decode(data);
95
+ }
96
+ /**
97
+ *
98
+ * @param sub
99
+ * @returns
100
+ */
101
+ getSubscriptions(subject) {
102
+ if (!this.subs[subject])
103
+ throw new Error('MsgClientManager : subject does not exist');
104
+ return this.subs[subject];
105
+ }
106
+ }
107
+ exports.NatsClientManagerOld = NatsClientManagerOld;
108
+ //# sourceMappingURL=nats-client-manager.old.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nats-client-manager.old.js","sourceRoot":"","sources":["../../src/events/nats-client-manager.old.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { BaseModel } from '@nextage/nx-frame-be/build/common/base/base.model';
2
+ import { BaseMongoDoc } from '@nextage/nx-frame-be/build/common/base/base.interfaces';
3
+ import { BaseController } from '@nextage/nx-frame-be/build/common/base/base.controller';
4
+ import { NxContext } from '@nextage/nx-frame-be';
5
+ import { Publisher } from '../base-publisher';
6
+ import { Event, MsgClientInterface } from '../interfaces';
7
+ import { QueueEventType } from './enums';
8
+ export declare abstract class BaseEventCtrl<TCreate extends Event, TUpdate extends Event, TRemove extends Event, TAttrs, TDoc extends BaseMongoDoc, TModel extends BaseModel<TAttrs, TDoc, any>> extends BaseController<TAttrs, TDoc, TModel> {
9
+ protected abstract CreatePublisher: new (client: MsgClientInterface) => Publisher<TCreate>;
10
+ protected abstract UpdatePublisher: new (client: MsgClientInterface) => Publisher<TUpdate>;
11
+ protected abstract RemovePublisher: new (client: MsgClientInterface) => Publisher<TRemove>;
12
+ protected abstract parsePubCreateItem(item: TAttrs, type: QueueEventType): TCreate['data'];
13
+ protected abstract parsePubUpdateItem(item: TAttrs, type: QueueEventType): TUpdate['data'];
14
+ protected abstract parsePubRemoveItem(item: TAttrs, type: QueueEventType): TRemove['data'];
15
+ /**
16
+ *
17
+ * @param item
18
+ * @param type
19
+ * @param context
20
+ */
21
+ publish(item: TAttrs, type: QueueEventType, context: NxContext): Promise<void>;
22
+ /**
23
+ *
24
+ * @param item
25
+ * @param context
26
+ * @returns
27
+ */
28
+ create(item: TAttrs, context: NxContext): Promise<TDoc>;
29
+ /**
30
+ *
31
+ * @param item
32
+ * @param context
33
+ * @returns
34
+ */
35
+ update(id: string, item: TAttrs, context: NxContext): Promise<TDoc>;
36
+ /**
37
+ *
38
+ * @param item
39
+ * @param context
40
+ * @returns
41
+ */
42
+ remove(id: string, context: NxContext): Promise<TDoc>;
43
+ }
44
+ //# sourceMappingURL=base-event.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-event.controller.d.ts","sourceRoot":"","sources":["../../../src/events/types/base-event.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAsB,mDAAmD,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAmB,wDAAwD,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAiB,wDAAwD,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAsB,sBAAsB,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAsB,mBAAmB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAiB,SAAS,CAAC;AAEpD,8BAAsB,aAAa,CAAC,OAAO,SAAS,KAAK,EAAE,OAAO,SAAS,KAAK,EAAE,OAAO,SAAS,KAAK,EAAE,MAAM,EAAE,IAAI,SAAS,YAAY,EAAE,MAAM,SAAS,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAE,SAAQ,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC;IAEnO,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,MAAM,EAAE,kBAAkB,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3F,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,MAAM,EAAE,kBAAkB,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3F,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,KAAK,MAAM,EAAE,kBAAkB,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC;IAE3F,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAI,OAAO,CAAC,MAAM,CAAC;IAC3F,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAI,OAAO,CAAC,MAAM,CAAC;IAC3F,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAI,OAAO,CAAC,MAAM,CAAC;IAE3F;;;;;OAKG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpF;;;;;OAKG;IACY,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtE;;;;;OAKG;IACY,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlF;;;;;OAKG;IACY,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAOrE"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseEventCtrl = void 0;
4
+ const base_controller_1 = require("@nextage/nx-frame-be/build/common/base/base.controller");
5
+ const msg_wrapper_1 = require("../../msg-wrapper");
6
+ const enums_1 = require("./enums");
7
+ class BaseEventCtrl extends base_controller_1.BaseController {
8
+ /**
9
+ *
10
+ * @param item
11
+ * @param type
12
+ * @param context
13
+ */
14
+ async publish(item, type, context) {
15
+ // publish event according to type
16
+ switch (type) {
17
+ case enums_1.QueueEventType.create:
18
+ await new this.CreatePublisher(msg_wrapper_1.msgWrapper.client).publish(this.parsePubCreateItem(item, type));
19
+ break;
20
+ case enums_1.QueueEventType.update:
21
+ await new this.UpdatePublisher(msg_wrapper_1.msgWrapper.client).publish(this.parsePubUpdateItem(item, type));
22
+ break;
23
+ case enums_1.QueueEventType.remove:
24
+ await new this.RemovePublisher(msg_wrapper_1.msgWrapper.client).publish(this.parsePubRemoveItem(item, type));
25
+ break;
26
+ default:
27
+ break;
28
+ }
29
+ }
30
+ /**
31
+ *
32
+ * @param item
33
+ * @param context
34
+ * @returns
35
+ */
36
+ async create(item, context) {
37
+ const res = await this.model.create(item, context);
38
+ await this.publish(item, enums_1.QueueEventType.create, context);
39
+ return res;
40
+ }
41
+ /**
42
+ *
43
+ * @param item
44
+ * @param context
45
+ * @returns
46
+ */
47
+ async update(id, item, context) {
48
+ const res = await this.model.update(id, item, context);
49
+ await this.publish({ id, ...res.toObject() }, enums_1.QueueEventType.update, context);
50
+ return res;
51
+ }
52
+ /**
53
+ *
54
+ * @param item
55
+ * @param context
56
+ * @returns
57
+ */
58
+ async remove(id, context) {
59
+ const res = await this.model.remove(id, context);
60
+ await this.publish({ id, ...res.toObject() }, enums_1.QueueEventType.remove, context);
61
+ return res;
62
+ }
63
+ }
64
+ exports.BaseEventCtrl = BaseEventCtrl;
65
+ //# sourceMappingURL=base-event.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-event.controller.js","sourceRoot":"","sources":["../../../src/events/types/base-event.controller.ts"],"names":[],"mappings":";;;AAEA,4FAAmG;AAEnG,mDAA8D;AAG9D,mCAAoD;AAEpD,MAAsB,aAAmK,SAAQ,gCAAoC;IAUnO;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAoB,EAAE,OAAkB;QAElE,kCAAkC;QAClC,QAAQ,IAAI,EAAE,CAAC;YAEb,KAAK,sBAAc,CAAC,MAAM;gBACxB,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,wBAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC/F,MAAM;YACR,KAAK,sBAAc,CAAC,MAAM;gBACxB,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,wBAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC/F,MAAM;YACR,KAAK,sBAAc,CAAC,MAAM;gBACxB,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,wBAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC/F,MAAM;YACR;gBACI,MAAM;QACZ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACM,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,OAAkB;QAEpD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEnD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,sBAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACM,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,IAAY,EAAE,OAAkB;QAEhE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEvD,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,sBAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9E,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACM,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAAkB;QAElD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAEjD,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,sBAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9E,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA5ED,sCA4EC"}
@@ -0,0 +1,8 @@
1
+ export declare enum EmployeeStatus {
2
+ ACTIVE = "active",
3
+ ON_LEAVE = "onLeave",
4
+ TERMINATED = "terminated",
5
+ RESIGNED = "resigned",
6
+ RETIRED = "retired"
7
+ }
8
+ //# sourceMappingURL=employee.enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"employee.enums.d.ts","sourceRoot":"","sources":["../../../src/events/types/employee.enums.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,MAAM,WAAe;IACrB,QAAQ,YAAc;IACtB,UAAU,eAAe;IACzB,QAAQ,aAAe;IACvB,OAAO,YAAe;CACvB"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmployeeStatus = void 0;
4
+ var EmployeeStatus;
5
+ (function (EmployeeStatus) {
6
+ EmployeeStatus["ACTIVE"] = "active";
7
+ EmployeeStatus["ON_LEAVE"] = "onLeave";
8
+ EmployeeStatus["TERMINATED"] = "terminated";
9
+ EmployeeStatus["RESIGNED"] = "resigned";
10
+ EmployeeStatus["RETIRED"] = "retired";
11
+ })(EmployeeStatus || (exports.EmployeeStatus = EmployeeStatus = {}));
12
+ //# sourceMappingURL=employee.enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"employee.enums.js","sourceRoot":"","sources":["../../../src/events/types/employee.enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,mCAAqB,CAAA;IACrB,sCAAsB,CAAA;IACtB,2CAAyB,CAAA;IACzB,uCAAuB,CAAA;IACvB,qCAAsB,CAAA;AACxB,CAAC,EANW,cAAc,8BAAd,cAAc,QAMzB"}