@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.
- package/config/index.d.ts +3 -3
- package/config/message-keys.d.ts +2 -0
- package/controllers/action.controller.d.ts +4 -4
- package/controllers/company-action-permission.controller.d.ts +2 -2
- package/controllers/index.d.ts +6 -6
- package/controllers/my-permission.controller.d.ts +3 -3
- package/controllers/role-permission.controller.d.ts +5 -4
- package/controllers/role.controller.d.ts +2 -2
- package/controllers/user-action-permission.controller.d.ts +5 -4
- package/docs/iam-swagger.config.d.ts +2 -2
- package/docs/index.d.ts +1 -1
- package/dtos/action.dto.d.ts +2 -2
- package/dtos/index.d.ts +3 -3
- package/dtos/permission.dto.d.ts +16 -0
- package/entities/action.entity.d.ts +2 -2
- package/entities/index.d.ts +11 -11
- package/entities/permission-with-company.entity.d.ts +1 -1
- package/entities/role-with-company.entity.d.ts +1 -1
- package/entities/role.entity.d.ts +1 -1
- package/entities/user-iam-permission.entity.d.ts +1 -1
- package/enums/index.d.ts +4 -4
- package/fesm/284.js +1316 -0
- package/fesm/867.js +3801 -0
- package/fesm/chunks/364.js +86 -0
- package/fesm/config/index.js +135 -3
- package/fesm/controllers/index.js +18 -7
- package/fesm/docs/index.js +240 -1
- package/fesm/dtos/index.js +1168 -3
- package/fesm/entities/index.js +670 -31
- package/fesm/enums/index.js +97 -4
- package/fesm/helpers/index.js +125 -2
- package/fesm/index.js +818 -11
- package/fesm/interfaces/index.js +17 -3
- package/fesm/modules/index.js +259 -1
- package/fesm/runtime.js +134 -0
- package/fesm/services/index.js +43 -6
- package/fesm/types/index.js +15 -1
- package/helpers/company-access.helper.d.ts +2 -2
- package/helpers/index.d.ts +2 -2
- package/helpers/permission-mode.helper.d.ts +1 -1
- package/index.d.ts +11 -11
- package/interfaces/action.interface.d.ts +2 -2
- package/interfaces/iam-module-options.interface.d.ts +3 -3
- package/interfaces/index.d.ts +3 -3
- package/modules/iam.module.d.ts +2 -2
- package/modules/index.d.ts +1 -1
- package/package.json +30 -37
- package/services/action.service.d.ts +9 -9
- package/services/iam-config.service.d.ts +4 -4
- package/services/iam-datasource.service.d.ts +3 -3
- package/services/index.d.ts +6 -6
- package/services/permission-cache.service.d.ts +5 -5
- package/services/permission.service.d.ts +6 -4
- package/services/role.service.d.ts +8 -8
- package/types/index.d.ts +1 -1
- package/cjs/config/event-actions.js +0 -36
- package/cjs/config/iam.constants.js +0 -11
- package/cjs/config/index.js +0 -20
- package/cjs/config/message-keys.js +0 -71
- package/cjs/controllers/action.controller.js +0 -174
- package/cjs/controllers/action.controller.spec.js +0 -79
- package/cjs/controllers/company-action-permission.controller.js +0 -119
- package/cjs/controllers/company-action-permission.controller.spec.js +0 -65
- package/cjs/controllers/index.js +0 -23
- package/cjs/controllers/my-permission.controller.js +0 -147
- package/cjs/controllers/my-permission.controller.spec.js +0 -128
- package/cjs/controllers/role-permission.controller.js +0 -191
- package/cjs/controllers/role-permission.controller.spec.js +0 -140
- package/cjs/controllers/role.controller.js +0 -102
- package/cjs/controllers/role.controller.spec.js +0 -86
- package/cjs/controllers/user-action-permission.controller.js +0 -129
- package/cjs/controllers/user-action-permission.controller.spec.js +0 -68
- package/cjs/docs/iam-swagger.config.js +0 -209
- package/cjs/docs/iam-swagger.config.spec.js +0 -99
- package/cjs/docs/index.js +0 -18
- package/cjs/dtos/action.dto.js +0 -282
- package/cjs/dtos/index.js +0 -21
- package/cjs/dtos/permission.dto.js +0 -637
- package/cjs/dtos/role.dto.js +0 -155
- package/cjs/entities/action.entity.js +0 -138
- package/cjs/entities/index.js +0 -80
- package/cjs/entities/index.spec.js +0 -56
- package/cjs/entities/permission-base.entity.js +0 -107
- package/cjs/entities/permission-with-company.entity.js +0 -100
- package/cjs/entities/role-base.entity.js +0 -80
- package/cjs/entities/role-with-company.entity.js +0 -55
- package/cjs/entities/role.entity.js +0 -25
- package/cjs/entities/user-iam-permission.entity.js +0 -43
- package/cjs/enums/action-type.enum.js +0 -22
- package/cjs/enums/iam-entity-type.enum.js +0 -17
- package/cjs/enums/iam-permission-type.enum.js +0 -17
- package/cjs/enums/index.js +0 -21
- package/cjs/enums/permission-type.enum.js +0 -16
- package/cjs/helpers/company-access.helper.js +0 -23
- package/cjs/helpers/company-access.helper.spec.js +0 -68
- package/cjs/helpers/index.js +0 -19
- package/cjs/helpers/permission-mode.helper.js +0 -49
- package/cjs/helpers/permission-mode.helper.spec.js +0 -54
- package/cjs/index.js +0 -28
- package/cjs/interfaces/action.interface.js +0 -4
- package/cjs/interfaces/iam-module-options.interface.js +0 -4
- package/cjs/interfaces/index.js +0 -20
- package/cjs/interfaces/role.interface.js +0 -7
- package/cjs/modules/iam.module.js +0 -186
- package/cjs/modules/iam.module.spec.js +0 -282
- package/cjs/modules/index.js +0 -18
- package/cjs/services/action.service.js +0 -337
- package/cjs/services/action.service.spec.js +0 -351
- package/cjs/services/iam-config.service.js +0 -87
- package/cjs/services/iam-config.service.spec.js +0 -110
- package/cjs/services/iam-datasource.service.js +0 -129
- package/cjs/services/iam-datasource.service.spec.js +0 -110
- package/cjs/services/index.js +0 -23
- package/cjs/services/permission-cache.service.js +0 -544
- package/cjs/services/permission-cache.service.spec.js +0 -718
- package/cjs/services/permission.service.js +0 -914
- package/cjs/services/permission.service.spec.js +0 -918
- package/cjs/services/role.service.js +0 -224
- package/cjs/services/role.service.spec.js +0 -347
- package/cjs/types/index.js +0 -18
- package/cjs/types/logic-node.type.js +0 -30
- package/fesm/config/event-actions.js +0 -15
- package/fesm/config/iam.constants.js +0 -1
- package/fesm/config/message-keys.js +0 -35
- package/fesm/controllers/action.controller.js +0 -164
- package/fesm/controllers/action.controller.spec.js +0 -75
- package/fesm/controllers/company-action-permission.controller.js +0 -109
- package/fesm/controllers/company-action-permission.controller.spec.js +0 -61
- package/fesm/controllers/my-permission.controller.js +0 -137
- package/fesm/controllers/my-permission.controller.spec.js +0 -124
- package/fesm/controllers/role-permission.controller.js +0 -181
- package/fesm/controllers/role-permission.controller.spec.js +0 -136
- package/fesm/controllers/role.controller.js +0 -92
- package/fesm/controllers/role.controller.spec.js +0 -82
- package/fesm/controllers/user-action-permission.controller.js +0 -119
- package/fesm/controllers/user-action-permission.controller.spec.js +0 -64
- package/fesm/docs/iam-swagger.config.js +0 -199
- package/fesm/docs/iam-swagger.config.spec.js +0 -95
- package/fesm/dtos/action.dto.js +0 -252
- package/fesm/dtos/permission.dto.js +0 -571
- package/fesm/dtos/role.dto.js +0 -134
- package/fesm/entities/action.entity.js +0 -128
- package/fesm/entities/index.spec.js +0 -52
- package/fesm/entities/permission-base.entity.js +0 -100
- package/fesm/entities/permission-with-company.entity.js +0 -90
- package/fesm/entities/role-base.entity.js +0 -70
- package/fesm/entities/role-with-company.entity.js +0 -45
- package/fesm/entities/role.entity.js +0 -15
- package/fesm/entities/user-iam-permission.entity.js +0 -33
- package/fesm/enums/action-type.enum.js +0 -12
- package/fesm/enums/iam-entity-type.enum.js +0 -7
- package/fesm/enums/iam-permission-type.enum.js +0 -7
- package/fesm/enums/permission-type.enum.js +0 -6
- package/fesm/helpers/company-access.helper.js +0 -18
- package/fesm/helpers/company-access.helper.spec.js +0 -64
- package/fesm/helpers/permission-mode.helper.js +0 -49
- package/fesm/helpers/permission-mode.helper.spec.js +0 -50
- package/fesm/interfaces/action.interface.js +0 -3
- package/fesm/interfaces/iam-module-options.interface.js +0 -3
- package/fesm/interfaces/role.interface.js +0 -4
- package/fesm/modules/iam.module.js +0 -176
- package/fesm/modules/iam.module.spec.js +0 -278
- package/fesm/services/action.service.js +0 -327
- package/fesm/services/action.service.spec.js +0 -347
- package/fesm/services/iam-config.service.js +0 -77
- package/fesm/services/iam-config.service.spec.js +0 -106
- package/fesm/services/iam-datasource.service.js +0 -78
- package/fesm/services/iam-datasource.service.spec.js +0 -106
- package/fesm/services/permission-cache.service.js +0 -527
- package/fesm/services/permission-cache.service.spec.js +0 -714
- package/fesm/services/permission.service.js +0 -904
- package/fesm/services/permission.service.spec.js +0 -914
- package/fesm/services/role.service.js +0 -214
- package/fesm/services/role.service.spec.js +0 -343
- package/fesm/types/logic-node.type.js +0 -27
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "CompanyActionPermissionController", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return CompanyActionPermissionController;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _nestjsshared = require("@flusys/nestjs-shared");
|
|
12
|
-
const _common = require("@nestjs/common");
|
|
13
|
-
const _swagger = require("@nestjs/swagger");
|
|
14
|
-
const _config = require("../config");
|
|
15
|
-
const _permissiondto = require("../dtos/permission.dto");
|
|
16
|
-
const _permissionservice = require("../services/permission.service");
|
|
17
|
-
function _define_property(obj, key, value) {
|
|
18
|
-
if (key in obj) {
|
|
19
|
-
Object.defineProperty(obj, key, {
|
|
20
|
-
value: value,
|
|
21
|
-
enumerable: true,
|
|
22
|
-
configurable: true,
|
|
23
|
-
writable: true
|
|
24
|
-
});
|
|
25
|
-
} else {
|
|
26
|
-
obj[key] = value;
|
|
27
|
-
}
|
|
28
|
-
return obj;
|
|
29
|
-
}
|
|
30
|
-
function _ts_decorate(decorators, target, key, desc) {
|
|
31
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
32
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
33
|
-
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;
|
|
34
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
35
|
-
}
|
|
36
|
-
function _ts_metadata(k, v) {
|
|
37
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
38
|
-
}
|
|
39
|
-
function _ts_param(paramIndex, decorator) {
|
|
40
|
-
return function(target, key) {
|
|
41
|
-
decorator(target, key, paramIndex);
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
let CompanyActionPermissionController = class CompanyActionPermissionController {
|
|
45
|
-
async assignCompanyActions(dto) {
|
|
46
|
-
const result = await this.permissionService.assignCompanyActions(dto);
|
|
47
|
-
return {
|
|
48
|
-
success: true,
|
|
49
|
-
message: 'Company actions updated successfully',
|
|
50
|
-
messageKey: _config.PERMISSION_OPERATION_MESSAGES.PROCESS_SUCCESS,
|
|
51
|
-
messageVariables: {
|
|
52
|
-
added: result.added,
|
|
53
|
-
removed: result.removed,
|
|
54
|
-
total: result.total
|
|
55
|
-
},
|
|
56
|
-
data: result
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
async getCompanyActions(dto) {
|
|
60
|
-
const actions = await this.permissionService.getCompanyActions(dto.companyId, false);
|
|
61
|
-
return {
|
|
62
|
-
success: true,
|
|
63
|
-
message: 'Company actions retrieved successfully',
|
|
64
|
-
messageKey: _config.COMPANY_ACTION_PERMISSION_MESSAGES.GET_SUCCESS,
|
|
65
|
-
data: actions
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
constructor(permissionService){
|
|
69
|
-
_define_property(this, "permissionService", void 0);
|
|
70
|
-
this.permissionService = permissionService;
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
_ts_decorate([
|
|
74
|
-
(0, _common.Post)('company-actions/assign'),
|
|
75
|
-
(0, _nestjsshared.RequirePermission)(_nestjsshared.COMPANY_ACTION_PERMISSIONS.ASSIGN),
|
|
76
|
-
(0, _swagger.ApiOperation)({
|
|
77
|
-
summary: 'Whitelist actions for company',
|
|
78
|
-
description: 'Controls which actions are available to company users/roles.'
|
|
79
|
-
}),
|
|
80
|
-
(0, _nestjsshared.ApiResponseDto)(_permissiondto.PermissionOperationResultDto),
|
|
81
|
-
(0, _swagger.ApiBody)({
|
|
82
|
-
type: _permissiondto.AssignCompanyActionsDto
|
|
83
|
-
}),
|
|
84
|
-
_ts_param(0, (0, _common.Body)()),
|
|
85
|
-
_ts_metadata("design:type", Function),
|
|
86
|
-
_ts_metadata("design:paramtypes", [
|
|
87
|
-
typeof _permissiondto.AssignCompanyActionsDto === "undefined" ? Object : _permissiondto.AssignCompanyActionsDto
|
|
88
|
-
]),
|
|
89
|
-
_ts_metadata("design:returntype", Promise)
|
|
90
|
-
], CompanyActionPermissionController.prototype, "assignCompanyActions", null);
|
|
91
|
-
_ts_decorate([
|
|
92
|
-
(0, _common.Post)('get-company-actions'),
|
|
93
|
-
(0, _nestjsshared.RequirePermission)(_nestjsshared.COMPANY_ACTION_PERMISSIONS.READ),
|
|
94
|
-
(0, _swagger.ApiOperation)({
|
|
95
|
-
summary: 'Get company whitelisted actions',
|
|
96
|
-
description: 'Returns actions available to company.'
|
|
97
|
-
}),
|
|
98
|
-
(0, _nestjsshared.ApiResponseDto)(_permissiondto.CompanyActionResponseDto, true, 'single'),
|
|
99
|
-
(0, _swagger.ApiBody)({
|
|
100
|
-
type: _permissiondto.GetCompanyActionsDto
|
|
101
|
-
}),
|
|
102
|
-
_ts_param(0, (0, _common.Body)()),
|
|
103
|
-
_ts_metadata("design:type", Function),
|
|
104
|
-
_ts_metadata("design:paramtypes", [
|
|
105
|
-
typeof _permissiondto.GetCompanyActionsDto === "undefined" ? Object : _permissiondto.GetCompanyActionsDto
|
|
106
|
-
]),
|
|
107
|
-
_ts_metadata("design:returntype", Promise)
|
|
108
|
-
], CompanyActionPermissionController.prototype, "getCompanyActions", null);
|
|
109
|
-
CompanyActionPermissionController = _ts_decorate([
|
|
110
|
-
(0, _swagger.ApiTags)('IAM - Company Action Permissions'),
|
|
111
|
-
(0, _common.Controller)('iam/permissions'),
|
|
112
|
-
(0, _common.UseGuards)(_nestjsshared.JwtAuthGuard, _nestjsshared.PermissionGuard),
|
|
113
|
-
(0, _swagger.ApiBearerAuth)(),
|
|
114
|
-
_ts_param(0, (0, _common.Inject)(_permissionservice.PermissionService)),
|
|
115
|
-
_ts_metadata("design:type", Function),
|
|
116
|
-
_ts_metadata("design:paramtypes", [
|
|
117
|
-
typeof _permissionservice.PermissionService === "undefined" ? Object : _permissionservice.PermissionService
|
|
118
|
-
])
|
|
119
|
-
], CompanyActionPermissionController);
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
const _companyactionpermissioncontroller = require("./company-action-permission.controller");
|
|
6
|
-
describe('CompanyActionPermissionController', ()=>{
|
|
7
|
-
let controller;
|
|
8
|
-
let mockPermissionService;
|
|
9
|
-
beforeEach(()=>{
|
|
10
|
-
mockPermissionService = {
|
|
11
|
-
assignCompanyActions: jest.fn(),
|
|
12
|
-
getCompanyActions: jest.fn()
|
|
13
|
-
};
|
|
14
|
-
controller = new _companyactionpermissioncontroller.CompanyActionPermissionController(mockPermissionService);
|
|
15
|
-
});
|
|
16
|
-
describe('assignCompanyActions', ()=>{
|
|
17
|
-
it('whitelists actions for a company', async ()=>{
|
|
18
|
-
mockPermissionService.assignCompanyActions.mockResolvedValue({
|
|
19
|
-
added: 3,
|
|
20
|
-
removed: 0,
|
|
21
|
-
total: 3
|
|
22
|
-
});
|
|
23
|
-
const result = await controller.assignCompanyActions({
|
|
24
|
-
companyId: 'company-1',
|
|
25
|
-
actionIds: [
|
|
26
|
-
'action-1',
|
|
27
|
-
'action-2',
|
|
28
|
-
'action-3'
|
|
29
|
-
]
|
|
30
|
-
});
|
|
31
|
-
expect(mockPermissionService.assignCompanyActions).toHaveBeenCalledWith({
|
|
32
|
-
companyId: 'company-1',
|
|
33
|
-
actionIds: [
|
|
34
|
-
'action-1',
|
|
35
|
-
'action-2',
|
|
36
|
-
'action-3'
|
|
37
|
-
]
|
|
38
|
-
});
|
|
39
|
-
expect(result.success).toBe(true);
|
|
40
|
-
expect(result.data).toEqual({
|
|
41
|
-
added: 3,
|
|
42
|
-
removed: 0,
|
|
43
|
-
total: 3
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
describe('getCompanyActions', ()=>{
|
|
48
|
-
it('returns the whitelisted actions for a company', async ()=>{
|
|
49
|
-
mockPermissionService.getCompanyActions.mockResolvedValue([
|
|
50
|
-
{
|
|
51
|
-
actionId: 'action-1'
|
|
52
|
-
}
|
|
53
|
-
]);
|
|
54
|
-
const result = await controller.getCompanyActions({
|
|
55
|
-
companyId: 'company-1'
|
|
56
|
-
});
|
|
57
|
-
expect(mockPermissionService.getCompanyActions).toHaveBeenCalledWith('company-1', false);
|
|
58
|
-
expect(result.data).toEqual([
|
|
59
|
-
{
|
|
60
|
-
actionId: 'action-1'
|
|
61
|
-
}
|
|
62
|
-
]);
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
});
|
package/cjs/controllers/index.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
_export_star(require("./action.controller"), exports);
|
|
6
|
-
_export_star(require("./role.controller"), exports);
|
|
7
|
-
_export_star(require("./company-action-permission.controller"), exports);
|
|
8
|
-
_export_star(require("./my-permission.controller"), exports);
|
|
9
|
-
_export_star(require("./role-permission.controller"), exports);
|
|
10
|
-
_export_star(require("./user-action-permission.controller"), exports);
|
|
11
|
-
function _export_star(from, to) {
|
|
12
|
-
Object.keys(from).forEach(function(k) {
|
|
13
|
-
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
14
|
-
Object.defineProperty(to, k, {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: function() {
|
|
17
|
-
return from[k];
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
return from;
|
|
23
|
-
}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "MyPermissionController", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return MyPermissionController;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _nestjsshared = require("@flusys/nestjs-shared");
|
|
12
|
-
const _config = require("../config");
|
|
13
|
-
const _common = require("@nestjs/common");
|
|
14
|
-
const _swagger = require("@nestjs/swagger");
|
|
15
|
-
const _permissiondto = require("../dtos/permission.dto");
|
|
16
|
-
const _permissionservice = require("../services/permission.service");
|
|
17
|
-
function _define_property(obj, key, value) {
|
|
18
|
-
if (key in obj) {
|
|
19
|
-
Object.defineProperty(obj, key, {
|
|
20
|
-
value: value,
|
|
21
|
-
enumerable: true,
|
|
22
|
-
configurable: true,
|
|
23
|
-
writable: true
|
|
24
|
-
});
|
|
25
|
-
} else {
|
|
26
|
-
obj[key] = value;
|
|
27
|
-
}
|
|
28
|
-
return obj;
|
|
29
|
-
}
|
|
30
|
-
function _ts_decorate(decorators, target, key, desc) {
|
|
31
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
32
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
33
|
-
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;
|
|
34
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
35
|
-
}
|
|
36
|
-
function _ts_metadata(k, v) {
|
|
37
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
38
|
-
}
|
|
39
|
-
function _ts_param(paramIndex, decorator) {
|
|
40
|
-
return function(target, key) {
|
|
41
|
-
decorator(target, key, paramIndex);
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
let MyPermissionController = class MyPermissionController {
|
|
45
|
-
async getMyPermissions(query, user) {
|
|
46
|
-
const data = await this.permissionService.getMyPermissions(user.id, user.branchId ?? null, user.companyId ?? null, query.parentCodes);
|
|
47
|
-
return {
|
|
48
|
-
success: true,
|
|
49
|
-
message: 'Permissions loaded successfully',
|
|
50
|
-
messageKey: _config.MY_PERMISSION_MESSAGES.GET_SUCCESS,
|
|
51
|
-
data
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
async getMyRoles(user) {
|
|
55
|
-
const data = await this.permissionService.getUserEffectiveRoles(user.id, user.companyId ?? null, user.branchId ?? null);
|
|
56
|
-
return {
|
|
57
|
-
success: true,
|
|
58
|
-
message: 'Roles loaded successfully',
|
|
59
|
-
messageKey: _config.MY_PERMISSION_MESSAGES.MY_ROLES_SUCCESS,
|
|
60
|
-
data
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
async getMyActions(user) {
|
|
64
|
-
const data = await this.permissionService.getUserEffectiveActions(user.id, user.companyId ?? null, user.branchId ?? null);
|
|
65
|
-
return {
|
|
66
|
-
success: true,
|
|
67
|
-
message: 'Actions loaded successfully',
|
|
68
|
-
messageKey: _config.MY_PERMISSION_MESSAGES.MY_ACTIONS_SUCCESS,
|
|
69
|
-
data
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
// NOTE: @Inject() required for bundled code - type metadata may be lost during esbuild
|
|
73
|
-
constructor(permissionService){
|
|
74
|
-
_define_property(this, "permissionService", void 0);
|
|
75
|
-
this.permissionService = permissionService;
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
_ts_decorate([
|
|
79
|
-
(0, _common.Post)('my-permissions'),
|
|
80
|
-
(0, _swagger.ApiOperation)({
|
|
81
|
-
summary: 'Get current user permissions',
|
|
82
|
-
description: 'Returns complete permissions for authenticated user. Includes menus, frontend actions, and caches endpoint permissions. Optionally filter by parent codes.'
|
|
83
|
-
}),
|
|
84
|
-
(0, _nestjsshared.ApiResponseDto)(_permissiondto.MyPermissionsResponseDto),
|
|
85
|
-
(0, _swagger.ApiResponse)({
|
|
86
|
-
status: 401,
|
|
87
|
-
description: 'Unauthorized'
|
|
88
|
-
}),
|
|
89
|
-
(0, _swagger.ApiBody)({
|
|
90
|
-
type: _permissiondto.MyPermissionsQueryDto
|
|
91
|
-
}),
|
|
92
|
-
_ts_param(0, (0, _common.Body)()),
|
|
93
|
-
_ts_param(1, (0, _nestjsshared.CurrentUser)()),
|
|
94
|
-
_ts_metadata("design:type", Function),
|
|
95
|
-
_ts_metadata("design:paramtypes", [
|
|
96
|
-
typeof _permissiondto.MyPermissionsQueryDto === "undefined" ? Object : _permissiondto.MyPermissionsQueryDto,
|
|
97
|
-
typeof _nestjsshared.ILoggedUserInfo === "undefined" ? Object : _nestjsshared.ILoggedUserInfo
|
|
98
|
-
]),
|
|
99
|
-
_ts_metadata("design:returntype", Promise)
|
|
100
|
-
], MyPermissionController.prototype, "getMyPermissions", null);
|
|
101
|
-
_ts_decorate([
|
|
102
|
-
(0, _common.Post)('my-roles'),
|
|
103
|
-
(0, _swagger.ApiOperation)({
|
|
104
|
-
summary: 'Get current user roles',
|
|
105
|
-
description: 'Returns effective roles for the authenticated user, merging company-wide (branch-independent) and login-branch-specific role assignments.'
|
|
106
|
-
}),
|
|
107
|
-
(0, _nestjsshared.ApiResponseDto)(_permissiondto.UserRoleResponseDto, true, 'single'),
|
|
108
|
-
(0, _swagger.ApiResponse)({
|
|
109
|
-
status: 401,
|
|
110
|
-
description: 'Unauthorized'
|
|
111
|
-
}),
|
|
112
|
-
_ts_param(0, (0, _nestjsshared.CurrentUser)()),
|
|
113
|
-
_ts_metadata("design:type", Function),
|
|
114
|
-
_ts_metadata("design:paramtypes", [
|
|
115
|
-
typeof _nestjsshared.ILoggedUserInfo === "undefined" ? Object : _nestjsshared.ILoggedUserInfo
|
|
116
|
-
]),
|
|
117
|
-
_ts_metadata("design:returntype", Promise)
|
|
118
|
-
], MyPermissionController.prototype, "getMyRoles", null);
|
|
119
|
-
_ts_decorate([
|
|
120
|
-
(0, _common.Post)('my-actions'),
|
|
121
|
-
(0, _swagger.ApiOperation)({
|
|
122
|
-
summary: 'Get current user direct actions',
|
|
123
|
-
description: 'Returns effective direct action assignments for the authenticated user, merging company-wide (branch-independent) and login-branch-specific assignments.'
|
|
124
|
-
}),
|
|
125
|
-
(0, _nestjsshared.ApiResponseDto)(_permissiondto.UserActionResponseDto, true, 'single'),
|
|
126
|
-
(0, _swagger.ApiResponse)({
|
|
127
|
-
status: 401,
|
|
128
|
-
description: 'Unauthorized'
|
|
129
|
-
}),
|
|
130
|
-
_ts_param(0, (0, _nestjsshared.CurrentUser)()),
|
|
131
|
-
_ts_metadata("design:type", Function),
|
|
132
|
-
_ts_metadata("design:paramtypes", [
|
|
133
|
-
typeof _nestjsshared.ILoggedUserInfo === "undefined" ? Object : _nestjsshared.ILoggedUserInfo
|
|
134
|
-
]),
|
|
135
|
-
_ts_metadata("design:returntype", Promise)
|
|
136
|
-
], MyPermissionController.prototype, "getMyActions", null);
|
|
137
|
-
MyPermissionController = _ts_decorate([
|
|
138
|
-
(0, _swagger.ApiTags)('IAM - My Permissions'),
|
|
139
|
-
(0, _common.Controller)('iam/permissions'),
|
|
140
|
-
(0, _common.UseGuards)(_nestjsshared.JwtAuthGuard),
|
|
141
|
-
(0, _swagger.ApiBearerAuth)(),
|
|
142
|
-
_ts_param(0, (0, _common.Inject)(_permissionservice.PermissionService)),
|
|
143
|
-
_ts_metadata("design:type", Function),
|
|
144
|
-
_ts_metadata("design:paramtypes", [
|
|
145
|
-
typeof _permissionservice.PermissionService === "undefined" ? Object : _permissionservice.PermissionService
|
|
146
|
-
])
|
|
147
|
-
], MyPermissionController);
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
const _loggedusermock = require("@test-utils/mocks/logged-user.mock");
|
|
6
|
-
const _mypermissioncontroller = require("./my-permission.controller");
|
|
7
|
-
describe('MyPermissionController', ()=>{
|
|
8
|
-
let controller;
|
|
9
|
-
let mockPermissionService;
|
|
10
|
-
beforeEach(()=>{
|
|
11
|
-
mockPermissionService = {
|
|
12
|
-
getMyPermissions: jest.fn(),
|
|
13
|
-
getUserEffectiveRoles: jest.fn(),
|
|
14
|
-
getUserEffectiveActions: jest.fn()
|
|
15
|
-
};
|
|
16
|
-
controller = new _mypermissioncontroller.MyPermissionController(mockPermissionService);
|
|
17
|
-
});
|
|
18
|
-
describe('getMyPermissions', ()=>{
|
|
19
|
-
it('resolves permissions for the current user, branch, and company', async ()=>{
|
|
20
|
-
const user = (0, _loggedusermock.buildMockUser)({
|
|
21
|
-
id: 'user-1',
|
|
22
|
-
companyId: 'company-1',
|
|
23
|
-
branchId: 'branch-1'
|
|
24
|
-
});
|
|
25
|
-
const permissions = {
|
|
26
|
-
menus: [],
|
|
27
|
-
actions: [
|
|
28
|
-
'user.create'
|
|
29
|
-
]
|
|
30
|
-
};
|
|
31
|
-
mockPermissionService.getMyPermissions.mockResolvedValue(permissions);
|
|
32
|
-
const result = await controller.getMyPermissions({
|
|
33
|
-
parentCodes: [
|
|
34
|
-
'user'
|
|
35
|
-
]
|
|
36
|
-
}, user);
|
|
37
|
-
expect(mockPermissionService.getMyPermissions).toHaveBeenCalledWith('user-1', 'branch-1', 'company-1', [
|
|
38
|
-
'user'
|
|
39
|
-
]);
|
|
40
|
-
expect(result).toEqual({
|
|
41
|
-
success: true,
|
|
42
|
-
message: 'Permissions loaded successfully',
|
|
43
|
-
messageKey: expect.any(String),
|
|
44
|
-
data: permissions
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
it('passes null for missing branch and company context', async ()=>{
|
|
48
|
-
const user = (0, _loggedusermock.buildMockUser)({
|
|
49
|
-
id: 'user-1',
|
|
50
|
-
companyId: undefined,
|
|
51
|
-
branchId: undefined
|
|
52
|
-
});
|
|
53
|
-
mockPermissionService.getMyPermissions.mockResolvedValue({});
|
|
54
|
-
await controller.getMyPermissions({}, user);
|
|
55
|
-
expect(mockPermissionService.getMyPermissions).toHaveBeenCalledWith('user-1', null, null, undefined);
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
describe('getMyRoles', ()=>{
|
|
59
|
-
it('resolves effective roles for the current user, company, and branch', async ()=>{
|
|
60
|
-
const user = (0, _loggedusermock.buildMockUser)({
|
|
61
|
-
id: 'user-1',
|
|
62
|
-
companyId: 'company-1',
|
|
63
|
-
branchId: 'branch-1'
|
|
64
|
-
});
|
|
65
|
-
const roles = [
|
|
66
|
-
{
|
|
67
|
-
id: 'perm-1',
|
|
68
|
-
roleId: 'role-1',
|
|
69
|
-
roleName: 'Manager'
|
|
70
|
-
}
|
|
71
|
-
];
|
|
72
|
-
mockPermissionService.getUserEffectiveRoles.mockResolvedValue(roles);
|
|
73
|
-
const result = await controller.getMyRoles(user);
|
|
74
|
-
expect(mockPermissionService.getUserEffectiveRoles).toHaveBeenCalledWith('user-1', 'company-1', 'branch-1');
|
|
75
|
-
expect(result).toEqual({
|
|
76
|
-
success: true,
|
|
77
|
-
message: 'Roles loaded successfully',
|
|
78
|
-
messageKey: expect.any(String),
|
|
79
|
-
data: roles
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
it('passes null for missing company and branch context', async ()=>{
|
|
83
|
-
const user = (0, _loggedusermock.buildMockUser)({
|
|
84
|
-
id: 'user-1',
|
|
85
|
-
companyId: undefined,
|
|
86
|
-
branchId: undefined
|
|
87
|
-
});
|
|
88
|
-
mockPermissionService.getUserEffectiveRoles.mockResolvedValue([]);
|
|
89
|
-
await controller.getMyRoles(user);
|
|
90
|
-
expect(mockPermissionService.getUserEffectiveRoles).toHaveBeenCalledWith('user-1', null, null);
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
describe('getMyActions', ()=>{
|
|
94
|
-
it('resolves effective actions for the current user, company, and branch', async ()=>{
|
|
95
|
-
const user = (0, _loggedusermock.buildMockUser)({
|
|
96
|
-
id: 'user-1',
|
|
97
|
-
companyId: 'company-1',
|
|
98
|
-
branchId: 'branch-1'
|
|
99
|
-
});
|
|
100
|
-
const actions = [
|
|
101
|
-
{
|
|
102
|
-
id: 'perm-1',
|
|
103
|
-
actionId: 'action-1',
|
|
104
|
-
actionCode: 'user.view'
|
|
105
|
-
}
|
|
106
|
-
];
|
|
107
|
-
mockPermissionService.getUserEffectiveActions.mockResolvedValue(actions);
|
|
108
|
-
const result = await controller.getMyActions(user);
|
|
109
|
-
expect(mockPermissionService.getUserEffectiveActions).toHaveBeenCalledWith('user-1', 'company-1', 'branch-1');
|
|
110
|
-
expect(result).toEqual({
|
|
111
|
-
success: true,
|
|
112
|
-
message: 'Actions loaded successfully',
|
|
113
|
-
messageKey: expect.any(String),
|
|
114
|
-
data: actions
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
it('passes null for missing company and branch context', async ()=>{
|
|
118
|
-
const user = (0, _loggedusermock.buildMockUser)({
|
|
119
|
-
id: 'user-1',
|
|
120
|
-
companyId: undefined,
|
|
121
|
-
branchId: undefined
|
|
122
|
-
});
|
|
123
|
-
mockPermissionService.getUserEffectiveActions.mockResolvedValue([]);
|
|
124
|
-
await controller.getMyActions(user);
|
|
125
|
-
expect(mockPermissionService.getUserEffectiveActions).toHaveBeenCalledWith('user-1', null, null);
|
|
126
|
-
});
|
|
127
|
-
});
|
|
128
|
-
});
|
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "RolePermissionController", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return RolePermissionController;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _nestjsshared = require("@flusys/nestjs-shared");
|
|
12
|
-
const _common = require("@nestjs/common");
|
|
13
|
-
const _swagger = require("@nestjs/swagger");
|
|
14
|
-
const _config = require("../config");
|
|
15
|
-
const _permissiondto = require("../dtos/permission.dto");
|
|
16
|
-
const _helpers = require("../helpers");
|
|
17
|
-
const _iamconfigservice = require("../services/iam-config.service");
|
|
18
|
-
const _permissionservice = require("../services/permission.service");
|
|
19
|
-
function _define_property(obj, key, value) {
|
|
20
|
-
if (key in obj) {
|
|
21
|
-
Object.defineProperty(obj, key, {
|
|
22
|
-
value: value,
|
|
23
|
-
enumerable: true,
|
|
24
|
-
configurable: true,
|
|
25
|
-
writable: true
|
|
26
|
-
});
|
|
27
|
-
} else {
|
|
28
|
-
obj[key] = value;
|
|
29
|
-
}
|
|
30
|
-
return obj;
|
|
31
|
-
}
|
|
32
|
-
function _ts_decorate(decorators, target, key, desc) {
|
|
33
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
34
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
35
|
-
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;
|
|
36
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
37
|
-
}
|
|
38
|
-
function _ts_metadata(k, v) {
|
|
39
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
40
|
-
}
|
|
41
|
-
function _ts_param(paramIndex, decorator) {
|
|
42
|
-
return function(target, key) {
|
|
43
|
-
decorator(target, key, paramIndex);
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
let RolePermissionController = class RolePermissionController {
|
|
47
|
-
async assignRoleActions(dto) {
|
|
48
|
-
const result = await this.permissionService.assignRoleActions(dto);
|
|
49
|
-
return {
|
|
50
|
-
success: true,
|
|
51
|
-
message: 'Role actions updated successfully',
|
|
52
|
-
messageKey: _config.PERMISSION_OPERATION_MESSAGES.PROCESS_SUCCESS,
|
|
53
|
-
messageVariables: {
|
|
54
|
-
added: result.added,
|
|
55
|
-
removed: result.removed,
|
|
56
|
-
total: result.total
|
|
57
|
-
},
|
|
58
|
-
data: result
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
async getRoleActions(dto) {
|
|
62
|
-
const actions = await this.permissionService.getRoleActions(dto.roleId);
|
|
63
|
-
return {
|
|
64
|
-
success: true,
|
|
65
|
-
message: 'Role actions retrieved successfully',
|
|
66
|
-
messageKey: _config.ROLE_PERMISSION_MESSAGES.ACTIONS_SUCCESS,
|
|
67
|
-
data: actions
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
async assignUserRoles(dto, user) {
|
|
71
|
-
(0, _helpers.validateCompanyAccess)(this.config, dto.companyId, user);
|
|
72
|
-
const result = await this.permissionService.assignUserRoles(dto);
|
|
73
|
-
return {
|
|
74
|
-
success: true,
|
|
75
|
-
message: 'User roles updated successfully',
|
|
76
|
-
messageKey: _config.PERMISSION_OPERATION_MESSAGES.PROCESS_SUCCESS,
|
|
77
|
-
messageVariables: {
|
|
78
|
-
added: result.added,
|
|
79
|
-
removed: result.removed,
|
|
80
|
-
total: result.total
|
|
81
|
-
},
|
|
82
|
-
data: result
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
async getUserRoles(dto, user) {
|
|
86
|
-
(0, _helpers.validateCompanyAccess)(this.config, dto.companyId, user);
|
|
87
|
-
const roles = await this.permissionService.getUserRoles(dto.userId, dto.branchId, dto.companyId);
|
|
88
|
-
return {
|
|
89
|
-
success: true,
|
|
90
|
-
message: 'User roles retrieved successfully',
|
|
91
|
-
messageKey: _config.ROLE_PERMISSION_MESSAGES.USER_ROLES_SUCCESS,
|
|
92
|
-
data: roles
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
// NOTE: @Inject() required for bundled code - type metadata may be lost during esbuild
|
|
96
|
-
constructor(permissionService, config){
|
|
97
|
-
_define_property(this, "permissionService", void 0);
|
|
98
|
-
_define_property(this, "config", void 0);
|
|
99
|
-
this.permissionService = permissionService;
|
|
100
|
-
this.config = config;
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
_ts_decorate([
|
|
104
|
-
(0, _common.Post)('role-actions/assign'),
|
|
105
|
-
(0, _nestjsshared.RequirePermission)(_nestjsshared.ROLE_ACTION_PERMISSIONS.ASSIGN),
|
|
106
|
-
(0, _swagger.ApiOperation)({
|
|
107
|
-
summary: 'Assign/remove actions to/from role',
|
|
108
|
-
description: 'RBAC mode. No branch scoping.'
|
|
109
|
-
}),
|
|
110
|
-
(0, _nestjsshared.ApiResponseDto)(_permissiondto.PermissionOperationResultDto),
|
|
111
|
-
(0, _swagger.ApiBody)({
|
|
112
|
-
type: _permissiondto.AssignRoleActionsDto
|
|
113
|
-
}),
|
|
114
|
-
_ts_param(0, (0, _common.Body)()),
|
|
115
|
-
_ts_metadata("design:type", Function),
|
|
116
|
-
_ts_metadata("design:paramtypes", [
|
|
117
|
-
typeof _permissiondto.AssignRoleActionsDto === "undefined" ? Object : _permissiondto.AssignRoleActionsDto
|
|
118
|
-
]),
|
|
119
|
-
_ts_metadata("design:returntype", Promise)
|
|
120
|
-
], RolePermissionController.prototype, "assignRoleActions", null);
|
|
121
|
-
_ts_decorate([
|
|
122
|
-
(0, _common.Post)('get-role-actions'),
|
|
123
|
-
(0, _nestjsshared.RequirePermission)(_nestjsshared.ROLE_ACTION_PERMISSIONS.READ),
|
|
124
|
-
(0, _swagger.ApiOperation)({
|
|
125
|
-
summary: 'Get role actions',
|
|
126
|
-
description: 'Returns actions assigned to role.'
|
|
127
|
-
}),
|
|
128
|
-
(0, _nestjsshared.ApiResponseDto)(_permissiondto.RoleActionResponseDto, true, 'single'),
|
|
129
|
-
(0, _swagger.ApiBody)({
|
|
130
|
-
type: _permissiondto.GetRoleActionsDto
|
|
131
|
-
}),
|
|
132
|
-
_ts_param(0, (0, _common.Body)()),
|
|
133
|
-
_ts_metadata("design:type", Function),
|
|
134
|
-
_ts_metadata("design:paramtypes", [
|
|
135
|
-
typeof _permissiondto.GetRoleActionsDto === "undefined" ? Object : _permissiondto.GetRoleActionsDto
|
|
136
|
-
]),
|
|
137
|
-
_ts_metadata("design:returntype", Promise)
|
|
138
|
-
], RolePermissionController.prototype, "getRoleActions", null);
|
|
139
|
-
_ts_decorate([
|
|
140
|
-
(0, _common.Post)('user-roles/assign'),
|
|
141
|
-
(0, _nestjsshared.RequirePermission)(_nestjsshared.USER_ROLE_PERMISSIONS.ASSIGN),
|
|
142
|
-
(0, _swagger.ApiOperation)({
|
|
143
|
-
summary: 'Assign/remove roles to/from user',
|
|
144
|
-
description: 'RBAC mode. If company feature enabled, branchId is required.'
|
|
145
|
-
}),
|
|
146
|
-
(0, _nestjsshared.ApiResponseDto)(_permissiondto.PermissionOperationResultDto),
|
|
147
|
-
(0, _swagger.ApiBody)({
|
|
148
|
-
type: _permissiondto.AssignUserRolesDto
|
|
149
|
-
}),
|
|
150
|
-
_ts_param(0, (0, _common.Body)()),
|
|
151
|
-
_ts_param(1, (0, _nestjsshared.CurrentUser)()),
|
|
152
|
-
_ts_metadata("design:type", Function),
|
|
153
|
-
_ts_metadata("design:paramtypes", [
|
|
154
|
-
typeof _permissiondto.AssignUserRolesDto === "undefined" ? Object : _permissiondto.AssignUserRolesDto,
|
|
155
|
-
typeof _nestjsshared.ILoggedUserInfo === "undefined" ? Object : _nestjsshared.ILoggedUserInfo
|
|
156
|
-
]),
|
|
157
|
-
_ts_metadata("design:returntype", Promise)
|
|
158
|
-
], RolePermissionController.prototype, "assignUserRoles", null);
|
|
159
|
-
_ts_decorate([
|
|
160
|
-
(0, _common.Post)('get-user-roles'),
|
|
161
|
-
(0, _nestjsshared.RequirePermission)(_nestjsshared.USER_ROLE_PERMISSIONS.READ),
|
|
162
|
-
(0, _swagger.ApiOperation)({
|
|
163
|
-
summary: 'Get user roles',
|
|
164
|
-
description: 'Returns roles assigned to user. Filter by companyId and branchId.'
|
|
165
|
-
}),
|
|
166
|
-
(0, _nestjsshared.ApiResponseDto)(_permissiondto.UserRoleResponseDto, true, 'single'),
|
|
167
|
-
(0, _swagger.ApiBody)({
|
|
168
|
-
type: _permissiondto.GetUserRolesDto
|
|
169
|
-
}),
|
|
170
|
-
_ts_param(0, (0, _common.Body)()),
|
|
171
|
-
_ts_param(1, (0, _nestjsshared.CurrentUser)()),
|
|
172
|
-
_ts_metadata("design:type", Function),
|
|
173
|
-
_ts_metadata("design:paramtypes", [
|
|
174
|
-
typeof _permissiondto.GetUserRolesDto === "undefined" ? Object : _permissiondto.GetUserRolesDto,
|
|
175
|
-
typeof _nestjsshared.ILoggedUserInfo === "undefined" ? Object : _nestjsshared.ILoggedUserInfo
|
|
176
|
-
]),
|
|
177
|
-
_ts_metadata("design:returntype", Promise)
|
|
178
|
-
], RolePermissionController.prototype, "getUserRoles", null);
|
|
179
|
-
RolePermissionController = _ts_decorate([
|
|
180
|
-
(0, _swagger.ApiTags)('IAM - Role Permissions'),
|
|
181
|
-
(0, _common.Controller)('iam/permissions'),
|
|
182
|
-
(0, _common.UseGuards)(_nestjsshared.JwtAuthGuard, _nestjsshared.PermissionGuard),
|
|
183
|
-
(0, _swagger.ApiBearerAuth)(),
|
|
184
|
-
_ts_param(0, (0, _common.Inject)(_permissionservice.PermissionService)),
|
|
185
|
-
_ts_param(1, (0, _common.Inject)(_iamconfigservice.IAMConfigService)),
|
|
186
|
-
_ts_metadata("design:type", Function),
|
|
187
|
-
_ts_metadata("design:paramtypes", [
|
|
188
|
-
typeof _permissionservice.PermissionService === "undefined" ? Object : _permissionservice.PermissionService,
|
|
189
|
-
typeof _iamconfigservice.IAMConfigService === "undefined" ? Object : _iamconfigservice.IAMConfigService
|
|
190
|
-
])
|
|
191
|
-
], RolePermissionController);
|