@nextage/era-lib 1.0.186 → 1.0.187

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 (132) hide show
  1. package/build/constants.d.ts +11 -0
  2. package/build/constants.d.ts.map +1 -1
  3. package/build/constants.js +11 -0
  4. package/build/constants.js.map +1 -1
  5. package/build/enums.d.ts +3 -0
  6. package/build/enums.d.ts.map +1 -1
  7. package/build/enums.js +3 -0
  8. package/build/enums.js.map +1 -1
  9. package/build/errors/app-error.d.ts +6 -0
  10. package/build/errors/app-error.d.ts.map +1 -1
  11. package/build/errors/app-error.js +6 -0
  12. package/build/errors/app-error.js.map +1 -1
  13. package/build/events/access-revoked-publisher.d.ts +1 -1
  14. package/build/events/access-revoked-publisher.d.ts.map +1 -1
  15. package/build/events/access-revoked-publisher.js +1 -1
  16. package/build/events/access-revoked-publisher.js.map +1 -1
  17. package/build/events/{base-event.controller.d.ts → base/base-event.controller.d.ts} +3 -3
  18. package/build/events/base/base-event.controller.d.ts.map +1 -0
  19. package/build/events/{base-event.controller.js → base/base-event.controller.js} +5 -5
  20. package/build/events/base/base-event.controller.js.map +1 -0
  21. package/build/events/{base-listener.d.ts → base/base-listener.d.ts} +2 -2
  22. package/build/events/base/base-listener.d.ts.map +1 -0
  23. package/build/events/base/base-listener.interfaces.d.ts.map +1 -0
  24. package/build/events/base/base-listener.interfaces.js.map +1 -0
  25. package/build/events/base/base-listener.js.map +1 -0
  26. package/build/events/{base-msg-listener.d.ts → base/base-msg-listener.d.ts} +15 -6
  27. package/build/events/base/base-msg-listener.d.ts.map +1 -0
  28. package/build/events/{base-msg-listener.js → base/base-msg-listener.js} +14 -5
  29. package/build/events/base/base-msg-listener.js.map +1 -0
  30. package/build/events/base/base-msg-publisher.d.ts +20 -0
  31. package/build/events/base/base-msg-publisher.d.ts.map +1 -0
  32. package/build/events/base/base-msg-publisher.js +24 -0
  33. package/build/events/base/base-msg-publisher.js.map +1 -0
  34. package/build/events/{base-nats-listener.d.ts → base/base-nats-listener.d.ts} +14 -9
  35. package/build/events/base/base-nats-listener.d.ts.map +1 -0
  36. package/build/events/{base-nats-listener.js → base/base-nats-listener.js} +15 -10
  37. package/build/events/base/base-nats-listener.js.map +1 -0
  38. package/build/events/base/base-nats-publisher.d.ts +23 -0
  39. package/build/events/base/base-nats-publisher.d.ts.map +1 -0
  40. package/build/events/base/base-nats-publisher.js +32 -0
  41. package/build/events/base/base-nats-publisher.js.map +1 -0
  42. package/build/events/base/base-publisher.d.ts +34 -0
  43. package/build/events/base/base-publisher.d.ts.map +1 -0
  44. package/build/events/base/base-publisher.js +41 -0
  45. package/build/events/base/base-publisher.js.map +1 -0
  46. package/build/events/dlq-manager.d.ts +1 -1
  47. package/build/events/dlq-manager.d.ts.map +1 -1
  48. package/build/events/event-subscription.d.ts +1 -1
  49. package/build/events/event-subscription.d.ts.map +1 -1
  50. package/build/events/event-subscription.js +2 -2
  51. package/build/events/event-subscription.js.map +1 -1
  52. package/build/events/index.d.ts +13 -11
  53. package/build/events/index.d.ts.map +1 -1
  54. package/build/events/index.js +14 -11
  55. package/build/events/index.js.map +1 -1
  56. package/build/events/interfaces.d.ts +9 -0
  57. package/build/events/interfaces.d.ts.map +1 -1
  58. package/build/events/revocation-listener.d.ts +1 -1
  59. package/build/events/revocation-listener.d.ts.map +1 -1
  60. package/build/events/transport/base-client-wrapper.d.ts +44 -0
  61. package/build/events/transport/base-client-wrapper.d.ts.map +1 -0
  62. package/build/events/transport/base-client-wrapper.js +47 -0
  63. package/build/events/transport/base-client-wrapper.js.map +1 -0
  64. package/build/events/transport/msg-client-manager.d.ts +37 -0
  65. package/build/events/transport/msg-client-manager.d.ts.map +1 -0
  66. package/build/events/{msg-client-manager.js → transport/msg-client-manager.js} +18 -39
  67. package/build/events/transport/msg-client-manager.js.map +1 -0
  68. package/build/events/transport/msg-wrapper.d.ts +15 -0
  69. package/build/events/transport/msg-wrapper.d.ts.map +1 -0
  70. package/build/events/transport/msg-wrapper.js +24 -0
  71. package/build/events/transport/msg-wrapper.js.map +1 -0
  72. package/build/events/{nats-client-manager.d.ts → transport/nats-client-manager.d.ts} +20 -18
  73. package/build/events/transport/nats-client-manager.d.ts.map +1 -0
  74. package/build/events/{nats-client-manager.js → transport/nats-client-manager.js} +20 -18
  75. package/build/events/transport/nats-client-manager.js.map +1 -0
  76. package/build/events/transport/nats-wrapper.d.ts +16 -0
  77. package/build/events/transport/nats-wrapper.d.ts.map +1 -0
  78. package/build/events/transport/nats-wrapper.js +30 -0
  79. package/build/events/transport/nats-wrapper.js.map +1 -0
  80. package/build/interfaces.d.ts +10 -0
  81. package/build/interfaces.d.ts.map +1 -1
  82. package/build/routes/validators.d.ts +4 -2
  83. package/build/routes/validators.d.ts.map +1 -1
  84. package/build/routes/validators.js +4 -2
  85. package/build/routes/validators.js.map +1 -1
  86. package/build/services/password.d.ts +19 -0
  87. package/build/services/password.d.ts.map +1 -1
  88. package/build/services/password.js +19 -0
  89. package/build/services/password.js.map +1 -1
  90. package/build/utils/functs.d.ts +54 -23
  91. package/build/utils/functs.d.ts.map +1 -1
  92. package/build/utils/functs.js +60 -25
  93. package/build/utils/functs.js.map +1 -1
  94. package/package.json +1 -1
  95. package/build/events/base-event.controller.d.ts.map +0 -1
  96. package/build/events/base-event.controller.js.map +0 -1
  97. package/build/events/base-listener.d.ts.map +0 -1
  98. package/build/events/base-listener.interfaces.d.ts.map +0 -1
  99. package/build/events/base-listener.interfaces.js.map +0 -1
  100. package/build/events/base-listener.js.map +0 -1
  101. package/build/events/base-msg-listener.d.ts.map +0 -1
  102. package/build/events/base-msg-listener.js.map +0 -1
  103. package/build/events/base-nats-listener.d.ts.map +0 -1
  104. package/build/events/base-nats-listener.js.map +0 -1
  105. package/build/events/base-nats-publisher.d.ts +0 -20
  106. package/build/events/base-nats-publisher.d.ts.map +0 -1
  107. package/build/events/base-nats-publisher.js +0 -35
  108. package/build/events/base-nats-publisher.js.map +0 -1
  109. package/build/events/base-publisher.d.ts +0 -18
  110. package/build/events/base-publisher.d.ts.map +0 -1
  111. package/build/events/base-publisher.js +0 -28
  112. package/build/events/base-publisher.js.map +0 -1
  113. package/build/events/msg-client-manager.d.ts +0 -38
  114. package/build/events/msg-client-manager.d.ts.map +0 -1
  115. package/build/events/msg-client-manager.js.map +0 -1
  116. package/build/events/msg-wrapper.d.ts +0 -10
  117. package/build/events/msg-wrapper.d.ts.map +0 -1
  118. package/build/events/msg-wrapper.js +0 -18
  119. package/build/events/msg-wrapper.js.map +0 -1
  120. package/build/events/nats-client-manager.d.ts.map +0 -1
  121. package/build/events/nats-client-manager.js.map +0 -1
  122. package/build/events/nats-client-manager.old.d.ts +0 -49
  123. package/build/events/nats-client-manager.old.d.ts.map +0 -1
  124. package/build/events/nats-client-manager.old.js +0 -108
  125. package/build/events/nats-client-manager.old.js.map +0 -1
  126. package/build/events/nats-wrapper.d.ts +0 -14
  127. package/build/events/nats-wrapper.d.ts.map +0 -1
  128. package/build/events/nats-wrapper.js +0 -24
  129. package/build/events/nats-wrapper.js.map +0 -1
  130. /package/build/events/{base-listener.interfaces.d.ts → base/base-listener.interfaces.d.ts} +0 -0
  131. /package/build/events/{base-listener.interfaces.js → base/base-listener.interfaces.js} +0 -0
  132. /package/build/events/{base-listener.js → base/base-listener.js} +0 -0
@@ -1,14 +1,13 @@
1
- import { EventEmitter } from 'ws';
1
+ import { EventEmitter } from 'node:events';
2
2
  import { Consumer } from 'nats';
3
3
  import { NatsConnection } from 'nats';
4
4
  import { JetStreamClient, JetStreamManager } from 'nats';
5
5
  import { NxObject, NxTypeObject } from '@nextage/nx-frame-be';
6
- import { MsgClientInterface, EventSubOptions } from './interfaces';
6
+ import { MsgClientInterface, EventSubOptions } from '../interfaces';
7
7
  export declare class NatsClientManager extends EventEmitter implements MsgClientInterface {
8
8
  private readonly servers;
9
9
  private readonly clientName?;
10
10
  subs: NxTypeObject<NxTypeObject<Consumer>>;
11
- private readonly opts;
12
11
  private nc;
13
12
  private js;
14
13
  private jsm;
@@ -17,13 +16,13 @@ export declare class NatsClientManager extends EventEmitter implements MsgClient
17
16
  get jetStream(): JetStreamClient;
18
17
  get jetStreamManager(): JetStreamManager;
19
18
  /**
20
- *
21
- * @param servers
22
- * @returns
19
+ * Connect to NATS and initialise the JetStream client + manager from the
20
+ * `servers`/`clientName` passed at construction. No-op when no server is
21
+ * configured (msg-only mode), so the transport can stay optional.
23
22
  */
24
- connect(servers?: string[]): Promise<void>;
23
+ connect(): Promise<void>;
25
24
  /**
26
- *
25
+ * Close the NATS connection, if open.
27
26
  */
28
27
  disconnect(): Promise<void>;
29
28
  /**
@@ -39,9 +38,14 @@ export declare class NatsClientManager extends EventEmitter implements MsgClient
39
38
  maxMsgs?: number;
40
39
  }): Promise<void>;
41
40
  /**
41
+ * Create (or reuse) a durable, shared-name consumer on `streamName` filtered to
42
+ * `subject`, load-balancing one copy of each message across service instances
43
+ * (work-queue). Recreates the consumer if an existing one has a stale filter.
42
44
  *
43
- * @param {*} key
44
- * @param {*} method
45
+ * @param subject concrete subject filter
46
+ * @param streamName stream carrying that subject
47
+ * @param queueGroupName shared consumer name (durable) → work-queue group
48
+ * @param options optional `maxDeliver` / `ackWait` overrides
45
49
  */
46
50
  subscribe(subject: string, streamName: string, queueGroupName: string, options?: EventSubOptions): Promise<Consumer>;
47
51
  /**
@@ -64,23 +68,21 @@ export declare class NatsClientManager extends EventEmitter implements MsgClient
64
68
  lookbackMs?: number;
65
69
  }): Promise<Consumer>;
66
70
  /**
67
- *
68
- * @param {*} key
69
- * @param {*} data
71
+ * Publish `payload` on `subject` via JetStream (default timeout 5s, overridable
72
+ * through `options`), awaiting the server ack.
70
73
  */
71
74
  publish(subject: string, payload: string, options?: NxObject): Promise<void>;
72
75
  /**
73
- *
74
- * @param {*} id
76
+ * Delete the consumer for `subject` locally and from the JetStream manager.
75
77
  */
76
78
  unsubscribe(subject: string, streamName: string, queueGroupName: string): Promise<void>;
77
79
  /**
78
- *
79
- * @param streamName
80
+ * Delete every consumer on `streamName` (best-effort, logs per-consumer errors).
80
81
  */
81
82
  cleanAllConsumers(streamName: string): Promise<void>;
82
83
  /**
83
- *
84
+ * Delete all consumers across all streams (maintenance helper); consumers are
85
+ * recreated on the next app start.
84
86
  */
85
87
  resetAndRecreateConsumers(): Promise<void>;
86
88
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nats-client-manager.d.ts","sourceRoot":"","sources":["../../../src/events/transport/nats-client-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAmD,aAAa,CAAC;AACxF,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,eAAe,CAAC;AAE1F,qBAAa,iBAAkB,SAAQ,YAAa,YAAW,kBAAkB;IAQnE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAPxC,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAM;IAEhD,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;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC9B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC;;;;;;;OAOG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCzH;;;;;;;;;OASG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;IAuD1H;;;;;;;;;;;;;;;OAeG;IACG,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoChH;;;OAGG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBlF;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB7F;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM;IAqB1C;;;OAGG;IACG,yBAAyB;CAwBhC"}
@@ -1,18 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NatsClientManager = void 0;
4
- const ws_1 = require("ws");
4
+ const node_events_1 = require("node:events");
5
5
  const nats_1 = require("nats");
6
6
  const nats_2 = require("nats");
7
7
  const nats_3 = require("nats");
8
8
  const nx_frame_be_1 = require("@nextage/nx-frame-be");
9
- class NatsClientManager extends ws_1.EventEmitter {
9
+ class NatsClientManager extends node_events_1.EventEmitter {
10
10
  constructor(servers, clientName) {
11
11
  super();
12
12
  this.servers = servers;
13
13
  this.clientName = clientName;
14
14
  this.subs = {};
15
- this.opts = {};
16
15
  }
17
16
  get connection() {
18
17
  if (!this.nc)
@@ -29,11 +28,11 @@ class NatsClientManager extends ws_1.EventEmitter {
29
28
  return this.jsm;
30
29
  }
31
30
  /**
32
- *
33
- * @param servers
34
- * @returns
31
+ * Connect to NATS and initialise the JetStream client + manager from the
32
+ * `servers`/`clientName` passed at construction. No-op when no server is
33
+ * configured (msg-only mode), so the transport can stay optional.
35
34
  */
36
- async connect(servers = ['nats://localhost:4222']) {
35
+ async connect() {
37
36
  if (!this.servers.length) {
38
37
  nx_frame_be_1.APP.logger.info('📪 NATS not defined');
39
38
  return;
@@ -63,7 +62,7 @@ class NatsClientManager extends ws_1.EventEmitter {
63
62
  }
64
63
  }
65
64
  /**
66
- *
65
+ * Close the NATS connection, if open.
67
66
  */
68
67
  async disconnect() {
69
68
  if (this.nc) {
@@ -111,9 +110,14 @@ class NatsClientManager extends ws_1.EventEmitter {
111
110
  }
112
111
  }
113
112
  /**
113
+ * Create (or reuse) a durable, shared-name consumer on `streamName` filtered to
114
+ * `subject`, load-balancing one copy of each message across service instances
115
+ * (work-queue). Recreates the consumer if an existing one has a stale filter.
114
116
  *
115
- * @param {*} key
116
- * @param {*} method
117
+ * @param subject concrete subject filter
118
+ * @param streamName stream carrying that subject
119
+ * @param queueGroupName shared consumer name (durable) → work-queue group
120
+ * @param options optional `maxDeliver` / `ackWait` overrides
117
121
  */
118
122
  async subscribe(subject, streamName, queueGroupName, options) {
119
123
  var _a;
@@ -202,9 +206,8 @@ class NatsClientManager extends ws_1.EventEmitter {
202
206
  }
203
207
  }
204
208
  /**
205
- *
206
- * @param {*} key
207
- * @param {*} data
209
+ * Publish `payload` on `subject` via JetStream (default timeout 5s, overridable
210
+ * through `options`), awaiting the server ack.
208
211
  */
209
212
  async publish(subject, payload, options) {
210
213
  try {
@@ -219,8 +222,7 @@ class NatsClientManager extends ws_1.EventEmitter {
219
222
  }
220
223
  }
221
224
  /**
222
- *
223
- * @param {*} id
225
+ * Delete the consumer for `subject` locally and from the JetStream manager.
224
226
  */
225
227
  async unsubscribe(subject, streamName, queueGroupName) {
226
228
  try {
@@ -235,8 +237,7 @@ class NatsClientManager extends ws_1.EventEmitter {
235
237
  }
236
238
  }
237
239
  /**
238
- *
239
- * @param streamName
240
+ * Delete every consumer on `streamName` (best-effort, logs per-consumer errors).
240
241
  */
241
242
  async cleanAllConsumers(streamName) {
242
243
  try {
@@ -257,7 +258,8 @@ class NatsClientManager extends ws_1.EventEmitter {
257
258
  }
258
259
  }
259
260
  /**
260
- *
261
+ * Delete all consumers across all streams (maintenance helper); consumers are
262
+ * recreated on the next app start.
261
263
  */
262
264
  async resetAndRecreateConsumers() {
263
265
  try {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nats-client-manager.js","sourceRoot":"","sources":["../../../src/events/transport/nats-client-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { NatsClientManager } from './nats-client-manager';
2
+ import { ClientWrapper } from './base-client-wrapper';
3
+ import { NatsWrapperConfig } from '../interfaces';
4
+ /**
5
+ * NATS JetStream wrapper. Durable inter-service delivery: exposes the concrete
6
+ * {@link NatsClientManager} so callers reach transport-specific methods
7
+ * (`createStream`, `subscribeBroadcast`, …).
8
+ */
9
+ declare class NatsWrapper extends ClientWrapper<NatsClientManager, NatsWrapperConfig> {
10
+ constructor();
11
+ connect({ servers, clientName }: NatsWrapperConfig): Promise<void>;
12
+ disconnect(): Promise<void>;
13
+ }
14
+ export declare const natsWrapper: NatsWrapper;
15
+ export {};
16
+ //# sourceMappingURL=nats-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nats-wrapper.d.ts","sourceRoot":"","sources":["../../../src/events/transport/nats-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAU,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD;;;;GAIG;AACH,cAAM,WAAY,SAAQ,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;;IAQrE,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAazD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAI3C;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.natsWrapper = void 0;
4
+ const nats_client_manager_1 = require("./nats-client-manager");
5
+ const base_client_wrapper_1 = require("./base-client-wrapper");
6
+ /**
7
+ * NATS JetStream wrapper. Durable inter-service delivery: exposes the concrete
8
+ * {@link NatsClientManager} so callers reach transport-specific methods
9
+ * (`createStream`, `subscribeBroadcast`, …).
10
+ */
11
+ class NatsWrapper extends base_client_wrapper_1.ClientWrapper {
12
+ constructor() {
13
+ super('NATS');
14
+ }
15
+ // Connessione a NATS + JetStream
16
+ async connect({ servers, clientName }) {
17
+ // Reconnect guard: close a previous connection before replacing it, so we
18
+ // never orphan a live NATS connection.
19
+ if (this._client)
20
+ await this.disconnect();
21
+ this._client = new nats_client_manager_1.NatsClientManager(servers, clientName);
22
+ await this._client.connect();
23
+ }
24
+ // Disconnessione pulita
25
+ async disconnect() {
26
+ await this._client?.disconnect();
27
+ }
28
+ }
29
+ exports.natsWrapper = new NatsWrapper();
30
+ //# sourceMappingURL=nats-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nats-wrapper.js","sourceRoot":"","sources":["../../../src/events/transport/nats-wrapper.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAC1D,+DAA0D;AAG1D;;;;GAIG;AACH,MAAM,WAAY,SAAQ,mCAAmD;IAE3E;QAEE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED,iCAAiC;IACjC,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAqB;QAEtD,0EAA0E;QAC1E,uCAAuC;QACvC,IAAI,IAAI,CAAC,OAAO;YACd,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAG,IAAI,uCAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE1D,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED,wBAAwB;IACf,KAAK,CAAC,UAAU;QAEvB,MAAM,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;IACnC,CAAC;CACF;AAEY,QAAA,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
@@ -1,6 +1,9 @@
1
1
  import { BaseDBItem, BaseUser, ModelCrudEventType, NxTypeObject } from '@nextage/nx-frame-be';
2
2
  import { SecurityLogLevel, UserCrudEventType } from './enums';
3
3
  export type NxCallback<T> = (err: Error | null, res?: T) => void;
4
+ /**
5
+ * Payload recorded by the security logger for an auditable event.
6
+ */
4
7
  export interface SecurityLogData {
5
8
  userId: string;
6
9
  module: string;
@@ -13,11 +16,18 @@ export interface EmailResult {
13
16
  success: boolean;
14
17
  statusCode?: number;
15
18
  }
19
+ /**
20
+ * Base shape for a versioned MongoDB entity with a plain-string `name`.
21
+ */
16
22
  export interface BaseEntity extends BaseDBItem {
17
23
  code?: string;
18
24
  name?: string;
19
25
  version?: number;
20
26
  }
27
+ /**
28
+ * Base shape for a versioned MongoDB entity whose `name`/`description` are
29
+ * internationalised (per-language map or plain string).
30
+ */
21
31
  export interface BaseI18nEntity extends BaseDBItem {
22
32
  code?: string;
23
33
  name?: NxTypeObject<string> | string;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAyB,SAAS,CAAC;AAEjF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;AAEhE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAI,MAAM,CAAC;IACjB,MAAM,EAAI,MAAM,CAAC;IACjB,MAAM,EAAI,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAI,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAG,MAAM,CAAC;IACpB,OAAO,EAAM,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C,IAAI,CAAC,EAAK,MAAM,CAAC;IACjB,IAAI,CAAC,EAAK,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,IAAI,CAAC,EAAS,MAAM,CAAC;IACrB,IAAI,CAAC,EAAS,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC5C,WAAW,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC5C,OAAO,CAAC,EAAM,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAM,MAAM,CAAC;IACnB,IAAI,EAAQ,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAK,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAW,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAa,MAAM,CAAC;IACxB,MAAM,CAAC,EAAU,MAAM,CAAC;IACxB,MAAM,CAAC,EAAU,MAAM,CAAC;IACxB,MAAM,CAAC,EAAU,MAAM,CAAC;IACxB,OAAO,CAAC,EAAS,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAG,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAOD,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAW,QAAQ,CAAC;IACzB,OAAO,CAAC,EAAQ,GAAG,CAAC;IACpB,OAAO,CAAC,EAAQ,kBAAkB,GAAG,iBAAiB,CAAC;IACvD,SAAS,CAAC,EAAM,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAyB,SAAS,CAAC;AAEjF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,CAAA;AAEhE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAI,MAAM,CAAC;IACjB,MAAM,EAAI,MAAM,CAAC;IACjB,MAAM,EAAI,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAI,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAG,MAAM,CAAC;IACpB,OAAO,EAAM,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C,IAAI,CAAC,EAAK,MAAM,CAAC;IACjB,IAAI,CAAC,EAAK,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,IAAI,CAAC,EAAS,MAAM,CAAC;IACrB,IAAI,CAAC,EAAS,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC5C,WAAW,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAC5C,OAAO,CAAC,EAAM,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAM,MAAM,CAAC;IACnB,IAAI,EAAQ,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAK,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAW,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAa,MAAM,CAAC;IACxB,MAAM,CAAC,EAAU,MAAM,CAAC;IACxB,MAAM,CAAC,EAAU,MAAM,CAAC;IACxB,MAAM,CAAC,EAAU,MAAM,CAAC;IACxB,OAAO,CAAC,EAAS,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAG,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAOD,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAW,QAAQ,CAAC;IACzB,OAAO,CAAC,EAAQ,GAAG,CAAC;IACpB,OAAO,CAAC,EAAQ,kBAAkB,GAAG,iBAAiB,CAAC;IACvD,SAAS,CAAC,EAAM,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -3,9 +3,11 @@ import { Result, Schema, ValidationError } from 'express-validator';
3
3
  import { DefaultSchemaKeys } from 'express-validator/lib/middlewares/schema';
4
4
  export declare const idSchema: Schema<DefaultSchemaKeys>;
5
5
  /**
6
+ * Formats express-validator errors into the app's standard error result.
6
7
  *
7
- * @param {*} errors
8
- * @returns
8
+ * @param errors the express-validator result set
9
+ * @returns an {@link ExpressErrorResult} carrying the offending fields plus the
10
+ * `INCORRECT_DATA` response code
9
11
  */
10
12
  export declare function formatErrors(errors: Result<ValidationError>): ExpressErrorResult;
11
13
  //# sourceMappingURL=validators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/routes/validators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAmB,sBAAsB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAoB,0CAA0C,CAAC;AAG3F,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAE9C,CAAC;AAIF;;;;GAIG;AACF,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,kBAAkB,CAGjF"}
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/routes/validators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAmB,sBAAsB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAoB,0CAA0C,CAAC;AAG3F,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAE9C,CAAC;AAIF;;;;;;GAMG;AACF,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,kBAAkB,CAGjF"}
@@ -7,9 +7,11 @@ exports.idSchema = {
7
7
  id: { in: ['body', 'params', 'query'], isMongoId: true }
8
8
  };
9
9
  /**
10
+ * Formats express-validator errors into the app's standard error result.
10
11
  *
11
- * @param {*} errors
12
- * @returns
12
+ * @param errors the express-validator result set
13
+ * @returns an {@link ExpressErrorResult} carrying the offending fields plus the
14
+ * `INCORRECT_DATA` response code
13
15
  */
14
16
  function formatErrors(errors) {
15
17
  return { result: Object.assign({ fields: errors.array().map((e) => e.params) }, constants_1.RES_CODE.INCORRECT_DATA) };
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/routes/validators.ts"],"names":[],"mappings":";;;AAiBC,oCAGA;AAhBD,4CAA+D;AAElD,QAAA,QAAQ,GAA8B;IACjD,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;CACzD,CAAC;AAIF;;;;GAIG;AACF,SAAgB,YAAY,CAAC,MAA+B;IAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,oBAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;AAClH,CAAC"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/routes/validators.ts"],"names":[],"mappings":";;;AAmBC,oCAGA;AAlBD,4CAA+D;AAElD,QAAA,QAAQ,GAA8B;IACjD,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE;CACzD,CAAC;AAIF;;;;;;GAMG;AACF,SAAgB,YAAY,CAAC,MAA+B;IAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,oBAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;AAClH,CAAC"}
@@ -1,5 +1,24 @@
1
+ /**
2
+ * Password hashing helper (scrypt with a per-password random salt).
3
+ *
4
+ * Stored form is `<hashHex>.<saltHex>`; {@link Password.compare} re-derives the
5
+ * hash with the embedded salt to verify a candidate.
6
+ */
1
7
  export declare class Password {
8
+ /**
9
+ * Hashes a plaintext password with a fresh random salt.
10
+ *
11
+ * @param password the plaintext password
12
+ * @returns the stored representation `<hashHex>.<saltHex>`
13
+ */
2
14
  static toHash(password: string): Promise<string>;
15
+ /**
16
+ * Verifies a candidate password against a stored `<hash>.<salt>` value.
17
+ *
18
+ * @param storedPassword the stored `<hashHex>.<saltHex>` value
19
+ * @param suppliedPassword the plaintext candidate to check
20
+ * @returns `true` when the candidate matches
21
+ */
3
22
  static compare(storedPassword: string, suppliedPassword: string): Promise<boolean>;
4
23
  }
5
24
  //# sourceMappingURL=password.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../src/services/password.ts"],"names":[],"mappings":"AAKA,qBAAa,QAAQ;WAEN,MAAM,CAAC,QAAQ,EAAE,MAAM;WAQvB,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM;CAMtE"}
1
+ {"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../src/services/password.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,qBAAa,QAAQ;IAEnB;;;;;OAKG;WACU,MAAM,CAAC,QAAQ,EAAE,MAAM;IAQpC;;;;;;OAMG;WACU,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM;CAMtE"}
@@ -4,12 +4,31 @@ exports.Password = void 0;
4
4
  const crypto_1 = require("crypto");
5
5
  const util_1 = require("util");
6
6
  const scriptAsync = (0, util_1.promisify)(crypto_1.scrypt);
7
+ /**
8
+ * Password hashing helper (scrypt with a per-password random salt).
9
+ *
10
+ * Stored form is `<hashHex>.<saltHex>`; {@link Password.compare} re-derives the
11
+ * hash with the embedded salt to verify a candidate.
12
+ */
7
13
  class Password {
14
+ /**
15
+ * Hashes a plaintext password with a fresh random salt.
16
+ *
17
+ * @param password the plaintext password
18
+ * @returns the stored representation `<hashHex>.<saltHex>`
19
+ */
8
20
  static async toHash(password) {
9
21
  const salt = (0, crypto_1.randomBytes)(8).toString('hex');
10
22
  const buf = (await scriptAsync(password, salt, 64));
11
23
  return `${buf.toString('hex')}.${salt}`;
12
24
  }
25
+ /**
26
+ * Verifies a candidate password against a stored `<hash>.<salt>` value.
27
+ *
28
+ * @param storedPassword the stored `<hashHex>.<saltHex>` value
29
+ * @param suppliedPassword the plaintext candidate to check
30
+ * @returns `true` when the candidate matches
31
+ */
13
32
  static async compare(storedPassword, suppliedPassword) {
14
33
  const [hashedPassword, salt] = storedPassword.split('.');
15
34
  const buf = (await scriptAsync(suppliedPassword, salt, 64));
@@ -1 +1 @@
1
- {"version":3,"file":"password.js","sourceRoot":"","sources":["../../src/services/password.ts"],"names":[],"mappings":";;;AAAA,mCAA6C;AAC7C,+BAA2C;AAE3C,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAC,eAAM,CAAC,CAAC;AAEtC,MAAa,QAAQ;IAEnB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAgB;QAElC,MAAM,IAAI,GAAG,IAAA,oBAAW,EAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAI,CAAC,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAW,CAAC;QAE/D,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAsB,EAAE,gBAAwB;QACnE,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,GAAG,GAAsB,CAAC,MAAM,WAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,CAAC,CAAW,CAAC;QAEzF,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,cAAc,CAAC;IAChD,CAAC;CACF;AAhBD,4BAgBC"}
1
+ {"version":3,"file":"password.js","sourceRoot":"","sources":["../../src/services/password.ts"],"names":[],"mappings":";;;AAAA,mCAA6C;AAC7C,+BAA2C;AAE3C,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAC,eAAM,CAAC,CAAC;AAEtC;;;;;GAKG;AACH,MAAa,QAAQ;IAEnB;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAgB;QAElC,MAAM,IAAI,GAAG,IAAA,oBAAW,EAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAI,CAAC,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAW,CAAC;QAE/D,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAsB,EAAE,gBAAwB;QACnE,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,GAAG,GAAsB,CAAC,MAAM,WAAW,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,CAAC,CAAW,CAAC;QAEzF,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,cAAc,CAAC;IAChD,CAAC;CACF;AA7BD,4BA6BC"}
@@ -28,15 +28,21 @@ export declare function buildMongoDBConfig(): Promise<AppMongoDB>;
28
28
  */
29
29
  export declare function readEnv(dir: string): void;
30
30
  /**
31
+ * Converts a Mongoose document to a plain attributes object.
31
32
  *
32
- * @param item
33
- * @returns
33
+ * Runs `toObject` (applying schema getters by default, e.g. field decryption),
34
+ * then exposes the `_id` as a string `id`. Returns `null` when `item` is nullish.
35
+ *
36
+ * @param item the Mongoose document to flatten
37
+ * @param getters whether to apply schema getters (default `true`)
38
+ * @returns the plain object with a string `id`, or `null`
34
39
  */
35
40
  export declare function docToAttrs(item: BaseMongoDoc, getters?: boolean): NxObject | null;
36
41
  /**
42
+ * Checks whether a filesystem path exists and is accessible.
37
43
  *
38
- * @param path
39
- * @returns
44
+ * @param path absolute or relative path (an empty string returns `false`)
45
+ * @returns `true` if the path can be accessed, `false` otherwise
40
46
  */
41
47
  export declare function pathExists(path?: string): Promise<boolean>;
42
48
  /**
@@ -49,8 +55,14 @@ export declare function pathExists(path?: string): Promise<boolean>;
49
55
  */
50
56
  export declare function parseDurationMs(input?: string | number): number | undefined;
51
57
  /**
58
+ * Discovers and imports the nx-app module init files at bootstrap.
59
+ *
60
+ * Recursively scans `dir` for files whose name contains `fname` and imports each
61
+ * one so its side effects (model/listener/publisher registration) run. Import
62
+ * failures are logged but do not abort the scan.
52
63
  *
53
- * @param dir
64
+ * @param dir root directory to scan (default `'nx-app'`)
65
+ * @param fname init filename fragment to match (default `'init.'`)
54
66
  */
55
67
  export declare function findAndImportInitFiles(dir?: string, fname?: string): Promise<void>;
56
68
  /**
@@ -73,31 +85,38 @@ export declare function findAndImportGraphqlSchemas(dir?: string): Promise<void>
73
85
  */
74
86
  export declare function findFilesRecursive(dir: string, fname: string): string[];
75
87
  /**
88
+ * Resolves an entity's i18n `name`/`description` to plain strings for a language.
76
89
  *
77
- * @param item
78
- * @param lang
79
- * @returns
90
+ * @param item the entity whose i18n fields are collapsed in place
91
+ * @param lang target language code (e.g. `'it'`, `'en'`)
92
+ * @returns the same entity with `name`/`description` as plain strings
80
93
  */
81
94
  export declare function getI18nEntityStrings(item: BaseI18nEntity, lang: string): BaseI18nEntity;
82
95
  /**
96
+ * Wraps an entity's plain `name`/`description` into the i18n map for a language.
97
+ *
98
+ * Inverse of {@link getI18nEntityStrings}: used before persisting so a plain
99
+ * string becomes `{ [lang]: value }`.
83
100
  *
84
- * @param item
85
- * @param lang
86
- * @returns
101
+ * @param item the entity whose fields are wrapped in place
102
+ * @param lang language code to key the values under
103
+ * @returns the same entity with i18n `name`/`description`
87
104
  */
88
105
  export declare function setI18nEntityStrings(item: BaseI18nEntity, lang: string): BaseI18nEntity;
89
106
  /**
107
+ * Reads a single i18n value for a language from an i18n map or plain string.
90
108
  *
91
- * @param str
92
- * @param lang
93
- * @returns
109
+ * @param input the i18n map (`{ lang: value }`) or an already-plain string
110
+ * @param lang target language code
111
+ * @returns the value for `lang`, the plain string as-is, or `''` when absent
94
112
  */
95
113
  export declare function getEntityI18nString(input: NxTypeObject<string> | string, lang: string): string;
96
114
  /**
115
+ * Wraps a plain string into an i18n map keyed by language.
97
116
  *
98
- * @param input
99
- * @param lang
100
- * @returns
117
+ * @param input a plain string, or an already-i18n map (returned unchanged)
118
+ * @param lang language code to key the value under
119
+ * @returns the i18n map `{ [lang]: value }`
101
120
  */
102
121
  export declare function setEntityI18nString(input: NxTypeObject<string> | string, lang: string): NxTypeObject<string>;
103
122
  /**
@@ -109,21 +128,33 @@ export declare function setEntityI18nString(input: NxTypeObject<string> | string
109
128
  */
110
129
  export declare function setTenant(item: NxObject, user?: BaseUser, applyDefaultForAdmin?: boolean): void;
111
130
  /**
131
+ * Scopes a query filter to the user's tenant (multi-tenancy guard).
112
132
  *
113
- * @param item
114
- * @param user
133
+ * Config/admin roles (`CONFIG_ROLES`) are left unscoped so they can query across
134
+ * tenants; every other user gets `tenantId` forced to their first organization.
135
+ * Throws when a non-admin user has no organization.
136
+ *
137
+ * @param item the query filter object, mutated in place
138
+ * @param user the authenticated user (roles + organizations)
115
139
  */
116
140
  export declare function setTenantFilter(item: any, user?: BaseUser): void;
117
141
  /**
142
+ * Returns the user's tenant id (their first organization).
118
143
  *
119
- * @param user
120
- * @returns
144
+ * @param user the authenticated user
145
+ * @returns the tenant id
146
+ * @throws if the user has no organization
121
147
  */
122
148
  export declare function getTenant(user?: BaseUser): string | undefined;
123
149
  /**
150
+ * Validates and normalises an absolute http(s) URL (SSRF guard).
151
+ *
152
+ * Requires an explicit `http`/`https` protocol and rejects loopback hosts
153
+ * (`localhost`/`127.0.0.1`) to prevent server-side request forgery.
124
154
  *
125
- * @param input
126
- * @returns
155
+ * @param input the URL to validate
156
+ * @returns the parsed, normalised URL string
157
+ * @throws `Invalid URL` when malformed, `Forbidden URL` when pointing at loopback
127
158
  */
128
159
  export declare function validateUrl(input: string): string;
129
160
  //# sourceMappingURL=functs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"functs.d.ts","sourceRoot":"","sources":["../../src/utils/functs.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAe,UAAU,EAAE,MAAqB,sBAAsB,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAiB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAyC,wDAAwD,CAAC;AAEzH,OAAO,EAAE,cAAc,EAAE,MAAuC,eAAe,CAAC;AAIhF;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAwH9D;AA6BD;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC,CA0B9D;AA8BD;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAgBzC;AA8BD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,GAAE,OAAc,GAAG,QAAQ,GAAG,IAAI,CASvF;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,IAAI,GAAE,MAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAYpE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAmB3E;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,GAAE,MAAiB,EAAE,KAAK,GAAE,MAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB3G;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,2BAA2B,CAAC,GAAG,GAAE,MAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCvF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBvE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAOvF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAMvF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAS9F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAS5G;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,oBAAoB,UAAQ,GAAG,IAAI,CAc7F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAShE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAM7D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmBjD"}
1
+ {"version":3,"file":"functs.d.ts","sourceRoot":"","sources":["../../src/utils/functs.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAe,UAAU,EAAE,MAAqB,sBAAsB,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAiB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAyC,wDAAwD,CAAC;AAEzH,OAAO,EAAE,cAAc,EAAE,MAAuC,eAAe,CAAC;AAIhF;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAwH9D;AAiCD;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC,CA0B9D;AA8BD;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAgBzC;AA8BD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,GAAE,OAAc,GAAG,QAAQ,GAAG,IAAI,CASvF;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,GAAE,MAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAYpE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAmB3E;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,GAAE,MAAiB,EAAE,KAAK,GAAE,MAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB3G;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,2BAA2B,CAAC,GAAG,GAAE,MAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCvF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBvE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAOvF;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAMvF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAS9F;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAS5G;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,oBAAoB,UAAQ,GAAG,IAAI,CAc7F;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAShE;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAM7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAmBjD"}