@flusys/nestjs-iam 7.1.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/config/index.d.ts +3 -3
  2. package/config/message-keys.d.ts +2 -0
  3. package/controllers/action.controller.d.ts +4 -4
  4. package/controllers/company-action-permission.controller.d.ts +2 -2
  5. package/controllers/index.d.ts +6 -6
  6. package/controllers/my-permission.controller.d.ts +3 -3
  7. package/controllers/role-permission.controller.d.ts +5 -4
  8. package/controllers/role.controller.d.ts +2 -2
  9. package/controllers/user-action-permission.controller.d.ts +5 -4
  10. package/docs/iam-swagger.config.d.ts +2 -2
  11. package/docs/index.d.ts +1 -1
  12. package/dtos/action.dto.d.ts +2 -2
  13. package/dtos/index.d.ts +3 -3
  14. package/dtos/permission.dto.d.ts +16 -0
  15. package/entities/action.entity.d.ts +2 -2
  16. package/entities/index.d.ts +11 -11
  17. package/entities/permission-with-company.entity.d.ts +1 -1
  18. package/entities/role-with-company.entity.d.ts +1 -1
  19. package/entities/role.entity.d.ts +1 -1
  20. package/entities/user-iam-permission.entity.d.ts +1 -1
  21. package/enums/index.d.ts +4 -4
  22. package/fesm/284.js +1316 -0
  23. package/fesm/867.js +3801 -0
  24. package/fesm/chunks/364.js +86 -0
  25. package/fesm/config/index.js +135 -3
  26. package/fesm/controllers/index.js +18 -7
  27. package/fesm/docs/index.js +240 -1
  28. package/fesm/dtos/index.js +1168 -3
  29. package/fesm/entities/index.js +670 -31
  30. package/fesm/enums/index.js +97 -4
  31. package/fesm/helpers/index.js +125 -2
  32. package/fesm/index.js +818 -11
  33. package/fesm/interfaces/index.js +17 -3
  34. package/fesm/modules/index.js +259 -1
  35. package/fesm/runtime.js +134 -0
  36. package/fesm/services/index.js +43 -6
  37. package/fesm/types/index.js +15 -1
  38. package/helpers/company-access.helper.d.ts +2 -2
  39. package/helpers/index.d.ts +2 -2
  40. package/helpers/permission-mode.helper.d.ts +1 -1
  41. package/index.d.ts +11 -11
  42. package/interfaces/action.interface.d.ts +2 -2
  43. package/interfaces/iam-module-options.interface.d.ts +3 -3
  44. package/interfaces/index.d.ts +3 -3
  45. package/modules/iam.module.d.ts +2 -2
  46. package/modules/index.d.ts +1 -1
  47. package/package.json +30 -37
  48. package/services/action.service.d.ts +9 -9
  49. package/services/iam-config.service.d.ts +4 -4
  50. package/services/iam-datasource.service.d.ts +3 -3
  51. package/services/index.d.ts +6 -6
  52. package/services/permission-cache.service.d.ts +5 -5
  53. package/services/permission.service.d.ts +6 -4
  54. package/services/role.service.d.ts +8 -8
  55. package/types/index.d.ts +1 -1
  56. package/cjs/config/event-actions.js +0 -36
  57. package/cjs/config/iam.constants.js +0 -11
  58. package/cjs/config/index.js +0 -20
  59. package/cjs/config/message-keys.js +0 -71
  60. package/cjs/controllers/action.controller.js +0 -174
  61. package/cjs/controllers/action.controller.spec.js +0 -79
  62. package/cjs/controllers/company-action-permission.controller.js +0 -119
  63. package/cjs/controllers/company-action-permission.controller.spec.js +0 -65
  64. package/cjs/controllers/index.js +0 -23
  65. package/cjs/controllers/my-permission.controller.js +0 -147
  66. package/cjs/controllers/my-permission.controller.spec.js +0 -128
  67. package/cjs/controllers/role-permission.controller.js +0 -191
  68. package/cjs/controllers/role-permission.controller.spec.js +0 -140
  69. package/cjs/controllers/role.controller.js +0 -102
  70. package/cjs/controllers/role.controller.spec.js +0 -86
  71. package/cjs/controllers/user-action-permission.controller.js +0 -129
  72. package/cjs/controllers/user-action-permission.controller.spec.js +0 -68
  73. package/cjs/docs/iam-swagger.config.js +0 -209
  74. package/cjs/docs/iam-swagger.config.spec.js +0 -99
  75. package/cjs/docs/index.js +0 -18
  76. package/cjs/dtos/action.dto.js +0 -282
  77. package/cjs/dtos/index.js +0 -21
  78. package/cjs/dtos/permission.dto.js +0 -637
  79. package/cjs/dtos/role.dto.js +0 -155
  80. package/cjs/entities/action.entity.js +0 -138
  81. package/cjs/entities/index.js +0 -80
  82. package/cjs/entities/index.spec.js +0 -56
  83. package/cjs/entities/permission-base.entity.js +0 -107
  84. package/cjs/entities/permission-with-company.entity.js +0 -100
  85. package/cjs/entities/role-base.entity.js +0 -80
  86. package/cjs/entities/role-with-company.entity.js +0 -55
  87. package/cjs/entities/role.entity.js +0 -25
  88. package/cjs/entities/user-iam-permission.entity.js +0 -43
  89. package/cjs/enums/action-type.enum.js +0 -22
  90. package/cjs/enums/iam-entity-type.enum.js +0 -17
  91. package/cjs/enums/iam-permission-type.enum.js +0 -17
  92. package/cjs/enums/index.js +0 -21
  93. package/cjs/enums/permission-type.enum.js +0 -16
  94. package/cjs/helpers/company-access.helper.js +0 -23
  95. package/cjs/helpers/company-access.helper.spec.js +0 -68
  96. package/cjs/helpers/index.js +0 -19
  97. package/cjs/helpers/permission-mode.helper.js +0 -49
  98. package/cjs/helpers/permission-mode.helper.spec.js +0 -54
  99. package/cjs/index.js +0 -28
  100. package/cjs/interfaces/action.interface.js +0 -4
  101. package/cjs/interfaces/iam-module-options.interface.js +0 -4
  102. package/cjs/interfaces/index.js +0 -20
  103. package/cjs/interfaces/role.interface.js +0 -7
  104. package/cjs/modules/iam.module.js +0 -186
  105. package/cjs/modules/iam.module.spec.js +0 -282
  106. package/cjs/modules/index.js +0 -18
  107. package/cjs/services/action.service.js +0 -337
  108. package/cjs/services/action.service.spec.js +0 -351
  109. package/cjs/services/iam-config.service.js +0 -87
  110. package/cjs/services/iam-config.service.spec.js +0 -110
  111. package/cjs/services/iam-datasource.service.js +0 -129
  112. package/cjs/services/iam-datasource.service.spec.js +0 -110
  113. package/cjs/services/index.js +0 -23
  114. package/cjs/services/permission-cache.service.js +0 -544
  115. package/cjs/services/permission-cache.service.spec.js +0 -718
  116. package/cjs/services/permission.service.js +0 -914
  117. package/cjs/services/permission.service.spec.js +0 -918
  118. package/cjs/services/role.service.js +0 -224
  119. package/cjs/services/role.service.spec.js +0 -347
  120. package/cjs/types/index.js +0 -18
  121. package/cjs/types/logic-node.type.js +0 -30
  122. package/fesm/config/event-actions.js +0 -15
  123. package/fesm/config/iam.constants.js +0 -1
  124. package/fesm/config/message-keys.js +0 -35
  125. package/fesm/controllers/action.controller.js +0 -164
  126. package/fesm/controllers/action.controller.spec.js +0 -75
  127. package/fesm/controllers/company-action-permission.controller.js +0 -109
  128. package/fesm/controllers/company-action-permission.controller.spec.js +0 -61
  129. package/fesm/controllers/my-permission.controller.js +0 -137
  130. package/fesm/controllers/my-permission.controller.spec.js +0 -124
  131. package/fesm/controllers/role-permission.controller.js +0 -181
  132. package/fesm/controllers/role-permission.controller.spec.js +0 -136
  133. package/fesm/controllers/role.controller.js +0 -92
  134. package/fesm/controllers/role.controller.spec.js +0 -82
  135. package/fesm/controllers/user-action-permission.controller.js +0 -119
  136. package/fesm/controllers/user-action-permission.controller.spec.js +0 -64
  137. package/fesm/docs/iam-swagger.config.js +0 -199
  138. package/fesm/docs/iam-swagger.config.spec.js +0 -95
  139. package/fesm/dtos/action.dto.js +0 -252
  140. package/fesm/dtos/permission.dto.js +0 -571
  141. package/fesm/dtos/role.dto.js +0 -134
  142. package/fesm/entities/action.entity.js +0 -128
  143. package/fesm/entities/index.spec.js +0 -52
  144. package/fesm/entities/permission-base.entity.js +0 -100
  145. package/fesm/entities/permission-with-company.entity.js +0 -90
  146. package/fesm/entities/role-base.entity.js +0 -70
  147. package/fesm/entities/role-with-company.entity.js +0 -45
  148. package/fesm/entities/role.entity.js +0 -15
  149. package/fesm/entities/user-iam-permission.entity.js +0 -33
  150. package/fesm/enums/action-type.enum.js +0 -12
  151. package/fesm/enums/iam-entity-type.enum.js +0 -7
  152. package/fesm/enums/iam-permission-type.enum.js +0 -7
  153. package/fesm/enums/permission-type.enum.js +0 -6
  154. package/fesm/helpers/company-access.helper.js +0 -18
  155. package/fesm/helpers/company-access.helper.spec.js +0 -64
  156. package/fesm/helpers/permission-mode.helper.js +0 -49
  157. package/fesm/helpers/permission-mode.helper.spec.js +0 -50
  158. package/fesm/interfaces/action.interface.js +0 -3
  159. package/fesm/interfaces/iam-module-options.interface.js +0 -3
  160. package/fesm/interfaces/role.interface.js +0 -4
  161. package/fesm/modules/iam.module.js +0 -176
  162. package/fesm/modules/iam.module.spec.js +0 -278
  163. package/fesm/services/action.service.js +0 -327
  164. package/fesm/services/action.service.spec.js +0 -347
  165. package/fesm/services/iam-config.service.js +0 -77
  166. package/fesm/services/iam-config.service.spec.js +0 -106
  167. package/fesm/services/iam-datasource.service.js +0 -78
  168. package/fesm/services/iam-datasource.service.spec.js +0 -106
  169. package/fesm/services/permission-cache.service.js +0 -527
  170. package/fesm/services/permission-cache.service.spec.js +0 -714
  171. package/fesm/services/permission.service.js +0 -904
  172. package/fesm/services/permission.service.spec.js +0 -914
  173. package/fesm/services/role.service.js +0 -214
  174. package/fesm/services/role.service.spec.js +0 -343
  175. 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 };