emilsoftware-utilities 2.0.0-dev.23 → 2.0.0-dev.25
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 +147 -0
- package/dist/ContractGenerator.d.ts +4 -3
- package/dist/ContractGenerator.js +15 -5
- package/dist/ContractGenerator.js.map +1 -1
- package/dist/DailyFileTransport.d.ts +8 -2
- package/dist/DailyFileTransport.js +9 -2
- package/dist/DailyFileTransport.js.map +1 -1
- package/dist/DatabaseUpdater.js +8 -3
- package/dist/DatabaseUpdater.js.map +1 -1
- package/dist/ExecutionTimeLogger.d.ts +2 -2
- package/dist/ExecutionTimeLogger.js +3 -2
- package/dist/ExecutionTimeLogger.js.map +1 -1
- package/dist/Logger.d.ts +22 -9
- package/dist/Logger.js +131 -54
- package/dist/Logger.js.map +1 -1
- package/dist/Orm.d.ts +26 -6
- package/dist/Orm.js +144 -40
- package/dist/Orm.js.map +1 -1
- package/dist/Utilities.d.ts +12 -7
- package/dist/Utilities.js +57 -22
- package/dist/Utilities.js.map +1 -1
- package/dist/accessi-module/AccessiModule.d.ts +9 -0
- package/dist/accessi-module/AccessiModule.js +12 -4
- package/dist/accessi-module/AccessiModule.js.map +1 -1
- package/dist/accessi-module/Console/console.css +529 -281
- package/dist/accessi-module/Console/console.js +2081 -85
- package/dist/accessi-module/Console/console.js.map +1 -1
- package/dist/accessi-module/Console/generated/accessiApi.d.ts +167 -1
- package/dist/accessi-module/Console/generated/accessiApi.js +156 -2
- package/dist/accessi-module/Console/generated/accessiApi.js.map +1 -1
- package/dist/accessi-module/Console/generated/model/abilitazioneMenu.d.ts +20 -8
- package/dist/accessi-module/Console/generated/model/abilitazioneMenu.js.map +1 -1
- package/dist/accessi-module/Console/generated/model/createFilterTypeRequest.d.ts +23 -0
- package/dist/accessi-module/Console/generated/model/createFilterTypeRequest.js +3 -0
- package/dist/accessi-module/Console/generated/model/createFilterTypeRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createFilterTypeRequestFlgEnabled.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/createFilterTypeRequestFlgEnabled.js +15 -0
- package/dist/accessi-module/Console/generated/model/createFilterTypeRequestFlgEnabled.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createMenuGroupRequest.d.ts +27 -0
- package/dist/accessi-module/Console/generated/model/createMenuGroupRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createMenuGroupRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createMenuRequest.d.ts +52 -0
- package/dist/accessi-module/Console/generated/model/createMenuRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createMenuRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createMenuTypeRequest.d.ts +18 -0
- package/dist/accessi-module/Console/generated/model/createMenuTypeRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createMenuTypeRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenRequest.d.ts +16 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getMenuTypesResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getMenuTypesResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getMenuTypesResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getServiceTokensParams.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/getServiceTokensParams.js +9 -0
- package/dist/accessi-module/Console/generated/model/getServiceTokensParams.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getServiceTokensResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getServiceTokensResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getServiceTokensResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getUsersParams.d.ts +8 -0
- package/dist/accessi-module/Console/generated/model/getUsersParams.js.map +1 -1
- package/dist/accessi-module/Console/generated/model/index.d.ts +18 -0
- package/dist/accessi-module/Console/generated/model/index.js +18 -0
- package/dist/accessi-module/Console/generated/model/index.js.map +1 -1
- package/dist/accessi-module/Console/generated/model/issuedServiceTokenDto.d.ts +30 -0
- package/dist/accessi-module/Console/generated/model/issuedServiceTokenDto.js +9 -0
- package/dist/accessi-module/Console/generated/model/issuedServiceTokenDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/menuTypeEntity.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/menuTypeEntity.js +9 -0
- package/dist/accessi-module/Console/generated/model/menuTypeEntity.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/serviceTokenDto.d.ts +28 -0
- package/dist/accessi-module/Console/generated/model/serviceTokenDto.js +9 -0
- package/dist/accessi-module/Console/generated/model/serviceTokenDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateFilterTypeRequest.d.ts +21 -0
- package/dist/accessi-module/Console/generated/model/updateFilterTypeRequest.js +3 -0
- package/dist/accessi-module/Console/generated/model/updateFilterTypeRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateFilterTypeRequestFlgEnabled.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/updateFilterTypeRequestFlgEnabled.js +15 -0
- package/dist/accessi-module/Console/generated/model/updateFilterTypeRequestFlgEnabled.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateMenuGroupRequest.d.ts +22 -0
- package/dist/accessi-module/Console/generated/model/updateMenuGroupRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/updateMenuGroupRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateMenuRequest.d.ts +47 -0
- package/dist/accessi-module/Console/generated/model/updateMenuRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/updateMenuRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateMenuTypeRequest.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/updateMenuTypeRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/updateMenuTypeRequest.js.map +1 -0
- package/dist/accessi-module/Console/help.d.ts +13 -0
- package/dist/accessi-module/Console/help.js +348 -0
- package/dist/accessi-module/Console/help.js.map +1 -0
- package/dist/accessi-module/Console/index.html +89 -21
- package/dist/accessi-module/Console/wiki.d.ts +52 -0
- package/dist/accessi-module/Console/wiki.js +689 -0
- package/dist/accessi-module/Console/wiki.js.map +1 -0
- package/dist/accessi-module/Controllers/AccessiConsoleController.d.ts +8 -1
- package/dist/accessi-module/Controllers/AccessiConsoleController.js +52 -15
- package/dist/accessi-module/Controllers/AccessiConsoleController.js.map +1 -1
- package/dist/accessi-module/Controllers/ConfiguratorController.d.ts +1 -3
- package/dist/accessi-module/Controllers/ConfiguratorController.js +6 -8
- package/dist/accessi-module/Controllers/ConfiguratorController.js.map +1 -1
- package/dist/accessi-module/Controllers/EmailController.d.ts +1 -1
- package/dist/accessi-module/Controllers/EmailController.js +1 -1
- package/dist/accessi-module/Controllers/EmailController.js.map +1 -1
- package/dist/accessi-module/Controllers/FiltriController.d.ts +5 -4
- package/dist/accessi-module/Controllers/FiltriController.js +92 -4
- package/dist/accessi-module/Controllers/FiltriController.js.map +1 -1
- package/dist/accessi-module/Controllers/PermissionController.d.ts +11 -0
- package/dist/accessi-module/Controllers/PermissionController.js +273 -8
- package/dist/accessi-module/Controllers/PermissionController.js.map +1 -1
- package/dist/accessi-module/Controllers/ServiceTokenController.d.ts +23 -0
- package/dist/accessi-module/Controllers/ServiceTokenController.js +176 -0
- package/dist/accessi-module/Controllers/ServiceTokenController.js.map +1 -0
- package/dist/accessi-module/Controllers/UserController.d.ts +2 -2
- package/dist/accessi-module/Controllers/UserController.js +25 -9
- 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 +16 -8
- package/dist/accessi-module/Dtos/AbilitazioneMenu.js.map +1 -1
- package/dist/accessi-module/Dtos/AssignPermissionsToUserRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/AssignRolesToUserRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.js.map +1 -1
- package/dist/accessi-module/Dtos/BaseResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/CatalogDtos.d.ts +66 -0
- package/dist/accessi-module/Dtos/CatalogDtos.js +336 -0
- package/dist/accessi-module/Dtos/CatalogDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.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 +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/GetUserByTokenRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/GetUserByTokenResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/GetUsersResponse.d.ts +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.d.ts +1 -1
- package/dist/accessi-module/Dtos/LoginResponse.js +1 -1
- package/dist/accessi-module/Dtos/LoginResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/MenuItem.js +1 -0
- package/dist/accessi-module/Dtos/Permission.js.map +1 -1
- package/dist/accessi-module/Dtos/RegisterRequest.js +2 -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.map +1 -1
- package/dist/accessi-module/Dtos/RuoliMenu.js.map +1 -1
- package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/ServiceToken.d.ts +34 -0
- package/dist/accessi-module/Dtos/ServiceToken.js +128 -0
- package/dist/accessi-module/Dtos/ServiceToken.js.map +1 -0
- package/dist/accessi-module/Dtos/SetStatoRegistrazione.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/TwoFactorDtos.js.map +1 -1
- package/dist/accessi-module/Dtos/UpdateEnabledStatusRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/UserDto.js +4 -2
- 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/UserGrantsResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/index.d.ts +2 -0
- package/dist/accessi-module/Dtos/index.js +2 -0
- package/dist/accessi-module/Dtos/index.js.map +1 -1
- package/dist/accessi-module/Services/AuthService/AuthService.d.ts +2 -2
- package/dist/accessi-module/Services/AuthService/AuthService.js +36 -36
- package/dist/accessi-module/Services/AuthService/AuthService.js.map +1 -1
- package/dist/accessi-module/Services/EmailService/EmailService.d.ts +2 -1
- package/dist/accessi-module/Services/EmailService/EmailService.js +9 -6
- package/dist/accessi-module/Services/EmailService/EmailService.js.map +1 -1
- package/dist/accessi-module/Services/FiltriService/FiltriService.d.ts +10 -3
- package/dist/accessi-module/Services/FiltriService/FiltriService.js +64 -6
- package/dist/accessi-module/Services/FiltriService/FiltriService.js.map +1 -1
- package/dist/accessi-module/Services/PermissionService/PermissionService.d.ts +44 -1
- package/dist/accessi-module/Services/PermissionService/PermissionService.js +418 -110
- package/dist/accessi-module/Services/PermissionService/PermissionService.js.map +1 -1
- package/dist/accessi-module/Services/ServiceTokenService/ServiceTokenService.d.ts +75 -0
- package/dist/accessi-module/Services/ServiceTokenService/ServiceTokenService.js +265 -0
- package/dist/accessi-module/Services/ServiceTokenService/ServiceTokenService.js.map +1 -0
- package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.js +23 -27
- package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.js.map +1 -1
- package/dist/accessi-module/Services/UserService/UserService.d.ts +10 -3
- package/dist/accessi-module/Services/UserService/UserService.js +170 -84
- package/dist/accessi-module/Services/UserService/UserService.js.map +1 -1
- package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.d.ts +9 -0
- package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js +76 -28
- package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js.map +1 -1
- package/dist/accessi-module/database-updates/accessiSchema.d.ts +1 -1
- package/dist/accessi-module/database-updates/accessiSchema.js +9 -1
- package/dist/accessi-module/database-updates/accessiSchema.js.map +1 -1
- package/dist/accessi-module/database-updates/optionalColumns.d.ts +2 -0
- package/dist/accessi-module/database-updates/optionalColumns.js +33 -1
- package/dist/accessi-module/database-updates/optionalColumns.js.map +1 -1
- package/dist/accessi-module/database-updates/runAccessiDbUpdate.js +7 -2
- package/dist/accessi-module/database-updates/runAccessiDbUpdate.js.map +1 -1
- package/dist/accessi-module/federated-auth/FederatedAuthController.d.ts +1 -0
- package/dist/accessi-module/federated-auth/FederatedAuthController.js +26 -0
- package/dist/accessi-module/federated-auth/FederatedAuthController.js.map +1 -1
- package/dist/accessi-module/federated-auth/FederatedAuthService.d.ts +6 -0
- package/dist/accessi-module/federated-auth/FederatedAuthService.js +28 -1
- package/dist/accessi-module/federated-auth/FederatedAuthService.js.map +1 -1
- package/dist/accessi-module/index.d.ts +4 -1
- package/dist/accessi-module/index.js +8 -2
- package/dist/accessi-module/index.js.map +1 -1
- package/dist/accessi-module/jwt/jwt.strategy.js +8 -5
- package/dist/accessi-module/jwt/jwt.strategy.js.map +1 -1
- package/dist/accessi-module/middleware/accessiRequirements.d.ts +1 -1
- package/dist/accessi-module/middleware/accessiRequirements.js.map +1 -1
- package/dist/accessi-module/middleware/authenticateGen.js +11 -7
- package/dist/accessi-module/middleware/authenticateGen.js.map +1 -1
- package/dist/accessi-module/security/accessControl.js +8 -3
- package/dist/accessi-module/security/accessControl.js.map +1 -1
- package/dist/accessi-module/security/authenticatedToken.d.ts +1 -1
- package/dist/accessi-module/security/authenticatedToken.js +2 -1
- package/dist/accessi-module/security/authenticatedToken.js.map +1 -1
- package/dist/accessi-module/security/passwordResetToken.d.ts +9 -3
- package/dist/accessi-module/security/passwordResetToken.js +9 -5
- package/dist/accessi-module/security/passwordResetToken.js.map +1 -1
- package/dist/accessi-module/security/publicAuthRateLimit.d.ts +1 -1
- package/dist/accessi-module/security/publicAuthRateLimit.js +28 -8
- package/dist/accessi-module/security/publicAuthRateLimit.js.map +1 -1
- package/dist/accessi-module/security/serviceTokenGuard.d.ts +25 -0
- package/dist/accessi-module/security/serviceTokenGuard.js +85 -0
- package/dist/accessi-module/security/serviceTokenGuard.js.map +1 -0
- package/dist/accessi-module/security/serviceTokenRateLimit.d.ts +8 -0
- package/dist/accessi-module/security/serviceTokenRateLimit.js +49 -0
- package/dist/accessi-module/security/serviceTokenRateLimit.js.map +1 -0
- package/dist/allegati-module/AllegatiModule.d.ts +11 -0
- package/dist/allegati-module/AllegatiModule.js +11 -1
- package/dist/allegati-module/AllegatiModule.js.map +1 -1
- package/dist/allegati-module/Controllers/AllegatiController.d.ts +2 -1
- package/dist/allegati-module/Controllers/AllegatiController.js +23 -15
- 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/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.d.ts +10 -3
- package/dist/allegati-module/Services/AllegatiService/AllegatiService.js +101 -52
- package/dist/allegati-module/Services/AllegatiService/AllegatiService.js.map +1 -1
- package/dist/allegati-module/security/allegatiAuthorizationGuard.d.ts +14 -0
- package/dist/allegati-module/security/allegatiAuthorizationGuard.js +70 -0
- package/dist/allegati-module/security/allegatiAuthorizationGuard.js.map +1 -0
- package/dist/autobind.d.ts +10 -3
- package/dist/autobind.js +24 -9
- package/dist/autobind.js.map +1 -1
- package/dist/emilsoftware-utilities-2.0.0-dev.25.tgz +0 -0
- package/dist/firebird-compat.d.ts +13 -0
- package/dist/firebird-compat.js +3 -2
- package/dist/firebird-compat.js.map +1 -1
- package/dist/scripts/generateAccessiWiki.d.ts +1 -0
- package/dist/scripts/generateAccessiWiki.js +131 -0
- package/dist/scripts/generateAccessiWiki.js.map +1 -0
- package/dist/swagger/SwaggerConfig.js +6 -3
- package/dist/swagger/SwaggerConfig.js.map +1 -1
- package/package.json +19 -8
- package/dist/emilsoftware-utilities-2.0.0-dev.23.tgz +0 -0
|
@@ -33,9 +33,8 @@ const FiltriService_1 = require("../Services/FiltriService/FiltriService");
|
|
|
33
33
|
const jwt_strategy_1 = require("../jwt/jwt.strategy");
|
|
34
34
|
const accessControl_1 = require("../security/accessControl");
|
|
35
35
|
let FiltriController = FiltriController_1 = class FiltriController {
|
|
36
|
-
constructor(filtriService
|
|
36
|
+
constructor(filtriService) {
|
|
37
37
|
this.filtriService = filtriService;
|
|
38
|
-
this.options = options;
|
|
39
38
|
}
|
|
40
39
|
getTipoFiltri(res) {
|
|
41
40
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -48,6 +47,42 @@ let FiltriController = FiltriController_1 = class FiltriController {
|
|
|
48
47
|
}
|
|
49
48
|
});
|
|
50
49
|
}
|
|
50
|
+
createTipoFiltro(request, res, body) {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
try {
|
|
53
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono creare tipi filtro.');
|
|
54
|
+
yield this.filtriService.createTipoFiltro(body);
|
|
55
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, `Il tipo filtro ${body.tipFil} e' stato creato con successo.`, common_1.HttpStatus.CREATED);
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
return Utilities_1.RestUtilities.sendErrorMessage(res, error, FiltriController_1.name);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
updateTipoFiltro(request, res, tipFil, body) {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
try {
|
|
65
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono modificare tipi filtro.');
|
|
66
|
+
yield this.filtriService.updateTipoFiltro(tipFil, body);
|
|
67
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, `Il tipo filtro ${tipFil} e' stato aggiornato con successo.`);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
return Utilities_1.RestUtilities.sendErrorMessage(res, error, FiltriController_1.name);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
deleteTipoFiltro(request, res, tipFil) {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
try {
|
|
77
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono eliminare tipi filtro.');
|
|
78
|
+
yield this.filtriService.deleteTipoFiltro(tipFil);
|
|
79
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, `Il tipo filtro ${tipFil} e' stato eliminato con successo.`);
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
return Utilities_1.RestUtilities.sendErrorMessage(res, error, FiltriController_1.name);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
51
86
|
getFiltriUtente(request, res, req) {
|
|
52
87
|
return __awaiter(this, void 0, void 0, function* () {
|
|
53
88
|
try {
|
|
@@ -106,6 +141,60 @@ __decorate([
|
|
|
106
141
|
__metadata("design:paramtypes", [Object]),
|
|
107
142
|
__metadata("design:returntype", Promise)
|
|
108
143
|
], FiltriController.prototype, "getTipoFiltri", null);
|
|
144
|
+
__decorate([
|
|
145
|
+
(0, common_1.Post)('tipi'),
|
|
146
|
+
(0, swagger_1.ApiOperation)({
|
|
147
|
+
operationId: 'createTipoFiltro',
|
|
148
|
+
summary: 'Crea un tipo di filtro',
|
|
149
|
+
description: 'Inserisce una nuova voce nel catalogo dei tipi di filtro. Operazione riservata al superutente.',
|
|
150
|
+
}),
|
|
151
|
+
(0, swagger_1.ApiResponse)({ status: 201, description: 'Tipo filtro creato con successo', type: BaseResponse_1.ActionResponse }),
|
|
152
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Dati non validi', type: BaseResponse_1.ErrorResponse }),
|
|
153
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server', type: BaseResponse_1.ErrorResponse }),
|
|
154
|
+
__param(0, (0, common_1.Req)()),
|
|
155
|
+
__param(1, (0, common_1.Res)()),
|
|
156
|
+
__param(2, (0, common_1.Body)()),
|
|
157
|
+
__metadata("design:type", Function),
|
|
158
|
+
__metadata("design:paramtypes", [Object, Object, Dtos_1.CreateFilterTypeRequest]),
|
|
159
|
+
__metadata("design:returntype", Promise)
|
|
160
|
+
], FiltriController.prototype, "createTipoFiltro", null);
|
|
161
|
+
__decorate([
|
|
162
|
+
(0, common_1.Put)('tipi/:tipFil'),
|
|
163
|
+
(0, swagger_1.ApiOperation)({
|
|
164
|
+
operationId: 'updateTipoFiltro',
|
|
165
|
+
summary: 'Aggiorna un tipo di filtro',
|
|
166
|
+
description: 'Aggiorna descrizione, campo o stato di un tipo di filtro esistente.',
|
|
167
|
+
}),
|
|
168
|
+
(0, swagger_1.ApiParam)({ name: 'tipFil', description: 'Identificativo del tipo filtro', required: true, example: 1, type: Number }),
|
|
169
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Tipo filtro aggiornato con successo', type: BaseResponse_1.ActionResponse }),
|
|
170
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Dati non validi', type: BaseResponse_1.ErrorResponse }),
|
|
171
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server', type: BaseResponse_1.ErrorResponse }),
|
|
172
|
+
__param(0, (0, common_1.Req)()),
|
|
173
|
+
__param(1, (0, common_1.Res)()),
|
|
174
|
+
__param(2, (0, common_1.Param)('tipFil', common_1.ParseIntPipe)),
|
|
175
|
+
__param(3, (0, common_1.Body)()),
|
|
176
|
+
__metadata("design:type", Function),
|
|
177
|
+
__metadata("design:paramtypes", [Object, Object, Number, Dtos_1.UpdateFilterTypeRequest]),
|
|
178
|
+
__metadata("design:returntype", Promise)
|
|
179
|
+
], FiltriController.prototype, "updateTipoFiltro", null);
|
|
180
|
+
__decorate([
|
|
181
|
+
(0, common_1.Delete)('tipi/:tipFil'),
|
|
182
|
+
(0, swagger_1.ApiOperation)({
|
|
183
|
+
operationId: 'deleteTipoFiltro',
|
|
184
|
+
summary: 'Elimina un tipo di filtro',
|
|
185
|
+
description: 'Elimina un tipo di filtro solo se nessun filtro utente lo utilizza.',
|
|
186
|
+
}),
|
|
187
|
+
(0, swagger_1.ApiParam)({ name: 'tipFil', description: 'Identificativo del tipo filtro', required: true, example: 1, type: Number }),
|
|
188
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Tipo filtro eliminato con successo', type: BaseResponse_1.ActionResponse }),
|
|
189
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Dati non validi', type: BaseResponse_1.ErrorResponse }),
|
|
190
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server', type: BaseResponse_1.ErrorResponse }),
|
|
191
|
+
__param(0, (0, common_1.Req)()),
|
|
192
|
+
__param(1, (0, common_1.Res)()),
|
|
193
|
+
__param(2, (0, common_1.Param)('tipFil', common_1.ParseIntPipe)),
|
|
194
|
+
__metadata("design:type", Function),
|
|
195
|
+
__metadata("design:paramtypes", [Object, Object, Number]),
|
|
196
|
+
__metadata("design:returntype", Promise)
|
|
197
|
+
], FiltriController.prototype, "deleteTipoFiltro", null);
|
|
109
198
|
__decorate([
|
|
110
199
|
(0, common_1.Get)('utente'),
|
|
111
200
|
(0, swagger_1.ApiOperation)({
|
|
@@ -181,7 +270,6 @@ exports.FiltriController = FiltriController = FiltriController_1 = __decorate([
|
|
|
181
270
|
(0, common_1.UseGuards)(jwt_strategy_1.JwtSimpleGuard)
|
|
182
271
|
/** API per lettura e persistenza dei filtri applicativi collegati a un utente Accessi. */
|
|
183
272
|
,
|
|
184
|
-
|
|
185
|
-
__metadata("design:paramtypes", [FiltriService_1.FiltriService, Object])
|
|
273
|
+
__metadata("design:paramtypes", [FiltriService_1.FiltriService])
|
|
186
274
|
], FiltriController);
|
|
187
275
|
//# sourceMappingURL=FiltriController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiltriController.js","sourceRoot":"","sources":["../../../src/accessi-module/Controllers/FiltriController.ts"],"names":[],"mappings":"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","sourcesContent":["import { Body, Controller, Get, Inject, Post, Query, Req, Res, UseGuards } from '@nestjs/common';\nimport { ApiBearerAuth, ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Request, Response } from 'express';\nimport { RestUtilities } from '../../Utilities';\nimport type { AccessiOptions } from '../AccessiModule';\nimport { ActionResponse, ErrorResponse } from '../Dtos/BaseResponse';\nimport { FiltriUtente, GetFiltriUtenteRequest, GetFiltriUtenteResponse } from '../Dtos';\nimport { GetFiltriResponse } from '../Dtos/TipoFiltro';\nimport { FiltriService } from '../Services/FiltriService/FiltriService';\nimport { JwtSimpleGuard } from '../jwt/jwt.strategy';\nimport {\n ensureSelfOrSuperUser,\n ensureSuperUser,\n getAuthenticatedAccessiUser,\n} from '../security/accessControl';\n\n@ApiTags('Filtri')\n@ApiBearerAuth()\n@Controller('accessi/filtri')\n@UseGuards(JwtSimpleGuard)\n/** API per lettura e persistenza dei filtri applicativi collegati a un utente Accessi. */\nexport class FiltriController {\n constructor(\n private readonly filtriService: FiltriService,\n @Inject('ACCESSI_OPTIONS') private readonly options: AccessiOptions,\n ) {}\n\n @Get('tipi')\n @ApiOperation({\n operationId: 'getTipiFiltro',\n summary: 'Recupera la lista dei tipi di filtri',\n description: 'Ritorna tutti i tipi di filtri disponibili nel sistema',\n })\n @ApiResponse({\n status: 200,\n description: 'Lista dei tipi di filtri recuperata con successo',\n type: GetFiltriResponse,\n })\n @ApiResponse({\n status: 500,\n description: 'Errore interno durante il recupero dei tipi di filtri',\n type: ErrorResponse,\n })\n async getTipoFiltri(@Res() res: Response) {\n try {\n const response = await this.filtriService.getTipoFiltri();\n return RestUtilities.sendBaseResponse(res, response);\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, FiltriController.name);\n }\n }\n\n @Get('utente')\n @ApiOperation({\n operationId: 'getFiltriUtente',\n summary: 'Recupera i filtri di un utente',\n description: 'Ritorna tutti i filtri associati ad un utente specifico',\n })\n @ApiResponse({\n status: 200,\n description: \"Lista dei filtri dell'utente recuperata con successo\",\n type: GetFiltriUtenteResponse,\n })\n @ApiResponse({\n status: 400,\n description: 'Errore nella richiesta.',\n type: ErrorResponse,\n })\n @ApiResponse({\n status: 403,\n description: 'Operazione non autorizzata.',\n type: ErrorResponse,\n })\n @ApiResponse({\n status: 500,\n description: 'Errore interno del server.',\n type: ErrorResponse,\n })\n async getFiltriUtente(\n @Req() request: Request,\n @Res() res: Response,\n @Query() req: GetFiltriUtenteRequest,\n ) {\n try {\n const authenticatedUser = getAuthenticatedAccessiUser(request);\n const targetUserCode = req?.codUte;\n\n if (targetUserCode === undefined) {\n ensureSuperUser(\n authenticatedUser,\n 'Solo gli amministratori possono consultare i filtri di tutti gli utenti.',\n );\n } else {\n ensureSelfOrSuperUser(\n authenticatedUser,\n Number(targetUserCode),\n 'Puoi consultare solo i tuoi filtri.',\n );\n }\n\n const response = await this.filtriService.getFiltriUser(targetUserCode);\n return RestUtilities.sendBaseResponse(res, response);\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, FiltriController.name);\n }\n }\n\n @Post('utente')\n @ApiOperation({\n operationId: 'saveFiltriUtente',\n summary: 'Inserisce o aggiorna i filtri di un utente',\n description: 'Permette di salvare i filtri associati ad un utente specifico',\n })\n @ApiResponse({\n status: 200,\n description: 'Filtri utente salvati con successo',\n type: ActionResponse,\n })\n @ApiResponse({\n status: 400,\n description: 'Errore di validazione nei dati inviati.',\n type: ErrorResponse,\n })\n @ApiResponse({\n status: 403,\n description: 'Operazione non autorizzata.',\n type: ErrorResponse,\n })\n @ApiResponse({\n status: 500,\n description: 'Errore interno durante il salvataggio dei filtri utente',\n type: ErrorResponse,\n })\n async saveFiltriUtente(\n @Req() request: Request,\n @Res() res: Response,\n @Body() req: FiltriUtente,\n ) {\n try {\n const authenticatedUser = getAuthenticatedAccessiUser(request);\n const targetUserCode = req?.codUte ?? authenticatedUser.codiceUtente;\n\n ensureSelfOrSuperUser(\n authenticatedUser,\n Number(targetUserCode),\n 'Puoi modificare solo i tuoi filtri.',\n );\n\n await this.filtriService.upsertFiltriUtente(targetUserCode, {\n ...req,\n codUte: targetUserCode,\n });\n return RestUtilities.sendOKMessage(\n res,\n `Aggiornamento filtri per l'utente ${targetUserCode} effettuato correttamente`,\n );\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, FiltriController.name);\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"FiltriController.js","sourceRoot":"","sources":["../../../src/accessi-module/Controllers/FiltriController.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Body,\n Controller,\n Delete,\n Get,\n HttpStatus,\n Param,\n ParseIntPipe,\n Post,\n Put,\n Query,\n Req,\n Res,\n UseGuards,\n} from '@nestjs/common';\nimport { ApiBearerAuth, ApiOperation, ApiParam, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Request, Response } from 'express';\nimport { RestUtilities } from '../../Utilities';\nimport { ActionResponse, ErrorResponse } from '../Dtos/BaseResponse';\nimport {\n CreateFilterTypeRequest,\n FiltriUtente,\n GetFiltriUtenteRequest,\n GetFiltriUtenteResponse,\n UpdateFilterTypeRequest,\n} from '../Dtos';\nimport { GetFiltriResponse } from '../Dtos/TipoFiltro';\nimport { FiltriService } from '../Services/FiltriService/FiltriService';\nimport { JwtSimpleGuard } from '../jwt/jwt.strategy';\nimport {\n ensureSelfOrSuperUser,\n ensureSuperUser,\n getAuthenticatedAccessiUser,\n} from '../security/accessControl';\n\n@ApiTags('Filtri')\n@ApiBearerAuth()\n@Controller('accessi/filtri')\n@UseGuards(JwtSimpleGuard)\n/** API per lettura e persistenza dei filtri applicativi collegati a un utente Accessi. */\nexport class FiltriController {\n constructor(\n private readonly filtriService: FiltriService,\n ) {}\n\n @Get('tipi')\n @ApiOperation({\n operationId: 'getTipiFiltro',\n summary: 'Recupera la lista dei tipi di filtri',\n description: 'Ritorna tutti i tipi di filtri disponibili nel sistema',\n })\n @ApiResponse({\n status: 200,\n description: 'Lista dei tipi di filtri recuperata con successo',\n type: GetFiltriResponse,\n })\n @ApiResponse({\n status: 500,\n description: 'Errore interno durante il recupero dei tipi di filtri',\n type: ErrorResponse,\n })\n async getTipoFiltri(@Res() res: Response) {\n try {\n const response = await this.filtriService.getTipoFiltri();\n return RestUtilities.sendBaseResponse(res, response);\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, FiltriController.name);\n }\n }\n\n @Post('tipi')\n @ApiOperation({\n operationId: 'createTipoFiltro',\n summary: 'Crea un tipo di filtro',\n description: 'Inserisce una nuova voce nel catalogo dei tipi di filtro. Operazione riservata al superutente.',\n })\n @ApiResponse({ status: 201, description: 'Tipo filtro creato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Dati non validi', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n async createTipoFiltro(\n @Req() request: Request,\n @Res() res: Response,\n @Body() body: CreateFilterTypeRequest,\n ) {\n try {\n ensureSuperUser(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono creare tipi filtro.');\n await this.filtriService.createTipoFiltro(body);\n return RestUtilities.sendOKMessage(\n res,\n `Il tipo filtro ${body.tipFil} e' stato creato con successo.`,\n HttpStatus.CREATED,\n );\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, FiltriController.name);\n }\n }\n\n @Put('tipi/:tipFil')\n @ApiOperation({\n operationId: 'updateTipoFiltro',\n summary: 'Aggiorna un tipo di filtro',\n description: 'Aggiorna descrizione, campo o stato di un tipo di filtro esistente.',\n })\n @ApiParam({ name: 'tipFil', description: 'Identificativo del tipo filtro', required: true, example: 1, type: Number })\n @ApiResponse({ status: 200, description: 'Tipo filtro aggiornato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Dati non validi', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n async updateTipoFiltro(\n @Req() request: Request,\n @Res() res: Response,\n @Param('tipFil', ParseIntPipe) tipFil: number,\n @Body() body: UpdateFilterTypeRequest,\n ) {\n try {\n ensureSuperUser(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono modificare tipi filtro.');\n await this.filtriService.updateTipoFiltro(tipFil, body);\n return RestUtilities.sendOKMessage(res, `Il tipo filtro ${tipFil} e' stato aggiornato con successo.`);\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, FiltriController.name);\n }\n }\n\n @Delete('tipi/:tipFil')\n @ApiOperation({\n operationId: 'deleteTipoFiltro',\n summary: 'Elimina un tipo di filtro',\n description: 'Elimina un tipo di filtro solo se nessun filtro utente lo utilizza.',\n })\n @ApiParam({ name: 'tipFil', description: 'Identificativo del tipo filtro', required: true, example: 1, type: Number })\n @ApiResponse({ status: 200, description: 'Tipo filtro eliminato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Dati non validi', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n async deleteTipoFiltro(\n @Req() request: Request,\n @Res() res: Response,\n @Param('tipFil', ParseIntPipe) tipFil: number,\n ) {\n try {\n ensureSuperUser(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono eliminare tipi filtro.');\n await this.filtriService.deleteTipoFiltro(tipFil);\n return RestUtilities.sendOKMessage(res, `Il tipo filtro ${tipFil} e' stato eliminato con successo.`);\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, FiltriController.name);\n }\n }\n\n @Get('utente')\n @ApiOperation({\n operationId: 'getFiltriUtente',\n summary: 'Recupera i filtri di un utente',\n description: 'Ritorna tutti i filtri associati ad un utente specifico',\n })\n @ApiResponse({\n status: 200,\n description: \"Lista dei filtri dell'utente recuperata con successo\",\n type: GetFiltriUtenteResponse,\n })\n @ApiResponse({\n status: 400,\n description: 'Errore nella richiesta.',\n type: ErrorResponse,\n })\n @ApiResponse({\n status: 403,\n description: 'Operazione non autorizzata.',\n type: ErrorResponse,\n })\n @ApiResponse({\n status: 500,\n description: 'Errore interno del server.',\n type: ErrorResponse,\n })\n async getFiltriUtente(\n @Req() request: Request,\n @Res() res: Response,\n @Query() req: GetFiltriUtenteRequest,\n ) {\n try {\n const authenticatedUser = getAuthenticatedAccessiUser(request);\n const targetUserCode = req?.codUte;\n\n if (targetUserCode === undefined) {\n ensureSuperUser(\n authenticatedUser,\n 'Solo gli amministratori possono consultare i filtri di tutti gli utenti.',\n );\n } else {\n ensureSelfOrSuperUser(\n authenticatedUser,\n Number(targetUserCode),\n 'Puoi consultare solo i tuoi filtri.',\n );\n }\n\n const response = await this.filtriService.getFiltriUser(targetUserCode);\n return RestUtilities.sendBaseResponse(res, response);\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, FiltriController.name);\n }\n }\n\n @Post('utente')\n @ApiOperation({\n operationId: 'saveFiltriUtente',\n summary: 'Inserisce o aggiorna i filtri di un utente',\n description: 'Permette di salvare i filtri associati ad un utente specifico',\n })\n @ApiResponse({\n status: 200,\n description: 'Filtri utente salvati con successo',\n type: ActionResponse,\n })\n @ApiResponse({\n status: 400,\n description: 'Errore di validazione nei dati inviati.',\n type: ErrorResponse,\n })\n @ApiResponse({\n status: 403,\n description: 'Operazione non autorizzata.',\n type: ErrorResponse,\n })\n @ApiResponse({\n status: 500,\n description: 'Errore interno durante il salvataggio dei filtri utente',\n type: ErrorResponse,\n })\n async saveFiltriUtente(\n @Req() request: Request,\n @Res() res: Response,\n @Body() req: FiltriUtente,\n ) {\n try {\n const authenticatedUser = getAuthenticatedAccessiUser(request);\n const targetUserCode = req?.codUte ?? authenticatedUser.codiceUtente;\n\n ensureSelfOrSuperUser(\n authenticatedUser,\n Number(targetUserCode),\n 'Puoi modificare solo i tuoi filtri.',\n );\n\n await this.filtriService.upsertFiltriUtente(targetUserCode, {\n ...req,\n codUte: targetUserCode,\n });\n return RestUtilities.sendOKMessage(\n res,\n `Aggiornamento filtri per l'utente ${targetUserCode} effettuato correttamente`,\n );\n } catch (error) {\n return RestUtilities.sendErrorMessage(res, error, FiltriController.name);\n }\n }\n}\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Request, Response } from 'express';
|
|
2
2
|
import { AssignPermissionsToUserRequest } from '../Dtos/AssignPermissionsToUserRequest';
|
|
3
3
|
import { AssignRolesToUserRequest } from '../Dtos/AssignRolesToUserRequest';
|
|
4
|
+
import { CreateMenuGroupRequest, CreateMenuRequest, CreateMenuTypeRequest, UpdateMenuGroupRequest, UpdateMenuRequest, UpdateMenuTypeRequest } from '../Dtos/CatalogDtos';
|
|
4
5
|
import { Role } from '../Dtos/Role';
|
|
5
6
|
import { PermissionService } from '../Services/PermissionService/PermissionService';
|
|
6
7
|
export declare class PermissionController {
|
|
@@ -15,5 +16,15 @@ export declare class PermissionController {
|
|
|
15
16
|
deleteRole(request: Request, codiceRuolo: number, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
16
17
|
getMenus(res: Response): Promise<Response<any, Record<string, any>>>;
|
|
17
18
|
getGroupsWithMenus(includeDisabled: string, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
19
|
+
getMenuTypes(res: Response): Promise<Response<any, Record<string, any>>>;
|
|
20
|
+
createMenu(request: Request, body: CreateMenuRequest, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
21
|
+
updateMenu(request: Request, codiceMenu: string, body: UpdateMenuRequest, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
22
|
+
deleteMenu(request: Request, codiceMenu: string, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
23
|
+
createMenuGroup(request: Request, body: CreateMenuGroupRequest, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
24
|
+
updateMenuGroup(request: Request, codiceGruppo: string, body: UpdateMenuGroupRequest, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
25
|
+
deleteMenuGroup(request: Request, codiceGruppo: string, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
26
|
+
createMenuType(request: Request, body: CreateMenuTypeRequest, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
27
|
+
updateMenuType(request: Request, codiceTipo: string, body: UpdateMenuTypeRequest, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
28
|
+
deleteMenuType(request: Request, codiceTipo: string, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
18
29
|
getUserRolesAndGrants(request: Request, codiceUtente: number, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
19
30
|
}
|
|
@@ -29,6 +29,7 @@ const Utilities_1 = require("../../Utilities");
|
|
|
29
29
|
const BaseResponse_1 = require("../Dtos/BaseResponse");
|
|
30
30
|
const AssignPermissionsToUserRequest_1 = require("../Dtos/AssignPermissionsToUserRequest");
|
|
31
31
|
const AssignRolesToUserRequest_1 = require("../Dtos/AssignRolesToUserRequest");
|
|
32
|
+
const CatalogDtos_1 = require("../Dtos/CatalogDtos");
|
|
32
33
|
const GetGroupsWithMenusResponse_1 = require("../Dtos/GetGroupsWithMenusResponse");
|
|
33
34
|
const GetMenusResponse_1 = require("../Dtos/GetMenusResponse");
|
|
34
35
|
const GetRolesResponse_1 = require("../Dtos/GetRolesResponse");
|
|
@@ -42,8 +43,8 @@ let PermissionController = PermissionController_1 = class PermissionController {
|
|
|
42
43
|
this.permissionService = permissionService;
|
|
43
44
|
}
|
|
44
45
|
sendControllerError(res, error) {
|
|
45
|
-
|
|
46
|
-
return Utilities_1.RestUtilities.sendErrorMessage(res, error, PermissionController_1.name
|
|
46
|
+
// Lo status viene derivato centralmente da RestUtilities (HttpException o 500).
|
|
47
|
+
return Utilities_1.RestUtilities.sendErrorMessage(res, error, PermissionController_1.name);
|
|
47
48
|
}
|
|
48
49
|
getRoles(res) {
|
|
49
50
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -61,11 +62,11 @@ let PermissionController = PermissionController_1 = class PermissionController {
|
|
|
61
62
|
try {
|
|
62
63
|
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono modificare i ruoli.');
|
|
63
64
|
if (Number.isNaN(codiceRuolo))
|
|
64
|
-
throw new
|
|
65
|
+
throw new common_1.BadRequestException('Il codice del ruolo e obbligatorio.');
|
|
65
66
|
if (!role.descrizioneRuolo)
|
|
66
|
-
throw new
|
|
67
|
+
throw new common_1.BadRequestException('La descrizione del ruolo non puo essere vuota.');
|
|
67
68
|
if (!role.menu || role.menu.length === 0) {
|
|
68
|
-
throw new
|
|
69
|
+
throw new common_1.BadRequestException('Il ruolo deve avere almeno un menu.');
|
|
69
70
|
}
|
|
70
71
|
yield this.permissionService.updateOrInsertRole(role, codiceRuolo);
|
|
71
72
|
return Utilities_1.RestUtilities.sendOKMessage(res, `Il ruolo ${codiceRuolo} e' stato aggiornato con successo.`);
|
|
@@ -80,11 +81,11 @@ let PermissionController = PermissionController_1 = class PermissionController {
|
|
|
80
81
|
try {
|
|
81
82
|
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono creare ruoli.');
|
|
82
83
|
if (!role)
|
|
83
|
-
throw new
|
|
84
|
+
throw new common_1.BadRequestException('Il ruolo non puo essere vuoto.');
|
|
84
85
|
if (!role.descrizioneRuolo)
|
|
85
|
-
throw new
|
|
86
|
+
throw new common_1.BadRequestException('La descrizione del ruolo non puo essere vuota.');
|
|
86
87
|
if (!role.menu || role.menu.length === 0) {
|
|
87
|
-
throw new
|
|
88
|
+
throw new common_1.BadRequestException('Il ruolo deve avere almeno un menu.');
|
|
88
89
|
}
|
|
89
90
|
yield this.permissionService.updateOrInsertRole(role);
|
|
90
91
|
return Utilities_1.RestUtilities.sendOKMessage(res, 'Il ruolo e stato creato con successo.', common_1.HttpStatus.CREATED);
|
|
@@ -161,6 +162,128 @@ let PermissionController = PermissionController_1 = class PermissionController {
|
|
|
161
162
|
}
|
|
162
163
|
});
|
|
163
164
|
}
|
|
165
|
+
// -------------------------------------------------------------------------
|
|
166
|
+
// Gestione catalogo: tipi menu, gruppi, menu. Operazioni riservate al superutente.
|
|
167
|
+
// -------------------------------------------------------------------------
|
|
168
|
+
getMenuTypes(res) {
|
|
169
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
170
|
+
try {
|
|
171
|
+
const types = yield this.permissionService.getMenuTypes();
|
|
172
|
+
return Utilities_1.RestUtilities.sendBaseResponse(res, types);
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
return this.sendControllerError(res, error);
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
createMenu(request, body, res) {
|
|
180
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
181
|
+
try {
|
|
182
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono creare menu.');
|
|
183
|
+
yield this.permissionService.createMenu(body);
|
|
184
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, `Il menu ${body.codiceMenu} e' stato creato con successo.`, common_1.HttpStatus.CREATED);
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
return this.sendControllerError(res, error);
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
updateMenu(request, codiceMenu, body, res) {
|
|
192
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
193
|
+
try {
|
|
194
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono modificare menu.');
|
|
195
|
+
yield this.permissionService.updateMenu(codiceMenu, body);
|
|
196
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, `Il menu ${codiceMenu} e' stato aggiornato con successo.`);
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
return this.sendControllerError(res, error);
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
deleteMenu(request, codiceMenu, res) {
|
|
204
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
205
|
+
try {
|
|
206
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono eliminare menu.');
|
|
207
|
+
yield this.permissionService.deleteMenu(codiceMenu);
|
|
208
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, `Il menu ${codiceMenu} e' stato eliminato con successo.`);
|
|
209
|
+
}
|
|
210
|
+
catch (error) {
|
|
211
|
+
return this.sendControllerError(res, error);
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
createMenuGroup(request, body, res) {
|
|
216
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
217
|
+
try {
|
|
218
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono creare gruppi.');
|
|
219
|
+
yield this.permissionService.createMenuGroup(body);
|
|
220
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, `Il gruppo ${body.codiceGruppo} e' stato creato con successo.`, common_1.HttpStatus.CREATED);
|
|
221
|
+
}
|
|
222
|
+
catch (error) {
|
|
223
|
+
return this.sendControllerError(res, error);
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
updateMenuGroup(request, codiceGruppo, body, res) {
|
|
228
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
229
|
+
try {
|
|
230
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono modificare gruppi.');
|
|
231
|
+
yield this.permissionService.updateMenuGroup(codiceGruppo, body);
|
|
232
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, `Il gruppo ${codiceGruppo} e' stato aggiornato con successo.`);
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
return this.sendControllerError(res, error);
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
deleteMenuGroup(request, codiceGruppo, res) {
|
|
240
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
241
|
+
try {
|
|
242
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono eliminare gruppi.');
|
|
243
|
+
yield this.permissionService.deleteMenuGroup(codiceGruppo);
|
|
244
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, `Il gruppo ${codiceGruppo} e' stato eliminato con successo.`);
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
return this.sendControllerError(res, error);
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
createMenuType(request, body, res) {
|
|
252
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
253
|
+
try {
|
|
254
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono creare tipi menu.');
|
|
255
|
+
yield this.permissionService.createMenuType(body);
|
|
256
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, `Il tipo menu ${body.codiceTipo} e' stato creato con successo.`, common_1.HttpStatus.CREATED);
|
|
257
|
+
}
|
|
258
|
+
catch (error) {
|
|
259
|
+
return this.sendControllerError(res, error);
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
updateMenuType(request, codiceTipo, body, res) {
|
|
264
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
265
|
+
try {
|
|
266
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono modificare tipi menu.');
|
|
267
|
+
yield this.permissionService.updateMenuType(codiceTipo, body);
|
|
268
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, `Il tipo menu ${codiceTipo} e' stato aggiornato con successo.`);
|
|
269
|
+
}
|
|
270
|
+
catch (error) {
|
|
271
|
+
return this.sendControllerError(res, error);
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
deleteMenuType(request, codiceTipo, res) {
|
|
276
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
277
|
+
try {
|
|
278
|
+
(0, accessControl_1.ensureSuperUser)((0, accessControl_1.getAuthenticatedAccessiUser)(request), 'Solo gli amministratori possono eliminare tipi menu.');
|
|
279
|
+
yield this.permissionService.deleteMenuType(codiceTipo);
|
|
280
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, `Il tipo menu ${codiceTipo} e' stato eliminato con successo.`);
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
return this.sendControllerError(res, error);
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
}
|
|
164
287
|
getUserRolesAndGrants(request, codiceUtente, res) {
|
|
165
288
|
return __awaiter(this, void 0, void 0, function* () {
|
|
166
289
|
try {
|
|
@@ -344,6 +467,148 @@ __decorate([
|
|
|
344
467
|
__metadata("design:paramtypes", [String, Object]),
|
|
345
468
|
__metadata("design:returntype", Promise)
|
|
346
469
|
], PermissionController.prototype, "getGroupsWithMenus", null);
|
|
470
|
+
__decorate([
|
|
471
|
+
(0, swagger_1.ApiOperation)({ summary: 'Recupera il catalogo dei tipi menu', operationId: 'getMenuTypes' }),
|
|
472
|
+
(0, swagger_1.ApiOkResponse)({ description: 'Elenco dei tipi menu', type: CatalogDtos_1.GetMenuTypesResponse }),
|
|
473
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server', type: BaseResponse_1.ErrorResponse }),
|
|
474
|
+
(0, common_1.Get)('menu-types'),
|
|
475
|
+
__param(0, (0, common_1.Res)()),
|
|
476
|
+
__metadata("design:type", Function),
|
|
477
|
+
__metadata("design:paramtypes", [Object]),
|
|
478
|
+
__metadata("design:returntype", Promise)
|
|
479
|
+
], PermissionController.prototype, "getMenuTypes", null);
|
|
480
|
+
__decorate([
|
|
481
|
+
(0, swagger_1.ApiOperation)({ summary: 'Crea un nuovo menu', operationId: 'createMenu' }),
|
|
482
|
+
(0, swagger_1.ApiBody)({ type: CatalogDtos_1.CreateMenuRequest, description: 'Dati del nuovo menu' }),
|
|
483
|
+
(0, swagger_1.ApiResponse)({ status: 201, description: 'Menu creato con successo', type: BaseResponse_1.ActionResponse }),
|
|
484
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Dati non validi', type: BaseResponse_1.ErrorResponse }),
|
|
485
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server', type: BaseResponse_1.ErrorResponse }),
|
|
486
|
+
(0, common_1.Post)('menus'),
|
|
487
|
+
__param(0, (0, common_1.Req)()),
|
|
488
|
+
__param(1, (0, common_1.Body)()),
|
|
489
|
+
__param(2, (0, common_1.Res)()),
|
|
490
|
+
__metadata("design:type", Function),
|
|
491
|
+
__metadata("design:paramtypes", [Object, CatalogDtos_1.CreateMenuRequest, Object]),
|
|
492
|
+
__metadata("design:returntype", Promise)
|
|
493
|
+
], PermissionController.prototype, "createMenu", null);
|
|
494
|
+
__decorate([
|
|
495
|
+
(0, swagger_1.ApiOperation)({ summary: 'Aggiorna un menu esistente', operationId: 'updateMenu' }),
|
|
496
|
+
(0, swagger_1.ApiParam)({ name: 'codiceMenu', description: 'Codice del menu da aggiornare', required: true, example: 'MNU001' }),
|
|
497
|
+
(0, swagger_1.ApiBody)({ type: CatalogDtos_1.UpdateMenuRequest, description: 'Campi del menu da aggiornare' }),
|
|
498
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Menu aggiornato con successo', type: BaseResponse_1.ActionResponse }),
|
|
499
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Dati non validi', type: BaseResponse_1.ErrorResponse }),
|
|
500
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server', type: BaseResponse_1.ErrorResponse }),
|
|
501
|
+
(0, common_1.Put)('menus/:codiceMenu'),
|
|
502
|
+
__param(0, (0, common_1.Req)()),
|
|
503
|
+
__param(1, (0, common_1.Param)('codiceMenu')),
|
|
504
|
+
__param(2, (0, common_1.Body)()),
|
|
505
|
+
__param(3, (0, common_1.Res)()),
|
|
506
|
+
__metadata("design:type", Function),
|
|
507
|
+
__metadata("design:paramtypes", [Object, String, CatalogDtos_1.UpdateMenuRequest, Object]),
|
|
508
|
+
__metadata("design:returntype", Promise)
|
|
509
|
+
], PermissionController.prototype, "updateMenu", null);
|
|
510
|
+
__decorate([
|
|
511
|
+
(0, swagger_1.ApiOperation)({ summary: 'Elimina un menu', operationId: 'deleteMenu' }),
|
|
512
|
+
(0, swagger_1.ApiParam)({ name: 'codiceMenu', description: 'Codice del menu da eliminare', required: true, example: 'MNU001' }),
|
|
513
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Menu eliminato con successo', type: BaseResponse_1.ActionResponse }),
|
|
514
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Dati non validi', type: BaseResponse_1.ErrorResponse }),
|
|
515
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server', type: BaseResponse_1.ErrorResponse }),
|
|
516
|
+
(0, common_1.Delete)('menus/:codiceMenu'),
|
|
517
|
+
__param(0, (0, common_1.Req)()),
|
|
518
|
+
__param(1, (0, common_1.Param)('codiceMenu')),
|
|
519
|
+
__param(2, (0, common_1.Res)()),
|
|
520
|
+
__metadata("design:type", Function),
|
|
521
|
+
__metadata("design:paramtypes", [Object, String, Object]),
|
|
522
|
+
__metadata("design:returntype", Promise)
|
|
523
|
+
], PermissionController.prototype, "deleteMenu", null);
|
|
524
|
+
__decorate([
|
|
525
|
+
(0, swagger_1.ApiOperation)({ summary: 'Crea un nuovo gruppo menu', operationId: 'createMenuGroup' }),
|
|
526
|
+
(0, swagger_1.ApiBody)({ type: CatalogDtos_1.CreateMenuGroupRequest, description: 'Dati del nuovo gruppo' }),
|
|
527
|
+
(0, swagger_1.ApiResponse)({ status: 201, description: 'Gruppo creato con successo', type: BaseResponse_1.ActionResponse }),
|
|
528
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Dati non validi', type: BaseResponse_1.ErrorResponse }),
|
|
529
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server', type: BaseResponse_1.ErrorResponse }),
|
|
530
|
+
(0, common_1.Post)('menu-groups'),
|
|
531
|
+
__param(0, (0, common_1.Req)()),
|
|
532
|
+
__param(1, (0, common_1.Body)()),
|
|
533
|
+
__param(2, (0, common_1.Res)()),
|
|
534
|
+
__metadata("design:type", Function),
|
|
535
|
+
__metadata("design:paramtypes", [Object, CatalogDtos_1.CreateMenuGroupRequest, Object]),
|
|
536
|
+
__metadata("design:returntype", Promise)
|
|
537
|
+
], PermissionController.prototype, "createMenuGroup", null);
|
|
538
|
+
__decorate([
|
|
539
|
+
(0, swagger_1.ApiOperation)({ summary: 'Aggiorna un gruppo menu', operationId: 'updateMenuGroup' }),
|
|
540
|
+
(0, swagger_1.ApiParam)({ name: 'codiceGruppo', description: 'Codice del gruppo da aggiornare', required: true, example: 'A' }),
|
|
541
|
+
(0, swagger_1.ApiBody)({ type: CatalogDtos_1.UpdateMenuGroupRequest, description: 'Campi del gruppo da aggiornare' }),
|
|
542
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Gruppo aggiornato con successo', type: BaseResponse_1.ActionResponse }),
|
|
543
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Dati non validi', type: BaseResponse_1.ErrorResponse }),
|
|
544
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server', type: BaseResponse_1.ErrorResponse }),
|
|
545
|
+
(0, common_1.Put)('menu-groups/:codiceGruppo'),
|
|
546
|
+
__param(0, (0, common_1.Req)()),
|
|
547
|
+
__param(1, (0, common_1.Param)('codiceGruppo')),
|
|
548
|
+
__param(2, (0, common_1.Body)()),
|
|
549
|
+
__param(3, (0, common_1.Res)()),
|
|
550
|
+
__metadata("design:type", Function),
|
|
551
|
+
__metadata("design:paramtypes", [Object, String, CatalogDtos_1.UpdateMenuGroupRequest, Object]),
|
|
552
|
+
__metadata("design:returntype", Promise)
|
|
553
|
+
], PermissionController.prototype, "updateMenuGroup", null);
|
|
554
|
+
__decorate([
|
|
555
|
+
(0, swagger_1.ApiOperation)({ summary: 'Elimina un gruppo menu', operationId: 'deleteMenuGroup' }),
|
|
556
|
+
(0, swagger_1.ApiParam)({ name: 'codiceGruppo', description: 'Codice del gruppo da eliminare', required: true, example: 'A' }),
|
|
557
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Gruppo eliminato con successo', type: BaseResponse_1.ActionResponse }),
|
|
558
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Dati non validi', type: BaseResponse_1.ErrorResponse }),
|
|
559
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server', type: BaseResponse_1.ErrorResponse }),
|
|
560
|
+
(0, common_1.Delete)('menu-groups/:codiceGruppo'),
|
|
561
|
+
__param(0, (0, common_1.Req)()),
|
|
562
|
+
__param(1, (0, common_1.Param)('codiceGruppo')),
|
|
563
|
+
__param(2, (0, common_1.Res)()),
|
|
564
|
+
__metadata("design:type", Function),
|
|
565
|
+
__metadata("design:paramtypes", [Object, String, Object]),
|
|
566
|
+
__metadata("design:returntype", Promise)
|
|
567
|
+
], PermissionController.prototype, "deleteMenuGroup", null);
|
|
568
|
+
__decorate([
|
|
569
|
+
(0, swagger_1.ApiOperation)({ summary: 'Crea un nuovo tipo menu', operationId: 'createMenuType' }),
|
|
570
|
+
(0, swagger_1.ApiBody)({ type: CatalogDtos_1.CreateMenuTypeRequest, description: 'Dati del nuovo tipo menu' }),
|
|
571
|
+
(0, swagger_1.ApiResponse)({ status: 201, description: 'Tipo menu creato con successo', type: BaseResponse_1.ActionResponse }),
|
|
572
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Dati non validi', type: BaseResponse_1.ErrorResponse }),
|
|
573
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server', type: BaseResponse_1.ErrorResponse }),
|
|
574
|
+
(0, common_1.Post)('menu-types'),
|
|
575
|
+
__param(0, (0, common_1.Req)()),
|
|
576
|
+
__param(1, (0, common_1.Body)()),
|
|
577
|
+
__param(2, (0, common_1.Res)()),
|
|
578
|
+
__metadata("design:type", Function),
|
|
579
|
+
__metadata("design:paramtypes", [Object, CatalogDtos_1.CreateMenuTypeRequest, Object]),
|
|
580
|
+
__metadata("design:returntype", Promise)
|
|
581
|
+
], PermissionController.prototype, "createMenuType", null);
|
|
582
|
+
__decorate([
|
|
583
|
+
(0, swagger_1.ApiOperation)({ summary: 'Aggiorna un tipo menu', operationId: 'updateMenuType' }),
|
|
584
|
+
(0, swagger_1.ApiParam)({ name: 'codiceTipo', description: 'Codice del tipo menu da aggiornare', required: true, example: 'A' }),
|
|
585
|
+
(0, swagger_1.ApiBody)({ type: CatalogDtos_1.UpdateMenuTypeRequest, description: 'Campi del tipo menu da aggiornare' }),
|
|
586
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Tipo menu aggiornato con successo', type: BaseResponse_1.ActionResponse }),
|
|
587
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Dati non validi', type: BaseResponse_1.ErrorResponse }),
|
|
588
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server', type: BaseResponse_1.ErrorResponse }),
|
|
589
|
+
(0, common_1.Put)('menu-types/:codiceTipo'),
|
|
590
|
+
__param(0, (0, common_1.Req)()),
|
|
591
|
+
__param(1, (0, common_1.Param)('codiceTipo')),
|
|
592
|
+
__param(2, (0, common_1.Body)()),
|
|
593
|
+
__param(3, (0, common_1.Res)()),
|
|
594
|
+
__metadata("design:type", Function),
|
|
595
|
+
__metadata("design:paramtypes", [Object, String, CatalogDtos_1.UpdateMenuTypeRequest, Object]),
|
|
596
|
+
__metadata("design:returntype", Promise)
|
|
597
|
+
], PermissionController.prototype, "updateMenuType", null);
|
|
598
|
+
__decorate([
|
|
599
|
+
(0, swagger_1.ApiOperation)({ summary: 'Elimina un tipo menu', operationId: 'deleteMenuType' }),
|
|
600
|
+
(0, swagger_1.ApiParam)({ name: 'codiceTipo', description: 'Codice del tipo menu da eliminare', required: true, example: 'A' }),
|
|
601
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Tipo menu eliminato con successo', type: BaseResponse_1.ActionResponse }),
|
|
602
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Dati non validi', type: BaseResponse_1.ErrorResponse }),
|
|
603
|
+
(0, swagger_1.ApiResponse)({ status: 500, description: 'Errore interno del server', type: BaseResponse_1.ErrorResponse }),
|
|
604
|
+
(0, common_1.Delete)('menu-types/:codiceTipo'),
|
|
605
|
+
__param(0, (0, common_1.Req)()),
|
|
606
|
+
__param(1, (0, common_1.Param)('codiceTipo')),
|
|
607
|
+
__param(2, (0, common_1.Res)()),
|
|
608
|
+
__metadata("design:type", Function),
|
|
609
|
+
__metadata("design:paramtypes", [Object, String, Object]),
|
|
610
|
+
__metadata("design:returntype", Promise)
|
|
611
|
+
], PermissionController.prototype, "deleteMenuType", null);
|
|
347
612
|
__decorate([
|
|
348
613
|
(0, swagger_1.ApiOperation)({
|
|
349
614
|
summary: 'Recupera i ruoli e i menu di un utente',
|