@flusys/nestjs-iam 0.1.0-beta.1 → 0.1.0-beta.2

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 (118) hide show
  1. package/README.md +665 -0
  2. package/cjs/config/iam.constants.js +11 -0
  3. package/cjs/config/index.js +18 -0
  4. package/cjs/controllers/action.controller.js +117 -0
  5. package/cjs/controllers/company-action-permission.controller.js +110 -0
  6. package/cjs/controllers/index.js +23 -0
  7. package/cjs/controllers/my-permission.controller.js +90 -0
  8. package/cjs/controllers/role-permission.controller.js +160 -0
  9. package/cjs/controllers/role.controller.js +58 -0
  10. package/cjs/controllers/user-action-permission.controller.js +110 -0
  11. package/cjs/docs/iam-swagger.config.js +202 -0
  12. package/cjs/docs/index.js +18 -0
  13. package/cjs/dtos/action.dto.js +347 -0
  14. package/cjs/dtos/index.js +21 -0
  15. package/cjs/dtos/permission.dto.js +554 -0
  16. package/cjs/dtos/role.dto.js +238 -0
  17. package/cjs/entities/action-base.entity.js +135 -0
  18. package/cjs/entities/action.entity.js +28 -0
  19. package/cjs/entities/index.js +81 -0
  20. package/cjs/entities/permission-base.entity.js +156 -0
  21. package/cjs/entities/permission-with-company.entity.js +99 -0
  22. package/cjs/entities/role-base.entity.js +86 -0
  23. package/cjs/entities/role-with-company.entity.js +55 -0
  24. package/cjs/entities/role.entity.js +25 -0
  25. package/cjs/entities/user-iam-permission.entity.js +57 -0
  26. package/cjs/enums/action-type.enum.js +22 -0
  27. package/cjs/enums/index.js +19 -0
  28. package/cjs/enums/permission-type.enum.js +16 -0
  29. package/cjs/helpers/index.js +19 -0
  30. package/cjs/helpers/permission-evaluator.helper.js +175 -0
  31. package/cjs/helpers/permission-mode.helper.js +49 -0
  32. package/cjs/index.js +28 -79
  33. package/cjs/interfaces/action.interface.js +4 -0
  34. package/cjs/interfaces/iam-module-async-options.interface.js +4 -0
  35. package/cjs/interfaces/iam-module-options.interface.js +18 -0
  36. package/cjs/interfaces/index.js +21 -0
  37. package/cjs/interfaces/role.interface.js +7 -0
  38. package/cjs/modules/iam.module.js +237 -0
  39. package/cjs/modules/index.js +18 -0
  40. package/cjs/services/action.service.js +253 -0
  41. package/cjs/services/iam-config.service.js +107 -0
  42. package/cjs/services/iam-datasource.provider.js +205 -0
  43. package/cjs/services/index.js +23 -0
  44. package/cjs/services/permission-cache.service.js +308 -0
  45. package/cjs/services/permission.service.js +1020 -0
  46. package/cjs/services/role.service.js +181 -0
  47. package/cjs/types/index.js +18 -0
  48. package/cjs/types/logic-node.type.js +54 -0
  49. package/fesm/config/iam.constants.js +1 -0
  50. package/fesm/config/index.js +1 -0
  51. package/fesm/controllers/action.controller.js +107 -0
  52. package/fesm/controllers/company-action-permission.controller.js +100 -0
  53. package/fesm/controllers/index.js +7 -0
  54. package/fesm/controllers/my-permission.controller.js +80 -0
  55. package/fesm/controllers/role-permission.controller.js +150 -0
  56. package/fesm/controllers/role.controller.js +48 -0
  57. package/fesm/controllers/user-action-permission.controller.js +100 -0
  58. package/fesm/docs/iam-swagger.config.js +192 -0
  59. package/fesm/docs/index.js +1 -0
  60. package/fesm/dtos/action.dto.js +317 -0
  61. package/fesm/dtos/index.js +4 -0
  62. package/fesm/dtos/permission.dto.js +490 -0
  63. package/fesm/dtos/role.dto.js +214 -0
  64. package/fesm/entities/action-base.entity.js +128 -0
  65. package/fesm/entities/action.entity.js +18 -0
  66. package/fesm/entities/index.js +56 -0
  67. package/fesm/entities/permission-base.entity.js +138 -0
  68. package/fesm/entities/permission-with-company.entity.js +89 -0
  69. package/fesm/entities/role-base.entity.js +79 -0
  70. package/fesm/entities/role-with-company.entity.js +45 -0
  71. package/fesm/entities/role.entity.js +15 -0
  72. package/fesm/entities/user-iam-permission.entity.js +38 -0
  73. package/fesm/enums/action-type.enum.js +12 -0
  74. package/fesm/enums/index.js +2 -0
  75. package/fesm/enums/permission-type.enum.js +6 -0
  76. package/fesm/helpers/index.js +2 -0
  77. package/fesm/helpers/permission-evaluator.helper.js +165 -0
  78. package/fesm/helpers/permission-mode.helper.js +49 -0
  79. package/fesm/index.js +11 -79
  80. package/fesm/interfaces/action.interface.js +3 -0
  81. package/fesm/interfaces/iam-module-async-options.interface.js +3 -0
  82. package/fesm/interfaces/iam-module-options.interface.js +1 -0
  83. package/fesm/interfaces/index.js +4 -0
  84. package/fesm/interfaces/role.interface.js +4 -0
  85. package/fesm/modules/iam.module.js +227 -0
  86. package/fesm/modules/index.js +1 -0
  87. package/fesm/services/action.service.js +243 -0
  88. package/fesm/services/iam-config.service.js +97 -0
  89. package/fesm/services/iam-datasource.provider.js +154 -0
  90. package/fesm/services/index.js +6 -0
  91. package/fesm/services/permission-cache.service.js +298 -0
  92. package/fesm/services/permission.service.js +1010 -0
  93. package/fesm/services/role.service.js +171 -0
  94. package/fesm/types/index.js +1 -0
  95. package/fesm/types/logic-node.type.js +36 -0
  96. package/package.json +25 -25
  97. package/cjs/config-index.js +0 -1
  98. package/cjs/controllers-index.js +0 -1
  99. package/cjs/docs-index.js +0 -79
  100. package/cjs/dtos-index.js +0 -1
  101. package/cjs/entities-index.js +0 -1
  102. package/cjs/enums-index.js +0 -1
  103. package/cjs/helpers-index.js +0 -1
  104. package/cjs/interfaces-index.js +0 -1
  105. package/cjs/modules-index.js +0 -1
  106. package/cjs/services-index.js +0 -1
  107. package/cjs/types-index.js +0 -1
  108. package/fesm/config-index.js +0 -1
  109. package/fesm/controllers-index.js +0 -1
  110. package/fesm/docs-index.js +0 -79
  111. package/fesm/dtos-index.js +0 -1
  112. package/fesm/entities-index.js +0 -1
  113. package/fesm/enums-index.js +0 -1
  114. package/fesm/helpers-index.js +0 -1
  115. package/fesm/interfaces-index.js +0 -0
  116. package/fesm/modules-index.js +0 -1
  117. package/fesm/services-index.js +0 -1
  118. package/fesm/types-index.js +0 -1
@@ -0,0 +1,554 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: Object.getOwnPropertyDescriptor(all, name).get
9
+ });
10
+ }
11
+ _export(exports, {
12
+ get AssignCompanyActionsDto () {
13
+ return AssignCompanyActionsDto;
14
+ },
15
+ get AssignRoleActionsDto () {
16
+ return AssignRoleActionsDto;
17
+ },
18
+ get AssignUserActionsDto () {
19
+ return AssignUserActionsDto;
20
+ },
21
+ get AssignUserRolesDto () {
22
+ return AssignUserRolesDto;
23
+ },
24
+ get CompanyActionResponseDto () {
25
+ return CompanyActionResponseDto;
26
+ },
27
+ get FrontendActionDto () {
28
+ return FrontendActionDto;
29
+ },
30
+ get GetCompanyActionsDto () {
31
+ return GetCompanyActionsDto;
32
+ },
33
+ get GetRoleActionsDto () {
34
+ return GetRoleActionsDto;
35
+ },
36
+ get GetUserActionsDto () {
37
+ return GetUserActionsDto;
38
+ },
39
+ get GetUserRolesDto () {
40
+ return GetUserRolesDto;
41
+ },
42
+ get MyPermissionsQueryDto () {
43
+ return MyPermissionsQueryDto;
44
+ },
45
+ get MyPermissionsResponseDto () {
46
+ return MyPermissionsResponseDto;
47
+ },
48
+ get PermissionAction () {
49
+ return PermissionAction;
50
+ },
51
+ get PermissionItemDto () {
52
+ return PermissionItemDto;
53
+ },
54
+ get PermissionOperationResultDto () {
55
+ return PermissionOperationResultDto;
56
+ },
57
+ get RoleActionResponseDto () {
58
+ return RoleActionResponseDto;
59
+ },
60
+ get UserActionResponseDto () {
61
+ return UserActionResponseDto;
62
+ },
63
+ get UserRoleResponseDto () {
64
+ return UserRoleResponseDto;
65
+ }
66
+ });
67
+ const _swagger = require("@nestjs/swagger");
68
+ const _classtransformer = require("class-transformer");
69
+ const _classvalidator = require("class-validator");
70
+ function _define_property(obj, key, value) {
71
+ if (key in obj) {
72
+ Object.defineProperty(obj, key, {
73
+ value: value,
74
+ enumerable: true,
75
+ configurable: true,
76
+ writable: true
77
+ });
78
+ } else {
79
+ obj[key] = value;
80
+ }
81
+ return obj;
82
+ }
83
+ function _ts_decorate(decorators, target, key, desc) {
84
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
85
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
86
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
87
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
88
+ }
89
+ function _ts_metadata(k, v) {
90
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
91
+ }
92
+ var PermissionAction = /*#__PURE__*/ function(PermissionAction) {
93
+ PermissionAction["ADD"] = "add";
94
+ PermissionAction["REMOVE"] = "remove";
95
+ return PermissionAction;
96
+ }({});
97
+ let PermissionItemDto = class PermissionItemDto {
98
+ constructor(){
99
+ _define_property(this, "id", void 0);
100
+ _define_property(this, "action", void 0);
101
+ }
102
+ };
103
+ _ts_decorate([
104
+ (0, _swagger.ApiProperty)({
105
+ description: 'ID of the target (action or role)'
106
+ }),
107
+ (0, _classvalidator.IsUUID)(),
108
+ _ts_metadata("design:type", String)
109
+ ], PermissionItemDto.prototype, "id", void 0);
110
+ _ts_decorate([
111
+ (0, _swagger.ApiProperty)({
112
+ description: 'Action to perform',
113
+ enum: PermissionAction,
114
+ example: "add"
115
+ }),
116
+ (0, _classvalidator.IsEnum)(PermissionAction),
117
+ _ts_metadata("design:type", String)
118
+ ], PermissionItemDto.prototype, "action", void 0);
119
+ let AssignUserActionsDto = class AssignUserActionsDto {
120
+ constructor(){
121
+ _define_property(this, "userId", void 0);
122
+ _define_property(this, "companyId", void 0);
123
+ _define_property(this, "branchId", void 0);
124
+ _define_property(this, "items", void 0);
125
+ }
126
+ };
127
+ _ts_decorate([
128
+ (0, _swagger.ApiProperty)({
129
+ description: 'User ID'
130
+ }),
131
+ (0, _classvalidator.IsUUID)(),
132
+ _ts_metadata("design:type", String)
133
+ ], AssignUserActionsDto.prototype, "userId", void 0);
134
+ _ts_decorate([
135
+ (0, _swagger.ApiPropertyOptional)({
136
+ description: 'Company ID (for company-wide or branch-specific assignments)'
137
+ }),
138
+ (0, _classvalidator.IsUUID)(),
139
+ (0, _classvalidator.IsOptional)(),
140
+ _ts_metadata("design:type", String)
141
+ ], AssignUserActionsDto.prototype, "companyId", void 0);
142
+ _ts_decorate([
143
+ (0, _swagger.ApiPropertyOptional)({
144
+ description: 'Branch ID (null = company-wide, set = branch-specific)'
145
+ }),
146
+ (0, _classvalidator.IsUUID)(),
147
+ (0, _classvalidator.IsOptional)(),
148
+ _ts_metadata("design:type", String)
149
+ ], AssignUserActionsDto.prototype, "branchId", void 0);
150
+ _ts_decorate([
151
+ (0, _swagger.ApiProperty)({
152
+ description: 'Array of actions to assign/remove',
153
+ type: [
154
+ PermissionItemDto
155
+ ]
156
+ }),
157
+ (0, _classvalidator.IsArray)(),
158
+ (0, _classvalidator.ValidateNested)({
159
+ each: true
160
+ }),
161
+ (0, _classtransformer.Type)(()=>PermissionItemDto),
162
+ _ts_metadata("design:type", Array)
163
+ ], AssignUserActionsDto.prototype, "items", void 0);
164
+ let AssignCompanyActionsDto = class AssignCompanyActionsDto {
165
+ constructor(){
166
+ _define_property(this, "companyId", void 0);
167
+ _define_property(this, "items", void 0);
168
+ }
169
+ };
170
+ _ts_decorate([
171
+ (0, _swagger.ApiProperty)({
172
+ description: 'Company ID'
173
+ }),
174
+ (0, _classvalidator.IsUUID)(),
175
+ _ts_metadata("design:type", String)
176
+ ], AssignCompanyActionsDto.prototype, "companyId", void 0);
177
+ _ts_decorate([
178
+ (0, _swagger.ApiProperty)({
179
+ description: 'Array of actions to assign/remove to company (whitelist)',
180
+ type: [
181
+ PermissionItemDto
182
+ ]
183
+ }),
184
+ (0, _classvalidator.IsArray)(),
185
+ (0, _classvalidator.ValidateNested)({
186
+ each: true
187
+ }),
188
+ (0, _classtransformer.Type)(()=>PermissionItemDto),
189
+ _ts_metadata("design:type", Array)
190
+ ], AssignCompanyActionsDto.prototype, "items", void 0);
191
+ let AssignRoleActionsDto = class AssignRoleActionsDto {
192
+ constructor(){
193
+ _define_property(this, "roleId", void 0);
194
+ _define_property(this, "items", void 0);
195
+ }
196
+ };
197
+ _ts_decorate([
198
+ (0, _swagger.ApiProperty)({
199
+ description: 'Role ID'
200
+ }),
201
+ (0, _classvalidator.IsUUID)(),
202
+ _ts_metadata("design:type", String)
203
+ ], AssignRoleActionsDto.prototype, "roleId", void 0);
204
+ _ts_decorate([
205
+ (0, _swagger.ApiProperty)({
206
+ description: 'Array of actions to assign/remove',
207
+ type: [
208
+ PermissionItemDto
209
+ ]
210
+ }),
211
+ (0, _classvalidator.IsArray)(),
212
+ (0, _classvalidator.ValidateNested)({
213
+ each: true
214
+ }),
215
+ (0, _classtransformer.Type)(()=>PermissionItemDto),
216
+ _ts_metadata("design:type", Array)
217
+ ], AssignRoleActionsDto.prototype, "items", void 0);
218
+ let AssignUserRolesDto = class AssignUserRolesDto {
219
+ constructor(){
220
+ _define_property(this, "userId", void 0);
221
+ _define_property(this, "companyId", void 0);
222
+ _define_property(this, "branchId", void 0);
223
+ _define_property(this, "items", void 0);
224
+ }
225
+ };
226
+ _ts_decorate([
227
+ (0, _swagger.ApiProperty)({
228
+ description: 'User ID'
229
+ }),
230
+ (0, _classvalidator.IsUUID)(),
231
+ _ts_metadata("design:type", String)
232
+ ], AssignUserRolesDto.prototype, "userId", void 0);
233
+ _ts_decorate([
234
+ (0, _swagger.ApiPropertyOptional)({
235
+ description: 'Company ID (for company-wide or branch-specific assignments)'
236
+ }),
237
+ (0, _classvalidator.IsUUID)(),
238
+ (0, _classvalidator.IsOptional)(),
239
+ _ts_metadata("design:type", String)
240
+ ], AssignUserRolesDto.prototype, "companyId", void 0);
241
+ _ts_decorate([
242
+ (0, _swagger.ApiPropertyOptional)({
243
+ description: 'Branch ID (null = company-wide, set = branch-specific)'
244
+ }),
245
+ (0, _classvalidator.IsUUID)(),
246
+ (0, _classvalidator.IsOptional)(),
247
+ _ts_metadata("design:type", String)
248
+ ], AssignUserRolesDto.prototype, "branchId", void 0);
249
+ _ts_decorate([
250
+ (0, _swagger.ApiProperty)({
251
+ description: 'Array of roles to assign/remove',
252
+ type: [
253
+ PermissionItemDto
254
+ ]
255
+ }),
256
+ (0, _classvalidator.IsArray)(),
257
+ (0, _classvalidator.ValidateNested)({
258
+ each: true
259
+ }),
260
+ (0, _classtransformer.Type)(()=>PermissionItemDto),
261
+ _ts_metadata("design:type", Array)
262
+ ], AssignUserRolesDto.prototype, "items", void 0);
263
+ let GetUserActionsDto = class GetUserActionsDto {
264
+ constructor(){
265
+ _define_property(this, "companyId", void 0);
266
+ _define_property(this, "branchId", void 0);
267
+ }
268
+ };
269
+ _ts_decorate([
270
+ (0, _swagger.ApiPropertyOptional)({
271
+ description: 'Company ID (ignored when enableCompanyFeature is false)'
272
+ }),
273
+ (0, _classvalidator.IsUUID)(),
274
+ (0, _classvalidator.IsOptional)(),
275
+ _ts_metadata("design:type", String)
276
+ ], GetUserActionsDto.prototype, "companyId", void 0);
277
+ _ts_decorate([
278
+ (0, _swagger.ApiPropertyOptional)({
279
+ description: 'Branch ID to filter by branch (ignored when enableCompanyFeature is false)'
280
+ }),
281
+ (0, _classvalidator.IsUUID)(),
282
+ (0, _classvalidator.IsOptional)(),
283
+ _ts_metadata("design:type", String)
284
+ ], GetUserActionsDto.prototype, "branchId", void 0);
285
+ let GetRoleActionsDto = class GetRoleActionsDto {
286
+ };
287
+ let GetCompanyActionsDto = class GetCompanyActionsDto {
288
+ };
289
+ let GetUserRolesDto = class GetUserRolesDto {
290
+ constructor(){
291
+ _define_property(this, "companyId", void 0);
292
+ _define_property(this, "branchId", void 0);
293
+ }
294
+ };
295
+ _ts_decorate([
296
+ (0, _swagger.ApiPropertyOptional)({
297
+ description: 'Company ID (ignored when enableCompanyFeature is false)'
298
+ }),
299
+ (0, _classvalidator.IsUUID)(),
300
+ (0, _classvalidator.IsOptional)(),
301
+ _ts_metadata("design:type", String)
302
+ ], GetUserRolesDto.prototype, "companyId", void 0);
303
+ _ts_decorate([
304
+ (0, _swagger.ApiPropertyOptional)({
305
+ description: 'Branch ID to filter by branch (ignored when enableCompanyFeature is false)'
306
+ }),
307
+ (0, _classvalidator.IsUUID)(),
308
+ (0, _classvalidator.IsOptional)(),
309
+ _ts_metadata("design:type", String)
310
+ ], GetUserRolesDto.prototype, "branchId", void 0);
311
+ let UserActionResponseDto = class UserActionResponseDto {
312
+ constructor(){
313
+ _define_property(this, "id", void 0);
314
+ _define_property(this, "userId", void 0);
315
+ _define_property(this, "actionId", void 0);
316
+ _define_property(this, "actionCode", void 0);
317
+ _define_property(this, "actionName", void 0);
318
+ _define_property(this, "branchId", void 0);
319
+ _define_property(this, "createdAt", void 0);
320
+ }
321
+ };
322
+ _ts_decorate([
323
+ (0, _swagger.ApiProperty)(),
324
+ _ts_metadata("design:type", String)
325
+ ], UserActionResponseDto.prototype, "id", void 0);
326
+ _ts_decorate([
327
+ (0, _swagger.ApiProperty)(),
328
+ _ts_metadata("design:type", String)
329
+ ], UserActionResponseDto.prototype, "userId", void 0);
330
+ _ts_decorate([
331
+ (0, _swagger.ApiProperty)(),
332
+ _ts_metadata("design:type", String)
333
+ ], UserActionResponseDto.prototype, "actionId", void 0);
334
+ _ts_decorate([
335
+ (0, _swagger.ApiProperty)(),
336
+ _ts_metadata("design:type", String)
337
+ ], UserActionResponseDto.prototype, "actionCode", void 0);
338
+ _ts_decorate([
339
+ (0, _swagger.ApiProperty)(),
340
+ _ts_metadata("design:type", String)
341
+ ], UserActionResponseDto.prototype, "actionName", void 0);
342
+ _ts_decorate([
343
+ (0, _swagger.ApiPropertyOptional)(),
344
+ _ts_metadata("design:type", Object)
345
+ ], UserActionResponseDto.prototype, "branchId", void 0);
346
+ _ts_decorate([
347
+ (0, _swagger.ApiProperty)(),
348
+ _ts_metadata("design:type", typeof Date === "undefined" ? Object : Date)
349
+ ], UserActionResponseDto.prototype, "createdAt", void 0);
350
+ let RoleActionResponseDto = class RoleActionResponseDto {
351
+ constructor(){
352
+ _define_property(this, "id", void 0);
353
+ _define_property(this, "roleId", void 0);
354
+ _define_property(this, "actionId", void 0);
355
+ _define_property(this, "actionCode", void 0);
356
+ _define_property(this, "actionName", void 0);
357
+ _define_property(this, "createdAt", void 0);
358
+ }
359
+ };
360
+ _ts_decorate([
361
+ (0, _swagger.ApiProperty)(),
362
+ _ts_metadata("design:type", String)
363
+ ], RoleActionResponseDto.prototype, "id", void 0);
364
+ _ts_decorate([
365
+ (0, _swagger.ApiProperty)(),
366
+ _ts_metadata("design:type", String)
367
+ ], RoleActionResponseDto.prototype, "roleId", void 0);
368
+ _ts_decorate([
369
+ (0, _swagger.ApiProperty)(),
370
+ _ts_metadata("design:type", String)
371
+ ], RoleActionResponseDto.prototype, "actionId", void 0);
372
+ _ts_decorate([
373
+ (0, _swagger.ApiProperty)(),
374
+ _ts_metadata("design:type", String)
375
+ ], RoleActionResponseDto.prototype, "actionCode", void 0);
376
+ _ts_decorate([
377
+ (0, _swagger.ApiProperty)(),
378
+ _ts_metadata("design:type", String)
379
+ ], RoleActionResponseDto.prototype, "actionName", void 0);
380
+ _ts_decorate([
381
+ (0, _swagger.ApiProperty)(),
382
+ _ts_metadata("design:type", typeof Date === "undefined" ? Object : Date)
383
+ ], RoleActionResponseDto.prototype, "createdAt", void 0);
384
+ let CompanyActionResponseDto = class CompanyActionResponseDto {
385
+ constructor(){
386
+ _define_property(this, "id", void 0);
387
+ _define_property(this, "companyId", void 0);
388
+ _define_property(this, "actionId", void 0);
389
+ _define_property(this, "actionCode", void 0);
390
+ _define_property(this, "actionName", void 0);
391
+ _define_property(this, "createdAt", void 0);
392
+ }
393
+ };
394
+ _ts_decorate([
395
+ (0, _swagger.ApiProperty)({
396
+ description: 'Permission ID'
397
+ }),
398
+ _ts_metadata("design:type", String)
399
+ ], CompanyActionResponseDto.prototype, "id", void 0);
400
+ _ts_decorate([
401
+ (0, _swagger.ApiProperty)({
402
+ description: 'Company ID'
403
+ }),
404
+ _ts_metadata("design:type", String)
405
+ ], CompanyActionResponseDto.prototype, "companyId", void 0);
406
+ _ts_decorate([
407
+ (0, _swagger.ApiProperty)({
408
+ description: 'Action ID'
409
+ }),
410
+ _ts_metadata("design:type", String)
411
+ ], CompanyActionResponseDto.prototype, "actionId", void 0);
412
+ _ts_decorate([
413
+ (0, _swagger.ApiProperty)({
414
+ description: 'Action Code'
415
+ }),
416
+ _ts_metadata("design:type", String)
417
+ ], CompanyActionResponseDto.prototype, "actionCode", void 0);
418
+ _ts_decorate([
419
+ (0, _swagger.ApiProperty)({
420
+ description: 'Action Name'
421
+ }),
422
+ _ts_metadata("design:type", String)
423
+ ], CompanyActionResponseDto.prototype, "actionName", void 0);
424
+ _ts_decorate([
425
+ (0, _swagger.ApiProperty)({
426
+ description: 'When this permission was created'
427
+ }),
428
+ _ts_metadata("design:type", typeof Date === "undefined" ? Object : Date)
429
+ ], CompanyActionResponseDto.prototype, "createdAt", void 0);
430
+ let UserRoleResponseDto = class UserRoleResponseDto {
431
+ constructor(){
432
+ _define_property(this, "id", void 0);
433
+ _define_property(this, "userId", void 0);
434
+ _define_property(this, "roleId", void 0);
435
+ _define_property(this, "roleName", void 0);
436
+ _define_property(this, "branchId", void 0);
437
+ _define_property(this, "createdAt", void 0);
438
+ }
439
+ };
440
+ _ts_decorate([
441
+ (0, _swagger.ApiProperty)(),
442
+ _ts_metadata("design:type", String)
443
+ ], UserRoleResponseDto.prototype, "id", void 0);
444
+ _ts_decorate([
445
+ (0, _swagger.ApiProperty)(),
446
+ _ts_metadata("design:type", String)
447
+ ], UserRoleResponseDto.prototype, "userId", void 0);
448
+ _ts_decorate([
449
+ (0, _swagger.ApiProperty)(),
450
+ _ts_metadata("design:type", String)
451
+ ], UserRoleResponseDto.prototype, "roleId", void 0);
452
+ _ts_decorate([
453
+ (0, _swagger.ApiProperty)(),
454
+ _ts_metadata("design:type", String)
455
+ ], UserRoleResponseDto.prototype, "roleName", void 0);
456
+ _ts_decorate([
457
+ (0, _swagger.ApiPropertyOptional)(),
458
+ _ts_metadata("design:type", Object)
459
+ ], UserRoleResponseDto.prototype, "branchId", void 0);
460
+ _ts_decorate([
461
+ (0, _swagger.ApiProperty)(),
462
+ _ts_metadata("design:type", typeof Date === "undefined" ? Object : Date)
463
+ ], UserRoleResponseDto.prototype, "createdAt", void 0);
464
+ let FrontendActionDto = class FrontendActionDto {
465
+ constructor(){
466
+ _define_property(this, "id", void 0);
467
+ _define_property(this, "code", void 0);
468
+ _define_property(this, "name", void 0);
469
+ _define_property(this, "description", void 0);
470
+ }
471
+ };
472
+ _ts_decorate([
473
+ (0, _swagger.ApiProperty)(),
474
+ _ts_metadata("design:type", String)
475
+ ], FrontendActionDto.prototype, "id", void 0);
476
+ _ts_decorate([
477
+ (0, _swagger.ApiProperty)(),
478
+ _ts_metadata("design:type", String)
479
+ ], FrontendActionDto.prototype, "code", void 0);
480
+ _ts_decorate([
481
+ (0, _swagger.ApiProperty)(),
482
+ _ts_metadata("design:type", String)
483
+ ], FrontendActionDto.prototype, "name", void 0);
484
+ _ts_decorate([
485
+ (0, _swagger.ApiPropertyOptional)(),
486
+ _ts_metadata("design:type", Object)
487
+ ], FrontendActionDto.prototype, "description", void 0);
488
+ let MyPermissionsQueryDto = class MyPermissionsQueryDto {
489
+ constructor(){
490
+ _define_property(this, "parentCodes", void 0);
491
+ }
492
+ };
493
+ _ts_decorate([
494
+ (0, _swagger.ApiPropertyOptional)({
495
+ description: 'Filter by parent action codes',
496
+ example: [
497
+ 'user',
498
+ 'role'
499
+ ],
500
+ type: [
501
+ String
502
+ ]
503
+ }),
504
+ (0, _classvalidator.IsArray)(),
505
+ (0, _classvalidator.IsString)({
506
+ each: true
507
+ }),
508
+ (0, _classvalidator.IsOptional)(),
509
+ _ts_metadata("design:type", Array)
510
+ ], MyPermissionsQueryDto.prototype, "parentCodes", void 0);
511
+ let MyPermissionsResponseDto = class MyPermissionsResponseDto {
512
+ constructor(){
513
+ _define_property(this, "frontendActions", void 0);
514
+ _define_property(this, "cachedEndpoints", void 0);
515
+ }
516
+ };
517
+ _ts_decorate([
518
+ (0, _swagger.ApiProperty)({
519
+ type: [
520
+ FrontendActionDto
521
+ ]
522
+ }),
523
+ _ts_metadata("design:type", Array)
524
+ ], MyPermissionsResponseDto.prototype, "frontendActions", void 0);
525
+ _ts_decorate([
526
+ (0, _swagger.ApiProperty)({
527
+ description: 'Number of endpoint actions cached for PermissionGuard'
528
+ }),
529
+ _ts_metadata("design:type", Number)
530
+ ], MyPermissionsResponseDto.prototype, "cachedEndpoints", void 0);
531
+ let PermissionOperationResultDto = class PermissionOperationResultDto {
532
+ constructor(){
533
+ _define_property(this, "success", void 0);
534
+ _define_property(this, "added", void 0);
535
+ _define_property(this, "removed", void 0);
536
+ _define_property(this, "message", void 0);
537
+ }
538
+ };
539
+ _ts_decorate([
540
+ (0, _swagger.ApiProperty)(),
541
+ _ts_metadata("design:type", Boolean)
542
+ ], PermissionOperationResultDto.prototype, "success", void 0);
543
+ _ts_decorate([
544
+ (0, _swagger.ApiProperty)(),
545
+ _ts_metadata("design:type", Number)
546
+ ], PermissionOperationResultDto.prototype, "added", void 0);
547
+ _ts_decorate([
548
+ (0, _swagger.ApiProperty)(),
549
+ _ts_metadata("design:type", Number)
550
+ ], PermissionOperationResultDto.prototype, "removed", void 0);
551
+ _ts_decorate([
552
+ (0, _swagger.ApiProperty)(),
553
+ _ts_metadata("design:type", String)
554
+ ], PermissionOperationResultDto.prototype, "message", void 0);