emilsoftware-utilities 1.8.0-dev.2 → 2.0.0-dev.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.
- package/README.MD +38 -34
- package/dist/ContractGenerator.js.map +1 -1
- package/dist/DatabaseUpdater.js +24 -24
- package/dist/DatabaseUpdater.js.map +1 -1
- package/dist/EmilsoftwareModule.js.map +1 -1
- package/dist/ExecutionTimeLogger.js.map +1 -1
- package/dist/Logger.js.map +1 -1
- package/dist/Orm.js.map +1 -1
- package/dist/RoutesLoggerMiddleware.js.map +1 -1
- package/dist/Utilities.d.ts +18 -0
- package/dist/Utilities.js +90 -1
- package/dist/Utilities.js.map +1 -1
- package/dist/accessi-module/AccessiModule.d.ts +15 -0
- package/dist/accessi-module/AccessiModule.js.map +1 -1
- package/dist/accessi-module/Controllers/AuthController.d.ts +4 -4
- package/dist/accessi-module/Controllers/AuthController.js +36 -21
- package/dist/accessi-module/Controllers/AuthController.js.map +1 -1
- package/dist/accessi-module/Controllers/ConfiguratorController.js.map +1 -1
- package/dist/accessi-module/Controllers/EmailController.d.ts +3 -3
- package/dist/accessi-module/Controllers/EmailController.js +15 -15
- package/dist/accessi-module/Controllers/EmailController.js.map +1 -1
- package/dist/accessi-module/Controllers/FiltriController.d.ts +3 -3
- package/dist/accessi-module/Controllers/FiltriController.js +32 -15
- package/dist/accessi-module/Controllers/FiltriController.js.map +1 -1
- package/dist/accessi-module/Controllers/PermissionController.d.ts +12 -17
- package/dist/accessi-module/Controllers/PermissionController.js +140 -124
- package/dist/accessi-module/Controllers/PermissionController.js.map +1 -1
- package/dist/accessi-module/Controllers/UserController.d.ts +12 -11
- package/dist/accessi-module/Controllers/UserController.js +112 -79
- package/dist/accessi-module/Controllers/UserController.js.map +1 -1
- package/dist/accessi-module/Dtos/Abilitazione.js.map +1 -1
- package/dist/accessi-module/Dtos/AbilitazioneMenu.js.map +1 -1
- package/dist/accessi-module/Dtos/AssignPermissionsToUserRequest.js +6 -0
- package/dist/accessi-module/Dtos/AssignPermissionsToUserRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/AssignRolesToUserRequest.js +6 -0
- package/dist/accessi-module/Dtos/AssignRolesToUserRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/BaseResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/FiltriUtente.js.map +1 -1
- package/dist/accessi-module/Dtos/GetGroupsWithMenusResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/GetMenusResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/GetRolesResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/GetUsersResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/LoginRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/LoginResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/Permission.js +5 -0
- package/dist/accessi-module/Dtos/Permission.js.map +1 -1
- package/dist/accessi-module/Dtos/RegisterRequest.js +37 -1
- package/dist/accessi-module/Dtos/RegisterRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/RegisterResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/Role.js +13 -2
- package/dist/accessi-module/Dtos/Role.js.map +1 -1
- package/dist/accessi-module/Dtos/RuoliMenu.js.map +1 -1
- package/dist/accessi-module/Dtos/SetStatoRegistrazione.js +6 -0
- package/dist/accessi-module/Dtos/SetStatoRegistrazione.js.map +1 -1
- package/dist/accessi-module/Dtos/StatoRegistrazione.js.map +1 -1
- package/dist/accessi-module/Dtos/TipoAbilitazione.js.map +1 -1
- package/dist/accessi-module/Dtos/TipoFiltro.js.map +1 -1
- package/dist/accessi-module/Dtos/TokenResult.js.map +1 -1
- package/dist/accessi-module/Dtos/UpdateEnabledStatusRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/UserDto.js +59 -1
- package/dist/accessi-module/Dtos/UserDto.js.map +1 -1
- package/dist/accessi-module/Dtos/UserGrantsDto.js.map +1 -1
- package/dist/accessi-module/Dtos/index.js.map +1 -1
- package/dist/accessi-module/Services/AuthService/AuthService.d.ts +8 -3
- package/dist/accessi-module/Services/AuthService/AuthService.js +159 -27
- package/dist/accessi-module/Services/AuthService/AuthService.js.map +1 -1
- package/dist/accessi-module/Services/ConfiguratorService/ConfiguratorService.js.map +1 -1
- package/dist/accessi-module/Services/EmailService/EmailService.js +44 -21
- package/dist/accessi-module/Services/EmailService/EmailService.js.map +1 -1
- package/dist/accessi-module/Services/FiltriService/FiltriService.js +1 -1
- package/dist/accessi-module/Services/FiltriService/FiltriService.js.map +1 -1
- package/dist/accessi-module/Services/PermissionService/PermissionService.js +87 -87
- package/dist/accessi-module/Services/PermissionService/PermissionService.js.map +1 -1
- package/dist/accessi-module/Services/UserService/UserService.d.ts +15 -6
- package/dist/accessi-module/Services/UserService/UserService.js +165 -139
- package/dist/accessi-module/Services/UserService/UserService.js.map +1 -1
- package/dist/accessi-module/Views/reset-password.html +213 -195
- package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js +25 -16
- package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js.map +1 -1
- package/dist/accessi-module/database-updates/runAccessiDbUpdate.js.map +1 -1
- package/dist/accessi-module/index.js +33 -4
- package/dist/accessi-module/index.js.map +1 -1
- package/dist/accessi-module/jwt/jwt.strategy.d.ts +4 -2
- package/dist/accessi-module/jwt/jwt.strategy.js +47 -19
- package/dist/accessi-module/jwt/jwt.strategy.js.map +1 -1
- package/dist/accessi-module/middleware/accessiRequirements.js.map +1 -1
- package/dist/accessi-module/middleware/authenticateGen.d.ts +3 -1
- package/dist/accessi-module/middleware/authenticateGen.js +17 -11
- package/dist/accessi-module/middleware/authenticateGen.js.map +1 -1
- package/dist/accessi-module/security/accessControl.d.ts +17 -0
- package/dist/accessi-module/security/accessControl.js +44 -0
- package/dist/accessi-module/security/accessControl.js.map +1 -0
- package/dist/accessi-module/security/authenticatedToken.d.ts +11 -0
- package/dist/accessi-module/security/authenticatedToken.js +39 -0
- package/dist/accessi-module/security/authenticatedToken.js.map +1 -0
- package/dist/accessi-module/security/passwordResetToken.d.ts +8 -0
- package/dist/accessi-module/security/passwordResetToken.js +73 -0
- package/dist/accessi-module/security/passwordResetToken.js.map +1 -0
- package/dist/accessi-module/security/publicAuthRateLimit.d.ts +10 -0
- package/dist/accessi-module/security/publicAuthRateLimit.js +105 -0
- package/dist/accessi-module/security/publicAuthRateLimit.js.map +1 -0
- package/dist/allegati-module/AllegatiModule.js.map +1 -1
- package/dist/allegati-module/Controllers/AllegatiController.js.map +1 -1
- package/dist/allegati-module/Dtos/AllegatoDto.js.map +1 -1
- package/dist/allegati-module/Dtos/BaseResponse.js.map +1 -1
- package/dist/allegati-module/Dtos/UploadSingleFileRequest.js.map +1 -1
- package/dist/allegati-module/Dtos/index.js.map +1 -1
- package/dist/allegati-module/Dtos/responses/DownloadAllegatoResponseDto.js.map +1 -1
- package/dist/allegati-module/Dtos/responses/GetListResponse.js.map +1 -1
- package/dist/allegati-module/Dtos/responses/UploadAllegatoResponseDto.js.map +1 -1
- package/dist/allegati-module/Services/AllegatiService/AllegatiService.js +49 -49
- package/dist/allegati-module/Services/AllegatiService/AllegatiService.js.map +1 -1
- package/dist/allegati-module/index.js.map +1 -1
- package/dist/autobind.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/initEmilsoftwareModule.js.map +1 -1
- package/dist/swagger/SwaggerConfig.js.map +1 -1
- package/package.json +83 -83
- package/dist/emilsoftware-utilities-1.8.0-dev.2.tgz +0 -0
|
@@ -26,36 +26,24 @@ exports.PermissionController = void 0;
|
|
|
26
26
|
const common_1 = require("@nestjs/common");
|
|
27
27
|
const swagger_1 = require("@nestjs/swagger");
|
|
28
28
|
const Utilities_1 = require("../../Utilities");
|
|
29
|
-
const PermissionService_1 = require("../Services/PermissionService/PermissionService");
|
|
30
|
-
const Role_1 = require("../Dtos/Role");
|
|
31
|
-
const AssignRolesToUserRequest_1 = require("../Dtos/AssignRolesToUserRequest");
|
|
32
29
|
const AssignPermissionsToUserRequest_1 = require("../Dtos/AssignPermissionsToUserRequest");
|
|
30
|
+
const AssignRolesToUserRequest_1 = require("../Dtos/AssignRolesToUserRequest");
|
|
31
|
+
const GetGroupsWithMenusResponse_1 = require("../Dtos/GetGroupsWithMenusResponse");
|
|
33
32
|
const GetMenusResponse_1 = require("../Dtos/GetMenusResponse");
|
|
34
33
|
const GetRolesResponse_1 = require("../Dtos/GetRolesResponse");
|
|
34
|
+
const Role_1 = require("../Dtos/Role");
|
|
35
35
|
const UserGrantsDto_1 = require("../Dtos/UserGrantsDto");
|
|
36
|
-
const
|
|
36
|
+
const PermissionService_1 = require("../Services/PermissionService/PermissionService");
|
|
37
|
+
const jwt_strategy_1 = require("../jwt/jwt.strategy");
|
|
38
|
+
const accessControl_1 = require("../security/accessControl");
|
|
37
39
|
let PermissionController = PermissionController_1 = class PermissionController {
|
|
38
|
-
constructor(permissionService
|
|
40
|
+
constructor(permissionService) {
|
|
39
41
|
this.permissionService = permissionService;
|
|
40
|
-
this.options = options;
|
|
41
42
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
try {
|
|
47
|
-
await this.permissionService.resetAbilitazioni(codiceUtente);
|
|
48
|
-
RestUtilities.sendOKMessage(res, `Le abilitazioni dell'utente ${codiceUtente} sono state resettate con successo.`);
|
|
49
|
-
} catch (error) {
|
|
50
|
-
RestUtilities.sendErrorMessage(res, error, PermissionController.name);
|
|
51
|
-
throw error;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
*/
|
|
55
|
-
/**
|
|
56
|
-
* @description Endpoint per ottenere tutti i ruoli con i relativi menù.
|
|
57
|
-
* @returns Un array di ruoli con menù associati.
|
|
58
|
-
*/
|
|
43
|
+
sendControllerError(res, error) {
|
|
44
|
+
const status = error instanceof common_1.HttpException ? error.getStatus() : common_1.HttpStatus.INTERNAL_SERVER_ERROR;
|
|
45
|
+
return Utilities_1.RestUtilities.sendErrorMessage(res, error, PermissionController_1.name, status);
|
|
46
|
+
}
|
|
59
47
|
getRoles(res) {
|
|
60
48
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
49
|
try {
|
|
@@ -63,87 +51,88 @@ let PermissionController = PermissionController_1 = class PermissionController {
|
|
|
63
51
|
Utilities_1.RestUtilities.sendBaseResponse(res, roles);
|
|
64
52
|
}
|
|
65
53
|
catch (error) {
|
|
66
|
-
|
|
54
|
+
this.sendControllerError(res, error);
|
|
67
55
|
throw error;
|
|
68
56
|
}
|
|
69
57
|
});
|
|
70
58
|
}
|
|
71
|
-
updateRole(codiceRuolo, role, res) {
|
|
59
|
+
updateRole(request, codiceRuolo, role, res) {
|
|
72
60
|
return __awaiter(this, void 0, void 0, function* () {
|
|
73
61
|
try {
|
|
62
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono modificare i ruoli.');
|
|
74
63
|
if (Number.isNaN(codiceRuolo))
|
|
75
|
-
throw new Error(
|
|
64
|
+
throw new Error('Il codice del ruolo e obbligatorio.');
|
|
76
65
|
if (!role.descrizioneRuolo)
|
|
77
|
-
throw new Error(
|
|
78
|
-
if (!role.menu || role.menu.length === 0)
|
|
79
|
-
throw new Error(
|
|
66
|
+
throw new Error('La descrizione del ruolo non puo essere vuota.');
|
|
67
|
+
if (!role.menu || role.menu.length === 0) {
|
|
68
|
+
throw new Error('Il ruolo deve avere almeno un menu.');
|
|
69
|
+
}
|
|
80
70
|
yield this.permissionService.updateOrInsertRole(role, codiceRuolo);
|
|
81
|
-
return Utilities_1.RestUtilities.sendOKMessage(res, `Il ruolo ${codiceRuolo}
|
|
71
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, `Il ruolo ${codiceRuolo} e' stato aggiornato con successo.`);
|
|
82
72
|
}
|
|
83
73
|
catch (error) {
|
|
84
|
-
return
|
|
74
|
+
return this.sendControllerError(res, error);
|
|
85
75
|
}
|
|
86
76
|
});
|
|
87
77
|
}
|
|
88
|
-
createRole(res, role) {
|
|
78
|
+
createRole(request, res, role) {
|
|
89
79
|
return __awaiter(this, void 0, void 0, function* () {
|
|
90
80
|
try {
|
|
81
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono creare ruoli.');
|
|
91
82
|
if (!role)
|
|
92
|
-
throw new Error(
|
|
83
|
+
throw new Error('Il ruolo non puo essere vuoto.');
|
|
93
84
|
if (!role.descrizioneRuolo)
|
|
94
|
-
throw new Error(
|
|
95
|
-
if (!role.menu || role.menu.length === 0)
|
|
96
|
-
throw new Error(
|
|
85
|
+
throw new Error('La descrizione del ruolo non puo essere vuota.');
|
|
86
|
+
if (!role.menu || role.menu.length === 0) {
|
|
87
|
+
throw new Error('Il ruolo deve avere almeno un menu.');
|
|
88
|
+
}
|
|
97
89
|
yield this.permissionService.updateOrInsertRole(role);
|
|
98
|
-
return Utilities_1.RestUtilities.sendOKMessage(res,
|
|
90
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, 'Il ruolo e stato creato con successo.');
|
|
99
91
|
}
|
|
100
92
|
catch (error) {
|
|
101
|
-
return
|
|
93
|
+
return this.sendControllerError(res, error);
|
|
102
94
|
}
|
|
103
95
|
});
|
|
104
96
|
}
|
|
105
|
-
assignRolesToUser(res, codiceUtente, assignRolesRequest) {
|
|
97
|
+
assignRolesToUser(request, res, codiceUtente, assignRolesRequest) {
|
|
106
98
|
return __awaiter(this, void 0, void 0, function* () {
|
|
107
99
|
try {
|
|
108
|
-
|
|
109
|
-
throw new Error("Il codice utente è obbligatorio.");
|
|
100
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono assegnare ruoli agli utenti.');
|
|
110
101
|
if (!assignRolesRequest.roles || assignRolesRequest.roles.length === 0) {
|
|
111
|
-
throw new Error(
|
|
102
|
+
throw new Error('E necessario fornire almeno un ruolo.');
|
|
112
103
|
}
|
|
113
104
|
yield this.permissionService.assignRolesToUser(codiceUtente, assignRolesRequest.roles);
|
|
114
105
|
return Utilities_1.RestUtilities.sendOKMessage(res, `I ruoli ${assignRolesRequest.roles.join(', ')} sono stati assegnati all'utente ${codiceUtente}.`);
|
|
115
106
|
}
|
|
116
107
|
catch (error) {
|
|
117
|
-
return
|
|
108
|
+
return this.sendControllerError(res, error);
|
|
118
109
|
}
|
|
119
110
|
});
|
|
120
111
|
}
|
|
121
|
-
assignPermissionsToUser(res, codiceUtente, assignPermissionsRequest) {
|
|
112
|
+
assignPermissionsToUser(request, res, codiceUtente, assignPermissionsRequest) {
|
|
122
113
|
return __awaiter(this, void 0, void 0, function* () {
|
|
123
114
|
try {
|
|
124
|
-
|
|
125
|
-
throw new Error("Il codice utente è obbligatorio.");
|
|
115
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono assegnare permessi agli utenti.');
|
|
126
116
|
if (!assignPermissionsRequest.permissions || assignPermissionsRequest.permissions.length === 0) {
|
|
127
|
-
throw new Error(
|
|
117
|
+
throw new Error('E necessario fornire almeno una abilitazione.');
|
|
128
118
|
}
|
|
129
119
|
yield this.permissionService.assignPermissionsToUser(codiceUtente, assignPermissionsRequest.permissions);
|
|
130
120
|
return Utilities_1.RestUtilities.sendOKMessage(res, `Le abilitazioni sono state assegnate all'utente ${codiceUtente}.`);
|
|
131
121
|
}
|
|
132
122
|
catch (error) {
|
|
133
|
-
return
|
|
123
|
+
return this.sendControllerError(res, error);
|
|
134
124
|
}
|
|
135
125
|
});
|
|
136
126
|
}
|
|
137
|
-
deleteRole(codiceRuolo, res) {
|
|
127
|
+
deleteRole(request, codiceRuolo, res) {
|
|
138
128
|
return __awaiter(this, void 0, void 0, function* () {
|
|
139
129
|
try {
|
|
140
|
-
|
|
141
|
-
throw new Error("Il codice del ruolo è obbligatorio.");
|
|
130
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono eliminare ruoli.');
|
|
142
131
|
yield this.permissionService.deleteRole(codiceRuolo);
|
|
143
|
-
return Utilities_1.RestUtilities.sendOKMessage(res, `Il ruolo ${codiceRuolo}
|
|
132
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, `Il ruolo ${codiceRuolo} e' stato eliminato con successo.`);
|
|
144
133
|
}
|
|
145
134
|
catch (error) {
|
|
146
|
-
return
|
|
135
|
+
return this.sendControllerError(res, error);
|
|
147
136
|
}
|
|
148
137
|
});
|
|
149
138
|
}
|
|
@@ -154,7 +143,7 @@ let PermissionController = PermissionController_1 = class PermissionController {
|
|
|
154
143
|
return Utilities_1.RestUtilities.sendBaseResponse(res, menus);
|
|
155
144
|
}
|
|
156
145
|
catch (error) {
|
|
157
|
-
return
|
|
146
|
+
return this.sendControllerError(res, error);
|
|
158
147
|
}
|
|
159
148
|
});
|
|
160
149
|
}
|
|
@@ -168,29 +157,37 @@ let PermissionController = PermissionController_1 = class PermissionController {
|
|
|
168
157
|
return Utilities_1.RestUtilities.sendBaseResponse(res, menus);
|
|
169
158
|
}
|
|
170
159
|
catch (error) {
|
|
171
|
-
return
|
|
160
|
+
return this.sendControllerError(res, error);
|
|
172
161
|
}
|
|
173
162
|
});
|
|
174
163
|
}
|
|
175
|
-
getUserRolesAndGrants(codiceUtente, res) {
|
|
164
|
+
getUserRolesAndGrants(request, codiceUtente, res) {
|
|
176
165
|
return __awaiter(this, void 0, void 0, function* () {
|
|
177
166
|
try {
|
|
167
|
+
(0, accessControl_1.ensureSelfOrSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), codiceUtente, 'Puoi consultare solo i tuoi grant, salvo privilegi amministrativi.');
|
|
178
168
|
const menus = yield this.permissionService.getUserRolesAndGrants(codiceUtente);
|
|
179
169
|
return Utilities_1.RestUtilities.sendBaseResponse(res, menus);
|
|
180
170
|
}
|
|
181
171
|
catch (error) {
|
|
182
|
-
return
|
|
172
|
+
return this.sendControllerError(res, error);
|
|
183
173
|
}
|
|
184
174
|
});
|
|
185
175
|
}
|
|
186
176
|
};
|
|
187
177
|
exports.PermissionController = PermissionController;
|
|
188
178
|
__decorate([
|
|
189
|
-
(0, swagger_1.ApiOperation)({
|
|
190
|
-
|
|
179
|
+
(0, swagger_1.ApiOperation)({
|
|
180
|
+
summary: 'Ritorna i ruoli disponibili con i relativi menu',
|
|
181
|
+
operationId: 'getRoles',
|
|
182
|
+
description: 'Recupera tutti i ruoli presenti nel sistema con le relative voci di menu.',
|
|
183
|
+
}),
|
|
184
|
+
(0, swagger_1.ApiOkResponse)({ description: 'Elenco dei ruoli con i rispettivi menu', type: GetRolesResponse_1.GetRolesResponse }),
|
|
191
185
|
(0, swagger_1.ApiInternalServerErrorResponse)({ description: 'Errore interno del server' }),
|
|
192
|
-
(0, swagger_1.ApiResponse)({ status: common_1.HttpStatus.OK, description: 'Lista dei ruoli
|
|
193
|
-
(0, swagger_1.ApiResponse)({
|
|
186
|
+
(0, swagger_1.ApiResponse)({ status: common_1.HttpStatus.OK, description: 'Lista dei ruoli restituita con successo.' }),
|
|
187
|
+
(0, swagger_1.ApiResponse)({
|
|
188
|
+
status: common_1.HttpStatus.INTERNAL_SERVER_ERROR,
|
|
189
|
+
description: 'Errore interno del server durante il recupero dei ruoli.',
|
|
190
|
+
}),
|
|
194
191
|
(0, common_1.Get)('roles'),
|
|
195
192
|
__param(0, (0, common_1.Res)()),
|
|
196
193
|
__metadata("design:type", Function),
|
|
@@ -198,116 +195,124 @@ __decorate([
|
|
|
198
195
|
__metadata("design:returntype", Promise)
|
|
199
196
|
], PermissionController.prototype, "getRoles", null);
|
|
200
197
|
__decorate([
|
|
201
|
-
(0, swagger_1.ApiOperation)({ summary: 'Aggiorna un ruolo esistente', operationId:
|
|
198
|
+
(0, swagger_1.ApiOperation)({ summary: 'Aggiorna un ruolo esistente', operationId: 'updateRole' }),
|
|
202
199
|
(0, swagger_1.ApiParam)({
|
|
203
200
|
name: 'codiceRuolo',
|
|
204
|
-
description:
|
|
201
|
+
description: 'Codice identificativo del ruolo da aggiornare',
|
|
205
202
|
required: true,
|
|
206
203
|
example: 101,
|
|
207
|
-
type: Number
|
|
204
|
+
type: Number,
|
|
208
205
|
}),
|
|
209
206
|
(0, swagger_1.ApiBody)({
|
|
210
|
-
description:
|
|
211
|
-
type: Role_1.Role
|
|
207
|
+
description: 'Dati aggiornati del ruolo',
|
|
208
|
+
type: Role_1.Role,
|
|
212
209
|
}),
|
|
213
|
-
(0, swagger_1.ApiResponse)({ status: 200, description:
|
|
214
|
-
(0, swagger_1.ApiResponse)({ status: 400, description:
|
|
215
|
-
(0, swagger_1.ApiResponse)({ status: 500, description:
|
|
210
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Il ruolo e stato aggiornato con successo' }),
|
|
211
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Errore di validazione nei dati inviati' }),
|
|
212
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server' }),
|
|
216
213
|
(0, common_1.Put)('update-role/:codiceRuolo'),
|
|
217
|
-
__param(0, (0, common_1.
|
|
218
|
-
__param(1, (0, common_1.
|
|
219
|
-
__param(2, (0, common_1.
|
|
214
|
+
__param(0, (0, common_1.Req)()),
|
|
215
|
+
__param(1, (0, common_1.Param)('codiceRuolo', common_1.ParseIntPipe)),
|
|
216
|
+
__param(2, (0, common_1.Body)()),
|
|
217
|
+
__param(3, (0, common_1.Res)()),
|
|
220
218
|
__metadata("design:type", Function),
|
|
221
|
-
__metadata("design:paramtypes", [Number, Role_1.Role, Object]),
|
|
219
|
+
__metadata("design:paramtypes", [Object, Number, Role_1.Role, Object]),
|
|
222
220
|
__metadata("design:returntype", Promise)
|
|
223
221
|
], PermissionController.prototype, "updateRole", null);
|
|
224
222
|
__decorate([
|
|
225
|
-
(0, swagger_1.ApiOperation)({ summary: 'Crea un nuovo ruolo', operationId:
|
|
226
|
-
(0, swagger_1.ApiResponse)({ status: 201, description: 'Il ruolo
|
|
223
|
+
(0, swagger_1.ApiOperation)({ summary: 'Crea un nuovo ruolo', operationId: 'createRole' }),
|
|
224
|
+
(0, swagger_1.ApiResponse)({ status: 201, description: 'Il ruolo e stato creato con successo' }),
|
|
227
225
|
(0, swagger_1.ApiResponse)({ status: 400, description: 'Errore di validazione nei dati inviati' }),
|
|
228
226
|
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server' }),
|
|
229
227
|
(0, swagger_1.ApiBody)({
|
|
230
228
|
description: 'Dati del nuovo ruolo',
|
|
231
229
|
required: true,
|
|
232
|
-
type: Role_1.Role
|
|
230
|
+
type: Role_1.Role,
|
|
233
231
|
}),
|
|
234
232
|
(0, common_1.Post)('create-role'),
|
|
235
|
-
__param(0, (0, common_1.
|
|
236
|
-
__param(1, (0, common_1.
|
|
233
|
+
__param(0, (0, common_1.Req)()),
|
|
234
|
+
__param(1, (0, common_1.Res)()),
|
|
235
|
+
__param(2, (0, common_1.Body)()),
|
|
237
236
|
__metadata("design:type", Function),
|
|
238
|
-
__metadata("design:paramtypes", [Object, Role_1.Role]),
|
|
237
|
+
__metadata("design:paramtypes", [Object, Object, Role_1.Role]),
|
|
239
238
|
__metadata("design:returntype", Promise)
|
|
240
239
|
], PermissionController.prototype, "createRole", null);
|
|
241
240
|
__decorate([
|
|
242
|
-
(0, swagger_1.ApiOperation)({ summary: 'Assegna
|
|
241
|
+
(0, swagger_1.ApiOperation)({ summary: 'Assegna piu ruoli a un utente', operationId: 'assignRolesToUser' }),
|
|
243
242
|
(0, swagger_1.ApiParam)({
|
|
244
243
|
name: 'codiceUtente',
|
|
245
|
-
description:
|
|
244
|
+
description: "Codice identificativo dell'utente a cui assegnare i ruoli",
|
|
246
245
|
required: true,
|
|
247
|
-
example: 22
|
|
246
|
+
example: 22,
|
|
248
247
|
}),
|
|
249
248
|
(0, swagger_1.ApiBody)({
|
|
250
249
|
type: AssignRolesToUserRequest_1.AssignRolesToUserRequest,
|
|
251
|
-
description:
|
|
250
|
+
description: "Lista dei ruoli da assegnare all'utente",
|
|
252
251
|
}),
|
|
253
|
-
(0, swagger_1.ApiResponse)({ status: 200, description:
|
|
252
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: "Ruoli assegnati con successo all'utente" }),
|
|
254
253
|
(0, swagger_1.ApiResponse)({ status: 400, description: 'Errore di validazione nei dati inviati' }),
|
|
255
254
|
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server' }),
|
|
256
255
|
(0, common_1.Post)('assign-roles/:codiceUtente'),
|
|
257
|
-
__param(0, (0, common_1.
|
|
258
|
-
__param(1, (0, common_1.
|
|
259
|
-
__param(2, (0, common_1.
|
|
256
|
+
__param(0, (0, common_1.Req)()),
|
|
257
|
+
__param(1, (0, common_1.Res)()),
|
|
258
|
+
__param(2, (0, common_1.Param)('codiceUtente', common_1.ParseIntPipe)),
|
|
259
|
+
__param(3, (0, common_1.Body)()),
|
|
260
260
|
__metadata("design:type", Function),
|
|
261
|
-
__metadata("design:paramtypes", [Object, Number, AssignRolesToUserRequest_1.AssignRolesToUserRequest]),
|
|
261
|
+
__metadata("design:paramtypes", [Object, Object, Number, AssignRolesToUserRequest_1.AssignRolesToUserRequest]),
|
|
262
262
|
__metadata("design:returntype", Promise)
|
|
263
263
|
], PermissionController.prototype, "assignRolesToUser", null);
|
|
264
264
|
__decorate([
|
|
265
|
-
(0, swagger_1.ApiOperation)({
|
|
265
|
+
(0, swagger_1.ApiOperation)({
|
|
266
|
+
summary: 'Assegna abilitazioni dirette a un utente',
|
|
267
|
+
operationId: 'assignPermissionsToUser',
|
|
268
|
+
}),
|
|
266
269
|
(0, swagger_1.ApiParam)({
|
|
267
270
|
name: 'codiceUtente',
|
|
268
|
-
description:
|
|
271
|
+
description: "Codice identificativo dell'utente a cui assegnare le abilitazioni",
|
|
269
272
|
required: true,
|
|
270
|
-
example:
|
|
273
|
+
example: 22,
|
|
271
274
|
}),
|
|
272
275
|
(0, swagger_1.ApiBody)({
|
|
273
276
|
type: AssignPermissionsToUserRequest_1.AssignPermissionsToUserRequest,
|
|
274
|
-
description:
|
|
277
|
+
description: "Lista delle abilitazioni da assegnare all'utente",
|
|
275
278
|
}),
|
|
276
|
-
(0, swagger_1.ApiResponse)({ status: 200, description:
|
|
279
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: "Abilitazioni assegnate con successo all'utente" }),
|
|
277
280
|
(0, swagger_1.ApiResponse)({ status: 400, description: 'Errore di validazione nei dati inviati' }),
|
|
278
281
|
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server' }),
|
|
279
282
|
(0, common_1.Post)('assign-permissions/:codiceUtente'),
|
|
280
|
-
__param(0, (0, common_1.
|
|
281
|
-
__param(1, (0, common_1.
|
|
282
|
-
__param(2, (0, common_1.
|
|
283
|
+
__param(0, (0, common_1.Req)()),
|
|
284
|
+
__param(1, (0, common_1.Res)()),
|
|
285
|
+
__param(2, (0, common_1.Param)('codiceUtente', common_1.ParseIntPipe)),
|
|
286
|
+
__param(3, (0, common_1.Body)()),
|
|
283
287
|
__metadata("design:type", Function),
|
|
284
|
-
__metadata("design:paramtypes", [Object, Number, AssignPermissionsToUserRequest_1.AssignPermissionsToUserRequest]),
|
|
288
|
+
__metadata("design:paramtypes", [Object, Object, Number, AssignPermissionsToUserRequest_1.AssignPermissionsToUserRequest]),
|
|
285
289
|
__metadata("design:returntype", Promise)
|
|
286
290
|
], PermissionController.prototype, "assignPermissionsToUser", null);
|
|
287
291
|
__decorate([
|
|
288
|
-
(0, swagger_1.ApiOperation)({ summary: 'Elimina un ruolo esistente', operationId:
|
|
292
|
+
(0, swagger_1.ApiOperation)({ summary: 'Elimina un ruolo esistente', operationId: 'deleteRole' }),
|
|
289
293
|
(0, swagger_1.ApiParam)({
|
|
290
294
|
name: 'codiceRuolo',
|
|
291
|
-
description:
|
|
295
|
+
description: 'Codice identificativo del ruolo da eliminare',
|
|
292
296
|
required: true,
|
|
293
297
|
example: 382,
|
|
294
|
-
type: Number
|
|
298
|
+
type: Number,
|
|
295
299
|
}),
|
|
296
|
-
(0, swagger_1.ApiResponse)({ status: 200, description:
|
|
297
|
-
(0, swagger_1.ApiResponse)({ status: 400, description:
|
|
298
|
-
(0, swagger_1.ApiResponse)({ status: 500, description:
|
|
300
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Ruolo eliminato con successo' }),
|
|
301
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Errore nei parametri della richiesta' }),
|
|
302
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server' }),
|
|
299
303
|
(0, common_1.Delete)('delete-role/:codiceRuolo'),
|
|
300
|
-
__param(0, (0, common_1.
|
|
301
|
-
__param(1, (0, common_1.
|
|
304
|
+
__param(0, (0, common_1.Req)()),
|
|
305
|
+
__param(1, (0, common_1.Param)('codiceRuolo', common_1.ParseIntPipe)),
|
|
306
|
+
__param(2, (0, common_1.Res)()),
|
|
302
307
|
__metadata("design:type", Function),
|
|
303
|
-
__metadata("design:paramtypes", [Number, Object]),
|
|
308
|
+
__metadata("design:paramtypes", [Object, Number, Object]),
|
|
304
309
|
__metadata("design:returntype", Promise)
|
|
305
310
|
], PermissionController.prototype, "deleteRole", null);
|
|
306
311
|
__decorate([
|
|
307
|
-
(0, swagger_1.ApiOperation)({ summary: 'Recupera tutti i
|
|
308
|
-
(0, swagger_1.ApiOkResponse)({ description: 'Elenco
|
|
309
|
-
(0, swagger_1.ApiResponse)({ status: 200, description:
|
|
310
|
-
(0, swagger_1.ApiResponse)({ status: 500, description:
|
|
312
|
+
(0, swagger_1.ApiOperation)({ summary: 'Recupera tutti i menu disponibili', operationId: 'getMenus' }),
|
|
313
|
+
(0, swagger_1.ApiOkResponse)({ description: 'Elenco menu', type: GetMenusResponse_1.GetMenusResponse }),
|
|
314
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Lista dei menu recuperata con successo' }),
|
|
315
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server' }),
|
|
311
316
|
(0, common_1.Get)('menus'),
|
|
312
317
|
__param(0, (0, common_1.Res)()),
|
|
313
318
|
__metadata("design:type", Function),
|
|
@@ -315,15 +320,21 @@ __decorate([
|
|
|
315
320
|
__metadata("design:returntype", Promise)
|
|
316
321
|
], PermissionController.prototype, "getMenus", null);
|
|
317
322
|
__decorate([
|
|
318
|
-
(0, swagger_1.ApiOperation)({
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
323
|
+
(0, swagger_1.ApiOperation)({
|
|
324
|
+
summary: 'Recupera tutti i gruppi disponibili con i relativi menu',
|
|
325
|
+
operationId: 'getGroupsWithMenus',
|
|
326
|
+
}),
|
|
327
|
+
(0, swagger_1.ApiOkResponse)({
|
|
328
|
+
description: 'Elenco gruppi con relativi menu',
|
|
329
|
+
type: GetGroupsWithMenusResponse_1.GetGroupsWithMenusResponse,
|
|
330
|
+
}),
|
|
331
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Lista dei menu recuperata con successo' }),
|
|
332
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server' }),
|
|
322
333
|
(0, swagger_1.ApiQuery)({
|
|
323
334
|
name: 'includeDisabled',
|
|
324
335
|
required: false,
|
|
325
336
|
type: Boolean,
|
|
326
|
-
description: 'Quando true ritorna anche i menu e gruppi disabilitati.'
|
|
337
|
+
description: 'Quando true ritorna anche i menu e gruppi disabilitati.',
|
|
327
338
|
}),
|
|
328
339
|
(0, common_1.Get)('groups-with-menus'),
|
|
329
340
|
__param(0, (0, common_1.Query)('includeDisabled')),
|
|
@@ -333,21 +344,26 @@ __decorate([
|
|
|
333
344
|
__metadata("design:returntype", Promise)
|
|
334
345
|
], PermissionController.prototype, "getGroupsWithMenus", null);
|
|
335
346
|
__decorate([
|
|
336
|
-
(0, swagger_1.ApiOperation)({
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
347
|
+
(0, swagger_1.ApiOperation)({
|
|
348
|
+
summary: 'Recupera i ruoli e i menu di un utente',
|
|
349
|
+
operationId: 'getUserRolesAndGrants',
|
|
350
|
+
}),
|
|
351
|
+
(0, swagger_1.ApiOkResponse)({ description: 'Elenco menu', type: UserGrantsDto_1.UserGrantsDto }),
|
|
352
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Lista dei menu recuperata con successo' }),
|
|
353
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server' }),
|
|
340
354
|
(0, common_1.Get)('grants/:codiceUtente'),
|
|
341
|
-
__param(0, (0, common_1.
|
|
342
|
-
__param(1, (0, common_1.
|
|
355
|
+
__param(0, (0, common_1.Req)()),
|
|
356
|
+
__param(1, (0, common_1.Param)('codiceUtente', common_1.ParseIntPipe)),
|
|
357
|
+
__param(2, (0, common_1.Res)()),
|
|
343
358
|
__metadata("design:type", Function),
|
|
344
|
-
__metadata("design:paramtypes", [Number, Object]),
|
|
359
|
+
__metadata("design:paramtypes", [Object, Number, Object]),
|
|
345
360
|
__metadata("design:returntype", Promise)
|
|
346
361
|
], PermissionController.prototype, "getUserRolesAndGrants", null);
|
|
347
362
|
exports.PermissionController = PermissionController = PermissionController_1 = __decorate([
|
|
348
363
|
(0, swagger_1.ApiTags)('Permission'),
|
|
364
|
+
(0, swagger_1.ApiBearerAuth)(),
|
|
349
365
|
(0, common_1.Controller)('accessi/permission'),
|
|
350
|
-
|
|
351
|
-
__metadata("design:paramtypes", [PermissionService_1.PermissionService
|
|
366
|
+
(0, common_1.UseGuards)(jwt_strategy_1.JwtSimpleGuard),
|
|
367
|
+
__metadata("design:paramtypes", [PermissionService_1.PermissionService])
|
|
352
368
|
], PermissionController);
|
|
353
369
|
//# sourceMappingURL=PermissionController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionController.js","sourceRoot":"","sources":["../../../src/accessi-module/Controllers/PermissionController.ts"],"names":[],"mappings":"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","sourcesContent":["import { Body, Controller, Delete, Get, HttpStatus, Inject, Param, ParseIntPipe, Post, Put, Query, Res } from '@nestjs/common';\nimport { ApiBody, ApiInternalServerErrorResponse, ApiOkResponse, ApiOperation, ApiParam, ApiQuery, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Response } from 'express';\nimport { RestUtilities } from '../../Utilities';\nimport { AccessiOptions } from '../AccessiModule';\nimport { PermissionService } from '../Services/PermissionService/PermissionService';\nimport { Role } from '../Dtos/Role';\nimport { AssignRolesToUserRequest } from '../Dtos/AssignRolesToUserRequest';\nimport { AssignPermissionsToUserRequest } from '../Dtos/AssignPermissionsToUserRequest';\nimport { BaseResponse } from '../Dtos';\nimport { GetMenusResponse, MenuEntity } from '../Dtos/GetMenusResponse';\nimport { GetRolesResponse } from '../Dtos/GetRolesResponse';\nimport { UserGrantsDto } from '../Dtos/UserGrantsDto';\nimport { GetGroupsWithMenusResponse } from '../Dtos/GetGroupsWithMenusResponse';\n\n\n@ApiTags('Permission')\n@Controller('accessi/permission')\nexport class PermissionController {\n constructor(\n private readonly permissionService: PermissionService,\n @Inject('ACCESSI_OPTIONS') private readonly options: AccessiOptions\n ) { }\n\n /*\n @ApiOperation({ summary: 'Resetta le abilitazioni di un utente', operationId: \"resetAbilitazioni\" })\n @Post('reset-abilitazioni')\n async resetAbilitazioni(@Body('codiceUtente') codiceUtente: number, @Res() res: Response) {\n try {\n await this.permissionService.resetAbilitazioni(codiceUtente);\n RestUtilities.sendOKMessage(res, `Le abilitazioni dell'utente ${codiceUtente} sono state resettate con successo.`);\n } catch (error) {\n RestUtilities.sendErrorMessage(res, error, PermissionController.name);\n throw error;\n }\n }\n */\n\n\n /**\n * @description Endpoint per ottenere tutti i ruoli con i relativi menù.\n * @returns Un array di ruoli con menù associati.\n */\n @ApiOperation({ summary: 'Ritorna i ruoli disponibili con i relativi menù', operationId: \"getRoles\", description: 'Recupera tutti i ruoli presenti nel sistema con le relative voci di menu accessibili.' })\n @ApiOkResponse({ description: 'Elenco dei ruoli con i rispettivi menù', type: GetRolesResponse })\n @ApiInternalServerErrorResponse({ description: 'Errore interno del server' })\n @ApiResponse({ status: HttpStatus.OK, description: 'Lista dei ruoli con i menù restituita con successo.' })\n @ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Errore interno del server durante il recupero dei ruoli.' })\n @Get('roles')\n async getRoles(@Res() res: Response): Promise<void> {\n try {\n const roles = await this.permissionService.getRolesWithMenus();\n RestUtilities.sendBaseResponse(res, roles);\n } catch (error) {\n RestUtilities.sendErrorMessage(res, error, PermissionController.name);\n throw error;\n }\n }\n\n @ApiOperation({ summary: 'Aggiorna un ruolo esistente', operationId: \"updateRole\" })\n @ApiParam({\n name: 'codiceRuolo',\n description: \"Codice identificativo del ruolo da aggiornare\",\n required: true,\n example: 101,\n type: Number\n })\n @ApiBody({\n description: \"Dati aggiornati del ruolo (escluso il codice ruolo, che è nel path)\",\n type: Role\n })\n @ApiResponse({ status: 200, description: \"Il ruolo è stato aggiornato con successo\" })\n @ApiResponse({ status: 400, description: \"Errore di validazione nei dati inviati\" })\n @ApiResponse({ status: 500, description: \"Errore interno del server\" })\n @Put('update-role/:codiceRuolo')\n async updateRole(\n @Param('codiceRuolo', ParseIntPipe) codiceRuolo: number,\n @Body() role: Role,\n @Res() res: Response\n ) {\n try {\n if (Number.isNaN(codiceRuolo)) throw new Error(\"Il codice del ruolo è obbligatorio.\");\n if (!role.descrizioneRuolo) throw new Error(\"La descrizione del ruolo non può essere vuota.\");\n if (!role.menu || role.menu.length === 0) throw new Error(\"Il ruolo deve avere almeno un menù.\");\n\n await this.permissionService.updateOrInsertRole(role, codiceRuolo);\n return RestUtilities.sendOKMessage(res, `Il ruolo ${codiceRuolo} è stato aggiornato con successo.`);\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, PermissionController.name);\n }\n }\n\n @ApiOperation({ summary: 'Crea un nuovo ruolo', operationId: \"createRole\" })\n @ApiResponse({ status: 201, description: 'Il ruolo è stato creato con successo' })\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati' })\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\n @ApiBody({\n description: 'Dati del nuovo ruolo',\n required: true,\n type: Role\n })\n @Post('create-role')\n async createRole(@Res() res: Response, @Body() role: Role) {\n try {\n if (!role) throw new Error(\"Il ruolo non può essere vuoto.\");\n if (!role.descrizioneRuolo) throw new Error(\"La descrizione del ruolo non può essere vuota.\");\n if (!role.menu || role.menu.length === 0) throw new Error(\"Il ruolo deve avere almeno un menù.\");\n\n await this.permissionService.updateOrInsertRole(role);\n return RestUtilities.sendOKMessage(res, \"Il ruolo è stato creato con successo.\");\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, PermissionController.name);\n }\n }\n\n\n @ApiOperation({ summary: 'Assegna più ruoli a un utente', operationId: \"assignRolesToUser\" })\n @ApiParam({\n name: 'codiceUtente',\n description: 'Codice identificativo dell\\'utente a cui assegnare i ruoli',\n required: true,\n example: 22\n })\n @ApiBody({\n type: AssignRolesToUserRequest,\n description: 'Lista dei ruoli da assegnare all\\'utente'\n })\n @ApiResponse({ status: 200, description: 'Ruoli assegnati con successo all\\'utente' })\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati' })\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\n @Post('assign-roles/:codiceUtente')\n async assignRolesToUser(\n @Res() res: Response,\n @Param('codiceUtente') codiceUtente: number,\n @Body() assignRolesRequest: AssignRolesToUserRequest\n ) {\n try {\n if (!codiceUtente) throw new Error(\"Il codice utente è obbligatorio.\");\n if (!assignRolesRequest.roles || assignRolesRequest.roles.length === 0) {\n throw new Error(\"È necessario fornire almeno un ruolo.\");\n }\n\n await this.permissionService.assignRolesToUser(codiceUtente, assignRolesRequest.roles);\n return RestUtilities.sendOKMessage(res, `I ruoli ${assignRolesRequest.roles.join(', ')} sono stati assegnati all'utente ${codiceUtente}.`);\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, PermissionController.name);\n }\n }\n\n\n @ApiOperation({ summary: 'Assegna abilitazioni dirette a un utente', operationId: \"assignPermissionsToUser\" })\n @ApiParam({\n name: 'codiceUtente',\n description: 'Codice identificativo dell\\'utente a cui assegnare le abilitazioni',\n required: true,\n example: 'USR123'\n })\n @ApiBody({\n type: AssignPermissionsToUserRequest,\n description: 'Lista delle abilitazioni da assegnare all\\'utente'\n })\n @ApiResponse({ status: 200, description: 'Abilitazioni assegnate con successo all\\'utente' })\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati' })\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\n @Post('assign-permissions/:codiceUtente')\n async assignPermissionsToUser(\n @Res() res: Response,\n @Param('codiceUtente') codiceUtente: number,\n @Body() assignPermissionsRequest: AssignPermissionsToUserRequest\n ) {\n try {\n if (!codiceUtente) throw new Error(\"Il codice utente è obbligatorio.\");\n if (!assignPermissionsRequest.permissions || assignPermissionsRequest.permissions.length === 0) {\n throw new Error(\"È necessario fornire almeno un'abilitazione.\");\n }\n\n await this.permissionService.assignPermissionsToUser(codiceUtente, assignPermissionsRequest.permissions);\n return RestUtilities.sendOKMessage(res, `Le abilitazioni sono state assegnate all'utente ${codiceUtente}.`);\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, PermissionController.name);\n }\n }\n\n\n @ApiOperation({ summary: 'Elimina un ruolo esistente', operationId: \"deleteRole\" })\n @ApiParam({\n name: 'codiceRuolo',\n description: \"Codice identificativo del ruolo da eliminare\",\n required: true,\n example: 382,\n type: Number\n })\n @ApiResponse({ status: 200, description: \"Ruolo eliminato con successo\" })\n @ApiResponse({ status: 400, description: \"Errore nei parametri della richiesta\" })\n @ApiResponse({ status: 500, description: \"Errore interno del server\" })\n @Delete('delete-role/:codiceRuolo')\n async deleteRole(@Param('codiceRuolo', ParseIntPipe) codiceRuolo: number, @Res() res: Response) {\n try {\n if (Number.isNaN(codiceRuolo)) throw new Error(\"Il codice del ruolo è obbligatorio.\");\n\n await this.permissionService.deleteRole(codiceRuolo);\n return RestUtilities.sendOKMessage(res, `Il ruolo ${codiceRuolo} è stato eliminato con successo.`);\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, PermissionController.name);\n }\n }\n\n\n @ApiOperation({ summary: 'Recupera tutti i menù disponibili', operationId: \"getMenus\" })\n @ApiOkResponse({ description: 'Elenco menù', type: GetMenusResponse })\n @ApiResponse({ status: 200, description: \"Lista dei menù recuperata con successo\" })\n @ApiResponse({ status: 500, description: \"Errore interno del server\" })\n @Get('menus')\n async getMenus(@Res() res: Response) {\n try {\n const menus = await this.permissionService.getMenus();\n return RestUtilities.sendBaseResponse(res, menus);\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, PermissionController.name);\n }\n }\n\n @ApiOperation({ summary: 'Recupera tutti i gruppi disponibili con i relativi menù', operationId: \"getGroupsWithMenus\" })\n @ApiOkResponse({ description: 'Elenco gruppi con relativi menù', type: GetGroupsWithMenusResponse })\n @ApiResponse({ status: 200, description: \"Lista dei menù recuperata con successo\" })\n @ApiResponse({ status: 500, description: \"Errore interno del server\" })\n @ApiQuery({\n name: 'includeDisabled',\n required: false,\n type: Boolean,\n description: 'Quando true ritorna anche i menu e gruppi disabilitati.'\n })\n @Get('groups-with-menus')\n async getGroupsWithMenus(@Query('includeDisabled') includeDisabled: string, @Res() res: Response) {\n try {\n const includeDisabledFlag = typeof includeDisabled === 'string'\n ? ['true', '1', 'yes'].includes(includeDisabled.toLowerCase())\n : false;\n\n const menus = await this.permissionService.getGroupsWithMenus(includeDisabledFlag);\n return RestUtilities.sendBaseResponse(res, menus);\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, PermissionController.name);\n }\n }\n\n\n @ApiOperation({ summary: 'Recupera i ruoli e i menù di un utente', operationId: \"getUserRolesAndGrants\" })\n @ApiOkResponse({ description: 'Elenco menù', type: UserGrantsDto })\n @ApiResponse({ status: 200, description: \"Lista dei menù recuperata con successo\" })\n @ApiResponse({ status: 500, description: \"Errore interno del server\" })\n @Get('grants/:codiceUtente')\n async getUserRolesAndGrants(@Param('codiceUtente') codiceUtente: number, @Res() res: Response) {\n try {\n const menus = await this.permissionService.getUserRolesAndGrants(codiceUtente);\n return RestUtilities.sendBaseResponse(res, menus);\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, PermissionController.name);\n }\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"PermissionController.js","sourceRoot":"","sources":["../../../src/accessi-module/Controllers/PermissionController.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n Body,\r\n Controller,\r\n Delete,\r\n Get,\r\n HttpException,\r\n HttpStatus,\r\n Param,\r\n ParseIntPipe,\r\n Post,\r\n Put,\r\n Query,\r\n Req,\r\n Res,\r\n UseGuards,\r\n} from '@nestjs/common';\r\nimport {\r\n ApiBearerAuth,\r\n ApiBody,\r\n ApiInternalServerErrorResponse,\r\n ApiOkResponse,\r\n ApiOperation,\r\n ApiParam,\r\n ApiQuery,\r\n ApiResponse,\r\n ApiTags,\r\n} from '@nestjs/swagger';\r\nimport { Request, Response } from 'express';\r\nimport { RestUtilities } from '../../Utilities';\r\nimport { AssignPermissionsToUserRequest } from '../Dtos/AssignPermissionsToUserRequest';\r\nimport { AssignRolesToUserRequest } from '../Dtos/AssignRolesToUserRequest';\r\nimport { GetGroupsWithMenusResponse } from '../Dtos/GetGroupsWithMenusResponse';\r\nimport { GetMenusResponse } from '../Dtos/GetMenusResponse';\r\nimport { GetRolesResponse } from '../Dtos/GetRolesResponse';\r\nimport { Role } from '../Dtos/Role';\r\nimport { UserGrantsDto } from '../Dtos/UserGrantsDto';\r\nimport { PermissionService } from '../Services/PermissionService/PermissionService';\r\nimport { JwtSimpleGuard } from '../jwt/jwt.strategy';\r\nimport {\r\n ensureSelfOrSuperUser,\r\n ensureSuperUser,\r\n getAuthenticatedAccessiUser,\r\n} from '../security/accessControl';\r\n\r\n@ApiTags('Permission')\r\n@ApiBearerAuth()\r\n@Controller('accessi/permission')\r\n@UseGuards(JwtSimpleGuard)\r\nexport class PermissionController {\r\n constructor(private readonly permissionService: PermissionService) {}\r\n\r\n private sendControllerError(res: Response, error: unknown) {\r\n const status =\r\n error instanceof HttpException ? error.getStatus() : HttpStatus.INTERNAL_SERVER_ERROR;\r\n return RestUtilities.sendErrorMessage(res, error, PermissionController.name, status);\r\n }\r\n\r\n @ApiOperation({\r\n summary: 'Ritorna i ruoli disponibili con i relativi menu',\r\n operationId: 'getRoles',\r\n description: 'Recupera tutti i ruoli presenti nel sistema con le relative voci di menu.',\r\n })\r\n @ApiOkResponse({ description: 'Elenco dei ruoli con i rispettivi menu', type: GetRolesResponse })\r\n @ApiInternalServerErrorResponse({ description: 'Errore interno del server' })\r\n @ApiResponse({ status: HttpStatus.OK, description: 'Lista dei ruoli restituita con successo.' })\r\n @ApiResponse({\r\n status: HttpStatus.INTERNAL_SERVER_ERROR,\r\n description: 'Errore interno del server durante il recupero dei ruoli.',\r\n })\r\n @Get('roles')\r\n async getRoles(@Res() res: Response): Promise<void> {\r\n try {\r\n const roles = await this.permissionService.getRolesWithMenus();\r\n RestUtilities.sendBaseResponse(res, roles);\r\n } catch (error) {\r\n this.sendControllerError(res, error);\r\n throw error;\r\n }\r\n }\r\n\r\n @ApiOperation({ summary: 'Aggiorna un ruolo esistente', operationId: 'updateRole' })\r\n @ApiParam({\r\n name: 'codiceRuolo',\r\n description: 'Codice identificativo del ruolo da aggiornare',\r\n required: true,\r\n example: 101,\r\n type: Number,\r\n })\r\n @ApiBody({\r\n description: 'Dati aggiornati del ruolo',\r\n type: Role,\r\n })\r\n @ApiResponse({ status: 200, description: 'Il ruolo e stato aggiornato con successo' })\r\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati' })\r\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\r\n @Put('update-role/:codiceRuolo')\r\n async updateRole(\r\n @Req() request: Request,\r\n @Param('codiceRuolo', ParseIntPipe) codiceRuolo: number,\r\n @Body() role: Role,\r\n @Res() res: Response,\r\n ) {\r\n try {\r\n ensureSuperUser(\r\n getAuthenticatedAccessiUser(request),\r\n 'Solo gli amministratori possono modificare i ruoli.',\r\n );\r\n\r\n if (Number.isNaN(codiceRuolo)) throw new Error('Il codice del ruolo e obbligatorio.');\r\n if (!role.descrizioneRuolo) throw new Error('La descrizione del ruolo non puo essere vuota.');\r\n if (!role.menu || role.menu.length === 0) {\r\n throw new Error('Il ruolo deve avere almeno un menu.');\r\n }\r\n\r\n await this.permissionService.updateOrInsertRole(role, codiceRuolo);\r\n return RestUtilities.sendOKMessage(\r\n res,\r\n `Il ruolo ${codiceRuolo} e' stato aggiornato con successo.`,\r\n );\r\n } catch (error) {\r\n return this.sendControllerError(res, error);\r\n }\r\n }\r\n\r\n @ApiOperation({ summary: 'Crea un nuovo ruolo', operationId: 'createRole' })\r\n @ApiResponse({ status: 201, description: 'Il ruolo e stato creato con successo' })\r\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati' })\r\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\r\n @ApiBody({\r\n description: 'Dati del nuovo ruolo',\r\n required: true,\r\n type: Role,\r\n })\r\n @Post('create-role')\r\n async createRole(@Req() request: Request, @Res() res: Response, @Body() role: Role) {\r\n try {\r\n ensureSuperUser(\r\n getAuthenticatedAccessiUser(request),\r\n 'Solo gli amministratori possono creare ruoli.',\r\n );\r\n\r\n if (!role) throw new Error('Il ruolo non puo essere vuoto.');\r\n if (!role.descrizioneRuolo) throw new Error('La descrizione del ruolo non puo essere vuota.');\r\n if (!role.menu || role.menu.length === 0) {\r\n throw new Error('Il ruolo deve avere almeno un menu.');\r\n }\r\n\r\n await this.permissionService.updateOrInsertRole(role);\r\n return RestUtilities.sendOKMessage(res, 'Il ruolo e stato creato con successo.');\r\n } catch (error) {\r\n return this.sendControllerError(res, error);\r\n }\r\n }\r\n\r\n @ApiOperation({ summary: 'Assegna piu ruoli a un utente', operationId: 'assignRolesToUser' })\r\n @ApiParam({\r\n name: 'codiceUtente',\r\n description: \"Codice identificativo dell'utente a cui assegnare i ruoli\",\r\n required: true,\r\n example: 22,\r\n })\r\n @ApiBody({\r\n type: AssignRolesToUserRequest,\r\n description: \"Lista dei ruoli da assegnare all'utente\",\r\n })\r\n @ApiResponse({ status: 200, description: \"Ruoli assegnati con successo all'utente\" })\r\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati' })\r\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\r\n @Post('assign-roles/:codiceUtente')\r\n async assignRolesToUser(\r\n @Req() request: Request,\r\n @Res() res: Response,\r\n @Param('codiceUtente', ParseIntPipe) codiceUtente: number,\r\n @Body() assignRolesRequest: AssignRolesToUserRequest,\r\n ) {\r\n try {\r\n ensureSuperUser(\r\n getAuthenticatedAccessiUser(request),\r\n 'Solo gli amministratori possono assegnare ruoli agli utenti.',\r\n );\r\n\r\n if (!assignRolesRequest.roles || assignRolesRequest.roles.length === 0) {\r\n throw new Error('E necessario fornire almeno un ruolo.');\r\n }\r\n\r\n await this.permissionService.assignRolesToUser(codiceUtente, assignRolesRequest.roles);\r\n return RestUtilities.sendOKMessage(\r\n res,\r\n `I ruoli ${assignRolesRequest.roles.join(', ')} sono stati assegnati all'utente ${codiceUtente}.`,\r\n );\r\n } catch (error) {\r\n return this.sendControllerError(res, error);\r\n }\r\n }\r\n\r\n @ApiOperation({\r\n summary: 'Assegna abilitazioni dirette a un utente',\r\n operationId: 'assignPermissionsToUser',\r\n })\r\n @ApiParam({\r\n name: 'codiceUtente',\r\n description: \"Codice identificativo dell'utente a cui assegnare le abilitazioni\",\r\n required: true,\r\n example: 22,\r\n })\r\n @ApiBody({\r\n type: AssignPermissionsToUserRequest,\r\n description: \"Lista delle abilitazioni da assegnare all'utente\",\r\n })\r\n @ApiResponse({ status: 200, description: \"Abilitazioni assegnate con successo all'utente\" })\r\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati' })\r\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\r\n @Post('assign-permissions/:codiceUtente')\r\n async assignPermissionsToUser(\r\n @Req() request: Request,\r\n @Res() res: Response,\r\n @Param('codiceUtente', ParseIntPipe) codiceUtente: number,\r\n @Body() assignPermissionsRequest: AssignPermissionsToUserRequest,\r\n ) {\r\n try {\r\n ensureSuperUser(\r\n getAuthenticatedAccessiUser(request),\r\n 'Solo gli amministratori possono assegnare permessi agli utenti.',\r\n );\r\n\r\n if (!assignPermissionsRequest.permissions || assignPermissionsRequest.permissions.length === 0) {\r\n throw new Error('E necessario fornire almeno una abilitazione.');\r\n }\r\n\r\n await this.permissionService.assignPermissionsToUser(\r\n codiceUtente,\r\n assignPermissionsRequest.permissions,\r\n );\r\n return RestUtilities.sendOKMessage(\r\n res,\r\n `Le abilitazioni sono state assegnate all'utente ${codiceUtente}.`,\r\n );\r\n } catch (error) {\r\n return this.sendControllerError(res, error);\r\n }\r\n }\r\n\r\n @ApiOperation({ summary: 'Elimina un ruolo esistente', operationId: 'deleteRole' })\r\n @ApiParam({\r\n name: 'codiceRuolo',\r\n description: 'Codice identificativo del ruolo da eliminare',\r\n required: true,\r\n example: 382,\r\n type: Number,\r\n })\r\n @ApiResponse({ status: 200, description: 'Ruolo eliminato con successo' })\r\n @ApiResponse({ status: 400, description: 'Errore nei parametri della richiesta' })\r\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\r\n @Delete('delete-role/:codiceRuolo')\r\n async deleteRole(\r\n @Req() request: Request,\r\n @Param('codiceRuolo', ParseIntPipe) codiceRuolo: number,\r\n @Res() res: Response,\r\n ) {\r\n try {\r\n ensureSuperUser(\r\n getAuthenticatedAccessiUser(request),\r\n 'Solo gli amministratori possono eliminare ruoli.',\r\n );\r\n\r\n await this.permissionService.deleteRole(codiceRuolo);\r\n return RestUtilities.sendOKMessage(\r\n res,\r\n `Il ruolo ${codiceRuolo} e' stato eliminato con successo.`,\r\n );\r\n } catch (error) {\r\n return this.sendControllerError(res, error);\r\n }\r\n }\r\n\r\n @ApiOperation({ summary: 'Recupera tutti i menu disponibili', operationId: 'getMenus' })\r\n @ApiOkResponse({ description: 'Elenco menu', type: GetMenusResponse })\r\n @ApiResponse({ status: 200, description: 'Lista dei menu recuperata con successo' })\r\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\r\n @Get('menus')\r\n async getMenus(@Res() res: Response) {\r\n try {\r\n const menus = await this.permissionService.getMenus();\r\n return RestUtilities.sendBaseResponse(res, menus);\r\n } catch (error) {\r\n return this.sendControllerError(res, error);\r\n }\r\n }\r\n\r\n @ApiOperation({\r\n summary: 'Recupera tutti i gruppi disponibili con i relativi menu',\r\n operationId: 'getGroupsWithMenus',\r\n })\r\n @ApiOkResponse({\r\n description: 'Elenco gruppi con relativi menu',\r\n type: GetGroupsWithMenusResponse,\r\n })\r\n @ApiResponse({ status: 200, description: 'Lista dei menu recuperata con successo' })\r\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\r\n @ApiQuery({\r\n name: 'includeDisabled',\r\n required: false,\r\n type: Boolean,\r\n description: 'Quando true ritorna anche i menu e gruppi disabilitati.',\r\n })\r\n @Get('groups-with-menus')\r\n async getGroupsWithMenus(@Query('includeDisabled') includeDisabled: string, @Res() res: Response) {\r\n try {\r\n const includeDisabledFlag =\r\n typeof includeDisabled === 'string'\r\n ? ['true', '1', 'yes'].includes(includeDisabled.toLowerCase())\r\n : false;\r\n\r\n const menus = await this.permissionService.getGroupsWithMenus(includeDisabledFlag);\r\n return RestUtilities.sendBaseResponse(res, menus);\r\n } catch (error) {\r\n return this.sendControllerError(res, error);\r\n }\r\n }\r\n\r\n @ApiOperation({\r\n summary: 'Recupera i ruoli e i menu di un utente',\r\n operationId: 'getUserRolesAndGrants',\r\n })\r\n @ApiOkResponse({ description: 'Elenco menu', type: UserGrantsDto })\r\n @ApiResponse({ status: 200, description: 'Lista dei menu recuperata con successo' })\r\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\r\n @Get('grants/:codiceUtente')\r\n async getUserRolesAndGrants(\r\n @Req() request: Request,\r\n @Param('codiceUtente', ParseIntPipe) codiceUtente: number,\r\n @Res() res: Response,\r\n ) {\r\n try {\r\n ensureSelfOrSuperUser(\r\n getAuthenticatedAccessiUser(request),\r\n codiceUtente,\r\n 'Puoi consultare solo i tuoi grant, salvo privilegi amministrativi.',\r\n );\r\n\r\n const menus = await this.permissionService.getUserRolesAndGrants(codiceUtente);\r\n return RestUtilities.sendBaseResponse(res, menus);\r\n } catch (error) {\r\n return this.sendControllerError(res, error);\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Request, Response } from 'express';
|
|
2
2
|
import { AccessiOptions } from '../AccessiModule';
|
|
3
|
-
import { UserService } from '../Services/UserService/UserService';
|
|
4
|
-
import { EmailService } from '../Services/EmailService/EmailService';
|
|
5
|
-
import { UserDto } from '../Dtos';
|
|
6
3
|
import { RegisterRequest } from '../Dtos/RegisterRequest';
|
|
7
4
|
import { SetStatoRegistrazioneDto } from '../Dtos/SetStatoRegistrazione';
|
|
5
|
+
import { UserDto } from '../Dtos/UserDto';
|
|
6
|
+
import { EmailService } from '../Services/EmailService/EmailService';
|
|
7
|
+
import { UserService } from '../Services/UserService/UserService';
|
|
8
8
|
export declare class UserController {
|
|
9
|
+
private readonly accessiOptions;
|
|
9
10
|
private readonly userService;
|
|
10
11
|
private readonly emailService;
|
|
11
|
-
private readonly options;
|
|
12
12
|
private readonly logger;
|
|
13
|
-
constructor(userService: UserService, emailService: EmailService
|
|
13
|
+
constructor(accessiOptions: AccessiOptions, userService: UserService, emailService: EmailService);
|
|
14
|
+
private sendControllerError;
|
|
14
15
|
serveResetPasswordPage(res: Response, token: string): Promise<void>;
|
|
15
|
-
getUsers(res: Response, email?: string, codiceUtente?: number, includeExtensionFields?: boolean, includeGrants?: boolean): Promise<Response<any, Record<string, any>>>;
|
|
16
|
-
deleteUser(codiceUtente: number, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
17
|
-
setStatoRegistrazione(body: SetStatoRegistrazioneDto, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
16
|
+
getUsers(request: Request, res: Response, email?: string, codiceUtente?: number, includeExtensionFields?: boolean, includeGrants?: boolean): Promise<Response<any, Record<string, any>>>;
|
|
17
|
+
deleteUser(request: Request, codiceUtente: number, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
18
|
+
setStatoRegistrazione(request: Request, body: SetStatoRegistrazioneDto, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
18
19
|
register(request: Request, registrationData: RegisterRequest, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
19
|
-
updateUtente(codiceUtente: number, user: UserDto, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
20
|
-
setGdpr(codiceUtente: number, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
20
|
+
updateUtente(request: Request, codiceUtente: number, user: UserDto, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
21
|
+
setGdpr(request: Request, codiceUtente: number, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
21
22
|
}
|