@flusys/nestjs-iam 7.0.2 → 8.0.0-beta.1

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 (173) hide show
  1. package/config/index.d.ts +3 -3
  2. package/controllers/action.controller.d.ts +4 -4
  3. package/controllers/company-action-permission.controller.d.ts +2 -2
  4. package/controllers/index.d.ts +6 -6
  5. package/controllers/my-permission.controller.d.ts +3 -3
  6. package/controllers/role-permission.controller.d.ts +4 -4
  7. package/controllers/role.controller.d.ts +2 -2
  8. package/controllers/user-action-permission.controller.d.ts +4 -4
  9. package/docs/iam-swagger.config.d.ts +2 -2
  10. package/docs/index.d.ts +1 -1
  11. package/dtos/action.dto.d.ts +2 -2
  12. package/dtos/index.d.ts +3 -3
  13. package/entities/action.entity.d.ts +2 -2
  14. package/entities/index.d.ts +11 -11
  15. package/entities/permission-with-company.entity.d.ts +1 -1
  16. package/entities/role-with-company.entity.d.ts +1 -1
  17. package/entities/role.entity.d.ts +1 -1
  18. package/entities/user-iam-permission.entity.d.ts +1 -1
  19. package/enums/index.d.ts +4 -4
  20. package/fesm/284.js +1262 -0
  21. package/fesm/867.js +3699 -0
  22. package/fesm/chunks/364.js +86 -0
  23. package/fesm/config/index.js +133 -3
  24. package/fesm/controllers/index.js +18 -7
  25. package/fesm/docs/index.js +240 -1
  26. package/fesm/dtos/index.js +1090 -3
  27. package/fesm/entities/index.js +670 -31
  28. package/fesm/enums/index.js +97 -4
  29. package/fesm/helpers/index.js +125 -2
  30. package/fesm/index.js +806 -11
  31. package/fesm/interfaces/index.js +17 -3
  32. package/fesm/modules/index.js +259 -1
  33. package/fesm/runtime.js +134 -0
  34. package/fesm/services/index.js +43 -6
  35. package/fesm/types/index.js +15 -1
  36. package/helpers/company-access.helper.d.ts +2 -2
  37. package/helpers/index.d.ts +2 -2
  38. package/helpers/permission-mode.helper.d.ts +1 -1
  39. package/index.d.ts +11 -11
  40. package/interfaces/action.interface.d.ts +2 -2
  41. package/interfaces/iam-module-options.interface.d.ts +3 -3
  42. package/interfaces/index.d.ts +3 -3
  43. package/modules/iam.module.d.ts +2 -2
  44. package/modules/index.d.ts +1 -1
  45. package/package.json +30 -37
  46. package/services/action.service.d.ts +9 -9
  47. package/services/iam-config.service.d.ts +4 -4
  48. package/services/iam-datasource.service.d.ts +3 -3
  49. package/services/index.d.ts +6 -6
  50. package/services/permission-cache.service.d.ts +5 -5
  51. package/services/permission.service.d.ts +4 -4
  52. package/services/role.service.d.ts +8 -8
  53. package/types/index.d.ts +1 -1
  54. package/cjs/config/event-actions.js +0 -36
  55. package/cjs/config/iam.constants.js +0 -11
  56. package/cjs/config/index.js +0 -20
  57. package/cjs/config/message-keys.js +0 -71
  58. package/cjs/controllers/action.controller.js +0 -174
  59. package/cjs/controllers/action.controller.spec.js +0 -79
  60. package/cjs/controllers/company-action-permission.controller.js +0 -119
  61. package/cjs/controllers/company-action-permission.controller.spec.js +0 -65
  62. package/cjs/controllers/index.js +0 -23
  63. package/cjs/controllers/my-permission.controller.js +0 -147
  64. package/cjs/controllers/my-permission.controller.spec.js +0 -128
  65. package/cjs/controllers/role-permission.controller.js +0 -191
  66. package/cjs/controllers/role-permission.controller.spec.js +0 -140
  67. package/cjs/controllers/role.controller.js +0 -102
  68. package/cjs/controllers/role.controller.spec.js +0 -86
  69. package/cjs/controllers/user-action-permission.controller.js +0 -129
  70. package/cjs/controllers/user-action-permission.controller.spec.js +0 -68
  71. package/cjs/docs/iam-swagger.config.js +0 -209
  72. package/cjs/docs/iam-swagger.config.spec.js +0 -99
  73. package/cjs/docs/index.js +0 -18
  74. package/cjs/dtos/action.dto.js +0 -282
  75. package/cjs/dtos/index.js +0 -21
  76. package/cjs/dtos/permission.dto.js +0 -637
  77. package/cjs/dtos/role.dto.js +0 -155
  78. package/cjs/entities/action.entity.js +0 -138
  79. package/cjs/entities/index.js +0 -80
  80. package/cjs/entities/index.spec.js +0 -56
  81. package/cjs/entities/permission-base.entity.js +0 -107
  82. package/cjs/entities/permission-with-company.entity.js +0 -100
  83. package/cjs/entities/role-base.entity.js +0 -80
  84. package/cjs/entities/role-with-company.entity.js +0 -55
  85. package/cjs/entities/role.entity.js +0 -25
  86. package/cjs/entities/user-iam-permission.entity.js +0 -43
  87. package/cjs/enums/action-type.enum.js +0 -22
  88. package/cjs/enums/iam-entity-type.enum.js +0 -17
  89. package/cjs/enums/iam-permission-type.enum.js +0 -17
  90. package/cjs/enums/index.js +0 -21
  91. package/cjs/enums/permission-type.enum.js +0 -16
  92. package/cjs/helpers/company-access.helper.js +0 -23
  93. package/cjs/helpers/company-access.helper.spec.js +0 -68
  94. package/cjs/helpers/index.js +0 -19
  95. package/cjs/helpers/permission-mode.helper.js +0 -49
  96. package/cjs/helpers/permission-mode.helper.spec.js +0 -54
  97. package/cjs/index.js +0 -28
  98. package/cjs/interfaces/action.interface.js +0 -4
  99. package/cjs/interfaces/iam-module-options.interface.js +0 -4
  100. package/cjs/interfaces/index.js +0 -20
  101. package/cjs/interfaces/role.interface.js +0 -7
  102. package/cjs/modules/iam.module.js +0 -186
  103. package/cjs/modules/iam.module.spec.js +0 -282
  104. package/cjs/modules/index.js +0 -18
  105. package/cjs/services/action.service.js +0 -337
  106. package/cjs/services/action.service.spec.js +0 -351
  107. package/cjs/services/iam-config.service.js +0 -87
  108. package/cjs/services/iam-config.service.spec.js +0 -110
  109. package/cjs/services/iam-datasource.service.js +0 -129
  110. package/cjs/services/iam-datasource.service.spec.js +0 -110
  111. package/cjs/services/index.js +0 -23
  112. package/cjs/services/permission-cache.service.js +0 -544
  113. package/cjs/services/permission-cache.service.spec.js +0 -718
  114. package/cjs/services/permission.service.js +0 -914
  115. package/cjs/services/permission.service.spec.js +0 -918
  116. package/cjs/services/role.service.js +0 -224
  117. package/cjs/services/role.service.spec.js +0 -347
  118. package/cjs/types/index.js +0 -18
  119. package/cjs/types/logic-node.type.js +0 -30
  120. package/fesm/config/event-actions.js +0 -15
  121. package/fesm/config/iam.constants.js +0 -1
  122. package/fesm/config/message-keys.js +0 -35
  123. package/fesm/controllers/action.controller.js +0 -164
  124. package/fesm/controllers/action.controller.spec.js +0 -75
  125. package/fesm/controllers/company-action-permission.controller.js +0 -109
  126. package/fesm/controllers/company-action-permission.controller.spec.js +0 -61
  127. package/fesm/controllers/my-permission.controller.js +0 -137
  128. package/fesm/controllers/my-permission.controller.spec.js +0 -124
  129. package/fesm/controllers/role-permission.controller.js +0 -181
  130. package/fesm/controllers/role-permission.controller.spec.js +0 -136
  131. package/fesm/controllers/role.controller.js +0 -92
  132. package/fesm/controllers/role.controller.spec.js +0 -82
  133. package/fesm/controllers/user-action-permission.controller.js +0 -119
  134. package/fesm/controllers/user-action-permission.controller.spec.js +0 -64
  135. package/fesm/docs/iam-swagger.config.js +0 -199
  136. package/fesm/docs/iam-swagger.config.spec.js +0 -95
  137. package/fesm/dtos/action.dto.js +0 -252
  138. package/fesm/dtos/permission.dto.js +0 -571
  139. package/fesm/dtos/role.dto.js +0 -134
  140. package/fesm/entities/action.entity.js +0 -128
  141. package/fesm/entities/index.spec.js +0 -52
  142. package/fesm/entities/permission-base.entity.js +0 -100
  143. package/fesm/entities/permission-with-company.entity.js +0 -90
  144. package/fesm/entities/role-base.entity.js +0 -70
  145. package/fesm/entities/role-with-company.entity.js +0 -45
  146. package/fesm/entities/role.entity.js +0 -15
  147. package/fesm/entities/user-iam-permission.entity.js +0 -33
  148. package/fesm/enums/action-type.enum.js +0 -12
  149. package/fesm/enums/iam-entity-type.enum.js +0 -7
  150. package/fesm/enums/iam-permission-type.enum.js +0 -7
  151. package/fesm/enums/permission-type.enum.js +0 -6
  152. package/fesm/helpers/company-access.helper.js +0 -18
  153. package/fesm/helpers/company-access.helper.spec.js +0 -64
  154. package/fesm/helpers/permission-mode.helper.js +0 -49
  155. package/fesm/helpers/permission-mode.helper.spec.js +0 -50
  156. package/fesm/interfaces/action.interface.js +0 -3
  157. package/fesm/interfaces/iam-module-options.interface.js +0 -3
  158. package/fesm/interfaces/role.interface.js +0 -4
  159. package/fesm/modules/iam.module.js +0 -176
  160. package/fesm/modules/iam.module.spec.js +0 -278
  161. package/fesm/services/action.service.js +0 -327
  162. package/fesm/services/action.service.spec.js +0 -347
  163. package/fesm/services/iam-config.service.js +0 -77
  164. package/fesm/services/iam-config.service.spec.js +0 -106
  165. package/fesm/services/iam-datasource.service.js +0 -78
  166. package/fesm/services/iam-datasource.service.spec.js +0 -106
  167. package/fesm/services/permission-cache.service.js +0 -527
  168. package/fesm/services/permission-cache.service.spec.js +0 -714
  169. package/fesm/services/permission.service.js +0 -904
  170. package/fesm/services/permission.service.spec.js +0 -914
  171. package/fesm/services/role.service.js +0 -214
  172. package/fesm/services/role.service.spec.js +0 -343
  173. package/fesm/types/logic-node.type.js +0 -27
@@ -1,55 +1,694 @@
1
- export * from './action.entity';
2
- export * from './permission-base.entity';
3
- export * from './role-base.entity';
4
- export * from './permission-with-company.entity';
5
- export * from './role-with-company.entity';
6
- export * from './role.entity';
7
- export * from './user-iam-permission.entity';
8
- import { Action } from './action.entity';
9
- import { UserIamPermissionWithCompany } from './permission-with-company.entity';
10
- import { RoleWithCompany } from './role-with-company.entity';
11
- import { Role } from './role.entity';
12
- import { UserIamPermission } from './user-iam-permission.entity';
1
+ import * as __rspack_external__flusys_nestjs_shared_393d2cae from "@flusys/nestjs-shared";
2
+ import * as __rspack_external_typeorm from "typeorm";
3
+ export const __rspack_esm_id = 604;
4
+ export const __rspack_esm_ids = [604];
5
+ export const __webpack_modules__ = {
6
+ 864(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
7
+ /* import */ var _flusys_nestjs_shared__rspack_import_0 = __webpack_require__(422);
8
+ /* import */ var typeorm__rspack_import_1 = __webpack_require__(158);
9
+ /* import */ var _enums_index_js__rspack_import_2 = __webpack_require__(560);
10
+ function _ts_decorate(decorators, target, key, desc) {
11
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
12
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
13
+ r = Reflect.decorate(decorators, target, key, desc);
14
+ } else {
15
+ for(var i = decorators.length - 1; i >= 0; i--){
16
+ if (d = decorators[i]) {
17
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
+ }
19
+ }
20
+ }
21
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
22
+ }
23
+ function _ts_metadata(metadataKey, metadataValue) {
24
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
25
+ return Reflect.metadata(metadataKey, metadataValue);
26
+ }
27
+ }
28
+
29
+
30
+
31
+ class Action extends _flusys_nestjs_shared__rspack_import_0.Identity {
32
+ readOnly;
33
+ name;
34
+ description;
35
+ code;
36
+ actionType;
37
+ permissionLogic;
38
+ serial;
39
+ isActive;
40
+ parent;
41
+ parentId;
42
+ children;
43
+ }
44
+ _ts_decorate([
45
+ (0,typeorm__rspack_import_1.Column)({
46
+ type: 'boolean',
47
+ nullable: false,
48
+ default: false,
49
+ name: 'read_only'
50
+ }),
51
+ _ts_metadata("design:type", Boolean)
52
+ ], Action.prototype, "readOnly", void 0);
53
+ _ts_decorate([
54
+ (0,typeorm__rspack_import_1.Column)({
55
+ type: 'varchar',
56
+ length: 255,
57
+ nullable: false
58
+ }),
59
+ _ts_metadata("design:type", String)
60
+ ], Action.prototype, "name", void 0);
61
+ _ts_decorate([
62
+ (0,typeorm__rspack_import_1.Column)({
63
+ type: 'varchar',
64
+ length: 500,
65
+ nullable: true
66
+ }),
67
+ _ts_metadata("design:type", Object)
68
+ ], Action.prototype, "description", void 0);
69
+ _ts_decorate([
70
+ (0,typeorm__rspack_import_1.Column)({
71
+ type: 'varchar',
72
+ length: 255,
73
+ nullable: true,
74
+ unique: true
75
+ }),
76
+ _ts_metadata("design:type", Object)
77
+ ], Action.prototype, "code", void 0);
78
+ _ts_decorate([
79
+ (0,typeorm__rspack_import_1.Column)({
80
+ type: 'varchar',
81
+ length: 50,
82
+ nullable: false,
83
+ default: 'BACKEND',
84
+ name: 'action_type'
85
+ }),
86
+ _ts_metadata("design:type", typeof _enums_index_js__rspack_import_2/* .ActionType */.X === "undefined" ? Object : _enums_index_js__rspack_import_2/* .ActionType */.X)
87
+ ], Action.prototype, "actionType", void 0);
88
+ _ts_decorate([
89
+ (0,typeorm__rspack_import_1.Column)({
90
+ type: (0,_flusys_nestjs_shared__rspack_import_0.getJsonColumnType)(),
91
+ nullable: true,
92
+ name: 'permission_logic'
93
+ }),
94
+ _ts_metadata("design:type", Object)
95
+ ], Action.prototype, "permissionLogic", void 0);
96
+ _ts_decorate([
97
+ (0,typeorm__rspack_import_1.Column)({
98
+ type: 'int',
99
+ nullable: true
100
+ }),
101
+ _ts_metadata("design:type", Object)
102
+ ], Action.prototype, "serial", void 0);
103
+ _ts_decorate([
104
+ (0,typeorm__rspack_import_1.Column)({
105
+ type: 'boolean',
106
+ nullable: false,
107
+ default: true,
108
+ name: 'is_active'
109
+ }),
110
+ _ts_metadata("design:type", Boolean)
111
+ ], Action.prototype, "isActive", void 0);
112
+ _ts_decorate([
113
+ (0,typeorm__rspack_import_1.ManyToOne)('Action', 'children', {
114
+ nullable: true,
115
+ onDelete: 'CASCADE'
116
+ }),
117
+ (0,typeorm__rspack_import_1.JoinColumn)({
118
+ name: 'parent_id'
119
+ }),
120
+ _ts_metadata("design:type", Object)
121
+ ], Action.prototype, "parent", void 0);
122
+ _ts_decorate([
123
+ (0,typeorm__rspack_import_1.Column)({
124
+ type: 'uuid',
125
+ nullable: true,
126
+ name: 'parent_id'
127
+ }),
128
+ _ts_metadata("design:type", Object)
129
+ ], Action.prototype, "parentId", void 0);
130
+ _ts_decorate([
131
+ (0,typeorm__rspack_import_1.OneToMany)('Action', 'parent'),
132
+ _ts_metadata("design:type", Array)
133
+ ], Action.prototype, "children", void 0);
134
+ Action = _ts_decorate([
135
+ (0,typeorm__rspack_import_1.Entity)({
136
+ name: 'action'
137
+ }),
138
+ (0,typeorm__rspack_import_1.Index)([
139
+ 'parentId'
140
+ ])
141
+ ], Action);
142
+
143
+ __webpack_require__.d(__webpack_exports__, {
144
+ r: () => (Action)
145
+ });
146
+
147
+
148
+ },
149
+ 743(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
150
+ /* import */ var _action_entity_js__rspack_import_0 = __webpack_require__(864);
151
+ /* import */ var _permission_base_entity_js__rspack_import_1 = __webpack_require__(423);
152
+ /* import */ var _role_base_entity_js__rspack_import_2 = __webpack_require__(784);
153
+ /* import */ var _permission_with_company_entity_js__rspack_import_3 = __webpack_require__(746);
154
+ /* import */ var _role_with_company_entity_js__rspack_import_4 = __webpack_require__(353);
155
+ /* import */ var _role_entity_js__rspack_import_5 = __webpack_require__(326);
156
+ /* import */ var _user_iam_permission_entity_js__rspack_import_6 = __webpack_require__(489);
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
13
169
  // Core entities (no company feature)
14
- export const IAMCoreEntities = [
15
- Action,
16
- Role,
17
- UserIamPermission
170
+ const IAMCoreEntities = [
171
+ _action_entity_js__rspack_import_0/* .Action */.r,
172
+ _role_entity_js__rspack_import_5/* .Role */.X,
173
+ _user_iam_permission_entity_js__rspack_import_6/* .UserIamPermission */.y
18
174
  ];
19
175
  // Company-specific entities
20
- export const IAMCompanyEntities = [
21
- RoleWithCompany,
22
- UserIamPermissionWithCompany
176
+ const IAMCompanyEntities = [
177
+ _role_with_company_entity_js__rspack_import_4/* .RoleWithCompany */.g,
178
+ _permission_with_company_entity_js__rspack_import_3/* .UserIamPermissionWithCompany */.t
23
179
  ];
24
180
  // All entities
25
- export const IAMAllEntities = [
26
- Action,
27
- Role,
28
- RoleWithCompany,
29
- UserIamPermission,
30
- UserIamPermissionWithCompany
181
+ const IAMAllEntities = [
182
+ _action_entity_js__rspack_import_0/* .Action */.r,
183
+ _role_entity_js__rspack_import_5/* .Role */.X,
184
+ _role_with_company_entity_js__rspack_import_4/* .RoleWithCompany */.g,
185
+ _user_iam_permission_entity_js__rspack_import_6/* .UserIamPermission */.y,
186
+ _permission_with_company_entity_js__rspack_import_3/* .UserIamPermissionWithCompany */.t
31
187
  ];
32
188
  /**
33
189
  * Get IAM entities based on configuration
34
190
  * @param enableCompanyFeature - Whether company feature is enabled
35
191
  * @param permissionMode - Permission mode: 'FULL' | 'RBAC' | 'DIRECT' (default: 'FULL')
36
- */ export function getIAMEntitiesByConfig(enableCompanyFeature, permissionMode = 'FULL') {
192
+ */ function getIAMEntitiesByConfig(enableCompanyFeature, permissionMode = 'FULL') {
37
193
  const entities = [
38
- Action
194
+ _action_entity_js__rspack_import_0/* .Action */.r
39
195
  ];
40
196
  // Permission entity - always included
41
197
  if (enableCompanyFeature) {
42
- entities.push(UserIamPermissionWithCompany);
198
+ entities.push(_permission_with_company_entity_js__rspack_import_3/* .UserIamPermissionWithCompany */.t);
43
199
  } else {
44
- entities.push(UserIamPermission);
200
+ entities.push(_user_iam_permission_entity_js__rspack_import_6/* .UserIamPermission */.y);
45
201
  }
46
202
  // Role entity - Only for RBAC or FULL mode (not DIRECT)
47
203
  if (permissionMode === 'RBAC' || permissionMode === 'FULL') {
48
204
  if (enableCompanyFeature) {
49
- entities.push(RoleWithCompany);
205
+ entities.push(_role_with_company_entity_js__rspack_import_4/* .RoleWithCompany */.g);
50
206
  } else {
51
- entities.push(Role);
207
+ entities.push(_role_entity_js__rspack_import_5/* .Role */.X);
52
208
  }
53
209
  }
54
210
  return entities;
55
211
  }
212
+
213
+ __webpack_require__.d(__webpack_exports__, {
214
+ $m: () => (/* reexport safe */ _permission_base_entity_js__rspack_import_1.$),
215
+ Xh: () => (/* reexport safe */ _role_entity_js__rspack_import_5.X),
216
+ gP: () => (/* reexport safe */ _role_with_company_entity_js__rspack_import_4.g),
217
+ getIAMEntitiesByConfig: () => (getIAMEntitiesByConfig),
218
+ rc: () => (/* reexport safe */ _action_entity_js__rspack_import_0.r),
219
+ tt: () => (/* reexport safe */ _permission_with_company_entity_js__rspack_import_3.t),
220
+ um: () => (/* reexport safe */ _role_base_entity_js__rspack_import_2.u),
221
+ yi: () => (/* reexport safe */ _user_iam_permission_entity_js__rspack_import_6.y)
222
+ }, {
223
+ Gr: IAMCompanyEntities,
224
+ SB: IAMAllEntities,
225
+ aZ: IAMCoreEntities
226
+ });
227
+
228
+
229
+ },
230
+ 423(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
231
+ /* import */ var _flusys_nestjs_shared__rspack_import_0 = __webpack_require__(422);
232
+ /* import */ var typeorm__rspack_import_1 = __webpack_require__(158);
233
+ function _ts_decorate(decorators, target, key, desc) {
234
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
235
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
236
+ r = Reflect.decorate(decorators, target, key, desc);
237
+ } else {
238
+ for(var i = decorators.length - 1; i >= 0; i--){
239
+ if (d = decorators[i]) {
240
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
241
+ }
242
+ }
243
+ }
244
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
245
+ }
246
+ function _ts_metadata(metadataKey, metadataValue) {
247
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
248
+ return Reflect.metadata(metadataKey, metadataValue);
249
+ }
250
+ }
251
+
252
+
253
+ /**
254
+ * Permission Base Entity
255
+ * Core permission fields - always included regardless of company feature
256
+ */ class PermissionBase extends _flusys_nestjs_shared__rspack_import_0.Identity {
257
+ permissionType;
258
+ sourceType;
259
+ sourceId;
260
+ targetType;
261
+ targetId;
262
+ validFrom;
263
+ validUntil;
264
+ reason;
265
+ isValid(now = new Date()) {
266
+ if (this.validFrom && now < this.validFrom) return false;
267
+ if (this.validUntil && now > this.validUntil) return false;
268
+ return true;
269
+ }
270
+ }
271
+ _ts_decorate([
272
+ (0,typeorm__rspack_import_1.Column)({
273
+ type: 'varchar',
274
+ length: 50,
275
+ name: 'permission_type'
276
+ }),
277
+ _ts_metadata("design:type", String)
278
+ ], PermissionBase.prototype, "permissionType", void 0);
279
+ _ts_decorate([
280
+ (0,typeorm__rspack_import_1.Column)({
281
+ type: 'varchar',
282
+ length: 50,
283
+ name: 'source_type'
284
+ }),
285
+ _ts_metadata("design:type", String)
286
+ ], PermissionBase.prototype, "sourceType", void 0);
287
+ _ts_decorate([
288
+ (0,typeorm__rspack_import_1.Column)({
289
+ type: 'varchar',
290
+ length: 150,
291
+ name: 'source_id'
292
+ }),
293
+ _ts_metadata("design:type", String)
294
+ ], PermissionBase.prototype, "sourceId", void 0);
295
+ _ts_decorate([
296
+ (0,typeorm__rspack_import_1.Column)({
297
+ type: 'varchar',
298
+ length: 50,
299
+ name: 'target_type'
300
+ }),
301
+ _ts_metadata("design:type", String)
302
+ ], PermissionBase.prototype, "targetType", void 0);
303
+ _ts_decorate([
304
+ (0,typeorm__rspack_import_1.Column)({
305
+ type: 'varchar',
306
+ length: 150,
307
+ name: 'target_id'
308
+ }),
309
+ _ts_metadata("design:type", String)
310
+ ], PermissionBase.prototype, "targetId", void 0);
311
+ _ts_decorate([
312
+ (0,typeorm__rspack_import_1.Column)({
313
+ type: 'timestamp',
314
+ nullable: true,
315
+ name: 'valid_from'
316
+ }),
317
+ _ts_metadata("design:type", Object)
318
+ ], PermissionBase.prototype, "validFrom", void 0);
319
+ _ts_decorate([
320
+ (0,typeorm__rspack_import_1.Column)({
321
+ type: 'timestamp',
322
+ nullable: true,
323
+ name: 'valid_until'
324
+ }),
325
+ _ts_metadata("design:type", Object)
326
+ ], PermissionBase.prototype, "validUntil", void 0);
327
+ _ts_decorate([
328
+ (0,typeorm__rspack_import_1.Column)({
329
+ type: 'text',
330
+ nullable: true
331
+ }),
332
+ _ts_metadata("design:type", Object)
333
+ ], PermissionBase.prototype, "reason", void 0);
334
+
335
+ __webpack_require__.d(__webpack_exports__, {
336
+ $: () => (PermissionBase)
337
+ });
338
+
339
+
340
+ },
341
+ 746(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
342
+ /* import */ var typeorm__rspack_import_0 = __webpack_require__(158);
343
+ /* import */ var _permission_base_entity_js__rspack_import_1 = __webpack_require__(423);
344
+ function _ts_decorate(decorators, target, key, desc) {
345
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
346
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
347
+ r = Reflect.decorate(decorators, target, key, desc);
348
+ } else {
349
+ for(var i = decorators.length - 1; i >= 0; i--){
350
+ if (d = decorators[i]) {
351
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
352
+ }
353
+ }
354
+ }
355
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
356
+ }
357
+ function _ts_metadata(metadataKey, metadataValue) {
358
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
359
+ return Reflect.metadata(metadataKey, metadataValue);
360
+ }
361
+ }
362
+
363
+
364
+ class UserIamPermissionWithCompany extends _permission_base_entity_js__rspack_import_1/* .PermissionBase */.$ {
365
+ /**
366
+ * Company ID - Company scope for this permission
367
+ * - null: Global permission (not company-specific)
368
+ * - set: Permission belongs to this company
369
+ */ companyId;
370
+ /**
371
+ * Branch ID - Branch scope for this permission
372
+ * - null: Company-wide permission (all branches in company)
373
+ * - set: Permission applies only to this specific branch
374
+ */ branchId;
375
+ }
376
+ _ts_decorate([
377
+ (0,typeorm__rspack_import_0.Column)({
378
+ type: 'varchar',
379
+ length: 150,
380
+ nullable: true,
381
+ name: 'company_id'
382
+ }),
383
+ _ts_metadata("design:type", Object)
384
+ ], UserIamPermissionWithCompany.prototype, "companyId", void 0);
385
+ _ts_decorate([
386
+ (0,typeorm__rspack_import_0.Column)({
387
+ type: 'varchar',
388
+ length: 150,
389
+ nullable: true,
390
+ name: 'branch_id'
391
+ }),
392
+ _ts_metadata("design:type", Object)
393
+ ], UserIamPermissionWithCompany.prototype, "branchId", void 0);
394
+ UserIamPermissionWithCompany = _ts_decorate([
395
+ (0,typeorm__rspack_import_0.Entity)({
396
+ name: 'user_iam_permission'
397
+ }),
398
+ (0,typeorm__rspack_import_0.Index)([
399
+ 'permissionType',
400
+ 'sourceId',
401
+ 'targetId',
402
+ 'companyId',
403
+ 'branchId'
404
+ ], {
405
+ unique: true
406
+ }),
407
+ (0,typeorm__rspack_import_0.Index)([
408
+ 'sourceId',
409
+ 'sourceType'
410
+ ]),
411
+ (0,typeorm__rspack_import_0.Index)([
412
+ 'targetId',
413
+ 'targetType'
414
+ ]),
415
+ (0,typeorm__rspack_import_0.Index)([
416
+ 'permissionType'
417
+ ]),
418
+ (0,typeorm__rspack_import_0.Index)([
419
+ 'companyId'
420
+ ]),
421
+ (0,typeorm__rspack_import_0.Index)([
422
+ 'branchId'
423
+ ]),
424
+ (0,typeorm__rspack_import_0.Index)([
425
+ 'companyId',
426
+ 'branchId'
427
+ ])
428
+ ], UserIamPermissionWithCompany);
429
+
430
+ __webpack_require__.d(__webpack_exports__, {
431
+ t: () => (UserIamPermissionWithCompany)
432
+ });
433
+
434
+
435
+ },
436
+ 784(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
437
+ /* import */ var _flusys_nestjs_shared__rspack_import_0 = __webpack_require__(422);
438
+ /* import */ var typeorm__rspack_import_1 = __webpack_require__(158);
439
+ function _ts_decorate(decorators, target, key, desc) {
440
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
441
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
442
+ r = Reflect.decorate(decorators, target, key, desc);
443
+ } else {
444
+ for(var i = decorators.length - 1; i >= 0; i--){
445
+ if (d = decorators[i]) {
446
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
447
+ }
448
+ }
449
+ }
450
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
451
+ }
452
+ function _ts_metadata(metadataKey, metadataValue) {
453
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
454
+ return Reflect.metadata(metadataKey, metadataValue);
455
+ }
456
+ }
457
+
458
+
459
+ class RoleBase extends _flusys_nestjs_shared__rspack_import_0.Identity {
460
+ readOnly;
461
+ name;
462
+ description;
463
+ isActive;
464
+ serial;
465
+ }
466
+ _ts_decorate([
467
+ (0,typeorm__rspack_import_1.Column)({
468
+ type: 'boolean',
469
+ nullable: false,
470
+ default: false,
471
+ name: 'read_only'
472
+ }),
473
+ _ts_metadata("design:type", Boolean)
474
+ ], RoleBase.prototype, "readOnly", void 0);
475
+ _ts_decorate([
476
+ (0,typeorm__rspack_import_1.Column)({
477
+ type: 'varchar',
478
+ length: 255,
479
+ nullable: false
480
+ }),
481
+ _ts_metadata("design:type", String)
482
+ ], RoleBase.prototype, "name", void 0);
483
+ _ts_decorate([
484
+ (0,typeorm__rspack_import_1.Column)({
485
+ type: 'varchar',
486
+ length: 500,
487
+ nullable: true
488
+ }),
489
+ _ts_metadata("design:type", Object)
490
+ ], RoleBase.prototype, "description", void 0);
491
+ _ts_decorate([
492
+ (0,typeorm__rspack_import_1.Column)({
493
+ type: 'boolean',
494
+ nullable: false,
495
+ default: true,
496
+ name: 'is_active'
497
+ }),
498
+ _ts_metadata("design:type", Boolean)
499
+ ], RoleBase.prototype, "isActive", void 0);
500
+ _ts_decorate([
501
+ (0,typeorm__rspack_import_1.Column)({
502
+ type: 'int',
503
+ nullable: true
504
+ }),
505
+ _ts_metadata("design:type", Object)
506
+ ], RoleBase.prototype, "serial", void 0);
507
+
508
+ __webpack_require__.d(__webpack_exports__, {
509
+ u: () => (RoleBase)
510
+ });
511
+
512
+
513
+ },
514
+ 353(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
515
+ /* import */ var typeorm__rspack_import_0 = __webpack_require__(158);
516
+ /* import */ var _role_base_entity_js__rspack_import_1 = __webpack_require__(784);
517
+ function _ts_decorate(decorators, target, key, desc) {
518
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
519
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
520
+ r = Reflect.decorate(decorators, target, key, desc);
521
+ } else {
522
+ for(var i = decorators.length - 1; i >= 0; i--){
523
+ if (d = decorators[i]) {
524
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
525
+ }
526
+ }
527
+ }
528
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
529
+ }
530
+ function _ts_metadata(metadataKey, metadataValue) {
531
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") {
532
+ return Reflect.metadata(metadataKey, metadataValue);
533
+ }
534
+ }
535
+
536
+
537
+ class RoleWithCompany extends _role_base_entity_js__rspack_import_1/* .RoleBase */.u {
538
+ companyId;
539
+ }
540
+ _ts_decorate([
541
+ (0,typeorm__rspack_import_0.Column)({
542
+ type: 'uuid',
543
+ nullable: true,
544
+ name: 'company_id'
545
+ }),
546
+ _ts_metadata("design:type", Object)
547
+ ], RoleWithCompany.prototype, "companyId", void 0);
548
+ RoleWithCompany = _ts_decorate([
549
+ (0,typeorm__rspack_import_0.Entity)({
550
+ name: 'role'
551
+ }),
552
+ (0,typeorm__rspack_import_0.Index)([
553
+ 'companyId'
554
+ ])
555
+ ], RoleWithCompany);
556
+
557
+ __webpack_require__.d(__webpack_exports__, {
558
+ g: () => (RoleWithCompany)
559
+ });
560
+
561
+
562
+ },
563
+ 326(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
564
+ /* import */ var typeorm__rspack_import_0 = __webpack_require__(158);
565
+ /* import */ var _role_base_entity_js__rspack_import_1 = __webpack_require__(784);
566
+ function _ts_decorate(decorators, target, key, desc) {
567
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
568
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
569
+ r = Reflect.decorate(decorators, target, key, desc);
570
+ } else {
571
+ for(var i = decorators.length - 1; i >= 0; i--){
572
+ if (d = decorators[i]) {
573
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
574
+ }
575
+ }
576
+ }
577
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
578
+ }
579
+
580
+
581
+ class Role extends _role_base_entity_js__rspack_import_1/* .RoleBase */.u {
582
+ }
583
+ Role = _ts_decorate([
584
+ (0,typeorm__rspack_import_0.Entity)({
585
+ name: 'role'
586
+ })
587
+ ], Role);
588
+
589
+ __webpack_require__.d(__webpack_exports__, {
590
+ X: () => (Role)
591
+ });
592
+
593
+
594
+ },
595
+ 489(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
596
+ /* import */ var typeorm__rspack_import_0 = __webpack_require__(158);
597
+ /* import */ var _permission_base_entity_js__rspack_import_1 = __webpack_require__(423);
598
+ function _ts_decorate(decorators, target, key, desc) {
599
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
600
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") {
601
+ r = Reflect.decorate(decorators, target, key, desc);
602
+ } else {
603
+ for(var i = decorators.length - 1; i >= 0; i--){
604
+ if (d = decorators[i]) {
605
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
606
+ }
607
+ }
608
+ }
609
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
610
+ }
611
+
612
+
613
+ class UserIamPermission extends _permission_base_entity_js__rspack_import_1/* .PermissionBase */.$ {
614
+ }
615
+ UserIamPermission = _ts_decorate([
616
+ (0,typeorm__rspack_import_0.Entity)({
617
+ name: 'user_iam_permission'
618
+ }),
619
+ (0,typeorm__rspack_import_0.Index)([
620
+ 'permissionType',
621
+ 'sourceId',
622
+ 'targetId'
623
+ ], {
624
+ unique: true
625
+ }),
626
+ (0,typeorm__rspack_import_0.Index)([
627
+ 'sourceId',
628
+ 'sourceType'
629
+ ]),
630
+ (0,typeorm__rspack_import_0.Index)([
631
+ 'targetId',
632
+ 'targetType'
633
+ ]),
634
+ (0,typeorm__rspack_import_0.Index)([
635
+ 'permissionType'
636
+ ])
637
+ ], UserIamPermission);
638
+
639
+ __webpack_require__.d(__webpack_exports__, {
640
+ y: () => (UserIamPermission)
641
+ });
642
+
643
+
644
+ },
645
+ 560(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
646
+ /**
647
+ * ActionType Enum - Categorizes actions by their usage context
648
+ *
649
+ * - BACKEND: Actions for API endpoint permissions (cached for PermissionGuard)
650
+ * - FRONTEND: Actions for frontend features (returned in my-permissions API)
651
+ * - BOTH: Actions used for both backend and frontend (cached + returned)
652
+ */ var ActionType = /*#__PURE__*/ function(ActionType) {
653
+ ActionType["BACKEND"] = "backend";
654
+ ActionType["FRONTEND"] = "frontend";
655
+ ActionType["BOTH"] = "both";
656
+ return ActionType;
657
+ }({});
658
+
659
+ __webpack_require__.d(__webpack_exports__, {
660
+ X: () => (ActionType)
661
+ });
662
+
663
+
664
+ },
665
+ 422(module) {
666
+
667
+ module.exports = __rspack_external__flusys_nestjs_shared_393d2cae;
668
+
669
+
670
+ },
671
+ 158(module) {
672
+
673
+ module.exports = __rspack_external_typeorm;
674
+
675
+
676
+ },
677
+
678
+ };
679
+ import { __webpack_require__ } from '../runtime.js';
680
+ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
681
+ import * as __rspack_chunk_1 from './index.js';
682
+ __webpack_require__.C(__rspack_chunk_1);
683
+ var __webpack_exports__ = __webpack_exec__(743);var __webpack_exports__Action = __webpack_exports__.rc;
684
+ var __webpack_exports__IAMAllEntities = __webpack_exports__.SB;
685
+ var __webpack_exports__IAMCompanyEntities = __webpack_exports__.Gr;
686
+ var __webpack_exports__IAMCoreEntities = __webpack_exports__.aZ;
687
+ var __webpack_exports__PermissionBase = __webpack_exports__.$m;
688
+ var __webpack_exports__Role = __webpack_exports__.Xh;
689
+ var __webpack_exports__RoleBase = __webpack_exports__.um;
690
+ var __webpack_exports__RoleWithCompany = __webpack_exports__.gP;
691
+ var __webpack_exports__UserIamPermission = __webpack_exports__.yi;
692
+ var __webpack_exports__UserIamPermissionWithCompany = __webpack_exports__.tt;
693
+ var __webpack_exports__getIAMEntitiesByConfig = __webpack_exports__.getIAMEntitiesByConfig;
694
+ export { __webpack_exports__Action as Action, __webpack_exports__IAMAllEntities as IAMAllEntities, __webpack_exports__IAMCompanyEntities as IAMCompanyEntities, __webpack_exports__IAMCoreEntities as IAMCoreEntities, __webpack_exports__PermissionBase as PermissionBase, __webpack_exports__Role as Role, __webpack_exports__RoleBase as RoleBase, __webpack_exports__RoleWithCompany as RoleWithCompany, __webpack_exports__UserIamPermission as UserIamPermission, __webpack_exports__UserIamPermissionWithCompany as UserIamPermissionWithCompany, __webpack_exports__getIAMEntitiesByConfig as getIAMEntitiesByConfig };