@flusys/nestjs-shared 9.1.1 → 9.2.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 (46) hide show
  1. package/README.md +119 -18
  2. package/classes/api-controller.class.d.ts +1 -0
  3. package/classes/api-service.class.d.ts +7 -2
  4. package/classes/hybrid-cache.class.d.ts +17 -4
  5. package/constants/index.d.ts +1 -0
  6. package/constants/permissions.d.ts +9 -0
  7. package/fesm/183.js +7 -7
  8. package/fesm/47.js +1520 -0
  9. package/fesm/470.js +333 -382
  10. package/fesm/667.js +17 -17
  11. package/fesm/681.js +326 -129
  12. package/fesm/{948.js → 997.js} +45 -23
  13. package/fesm/chunks/123.js +17 -9
  14. package/fesm/chunks/37.js +5 -5
  15. package/fesm/classes/index.js +4 -3
  16. package/fesm/constants/index.js +18 -7
  17. package/fesm/decorators/index.js +120 -39
  18. package/fesm/dtos/index.js +1 -1
  19. package/fesm/entities/index.js +8 -8
  20. package/fesm/enums/index.js +2 -2
  21. package/fesm/exceptions/index.js +12 -12
  22. package/fesm/guards/index.js +201 -68
  23. package/fesm/index.js +95 -42
  24. package/fesm/interceptors/index.js +290 -590
  25. package/fesm/interfaces/index.js +97 -8
  26. package/fesm/middlewares/index.js +4 -4
  27. package/fesm/modules/index.js +2 -2
  28. package/fesm/pipes/index.js +8 -8
  29. package/fesm/utils/index.js +150 -478
  30. package/interceptors/idempotency.interceptor.d.ts +14 -2
  31. package/interceptors/slug.interceptor.d.ts +1 -0
  32. package/interfaces/expression.interface.d.ts +45 -0
  33. package/interfaces/index.d.ts +1 -0
  34. package/interfaces/permission-action-registry.interface.d.ts +1 -0
  35. package/interfaces/permission.interface.d.ts +1 -0
  36. package/modules/shared-permission-cache/shared-permission-cache.service.d.ts +3 -1
  37. package/modules/utils/utils.service.d.ts +6 -6
  38. package/package.json +3 -2
  39. package/utils/date-time.util.d.ts +0 -1
  40. package/utils/event-pattern.util.d.ts +1 -0
  41. package/utils/expression.util.d.ts +35 -0
  42. package/utils/index.d.ts +2 -0
  43. package/utils/permission-cache-key.util.d.ts +3 -0
  44. package/utils/query-helpers.util.d.ts +2 -2
  45. package/utils/safe-regex.util.d.ts +10 -0
  46. package/fesm/270.js +0 -659
@@ -1,7 +1,74 @@
1
1
  export const __rspack_esm_id = 471;
2
2
  export const __rspack_esm_ids = [471];
3
3
  export const __webpack_modules__ = {
4
- 85(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
4
+ 6079(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
5
+ const EXPRESSION_ARITHMETIC_OPS = [
6
+ 'sum',
7
+ 'subtract',
8
+ 'multiply',
9
+ 'divide',
10
+ 'modulo',
11
+ 'power',
12
+ 'average',
13
+ 'min',
14
+ 'max'
15
+ ];
16
+ const EXPRESSION_COMPARISONS = [
17
+ 'equals',
18
+ 'not_equals',
19
+ 'greater_than',
20
+ 'less_than',
21
+ 'greater_or_equal',
22
+ 'less_or_equal',
23
+ 'contains',
24
+ 'not_contains',
25
+ 'starts_with',
26
+ 'ends_with',
27
+ 'in',
28
+ 'not_in',
29
+ 'is_empty',
30
+ 'is_not_empty',
31
+ 'is_true',
32
+ 'is_false',
33
+ 'matches',
34
+ 'not_matches'
35
+ ];
36
+ /** Comparisons that only look at the left side. */ const UNARY_EXPRESSION_COMPARISONS = [
37
+ 'is_empty',
38
+ 'is_not_empty',
39
+ 'is_true',
40
+ 'is_false'
41
+ ];
42
+ const EXPRESSION_DURATION_UNITS = [
43
+ 'second',
44
+ 'minute',
45
+ 'hour',
46
+ 'day',
47
+ 'week',
48
+ 'month',
49
+ 'year'
50
+ ];
51
+ const EXPRESSION_DATE_PARTS = [
52
+ 'year',
53
+ 'month',
54
+ 'day',
55
+ 'weekday',
56
+ 'hour',
57
+ 'minute'
58
+ ];
59
+
60
+ __webpack_require__.d(__webpack_exports__, {
61
+ }, {
62
+ Me: EXPRESSION_COMPARISONS,
63
+ Vq: EXPRESSION_DATE_PARTS,
64
+ YH: EXPRESSION_DURATION_UNITS,
65
+ dL: EXPRESSION_ARITHMETIC_OPS,
66
+ kA: UNARY_EXPRESSION_COMPARISONS
67
+ });
68
+
69
+
70
+ },
71
+ 5965(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
5
72
 
6
73
  // EXPORTS
7
74
  __webpack_require__.d(__webpack_exports__, {
@@ -12,10 +79,15 @@ __webpack_require__.d(__webpack_exports__, {
12
79
  i1: () => (/* reexport */ COMPANY_ACCESS_RESOLVER),
13
80
  Ti: () => (/* reexport */ EMAIL_ADAPTER),
14
81
  LO: () => (/* reexport */ EVENT_MANAGER_ADAPTER),
82
+ dL: () => (/* reexport */ expression_interface/* .EXPRESSION_ARITHMETIC_OPS */.dL),
83
+ Me: () => (/* reexport */ expression_interface/* .EXPRESSION_COMPARISONS */.Me),
84
+ Vq: () => (/* reexport */ expression_interface/* .EXPRESSION_DATE_PARTS */.Vq),
85
+ YH: () => (/* reexport */ expression_interface/* .EXPRESSION_DURATION_UNITS */.YH),
15
86
  KR: () => (/* reexport */ NOTIFICATION_ADAPTER),
16
87
  VG: () => (/* reexport */ PERMISSION_ACTION_REGISTRY),
17
- jd: () => (/* reexport */ PERMISSION_RESOLVER),
18
- kF: () => (/* reexport */ PERMISSION_SYNC_ADAPTER)
88
+ jd: () => (/* reexport */ permission_resolver_interface/* .PERMISSION_RESOLVER */.j),
89
+ kF: () => (/* reexport */ PERMISSION_SYNC_ADAPTER),
90
+ kA: () => (/* reexport */ expression_interface/* .UNARY_EXPRESSION_COMPARISONS */.kA)
19
91
  });
20
92
 
21
93
  ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/interfaces/ai-assistant-adapter.interface.ts
@@ -35,15 +107,16 @@ const EMAIL_ADAPTER = 'EMAIL_ADAPTER';
35
107
  ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/interfaces/event-manager-adapter.interface.ts
36
108
  const EVENT_MANAGER_ADAPTER = 'EVENT_MANAGER_ADAPTER';
37
109
 
110
+ // EXTERNAL MODULE: ./projects/nestjs-shared/src/interfaces/expression.interface.ts
111
+ var expression_interface = __webpack_require__(6079);
38
112
  ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/interfaces/notification-adapter.interface.ts
39
113
  const NOTIFICATION_ADAPTER = 'NOTIFICATION_ADAPTER';
40
114
 
41
115
  ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/interfaces/permission-action-registry.interface.ts
42
116
  const PERMISSION_ACTION_REGISTRY = 'PERMISSION_ACTION_REGISTRY';
43
117
 
44
- ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/interfaces/permission-resolver.interface.ts
45
- const PERMISSION_RESOLVER = 'PERMISSION_RESOLVER';
46
-
118
+ // EXTERNAL MODULE: ./projects/nestjs-shared/src/interfaces/permission-resolver.interface.ts
119
+ var permission_resolver_interface = __webpack_require__(1647);
47
120
  ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/interfaces/permission-sync-adapter.interface.ts
48
121
  const PERMISSION_SYNC_ADAPTER = 'PERMISSION_SYNC_ADAPTER';
49
122
 
@@ -67,6 +140,17 @@ const PERMISSION_SYNC_ADAPTER = 'PERMISSION_SYNC_ADAPTER';
67
140
 
68
141
 
69
142
 
143
+
144
+ },
145
+ 1647(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
146
+ const PERMISSION_RESOLVER = 'PERMISSION_RESOLVER';
147
+
148
+ __webpack_require__.d(__webpack_exports__, {
149
+ }, {
150
+ j: PERMISSION_RESOLVER
151
+ });
152
+
153
+
70
154
  },
71
155
 
72
156
  };
@@ -74,15 +158,20 @@ import { __webpack_require__ } from '../runtime.js';
74
158
  var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
75
159
  import * as __rspack_chunk_1 from './index.js';
76
160
  __webpack_require__.C(__rspack_chunk_1);
77
- var __webpack_exports__ = __webpack_exec__(85);var __webpack_exports__AI_ASSISTANT_AUTH_PROVIDER = __webpack_exports__.Fi;
161
+ var __webpack_exports__ = __webpack_exec__(5965);var __webpack_exports__AI_ASSISTANT_AUTH_PROVIDER = __webpack_exports__.Fi;
78
162
  var __webpack_exports__AI_ASSISTANT_TOOL_PROVIDER = __webpack_exports__.Hb;
79
163
  var __webpack_exports__AI_ASSISTANT_USER_LOOKUP_PROVIDER = __webpack_exports__.T4;
80
164
  var __webpack_exports__BRANCH_HIERARCHY_RESOLVER = __webpack_exports__.__;
81
165
  var __webpack_exports__COMPANY_ACCESS_RESOLVER = __webpack_exports__.i1;
82
166
  var __webpack_exports__EMAIL_ADAPTER = __webpack_exports__.Ti;
83
167
  var __webpack_exports__EVENT_MANAGER_ADAPTER = __webpack_exports__.LO;
168
+ var __webpack_exports__EXPRESSION_ARITHMETIC_OPS = __webpack_exports__.dL;
169
+ var __webpack_exports__EXPRESSION_COMPARISONS = __webpack_exports__.Me;
170
+ var __webpack_exports__EXPRESSION_DATE_PARTS = __webpack_exports__.Vq;
171
+ var __webpack_exports__EXPRESSION_DURATION_UNITS = __webpack_exports__.YH;
84
172
  var __webpack_exports__NOTIFICATION_ADAPTER = __webpack_exports__.KR;
85
173
  var __webpack_exports__PERMISSION_ACTION_REGISTRY = __webpack_exports__.VG;
86
174
  var __webpack_exports__PERMISSION_RESOLVER = __webpack_exports__.jd;
87
175
  var __webpack_exports__PERMISSION_SYNC_ADAPTER = __webpack_exports__.kF;
88
- export { __webpack_exports__AI_ASSISTANT_AUTH_PROVIDER as AI_ASSISTANT_AUTH_PROVIDER, __webpack_exports__AI_ASSISTANT_TOOL_PROVIDER as AI_ASSISTANT_TOOL_PROVIDER, __webpack_exports__AI_ASSISTANT_USER_LOOKUP_PROVIDER as AI_ASSISTANT_USER_LOOKUP_PROVIDER, __webpack_exports__BRANCH_HIERARCHY_RESOLVER as BRANCH_HIERARCHY_RESOLVER, __webpack_exports__COMPANY_ACCESS_RESOLVER as COMPANY_ACCESS_RESOLVER, __webpack_exports__EMAIL_ADAPTER as EMAIL_ADAPTER, __webpack_exports__EVENT_MANAGER_ADAPTER as EVENT_MANAGER_ADAPTER, __webpack_exports__NOTIFICATION_ADAPTER as NOTIFICATION_ADAPTER, __webpack_exports__PERMISSION_ACTION_REGISTRY as PERMISSION_ACTION_REGISTRY, __webpack_exports__PERMISSION_RESOLVER as PERMISSION_RESOLVER, __webpack_exports__PERMISSION_SYNC_ADAPTER as PERMISSION_SYNC_ADAPTER };
176
+ var __webpack_exports__UNARY_EXPRESSION_COMPARISONS = __webpack_exports__.kA;
177
+ export { __webpack_exports__AI_ASSISTANT_AUTH_PROVIDER as AI_ASSISTANT_AUTH_PROVIDER, __webpack_exports__AI_ASSISTANT_TOOL_PROVIDER as AI_ASSISTANT_TOOL_PROVIDER, __webpack_exports__AI_ASSISTANT_USER_LOOKUP_PROVIDER as AI_ASSISTANT_USER_LOOKUP_PROVIDER, __webpack_exports__BRANCH_HIERARCHY_RESOLVER as BRANCH_HIERARCHY_RESOLVER, __webpack_exports__COMPANY_ACCESS_RESOLVER as COMPANY_ACCESS_RESOLVER, __webpack_exports__EMAIL_ADAPTER as EMAIL_ADAPTER, __webpack_exports__EVENT_MANAGER_ADAPTER as EVENT_MANAGER_ADAPTER, __webpack_exports__EXPRESSION_ARITHMETIC_OPS as EXPRESSION_ARITHMETIC_OPS, __webpack_exports__EXPRESSION_COMPARISONS as EXPRESSION_COMPARISONS, __webpack_exports__EXPRESSION_DATE_PARTS as EXPRESSION_DATE_PARTS, __webpack_exports__EXPRESSION_DURATION_UNITS as EXPRESSION_DURATION_UNITS, __webpack_exports__NOTIFICATION_ADAPTER as NOTIFICATION_ADAPTER, __webpack_exports__PERMISSION_ACTION_REGISTRY as PERMISSION_ACTION_REGISTRY, __webpack_exports__PERMISSION_RESOLVER as PERMISSION_RESOLVER, __webpack_exports__PERMISSION_SYNC_ADAPTER as PERMISSION_SYNC_ADAPTER, __webpack_exports__UNARY_EXPRESSION_COMPARISONS as UNARY_EXPRESSION_COMPARISONS };
@@ -1,8 +1,8 @@
1
1
  export const __rspack_esm_id = 548;
2
2
  export const __rspack_esm_ids = [548];
3
3
  export const __webpack_modules__ = {
4
- 799(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
5
- /* import */ var _logger_middleware_js__rspack_import_0 = __webpack_require__(591);
4
+ 6799(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
5
+ /* import */ var _logger_middleware_js__rspack_import_0 = __webpack_require__(8244);
6
6
 
7
7
 
8
8
  __webpack_require__.d(__webpack_exports__, {
@@ -21,11 +21,11 @@ __webpack_require__.d(__webpack_exports__, {
21
21
  };
22
22
  import { __webpack_require__ } from '../runtime.js';
23
23
  var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
24
- import * as __rspack_chunk_1 from '../948.js';
24
+ import * as __rspack_chunk_1 from '../997.js';
25
25
  __webpack_require__.C(__rspack_chunk_1);
26
26
  import * as __rspack_chunk_2 from './index.js';
27
27
  __webpack_require__.C(__rspack_chunk_2);
28
- var __webpack_exports__ = __webpack_exec__(799);var __webpack_exports__LoggerMiddleware = __webpack_exports__.pq;
28
+ var __webpack_exports__ = __webpack_exec__(6799);var __webpack_exports__LoggerMiddleware = __webpack_exports__.pq;
29
29
  var __webpack_exports__getCompanyId = __webpack_exports__.xR;
30
30
  var __webpack_exports__getRequestId = __webpack_exports__.RE;
31
31
  var __webpack_exports__getTenantId = __webpack_exports__.EO;
@@ -3,7 +3,7 @@ export const __rspack_esm_ids = [900];
3
3
  export const __webpack_modules__ = {};
4
4
  import { __webpack_require__ } from '../runtime.js';
5
5
  var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
6
- import * as __rspack_chunk_1 from '../948.js';
6
+ import * as __rspack_chunk_1 from '../997.js';
7
7
  __webpack_require__.C(__rspack_chunk_1);
8
8
  import * as __rspack_chunk_2 from '../681.js';
9
9
  __webpack_require__.C(__rspack_chunk_2);
@@ -11,7 +11,7 @@ import * as __rspack_chunk_3 from '../667.js';
11
11
  __webpack_require__.C(__rspack_chunk_3);
12
12
  import * as __rspack_chunk_4 from './index.js';
13
13
  __webpack_require__.C(__rspack_chunk_4);
14
- var __webpack_exports__ = __webpack_exec__(686);var __webpack_exports__CacheModule = __webpack_exports__.vd;
14
+ var __webpack_exports__ = __webpack_exec__(1686);var __webpack_exports__CacheModule = __webpack_exports__.vd;
15
15
  var __webpack_exports__EventBusExplorer = __webpack_exports__.K6;
16
16
  var __webpack_exports__EventBusModule = __webpack_exports__.Zv;
17
17
  var __webpack_exports__MultiTenantDataSourceService = __webpack_exports__.Ct;
@@ -3,7 +3,7 @@ import * as __rspack_external_class_validator_7b99ef4d from "class-validator";
3
3
  export const __rspack_esm_id = 360;
4
4
  export const __rspack_esm_ids = [360];
5
5
  export const __webpack_modules__ = {
6
- 389(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
6
+ 4389(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
7
7
  // ==================== AUTH (Shared across guards/interceptors) ====================
8
8
  // These are duplicated in nestjs-auth but needed here to avoid circular dependencies
9
9
  const AUTH_MESSAGES = {
@@ -63,7 +63,7 @@ __webpack_require__.d(__webpack_exports__, {
63
63
 
64
64
 
65
65
  },
66
- 928(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
66
+ 3928(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
67
67
 
68
68
  // EXPORTS
69
69
  __webpack_require__.d(__webpack_exports__, {
@@ -73,11 +73,11 @@ __webpack_require__.d(__webpack_exports__, {
73
73
  });
74
74
 
75
75
  // EXTERNAL MODULE: external "@nestjs/common"
76
- var common_ = __webpack_require__(157);
76
+ var common_ = __webpack_require__(6157);
77
77
  // EXTERNAL MODULE: external "class-validator"
78
- var external_class_validator_ = __webpack_require__(421);
78
+ var external_class_validator_ = __webpack_require__(5421);
79
79
  // EXTERNAL MODULE: ./projects/nestjs-shared/src/constants/message-keys.ts
80
- var message_keys = __webpack_require__(389);
80
+ var message_keys = __webpack_require__(4389);
81
81
  ;// CONCATENATED MODULE: ./projects/nestjs-shared/src/pipes/dto-body-validation.pipe.ts
82
82
 
83
83
 
@@ -172,13 +172,13 @@ function declaresProperty(dto, key) {
172
172
 
173
173
 
174
174
  },
175
- 157(module) {
175
+ 6157(module) {
176
176
 
177
177
  module.exports = __rspack_external__nestjs_common_a04939da;
178
178
 
179
179
 
180
180
  },
181
- 421(module) {
181
+ 5421(module) {
182
182
 
183
183
  module.exports = __rspack_external_class_validator_7b99ef4d;
184
184
 
@@ -190,7 +190,7 @@ import { __webpack_require__ } from '../runtime.js';
190
190
  var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
191
191
  import * as __rspack_chunk_1 from './index.js';
192
192
  __webpack_require__.C(__rspack_chunk_1);
193
- var __webpack_exports__ = __webpack_exec__(928);var __webpack_exports__AUDIT_BODY_KEYS = __webpack_exports__.gG;
193
+ var __webpack_exports__ = __webpack_exec__(3928);var __webpack_exports__AUDIT_BODY_KEYS = __webpack_exports__.gG;
194
194
  var __webpack_exports__DEFAULT_VALIDATION_OPTIONS = __webpack_exports__.d0;
195
195
  var __webpack_exports__DtoBodyValidationPipe = __webpack_exports__.zT;
196
196
  export { __webpack_exports__AUDIT_BODY_KEYS as AUDIT_BODY_KEYS, __webpack_exports__DEFAULT_VALIDATION_OPTIONS as DEFAULT_VALIDATION_OPTIONS, __webpack_exports__DtoBodyValidationPipe as DtoBodyValidationPipe };