emilsoftware-utilities 2.0.0-dev.4 → 2.0.0-dev.40
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 +199 -38
- 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 +21 -0
- package/dist/DailyFileTransport.js +74 -0
- package/dist/DailyFileTransport.js.map +1 -0
- package/dist/DatabaseUpdater.d.ts +1 -1
- package/dist/DatabaseUpdater.js +32 -29
- package/dist/DatabaseUpdater.js.map +1 -1
- package/dist/EmilsoftwareModule.js.map +1 -1
- package/dist/ExecutionTimeLogger.d.ts +2 -2
- package/dist/ExecutionTimeLogger.js +5 -4
- package/dist/ExecutionTimeLogger.js.map +1 -1
- package/dist/Logger.d.ts +22 -11
- package/dist/Logger.js +132 -119
- package/dist/Logger.js.map +1 -1
- package/dist/Orm.d.ts +28 -12
- package/dist/Orm.js +194 -153
- package/dist/Orm.js.map +1 -1
- package/dist/RoutesLoggerMiddleware.js.map +1 -1
- package/dist/Utilities.d.ts +18 -8
- package/dist/Utilities.js +117 -38
- package/dist/Utilities.js.map +1 -1
- package/dist/accessi-module/AccessiModule.d.ts +116 -2
- package/dist/accessi-module/AccessiModule.js +36 -5
- package/dist/accessi-module/AccessiModule.js.map +1 -1
- package/dist/accessi-module/Console/accessiFetch.d.ts +7 -0
- package/dist/accessi-module/Console/accessiFetch.js +59 -0
- package/dist/accessi-module/Console/accessiFetch.js.map +1 -0
- package/dist/accessi-module/Console/console.css +676 -0
- package/dist/accessi-module/Console/console.d.ts +1 -0
- package/dist/accessi-module/Console/console.js +3351 -0
- package/dist/accessi-module/Console/console.js.map +1 -0
- package/dist/accessi-module/Console/generated/accessiApi.d.ts +582 -0
- package/dist/accessi-module/Console/generated/accessiApi.js +549 -0
- package/dist/accessi-module/Console/generated/accessiApi.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenu.d.ts +39 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenu.js +3 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenu.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuTipoAbilitazione.d.ts +16 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuTipoAbilitazione.js +17 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuTipoAbilitazione.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/actionResponse.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/actionResponse.js +9 -0
- package/dist/accessi-module/Console/generated/model/actionResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/assignPermissionsToUserRequest.d.ts +11 -0
- package/dist/accessi-module/Console/generated/model/assignPermissionsToUserRequest.js +3 -0
- package/dist/accessi-module/Console/generated/model/assignPermissionsToUserRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/assignRolesToUserRequest.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/assignRolesToUserRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/assignRolesToUserRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/authenticatedTokenPayloadDto.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/authenticatedTokenPayloadDto.js +3 -0
- package/dist/accessi-module/Console/generated/model/authenticatedTokenPayloadDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/authenticatedUserPayloadDto.d.ts +19 -0
- package/dist/accessi-module/Console/generated/model/authenticatedUserPayloadDto.js +9 -0
- package/dist/accessi-module/Console/generated/model/authenticatedUserPayloadDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminRequest.d.ts +17 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminResultDto.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminResultDto.js +9 -0
- package/dist/accessi-module/Console/generated/model/bootstrapAdminResultDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/confirmResetPasswordRequest.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/confirmResetPasswordRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/confirmResetPasswordRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createFederatedIdentityRequest.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/createFederatedIdentityRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createFederatedIdentityRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createFederatedProviderRequest.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/createFederatedProviderRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createFederatedProviderRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createFederatedUserRequest.d.ts +18 -0
- package/dist/accessi-module/Console/generated/model/createFederatedUserRequest.js +3 -0
- package/dist/accessi-module/Console/generated/model/createFederatedUserRequest.js.map +1 -0
- 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 +22 -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/errorResponse.d.ts +18 -0
- package/dist/accessi-module/Console/generated/model/errorResponse.js +9 -0
- package/dist/accessi-module/Console/generated/model/errorResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityListResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityListResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityListResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityResponseDto.d.ts +23 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityResponseDto.js +9 -0
- package/dist/accessi-module/Console/generated/model/federatedIdentityResponseDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderListResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderListResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderListResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderResponseDto.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderResponseDto.js +9 -0
- package/dist/accessi-module/Console/generated/model/federatedProviderResponseDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/filtriUtente.d.ts +32 -0
- package/dist/accessi-module/Console/generated/model/filtriUtente.js +9 -0
- package/dist/accessi-module/Console/generated/model/filtriUtente.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getFiltriResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getFiltriResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getFiltriResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getFiltriUtenteParams.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/getFiltriUtenteParams.js +9 -0
- package/dist/accessi-module/Console/generated/model/getFiltriUtenteParams.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getFiltriUtenteResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getFiltriUtenteResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getFiltriUtenteResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getGroupsWithMenusParams.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/getGroupsWithMenusParams.js +9 -0
- package/dist/accessi-module/Console/generated/model/getGroupsWithMenusParams.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getGroupsWithMenusResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getGroupsWithMenusResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getGroupsWithMenusResponse.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/getMenusResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getMenusResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getMenusResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getRolesResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getRolesResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getRolesResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getSchemaResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getSchemaResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getSchemaResponse.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/getUserByTokenRequest.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/getUserByTokenRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/getUserByTokenRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getUserByTokenResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getUserByTokenResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getUserByTokenResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getUsersParams.d.ts +32 -0
- package/dist/accessi-module/Console/generated/model/getUsersParams.js +9 -0
- package/dist/accessi-module/Console/generated/model/getUsersParams.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getUsersResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/getUsersResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/getUsersResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getUsersResult.d.ts +17 -0
- package/dist/accessi-module/Console/generated/model/getUsersResult.js +3 -0
- package/dist/accessi-module/Console/generated/model/getUsersResult.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/getUsersResultExtensionFields.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/getUsersResultExtensionFields.js +9 -0
- package/dist/accessi-module/Console/generated/model/getUsersResultExtensionFields.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/groupWithMenusEntity.d.ts +19 -0
- package/dist/accessi-module/Console/generated/model/groupWithMenusEntity.js +3 -0
- package/dist/accessi-module/Console/generated/model/groupWithMenusEntity.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/index.d.ts +99 -0
- package/dist/accessi-module/Console/generated/model/index.js +116 -0
- package/dist/accessi-module/Console/generated/model/index.js.map +1 -0
- 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/loginRequest.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/loginRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/loginRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/loginResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/loginResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/loginResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/loginResult.d.ts +32 -0
- package/dist/accessi-module/Console/generated/model/loginResult.js +3 -0
- package/dist/accessi-module/Console/generated/model/loginResult.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/loginResultExtensionFields.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/loginResultExtensionFields.js +9 -0
- package/dist/accessi-module/Console/generated/model/loginResultExtensionFields.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/loginResultPasswordRequired.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/loginResultPasswordRequired.js +14 -0
- package/dist/accessi-module/Console/generated/model/loginResultPasswordRequired.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/menuEntity.d.ts +32 -0
- package/dist/accessi-module/Console/generated/model/menuEntity.js +9 -0
- package/dist/accessi-module/Console/generated/model/menuEntity.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/passwordExpiredResponse.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/passwordExpiredResponse.js +9 -0
- package/dist/accessi-module/Console/generated/model/passwordExpiredResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/permission.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/permission.js +9 -0
- package/dist/accessi-module/Console/generated/model/permission.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/publicRegisterRequest.d.ts +51 -0
- package/dist/accessi-module/Console/generated/model/publicRegisterRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/publicRegisterRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/registerRequest.d.ts +62 -0
- package/dist/accessi-module/Console/generated/model/registerRequest.js +3 -0
- package/dist/accessi-module/Console/generated/model/registerRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/registerResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/registerResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/registerResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/resendTwoFactorRequest.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/resendTwoFactorRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/resendTwoFactorRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/role.d.ts +15 -0
- package/dist/accessi-module/Console/generated/model/role.js +3 -0
- package/dist/accessi-module/Console/generated/model/role.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/ruoliMenu.d.ts +15 -0
- package/dist/accessi-module/Console/generated/model/ruoliMenu.js +3 -0
- package/dist/accessi-module/Console/generated/model/ruoliMenu.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/ruoliMenuTipoAbilitazione.d.ts +16 -0
- package/dist/accessi-module/Console/generated/model/ruoliMenuTipoAbilitazione.js +17 -0
- package/dist/accessi-module/Console/generated/model/ruoliMenuTipoAbilitazione.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/schemaDdlResult.d.ts +20 -0
- package/dist/accessi-module/Console/generated/model/schemaDdlResult.js +3 -0
- package/dist/accessi-module/Console/generated/model/schemaDdlResult.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/schemaDdlSection.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/schemaDdlSection.js +9 -0
- package/dist/accessi-module/Console/generated/model/schemaDdlSection.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/sendResetPasswordEmailRequest.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/sendResetPasswordEmailRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/sendResetPasswordEmailRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/serveResetPasswordPageParams.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/serveResetPasswordPageParams.js +9 -0
- package/dist/accessi-module/Console/generated/model/serveResetPasswordPageParams.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/setPasswordLoginPolicyRequest.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/setPasswordLoginPolicyRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/setPasswordLoginPolicyRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDto.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDto.js +3 -0
- package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDtoStatoRegistrazione.d.ts +18 -0
- package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDtoStatoRegistrazione.js +19 -0
- package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDtoStatoRegistrazione.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/status.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/status.js +9 -0
- package/dist/accessi-module/Console/generated/model/status.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/tipoFiltro.d.ts +23 -0
- package/dist/accessi-module/Console/generated/model/tipoFiltro.js +3 -0
- package/dist/accessi-module/Console/generated/model/tipoFiltro.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/tipoFiltroFlgEnabled.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/tipoFiltroFlgEnabled.js +15 -0
- package/dist/accessi-module/Console/generated/model/tipoFiltroFlgEnabled.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/tokenResult.d.ts +15 -0
- package/dist/accessi-module/Console/generated/model/tokenResult.js +3 -0
- package/dist/accessi-module/Console/generated/model/tokenResult.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/tokenResultType.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/tokenResultType.js +15 -0
- package/dist/accessi-module/Console/generated/model/tokenResultType.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDto.d.ts +18 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDto.js +3 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoMethod.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoMethod.js +14 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoMethod.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoTwoFactorRequired.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoTwoFactorRequired.js +14 -0
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoTwoFactorRequired.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateEnabledStatusRequest.d.ts +10 -0
- package/dist/accessi-module/Console/generated/model/updateEnabledStatusRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/updateEnabledStatusRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateFederatedIdentityRequest.d.ts +11 -0
- package/dist/accessi-module/Console/generated/model/updateFederatedIdentityRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/updateFederatedIdentityRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateFederatedProviderRequest.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/updateFederatedProviderRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/updateFederatedProviderRequest.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 +17 -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/generated/model/userDto.d.ts +88 -0
- package/dist/accessi-module/Console/generated/model/userDto.js +3 -0
- package/dist/accessi-module/Console/generated/model/userDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/userDtoStatoRegistrazione.d.ts +18 -0
- package/dist/accessi-module/Console/generated/model/userDtoStatoRegistrazione.js +19 -0
- package/dist/accessi-module/Console/generated/model/userDtoStatoRegistrazione.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/userGrantsDto.d.ts +16 -0
- package/dist/accessi-module/Console/generated/model/userGrantsDto.js +3 -0
- package/dist/accessi-module/Console/generated/model/userGrantsDto.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/userGrantsResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/userGrantsResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/userGrantsResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/verifyTwoFactorRequest.d.ts +18 -0
- package/dist/accessi-module/Console/generated/model/verifyTwoFactorRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/verifyTwoFactorRequest.js.map +1 -0
- package/dist/accessi-module/Console/help.d.ts +13 -0
- package/dist/accessi-module/Console/help.js +355 -0
- package/dist/accessi-module/Console/help.js.map +1 -0
- package/dist/accessi-module/Console/index.html +153 -0
- package/dist/accessi-module/Console/wiki.d.ts +52 -0
- package/dist/accessi-module/Console/wiki.js +730 -0
- package/dist/accessi-module/Console/wiki.js.map +1 -0
- package/dist/accessi-module/Controllers/AccessiConsoleController.d.ts +18 -0
- package/dist/accessi-module/Controllers/AccessiConsoleController.js +111 -0
- package/dist/accessi-module/Controllers/AccessiConsoleController.js.map +1 -0
- package/dist/accessi-module/Controllers/AuthController.d.ts +12 -6
- package/dist/accessi-module/Controllers/AuthController.js +167 -82
- package/dist/accessi-module/Controllers/AuthController.js.map +1 -1
- package/dist/accessi-module/Controllers/ConfiguratorController.d.ts +1 -5
- package/dist/accessi-module/Controllers/ConfiguratorController.js +26 -44
- package/dist/accessi-module/Controllers/ConfiguratorController.js.map +1 -1
- package/dist/accessi-module/Controllers/EmailController.d.ts +4 -6
- package/dist/accessi-module/Controllers/EmailController.js +12 -14
- 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 +125 -6
- package/dist/accessi-module/Controllers/FiltriController.js.map +1 -1
- package/dist/accessi-module/Controllers/PermissionController.d.ts +12 -1
- package/dist/accessi-module/Controllers/PermissionController.js +322 -51
- package/dist/accessi-module/Controllers/PermissionController.js.map +1 -1
- package/dist/accessi-module/Controllers/SchemaController.d.ts +9 -0
- package/dist/accessi-module/Controllers/SchemaController.js +79 -0
- package/dist/accessi-module/Controllers/SchemaController.js.map +1 -0
- 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 +8 -4
- package/dist/accessi-module/Controllers/UserController.js +161 -28
- 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/AdminBootstrapDtos.d.ts +19 -0
- package/dist/accessi-module/Dtos/AdminBootstrapDtos.js +83 -0
- package/dist/accessi-module/Dtos/AdminBootstrapDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/AssignPermissionsToUserRequest.js +0 -1
- package/dist/accessi-module/Dtos/AssignPermissionsToUserRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/AssignRolesToUserRequest.js +1 -2
- package/dist/accessi-module/Dtos/AssignRolesToUserRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.d.ts +13 -0
- package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.js +70 -0
- package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.js.map +1 -0
- package/dist/accessi-module/Dtos/BaseResponse.d.ts +22 -0
- package/dist/accessi-module/Dtos/BaseResponse.js +106 -1
- package/dist/accessi-module/Dtos/BaseResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/CatalogDtos.d.ts +64 -0
- package/dist/accessi-module/Dtos/CatalogDtos.js +322 -0
- package/dist/accessi-module/Dtos/CatalogDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.d.ts +3 -0
- package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.js +31 -0
- package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.js.map +1 -0
- package/dist/accessi-module/Dtos/FederatedIdentityDtos.d.ts +69 -0
- package/dist/accessi-module/Dtos/FederatedIdentityDtos.js +236 -0
- package/dist/accessi-module/Dtos/FederatedIdentityDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/FiltriUtente.js +5 -1
- package/dist/accessi-module/Dtos/FiltriUtente.js.map +1 -1
- package/dist/accessi-module/Dtos/GetGroupsWithMenusResponse.js +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.d.ts +3 -0
- package/dist/accessi-module/Dtos/GetUserByTokenRequest.js +26 -0
- package/dist/accessi-module/Dtos/GetUserByTokenRequest.js.map +1 -0
- package/dist/accessi-module/Dtos/GetUserByTokenResponse.d.ts +5 -0
- package/dist/accessi-module/Dtos/GetUserByTokenResponse.js +27 -0
- package/dist/accessi-module/Dtos/GetUserByTokenResponse.js.map +1 -0
- 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.d.ts +1 -1
- package/dist/accessi-module/Dtos/LoginRequest.js +3 -2
- package/dist/accessi-module/Dtos/LoginRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/LoginResponse.d.ts +6 -2
- package/dist/accessi-module/Dtos/LoginResponse.js +20 -7
- 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.d.ts +1 -0
- package/dist/accessi-module/Dtos/Permission.js +1 -0
- package/dist/accessi-module/Dtos/Permission.js.map +1 -1
- package/dist/accessi-module/Dtos/PublicRegisterRequest.d.ts +5 -0
- package/dist/accessi-module/Dtos/PublicRegisterRequest.js +15 -0
- package/dist/accessi-module/Dtos/PublicRegisterRequest.js.map +1 -0
- package/dist/accessi-module/Dtos/RegisterRequest.d.ts +2 -4
- package/dist/accessi-module/Dtos/RegisterRequest.js +18 -28
- package/dist/accessi-module/Dtos/RegisterRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/RegisterResponse.d.ts +1 -1
- package/dist/accessi-module/Dtos/RegisterResponse.js +3 -3
- package/dist/accessi-module/Dtos/RegisterResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/Role.d.ts +4 -0
- package/dist/accessi-module/Dtos/Role.js +4 -0
- 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/SchemaDtos.d.ts +19 -0
- package/dist/accessi-module/Dtos/SchemaDtos.js +84 -0
- package/dist/accessi-module/Dtos/SchemaDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.d.ts +4 -0
- package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.js +36 -0
- package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.js.map +1 -0
- 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/StatoRegistrazione.js.map +1 -1
- package/dist/accessi-module/Dtos/TipoAbilitazione.d.ts +4 -0
- package/dist/accessi-module/Dtos/TipoAbilitazione.js +4 -0
- 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/TwoFactorDtos.d.ts +13 -0
- package/dist/accessi-module/Dtos/TwoFactorDtos.js +60 -0
- package/dist/accessi-module/Dtos/TwoFactorDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/UpdateEnabledStatusRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/UserDto.d.ts +9 -4
- package/dist/accessi-module/Dtos/UserDto.js +39 -24
- 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.d.ts +5 -0
- package/dist/accessi-module/Dtos/UserGrantsResponse.js +27 -0
- package/dist/accessi-module/Dtos/UserGrantsResponse.js.map +1 -0
- package/dist/accessi-module/Dtos/index.d.ts +13 -0
- package/dist/accessi-module/Dtos/index.js +13 -0
- package/dist/accessi-module/Dtos/index.js.map +1 -1
- package/dist/accessi-module/Services/AdminBootstrapService/AdminBootstrapService.d.ts +33 -0
- package/dist/accessi-module/Services/AdminBootstrapService/AdminBootstrapService.js +106 -0
- package/dist/accessi-module/Services/AdminBootstrapService/AdminBootstrapService.js.map +1 -0
- package/dist/accessi-module/Services/AuthService/AuthService.d.ts +40 -5
- package/dist/accessi-module/Services/AuthService/AuthService.js +192 -42
- package/dist/accessi-module/Services/AuthService/AuthService.js.map +1 -1
- package/dist/accessi-module/Services/ConfiguratorService/ConfiguratorService.d.ts +3 -1
- package/dist/accessi-module/Services/ConfiguratorService/ConfiguratorService.js +5 -1
- package/dist/accessi-module/Services/ConfiguratorService/ConfiguratorService.js.map +1 -1
- package/dist/accessi-module/Services/EmailService/EmailService.d.ts +9 -2
- package/dist/accessi-module/Services/EmailService/EmailService.js +47 -22
- package/dist/accessi-module/Services/EmailService/EmailService.js.map +1 -1
- package/dist/accessi-module/Services/FiltriService/FiltriService.d.ts +18 -3
- package/dist/accessi-module/Services/FiltriService/FiltriService.js +92 -16
- package/dist/accessi-module/Services/FiltriService/FiltriService.js.map +1 -1
- package/dist/accessi-module/Services/PermissionService/PermissionService.d.ts +77 -2
- package/dist/accessi-module/Services/PermissionService/PermissionService.js +603 -206
- package/dist/accessi-module/Services/PermissionService/PermissionService.js.map +1 -1
- package/dist/accessi-module/Services/SchemaExportService/SchemaExportService.d.ts +36 -0
- package/dist/accessi-module/Services/SchemaExportService/SchemaExportService.js +125 -0
- package/dist/accessi-module/Services/SchemaExportService/SchemaExportService.js.map +1 -0
- 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.d.ts +27 -0
- package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.js +175 -0
- package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.js.map +1 -0
- package/dist/accessi-module/Services/UserService/UserService.d.ts +51 -5
- package/dist/accessi-module/Services/UserService/UserService.js +396 -294
- package/dist/accessi-module/Services/UserService/UserService.js.map +1 -1
- package/dist/accessi-module/Views/reset-password.html +213 -213
- package/dist/accessi-module/accessiRuntime.d.ts +45 -0
- package/dist/accessi-module/accessiRuntime.js +39 -0
- package/dist/accessi-module/accessiRuntime.js.map +1 -0
- package/dist/accessi-module/database-updates/AccessiCatalogMigrator.d.ts +83 -0
- package/dist/accessi-module/database-updates/AccessiCatalogMigrator.js +360 -0
- package/dist/accessi-module/database-updates/AccessiCatalogMigrator.js.map +1 -0
- package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.d.ts +57 -10
- package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js +475 -179
- package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js.map +1 -1
- package/dist/accessi-module/database-updates/accessiOptionsFromEnv.d.ts +5 -0
- package/dist/accessi-module/database-updates/accessiOptionsFromEnv.js +79 -0
- package/dist/accessi-module/database-updates/accessiOptionsFromEnv.js.map +1 -0
- package/dist/accessi-module/database-updates/accessiSchema.d.ts +67 -0
- package/dist/accessi-module/database-updates/accessiSchema.js +124 -0
- package/dist/accessi-module/database-updates/accessiSchema.js.map +1 -0
- package/dist/accessi-module/database-updates/optionalColumns.d.ts +7 -0
- package/dist/accessi-module/database-updates/optionalColumns.js +58 -0
- package/dist/accessi-module/database-updates/optionalColumns.js.map +1 -0
- package/dist/accessi-module/database-updates/runAccessiCatalogMigrations.d.ts +1 -0
- package/dist/accessi-module/database-updates/runAccessiCatalogMigrations.js +69 -0
- package/dist/accessi-module/database-updates/runAccessiCatalogMigrations.js.map +1 -0
- package/dist/accessi-module/database-updates/runAccessiDbUpdate.js +15 -53
- package/dist/accessi-module/database-updates/runAccessiDbUpdate.js.map +1 -1
- package/dist/accessi-module/federated-auth/FederatedAuthController.d.ts +24 -0
- package/dist/accessi-module/federated-auth/FederatedAuthController.js +333 -0
- package/dist/accessi-module/federated-auth/FederatedAuthController.js.map +1 -0
- package/dist/accessi-module/federated-auth/FederatedAuthService.d.ts +100 -0
- package/dist/accessi-module/federated-auth/FederatedAuthService.js +451 -0
- package/dist/accessi-module/federated-auth/FederatedAuthService.js.map +1 -0
- package/dist/accessi-module/federated-auth/FederatedAuthTypes.d.ts +53 -0
- package/dist/accessi-module/federated-auth/FederatedAuthTypes.js +3 -0
- package/dist/accessi-module/federated-auth/FederatedAuthTypes.js.map +1 -0
- package/dist/accessi-module/index.d.ts +29 -0
- package/dist/accessi-module/index.js +89 -19
- package/dist/accessi-module/index.js.map +1 -1
- package/dist/accessi-module/jwt/jwt.strategy.d.ts +1 -1
- package/dist/accessi-module/jwt/jwt.strategy.js +16 -7
- package/dist/accessi-module/jwt/jwt.strategy.js.map +1 -1
- package/dist/accessi-module/middleware/accessiRequirements.d.ts +23 -1
- package/dist/accessi-module/middleware/accessiRequirements.js +7 -0
- package/dist/accessi-module/middleware/accessiRequirements.js.map +1 -1
- package/dist/accessi-module/middleware/authenticateGen.d.ts +16 -1
- package/dist/accessi-module/middleware/authenticateGen.js +63 -25
- package/dist/accessi-module/middleware/authenticateGen.js.map +1 -1
- package/dist/accessi-module/security/AccessiHttpExceptionFilter.d.ts +12 -0
- package/dist/accessi-module/security/AccessiHttpExceptionFilter.js +74 -0
- package/dist/accessi-module/security/AccessiHttpExceptionFilter.js.map +1 -0
- package/dist/accessi-module/security/accessControl.d.ts +22 -2
- package/dist/accessi-module/security/accessControl.js +47 -8
- package/dist/accessi-module/security/accessControl.js.map +1 -1
- package/dist/accessi-module/security/accessiValidation.d.ts +9 -0
- package/dist/accessi-module/security/accessiValidation.js +41 -0
- package/dist/accessi-module/security/accessiValidation.js.map +1 -0
- package/dist/accessi-module/security/adminBootstrap.d.ts +8 -0
- package/dist/accessi-module/security/adminBootstrap.js +41 -0
- package/dist/accessi-module/security/adminBootstrap.js.map +1 -0
- package/dist/accessi-module/security/authenticatedToken.d.ts +16 -2
- package/dist/accessi-module/security/authenticatedToken.js +31 -4
- package/dist/accessi-module/security/authenticatedToken.js.map +1 -1
- package/dist/accessi-module/security/emailConfiguration.d.ts +20 -0
- package/dist/accessi-module/security/emailConfiguration.js +41 -0
- package/dist/accessi-module/security/emailConfiguration.js.map +1 -0
- package/dist/accessi-module/security/passwordResetToken.d.ts +13 -3
- package/dist/accessi-module/security/passwordResetToken.js +13 -5
- package/dist/accessi-module/security/passwordResetToken.js.map +1 -1
- package/dist/accessi-module/security/publicAuthRateLimit.d.ts +3 -3
- package/dist/accessi-module/security/publicAuthRateLimit.js +31 -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/accessi-module/startupLog.d.ts +6 -0
- package/dist/accessi-module/startupLog.js +25 -0
- package/dist/accessi-module/startupLog.js.map +1 -0
- package/dist/allegati-module/AllegatiModule.d.ts +12 -1
- 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/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.d.ts +10 -3
- package/dist/allegati-module/Services/AllegatiService/AllegatiService.js +150 -101
- package/dist/allegati-module/Services/AllegatiService/AllegatiService.js.map +1 -1
- package/dist/allegati-module/index.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.40.tgz +0 -0
- package/dist/firebird-compat.d.ts +27 -6
- package/dist/firebird-compat.js +150 -135
- package/dist/firebird-compat.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/initEmilsoftwareModule.js +13 -3
- package/dist/initEmilsoftwareModule.js.map +1 -1
- package/dist/scripts/generateAccessiOpenApi.d.ts +1 -0
- package/dist/scripts/generateAccessiOpenApi.js +57 -0
- package/dist/scripts/generateAccessiOpenApi.js.map +1 -0
- 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.d.ts +7 -1
- package/dist/swagger/SwaggerConfig.js +22 -8
- package/dist/swagger/SwaggerConfig.js.map +1 -1
- package/package.json +105 -83
|
@@ -1 +1 @@
|
|
|
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
|
+
{"version":3,"file":"PermissionController.js","sourceRoot":"","sources":["../../../src/accessi-module/Controllers/PermissionController.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BadRequestException,\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 {\n ApiBearerAuth,\n ApiBody,\n ApiInternalServerErrorResponse,\n ApiOkResponse,\n ApiOperation,\n ApiParam,\n ApiQuery,\n ApiResponse,\n ApiTags,\n} from '@nestjs/swagger';\nimport { Request, Response } from 'express';\nimport { RestUtilities } from '../../Utilities';\nimport { ActionResponse, ErrorResponse } from '../Dtos/BaseResponse';\nimport { AssignPermissionsToUserRequest } from '../Dtos/AssignPermissionsToUserRequest';\nimport { AssignRolesToUserRequest } from '../Dtos/AssignRolesToUserRequest';\nimport {\n CreateMenuGroupRequest,\n CreateMenuRequest,\n CreateMenuTypeRequest,\n GetMenuTypesResponse,\n UpdateMenuGroupRequest,\n UpdateMenuRequest,\n UpdateMenuTypeRequest,\n} from '../Dtos/CatalogDtos';\nimport { GetGroupsWithMenusResponse } from '../Dtos/GetGroupsWithMenusResponse';\nimport { GetMenusResponse } from '../Dtos/GetMenusResponse';\nimport { GetRolesResponse } from '../Dtos/GetRolesResponse';\nimport { Role } from '../Dtos/Role';\nimport { UserGrantsResponse } from '../Dtos/UserGrantsResponse';\nimport { PermissionService } from '../Services/PermissionService/PermissionService';\nimport { JwtSimpleGuard } from '../jwt/jwt.strategy';\nimport {\n ensureSelfOrSuperUser,\n ensureAdmin,\n ensureUserManagement,\n getAuthenticatedAccessiUser,\n} from '../security/accessControl';\n\n@ApiTags('Permission')\n@ApiBearerAuth()\n@Controller('accessi/permission')\n@UseGuards(JwtSimpleGuard)\n/**\n * API amministrative per ruoli, grant e catalogo menu. Le assegnazioni sono sostitutive, non incrementali:\n * il client deve inviare l'intera lista desiderata per non rimuovere voci involontariamente.\n */\nexport class PermissionController {\n constructor(private readonly permissionService: PermissionService) {}\n\n private sendControllerError(res: Response, error: unknown) {\n // Lo status viene derivato centralmente da RestUtilities (HttpException o 500).\n return RestUtilities.sendErrorMessage(res, error, PermissionController.name);\n }\n\n @ApiOperation({\n summary: 'Ritorna i ruoli disponibili con i relativi menu',\n operationId: 'getRoles',\n description: 'Recupera tutti i ruoli presenti nel sistema con le relative voci di menu.',\n })\n @ApiOkResponse({ description: 'Elenco dei ruoli con i rispettivi menu', type: GetRolesResponse })\n @ApiInternalServerErrorResponse({ description: 'Errore interno del server', type: ErrorResponse })\n @ApiResponse({ status: HttpStatus.OK, description: 'Lista dei ruoli restituita con successo.', type: GetRolesResponse })\n @ApiResponse({\n status: HttpStatus.INTERNAL_SERVER_ERROR,\n description: 'Errore interno del server durante il recupero dei ruoli.',\n type: ErrorResponse,\n })\n @Get('roles')\n async getRoles(@Res() res: Response): Promise<Response> {\n try {\n const roles = await this.permissionService.getRolesWithMenus();\n return RestUtilities.sendBaseResponse(res, roles);\n } catch (error) {\n return this.sendControllerError(res, 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',\n type: Role,\n })\n @ApiResponse({ status: 200, description: 'Il ruolo e stato aggiornato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Put('update-role/:codiceRuolo')\n async updateRole(\n @Req() request: Request,\n @Param('codiceRuolo', ParseIntPipe) codiceRuolo: number,\n @Body() role: Role,\n @Res() res: Response,\n ) {\n try {\n ensureAdmin(\n getAuthenticatedAccessiUser(request),\n 'Solo gli amministratori possono modificare i ruoli.',\n );\n\n if (Number.isNaN(codiceRuolo)) throw new BadRequestException('Il codice del ruolo e obbligatorio.');\n if (!role.descrizioneRuolo) throw new BadRequestException('La descrizione del ruolo non puo essere vuota.');\n if (!role.menu || role.menu.length === 0) {\n throw new BadRequestException('Il ruolo deve avere almeno un menu.');\n }\n\n await this.permissionService.updateOrInsertRole(role, codiceRuolo);\n return RestUtilities.sendOKMessage(\n res,\n `Il ruolo ${codiceRuolo} e' stato aggiornato con successo.`,\n );\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Crea un nuovo ruolo', operationId: 'createRole' })\n @ApiResponse({ status: 201, description: 'Il ruolo e stato creato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @ApiBody({\n description: 'Dati del nuovo ruolo',\n required: true,\n type: Role,\n })\n @Post('create-role')\n async createRole(@Req() request: Request, @Res() res: Response, @Body() role: Role) {\n try {\n ensureAdmin(\n getAuthenticatedAccessiUser(request),\n 'Solo gli amministratori possono creare ruoli.',\n );\n\n if (!role) throw new BadRequestException('Il ruolo non puo essere vuoto.');\n if (!role.descrizioneRuolo) throw new BadRequestException('La descrizione del ruolo non puo essere vuota.');\n if (!role.menu || role.menu.length === 0) {\n throw new BadRequestException('Il ruolo deve avere almeno un menu.');\n }\n\n await this.permissionService.updateOrInsertRole(role);\n return RestUtilities.sendOKMessage(res, 'Il ruolo e stato creato con successo.', HttpStatus.CREATED);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Assegna piu 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\", type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Post('assign-roles/:codiceUtente')\n async assignRolesToUser(\n @Req() request: Request,\n @Res() res: Response,\n @Param('codiceUtente', ParseIntPipe) codiceUtente: number,\n @Body() assignRolesRequest: AssignRolesToUserRequest,\n ) {\n try {\n ensureUserManagement(\n getAuthenticatedAccessiUser(request),\n 'Solo gli amministratori possono assegnare ruoli agli utenti.',\n );\n\n await this.permissionService.assignRolesToUser(codiceUtente, assignRolesRequest.roles);\n const responseMessage =\n assignRolesRequest.roles.length === 0\n ? `Tutti i ruoli sono stati rimossi dall'utente ${codiceUtente}.`\n : `I ruoli ${assignRolesRequest.roles.join(', ')} sono stati assegnati all'utente ${codiceUtente}.`;\n return RestUtilities.sendOKMessage(\n res,\n responseMessage,\n );\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({\n summary: 'Assegna abilitazioni dirette a un utente',\n operationId: 'assignPermissionsToUser',\n })\n @ApiParam({\n name: 'codiceUtente',\n description: \"Codice identificativo dell'utente a cui assegnare le abilitazioni\",\n required: true,\n example: 22,\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\", type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Post('assign-permissions/:codiceUtente')\n async assignPermissionsToUser(\n @Req() request: Request,\n @Res() res: Response,\n @Param('codiceUtente', ParseIntPipe) codiceUtente: number,\n @Body() assignPermissionsRequest: AssignPermissionsToUserRequest,\n ) {\n try {\n ensureUserManagement(\n getAuthenticatedAccessiUser(request),\n 'Solo gli amministratori possono assegnare permessi agli utenti.',\n );\n\n await this.permissionService.assignPermissionsToUser(\n codiceUtente,\n assignPermissionsRequest.permissions,\n );\n const responseMessage =\n assignPermissionsRequest.permissions.length === 0\n ? `Tutte le abilitazioni sono state rimosse dall'utente ${codiceUtente}.`\n : `Le abilitazioni sono state assegnate all'utente ${codiceUtente}.`;\n return RestUtilities.sendOKMessage(\n res,\n responseMessage,\n );\n } catch (error) {\n return this.sendControllerError(res, error);\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', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Errore nei parametri della richiesta', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Delete('delete-role/:codiceRuolo')\n async deleteRole(\n @Req() request: Request,\n @Param('codiceRuolo', ParseIntPipe) codiceRuolo: number,\n @Res() res: Response,\n ) {\n try {\n ensureAdmin(\n getAuthenticatedAccessiUser(request),\n 'Solo gli amministratori possono eliminare ruoli.',\n );\n\n await this.permissionService.deleteRole(codiceRuolo);\n return RestUtilities.sendOKMessage(\n res,\n `Il ruolo ${codiceRuolo} e' stato eliminato con successo.`,\n );\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Recupera tutti i menu disponibili', operationId: 'getMenus' })\n @ApiOkResponse({ description: 'Elenco menu', type: GetMenusResponse })\n @ApiResponse({ status: 200, description: 'Lista dei menu recuperata con successo', type: GetMenusResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\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 this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({\n summary: 'Recupera tutti i gruppi disponibili con i relativi menu',\n operationId: 'getGroupsWithMenus',\n })\n @ApiOkResponse({\n description: 'Elenco gruppi con relativi menu',\n type: GetGroupsWithMenusResponse,\n })\n @ApiResponse({ status: 200, description: 'Lista dei menu recuperata con successo', type: GetGroupsWithMenusResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\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 =\n 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 this.sendControllerError(res, error);\n }\n }\n\n // -------------------------------------------------------------------------\n // Gestione catalogo: tipi menu, gruppi, menu. Operazioni riservate al superutente.\n // -------------------------------------------------------------------------\n\n @ApiOperation({ summary: 'Recupera il catalogo dei tipi menu', operationId: 'getMenuTypes' })\n @ApiOkResponse({ description: 'Elenco dei tipi menu', type: GetMenuTypesResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Get('menu-types')\n async getMenuTypes(@Res() res: Response) {\n try {\n const types = await this.permissionService.getMenuTypes();\n return RestUtilities.sendBaseResponse(res, types);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Crea un nuovo menu', operationId: 'createMenu' })\n @ApiBody({ type: CreateMenuRequest, description: 'Dati del nuovo menu' })\n @ApiResponse({ status: 201, description: 'Menu 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 @Post('menus')\n async createMenu(@Req() request: Request, @Body() body: CreateMenuRequest, @Res() res: Response) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono creare menu.');\n await this.permissionService.createMenu(body);\n return RestUtilities.sendOKMessage(\n res,\n `Il menu ${body.codiceMenu} e' stato creato con successo.`,\n HttpStatus.CREATED,\n );\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Aggiorna un menu esistente', operationId: 'updateMenu' })\n @ApiParam({ name: 'codiceMenu', description: 'Codice del menu da aggiornare', required: true, example: 'MNU001' })\n @ApiBody({ type: UpdateMenuRequest, description: 'Campi del menu da aggiornare' })\n @ApiResponse({ status: 200, description: 'Menu 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 @Put('menus/:codiceMenu')\n async updateMenu(\n @Req() request: Request,\n @Param('codiceMenu') codiceMenu: string,\n @Body() body: UpdateMenuRequest,\n @Res() res: Response,\n ) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono modificare menu.');\n await this.permissionService.updateMenu(codiceMenu, body);\n return RestUtilities.sendOKMessage(res, `Il menu ${codiceMenu} e' stato aggiornato con successo.`);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Elimina un menu', operationId: 'deleteMenu' })\n @ApiParam({ name: 'codiceMenu', description: 'Codice del menu da eliminare', required: true, example: 'MNU001' })\n @ApiResponse({ status: 200, description: 'Menu 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 @Delete('menus/:codiceMenu')\n async deleteMenu(@Req() request: Request, @Param('codiceMenu') codiceMenu: string, @Res() res: Response) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono eliminare menu.');\n await this.permissionService.deleteMenu(codiceMenu);\n return RestUtilities.sendOKMessage(res, `Il menu ${codiceMenu} e' stato eliminato con successo.`);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Crea un nuovo gruppo menu', operationId: 'createMenuGroup' })\n @ApiBody({ type: CreateMenuGroupRequest, description: 'Dati del nuovo gruppo' })\n @ApiResponse({ status: 201, description: 'Gruppo 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 @Post('menu-groups')\n async createMenuGroup(@Req() request: Request, @Body() body: CreateMenuGroupRequest, @Res() res: Response) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono creare gruppi.');\n await this.permissionService.createMenuGroup(body);\n return RestUtilities.sendOKMessage(\n res,\n `Il gruppo ${body.codiceGruppo} e' stato creato con successo.`,\n HttpStatus.CREATED,\n );\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Aggiorna un gruppo menu', operationId: 'updateMenuGroup' })\n @ApiParam({ name: 'codiceGruppo', description: 'Codice del gruppo da aggiornare', required: true, example: 'A' })\n @ApiBody({ type: UpdateMenuGroupRequest, description: 'Campi del gruppo da aggiornare' })\n @ApiResponse({ status: 200, description: 'Gruppo 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 @Put('menu-groups/:codiceGruppo')\n async updateMenuGroup(\n @Req() request: Request,\n @Param('codiceGruppo') codiceGruppo: string,\n @Body() body: UpdateMenuGroupRequest,\n @Res() res: Response,\n ) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono modificare gruppi.');\n await this.permissionService.updateMenuGroup(codiceGruppo, body);\n return RestUtilities.sendOKMessage(res, `Il gruppo ${codiceGruppo} e' stato aggiornato con successo.`);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Elimina un gruppo menu', operationId: 'deleteMenuGroup' })\n @ApiParam({ name: 'codiceGruppo', description: 'Codice del gruppo da eliminare', required: true, example: 'A' })\n @ApiResponse({ status: 200, description: 'Gruppo 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 @Delete('menu-groups/:codiceGruppo')\n async deleteMenuGroup(@Req() request: Request, @Param('codiceGruppo') codiceGruppo: string, @Res() res: Response) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono eliminare gruppi.');\n await this.permissionService.deleteMenuGroup(codiceGruppo);\n return RestUtilities.sendOKMessage(res, `Il gruppo ${codiceGruppo} e' stato eliminato con successo.`);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Crea un nuovo tipo menu', operationId: 'createMenuType' })\n @ApiBody({ type: CreateMenuTypeRequest, description: 'Dati del nuovo tipo menu' })\n @ApiResponse({ status: 201, description: 'Tipo menu 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 @Post('menu-types')\n async createMenuType(@Req() request: Request, @Body() body: CreateMenuTypeRequest, @Res() res: Response) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono creare tipi menu.');\n await this.permissionService.createMenuType(body);\n return RestUtilities.sendOKMessage(\n res,\n `Il tipo menu ${body.codiceTipo} e' stato creato con successo.`,\n HttpStatus.CREATED,\n );\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Aggiorna un tipo menu', operationId: 'updateMenuType' })\n @ApiParam({ name: 'codiceTipo', description: 'Codice del tipo menu da aggiornare', required: true, example: 'A' })\n @ApiBody({ type: UpdateMenuTypeRequest, description: 'Campi del tipo menu da aggiornare' })\n @ApiResponse({ status: 200, description: 'Tipo menu 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 @Put('menu-types/:codiceTipo')\n async updateMenuType(\n @Req() request: Request,\n @Param('codiceTipo') codiceTipo: string,\n @Body() body: UpdateMenuTypeRequest,\n @Res() res: Response,\n ) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono modificare tipi menu.');\n await this.permissionService.updateMenuType(codiceTipo, body);\n return RestUtilities.sendOKMessage(res, `Il tipo menu ${codiceTipo} e' stato aggiornato con successo.`);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Elimina un tipo menu', operationId: 'deleteMenuType' })\n @ApiParam({ name: 'codiceTipo', description: 'Codice del tipo menu da eliminare', required: true, example: 'A' })\n @ApiResponse({ status: 200, description: 'Tipo menu 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 @Delete('menu-types/:codiceTipo')\n async deleteMenuType(@Req() request: Request, @Param('codiceTipo') codiceTipo: string, @Res() res: Response) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono eliminare tipi menu.');\n await this.permissionService.deleteMenuType(codiceTipo);\n return RestUtilities.sendOKMessage(res, `Il tipo menu ${codiceTipo} e' stato eliminato con successo.`);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({\n summary: 'Recupera i ruoli e i menu di un utente',\n operationId: 'getUserRolesAndGrants',\n })\n @ApiOkResponse({ description: 'Elenco grant utente', type: UserGrantsResponse })\n @ApiResponse({ status: 200, description: 'Grant utente recuperati con successo', type: UserGrantsResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Get('grants/:codiceUtente')\n async getUserRolesAndGrants(\n @Req() request: Request,\n @Param('codiceUtente', ParseIntPipe) codiceUtente: number,\n @Res() res: Response,\n ) {\n try {\n ensureSelfOrSuperUser(\n getAuthenticatedAccessiUser(request),\n codiceUtente,\n 'Puoi consultare solo i tuoi grant, salvo privilegi amministrativi.',\n );\n\n const menus = await this.permissionService.getUserRolesAndGrants(codiceUtente);\n return RestUtilities.sendBaseResponse(res, menus);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Request, Response } from 'express';
|
|
2
|
+
import { Logger } from '../../Logger';
|
|
3
|
+
import { SchemaExportService } from '../Services/SchemaExportService/SchemaExportService';
|
|
4
|
+
export declare class SchemaController {
|
|
5
|
+
private readonly schemaExportService;
|
|
6
|
+
logger: Logger;
|
|
7
|
+
constructor(schemaExportService: SchemaExportService);
|
|
8
|
+
getSchema(request: Request, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
var SchemaController_1;
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.SchemaController = void 0;
|
|
26
|
+
const common_1 = require("@nestjs/common");
|
|
27
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
28
|
+
const Logger_1 = require("../../Logger");
|
|
29
|
+
const Utilities_1 = require("../../Utilities");
|
|
30
|
+
const Dtos_1 = require("../Dtos");
|
|
31
|
+
const jwt_strategy_1 = require("../jwt/jwt.strategy");
|
|
32
|
+
const accessControl_1 = require("../security/accessControl");
|
|
33
|
+
const SchemaExportService_1 = require("../Services/SchemaExportService/SchemaExportService");
|
|
34
|
+
let SchemaController = SchemaController_1 = class SchemaController {
|
|
35
|
+
constructor(schemaExportService) {
|
|
36
|
+
this.schemaExportService = schemaExportService;
|
|
37
|
+
this.logger = new Logger_1.Logger(SchemaController_1.name);
|
|
38
|
+
}
|
|
39
|
+
getSchema(request, res) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
try {
|
|
42
|
+
(0, accessControl_1.ensureAdmin)((0, accessControl_1.getAuthenticatedAccessiUser)(request));
|
|
43
|
+
const ddl = this.schemaExportService.buildDdl();
|
|
44
|
+
const entities = yield this.schemaExportService.presentEntities();
|
|
45
|
+
return Utilities_1.RestUtilities.sendBaseResponse(res, Object.assign(Object.assign({}, ddl), entities));
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
this.logger.error('Errore durante l esportazione dello schema', error);
|
|
49
|
+
return Utilities_1.RestUtilities.sendErrorMessage(res, error, SchemaController_1.name);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
exports.SchemaController = SchemaController;
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, common_1.Get)(),
|
|
57
|
+
(0, swagger_1.ApiOperation)({
|
|
58
|
+
operationId: 'getSchema',
|
|
59
|
+
summary: 'Esporta lo schema DDL e le entita presenti',
|
|
60
|
+
description: 'Riservato agli admin. Genera il DDL delle entita Accessi e segnala le tabelle presenti fuori schema.',
|
|
61
|
+
}),
|
|
62
|
+
(0, swagger_1.ApiResponse)({ status: 200, type: Dtos_1.GetSchemaResponse }),
|
|
63
|
+
(0, swagger_1.ApiResponse)({ status: 403, type: Dtos_1.ErrorResponse }),
|
|
64
|
+
__param(0, (0, common_1.Req)()),
|
|
65
|
+
__param(1, (0, common_1.Res)()),
|
|
66
|
+
__metadata("design:type", Function),
|
|
67
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
68
|
+
__metadata("design:returntype", Promise)
|
|
69
|
+
], SchemaController.prototype, "getSchema", null);
|
|
70
|
+
exports.SchemaController = SchemaController = SchemaController_1 = __decorate([
|
|
71
|
+
(0, swagger_1.ApiTags)('Schema'),
|
|
72
|
+
(0, swagger_1.ApiBearerAuth)(),
|
|
73
|
+
(0, common_1.Controller)('accessi/schema'),
|
|
74
|
+
(0, common_1.UseGuards)(jwt_strategy_1.JwtSimpleGuard)
|
|
75
|
+
/** Esporta il DDL delle entita Accessi per replicare il database su altre installazioni. */
|
|
76
|
+
,
|
|
77
|
+
__metadata("design:paramtypes", [SchemaExportService_1.SchemaExportService])
|
|
78
|
+
], SchemaController);
|
|
79
|
+
//# sourceMappingURL=SchemaController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaController.js","sourceRoot":"","sources":["../../../src/accessi-module/Controllers/SchemaController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAsE;AACtE,6CAAoF;AAEpF,yCAAsC;AACtC,+CAAgD;AAChD,kCAA2D;AAC3D,sDAAqD;AACrD,6DAAqF;AACrF,6FAA0F;AAOnF,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAG3B,YAA6B,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAFrE,WAAM,GAAW,IAAI,eAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IAEqB,CAAC;IAUnE,SAAS,CAAQ,OAAgB,EAAS,GAAa;;YAC3D,IAAI,CAAC;gBACH,IAAA,2BAAW,EAAC,IAAA,2CAA2B,EAAC,OAAO,CAAC,CAAC,CAAC;gBAClD,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAC;gBAClE,OAAO,yBAAa,CAAC,gBAAgB,CAAC,GAAG,kCAAO,GAAG,GAAK,QAAQ,EAAG,CAAC;YACtE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;gBACvE,OAAO,yBAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,kBAAgB,CAAC,IAAI,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;KAAA;CACF,CAAA;AAxBY,4CAAgB;AAarB;IARL,IAAA,YAAG,GAAE;IACL,IAAA,sBAAY,EAAC;QACZ,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,4CAA4C;QACrD,WAAW,EAAE,sGAAsG;KACpH,CAAC;IACD,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,wBAAiB,EAAE,CAAC;IACrD,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,oBAAa,EAAE,CAAC;IACjC,WAAA,IAAA,YAAG,GAAE,CAAA;IAAoB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;iDAU9C;2BAvBU,gBAAgB;IAL5B,IAAA,iBAAO,EAAC,QAAQ,CAAC;IACjB,IAAA,uBAAa,GAAE;IACf,IAAA,mBAAU,EAAC,gBAAgB,CAAC;IAC5B,IAAA,kBAAS,EAAC,6BAAc,CAAC;IAC1B,4FAA4F;;qCAIxC,yCAAmB;GAH1D,gBAAgB,CAwB5B","sourcesContent":["import { Controller, Get, Req, Res, UseGuards } from '@nestjs/common';\nimport { ApiBearerAuth, ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Request, Response } from 'express';\nimport { Logger } from '../../Logger';\nimport { RestUtilities } from '../../Utilities';\nimport { ErrorResponse, GetSchemaResponse } from '../Dtos';\nimport { JwtSimpleGuard } from '../jwt/jwt.strategy';\nimport { ensureAdmin, getAuthenticatedAccessiUser } from '../security/accessControl';\nimport { SchemaExportService } from '../Services/SchemaExportService/SchemaExportService';\n\n@ApiTags('Schema')\n@ApiBearerAuth()\n@Controller('accessi/schema')\n@UseGuards(JwtSimpleGuard)\n/** Esporta il DDL delle entita Accessi per replicare il database su altre installazioni. */\nexport class SchemaController {\n logger: Logger = new Logger(SchemaController.name);\n\n constructor(private readonly schemaExportService: SchemaExportService) {}\n\n @Get()\n @ApiOperation({\n operationId: 'getSchema',\n summary: 'Esporta lo schema DDL e le entita presenti',\n description: 'Riservato agli admin. Genera il DDL delle entita Accessi e segnala le tabelle presenti fuori schema.',\n })\n @ApiResponse({ status: 200, type: GetSchemaResponse })\n @ApiResponse({ status: 403, type: ErrorResponse })\n async getSchema(@Req() request: Request, @Res() res: Response) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request));\n const ddl = this.schemaExportService.buildDdl();\n const entities = await this.schemaExportService.presentEntities();\n return RestUtilities.sendBaseResponse(res, { ...ddl, ...entities });\n } catch (error) {\n this.logger.error('Errore durante l esportazione dello schema', error);\n return RestUtilities.sendErrorMessage(res, error, SchemaController.name);\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Request, Response } from 'express';
|
|
2
|
+
import type { AccessiOptions } from '../AccessiModule';
|
|
3
|
+
import { CreateServiceTokenRequest } from '../Dtos';
|
|
4
|
+
import { ServiceTokenService } from '../Services/ServiceTokenService/ServiceTokenService';
|
|
5
|
+
/**
|
|
6
|
+
* Gestione amministrativa dei token di servizio (macchina-a-macchina).
|
|
7
|
+
*
|
|
8
|
+
* Il segreto e mostrato una sola volta alla creazione/rotazione; le operazioni richiedono un
|
|
9
|
+
* superutente Accessi. Gli endpoint di utilizzo dei token non sono qui: i consumer autenticano
|
|
10
|
+
* con `Authorization: Bearer <token>` tramite `ServiceTokenGuard`.
|
|
11
|
+
*/
|
|
12
|
+
export declare class ServiceTokenController {
|
|
13
|
+
private readonly serviceTokenService;
|
|
14
|
+
private readonly options;
|
|
15
|
+
constructor(serviceTokenService: ServiceTokenService, options: AccessiOptions);
|
|
16
|
+
private assertEnabled;
|
|
17
|
+
private requireSuperUser;
|
|
18
|
+
private sendError;
|
|
19
|
+
create(body: CreateServiceTokenRequest, req: Request, res: Response): Promise<Response>;
|
|
20
|
+
list(includeRevoked: string | undefined, req: Request, res: Response): Promise<Response>;
|
|
21
|
+
revoke(tokenId: string, req: Request, res: Response): Promise<Response>;
|
|
22
|
+
rotate(tokenId: string, req: Request, res: Response): Promise<Response>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
var ServiceTokenController_1;
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.ServiceTokenController = void 0;
|
|
26
|
+
const common_1 = require("@nestjs/common");
|
|
27
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
28
|
+
const Utilities_1 = require("../../Utilities");
|
|
29
|
+
const Dtos_1 = require("../Dtos");
|
|
30
|
+
const jwt_strategy_1 = require("../jwt/jwt.strategy");
|
|
31
|
+
const accessControl_1 = require("../security/accessControl");
|
|
32
|
+
const ServiceTokenService_1 = require("../Services/ServiceTokenService/ServiceTokenService");
|
|
33
|
+
/**
|
|
34
|
+
* Gestione amministrativa dei token di servizio (macchina-a-macchina).
|
|
35
|
+
*
|
|
36
|
+
* Il segreto e mostrato una sola volta alla creazione/rotazione; le operazioni richiedono un
|
|
37
|
+
* superutente Accessi. Gli endpoint di utilizzo dei token non sono qui: i consumer autenticano
|
|
38
|
+
* con `Authorization: Bearer <token>` tramite `ServiceTokenGuard`.
|
|
39
|
+
*/
|
|
40
|
+
let ServiceTokenController = ServiceTokenController_1 = class ServiceTokenController {
|
|
41
|
+
constructor(serviceTokenService, options) {
|
|
42
|
+
this.serviceTokenService = serviceTokenService;
|
|
43
|
+
this.options = options;
|
|
44
|
+
}
|
|
45
|
+
assertEnabled() {
|
|
46
|
+
var _a;
|
|
47
|
+
if (((_a = this.options.serviceTokens) === null || _a === void 0 ? void 0 : _a.enabled) === false) {
|
|
48
|
+
throw new common_1.HttpException('I token di servizio sono disabilitati in questa istanza.', 404);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
requireSuperUser(req) {
|
|
52
|
+
this.assertEnabled();
|
|
53
|
+
const user = (0, accessControl_1.getAuthenticatedAccessiUser)(req);
|
|
54
|
+
(0, accessControl_1.ensureAdmin)(user, 'Solo un admin puo gestire i token di servizio.');
|
|
55
|
+
return user;
|
|
56
|
+
}
|
|
57
|
+
sendError(res, error) {
|
|
58
|
+
// Lo status viene derivato centralmente da RestUtilities (HttpException o 500).
|
|
59
|
+
return Utilities_1.RestUtilities.sendErrorMessage(res, error, ServiceTokenController_1.name);
|
|
60
|
+
}
|
|
61
|
+
create(body, req, res) {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
try {
|
|
64
|
+
const user = this.requireSuperUser(req);
|
|
65
|
+
const issued = yield this.serviceTokenService.issue(body, user.codiceUtente);
|
|
66
|
+
return Utilities_1.RestUtilities.sendBaseResponse(res, issued, 201);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
return this.sendError(res, error);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
list(includeRevoked, req, res) {
|
|
74
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
+
try {
|
|
76
|
+
this.requireSuperUser(req);
|
|
77
|
+
const tokens = yield this.serviceTokenService.list(includeRevoked === 'true');
|
|
78
|
+
return Utilities_1.RestUtilities.sendBaseResponse(res, tokens);
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
return this.sendError(res, error);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
revoke(tokenId, req, res) {
|
|
86
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
try {
|
|
88
|
+
const user = this.requireSuperUser(req);
|
|
89
|
+
yield this.serviceTokenService.revoke(tokenId, user.codiceUtente);
|
|
90
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, 'Token di servizio revocato con successo.');
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
return this.sendError(res, error);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
rotate(tokenId, req, res) {
|
|
98
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
try {
|
|
100
|
+
const user = this.requireSuperUser(req);
|
|
101
|
+
const issued = yield this.serviceTokenService.rotate(tokenId, user.codiceUtente);
|
|
102
|
+
return Utilities_1.RestUtilities.sendBaseResponse(res, issued, 201);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
return this.sendError(res, error);
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
exports.ServiceTokenController = ServiceTokenController;
|
|
111
|
+
__decorate([
|
|
112
|
+
(0, common_1.Post)(),
|
|
113
|
+
(0, swagger_1.ApiOperation)({ summary: 'Emetti un nuovo token di servizio', operationId: 'createServiceToken' }),
|
|
114
|
+
(0, swagger_1.ApiBody)({ type: Dtos_1.CreateServiceTokenRequest }),
|
|
115
|
+
(0, swagger_1.ApiResponse)({ status: 201, description: 'Token creato; il segreto e mostrato solo in questa risposta.', type: Dtos_1.CreateServiceTokenResponse }),
|
|
116
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Dati non validi', type: Dtos_1.ErrorResponse }),
|
|
117
|
+
(0, swagger_1.ApiResponse)({ status: 401, description: 'Token Accessi mancante o non valido', type: Dtos_1.ErrorResponse }),
|
|
118
|
+
(0, swagger_1.ApiResponse)({ status: 403, description: 'Richiede un superutente', type: Dtos_1.ErrorResponse }),
|
|
119
|
+
__param(0, (0, common_1.Body)()),
|
|
120
|
+
__param(1, (0, common_1.Req)()),
|
|
121
|
+
__param(2, (0, common_1.Res)()),
|
|
122
|
+
__metadata("design:type", Function),
|
|
123
|
+
__metadata("design:paramtypes", [Dtos_1.CreateServiceTokenRequest, Object, Object]),
|
|
124
|
+
__metadata("design:returntype", Promise)
|
|
125
|
+
], ServiceTokenController.prototype, "create", null);
|
|
126
|
+
__decorate([
|
|
127
|
+
(0, common_1.Get)(),
|
|
128
|
+
(0, swagger_1.ApiOperation)({ summary: 'Elenca i token di servizio (senza segreti)', operationId: 'getServiceTokens' }),
|
|
129
|
+
(0, swagger_1.ApiQuery)({ name: 'includeRevoked', required: false, description: 'Includi anche i token revocati.', type: Boolean }),
|
|
130
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Elenco dei token.', type: Dtos_1.GetServiceTokensResponse }),
|
|
131
|
+
(0, swagger_1.ApiResponse)({ status: 401, description: 'Token Accessi mancante o non valido', type: Dtos_1.ErrorResponse }),
|
|
132
|
+
(0, swagger_1.ApiResponse)({ status: 403, description: 'Richiede un superutente', type: Dtos_1.ErrorResponse }),
|
|
133
|
+
__param(0, (0, common_1.Query)('includeRevoked')),
|
|
134
|
+
__param(1, (0, common_1.Req)()),
|
|
135
|
+
__param(2, (0, common_1.Res)()),
|
|
136
|
+
__metadata("design:type", Function),
|
|
137
|
+
__metadata("design:paramtypes", [Object, Object, Object]),
|
|
138
|
+
__metadata("design:returntype", Promise)
|
|
139
|
+
], ServiceTokenController.prototype, "list", null);
|
|
140
|
+
__decorate([
|
|
141
|
+
(0, common_1.Delete)(':tokenId'),
|
|
142
|
+
(0, swagger_1.ApiOperation)({ summary: 'Revoca un token di servizio', operationId: 'revokeServiceToken' }),
|
|
143
|
+
(0, swagger_1.ApiParam)({ name: 'tokenId', description: 'Identificativo del token.', example: 'st_3f1a2b3c4d5e6f708192a3b4c5d6e7f8' }),
|
|
144
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Token revocato.', type: Dtos_1.ErrorResponse }),
|
|
145
|
+
(0, swagger_1.ApiResponse)({ status: 404, description: 'Token non trovato', type: Dtos_1.ErrorResponse }),
|
|
146
|
+
(0, swagger_1.ApiResponse)({ status: 403, description: 'Richiede un superutente', type: Dtos_1.ErrorResponse }),
|
|
147
|
+
__param(0, (0, common_1.Param)('tokenId')),
|
|
148
|
+
__param(1, (0, common_1.Req)()),
|
|
149
|
+
__param(2, (0, common_1.Res)()),
|
|
150
|
+
__metadata("design:type", Function),
|
|
151
|
+
__metadata("design:paramtypes", [String, Object, Object]),
|
|
152
|
+
__metadata("design:returntype", Promise)
|
|
153
|
+
], ServiceTokenController.prototype, "revoke", null);
|
|
154
|
+
__decorate([
|
|
155
|
+
(0, common_1.Post)(':tokenId/rotate'),
|
|
156
|
+
(0, swagger_1.ApiOperation)({ summary: 'Ruota un token di servizio', operationId: 'rotateServiceToken' }),
|
|
157
|
+
(0, swagger_1.ApiParam)({ name: 'tokenId', description: 'Identificativo del token da sostituire.', example: 'st_3f1a2b3c4d5e6f708192a3b4c5d6e7f8' }),
|
|
158
|
+
(0, swagger_1.ApiResponse)({ status: 201, description: 'Nuovo token emesso; il vecchio e revocato.', type: Dtos_1.CreateServiceTokenResponse }),
|
|
159
|
+
(0, swagger_1.ApiResponse)({ status: 404, description: 'Token non trovato', type: Dtos_1.ErrorResponse }),
|
|
160
|
+
(0, swagger_1.ApiResponse)({ status: 403, description: 'Richiede un superutente', type: Dtos_1.ErrorResponse }),
|
|
161
|
+
__param(0, (0, common_1.Param)('tokenId')),
|
|
162
|
+
__param(1, (0, common_1.Req)()),
|
|
163
|
+
__param(2, (0, common_1.Res)()),
|
|
164
|
+
__metadata("design:type", Function),
|
|
165
|
+
__metadata("design:paramtypes", [String, Object, Object]),
|
|
166
|
+
__metadata("design:returntype", Promise)
|
|
167
|
+
], ServiceTokenController.prototype, "rotate", null);
|
|
168
|
+
exports.ServiceTokenController = ServiceTokenController = ServiceTokenController_1 = __decorate([
|
|
169
|
+
(0, swagger_1.ApiBearerAuth)(),
|
|
170
|
+
(0, swagger_1.ApiTags)('ServiceToken'),
|
|
171
|
+
(0, common_1.Controller)('accessi/service-token'),
|
|
172
|
+
(0, common_1.UseGuards)(jwt_strategy_1.JwtSimpleGuard),
|
|
173
|
+
__param(1, (0, common_1.Inject)('ACCESSI_OPTIONS')),
|
|
174
|
+
__metadata("design:paramtypes", [ServiceTokenService_1.ServiceTokenService, Object])
|
|
175
|
+
], ServiceTokenController);
|
|
176
|
+
//# sourceMappingURL=ServiceTokenController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceTokenController.js","sourceRoot":"","sources":["../../../src/accessi-module/Controllers/ServiceTokenController.ts"],"names":[],"mappings":"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","sourcesContent":["import { Body, Controller, Delete, Get, HttpException, Inject, Param, Post, Query, Req, Res, UseGuards } from '@nestjs/common';\nimport { ApiBearerAuth, ApiBody, ApiOperation, ApiParam, ApiQuery, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Request, Response } from 'express';\nimport { RestUtilities } from '../../Utilities';\nimport type { AccessiOptions } from '../AccessiModule';\nimport {\n CreateServiceTokenRequest,\n CreateServiceTokenResponse,\n ErrorResponse,\n GetServiceTokensResponse,\n} from '../Dtos';\nimport { JwtSimpleGuard } from '../jwt/jwt.strategy';\nimport { getAuthenticatedAccessiUser, ensureAdmin } from '../security/accessControl';\nimport { ServiceTokenService } from '../Services/ServiceTokenService/ServiceTokenService';\n\n/**\n * Gestione amministrativa dei token di servizio (macchina-a-macchina).\n *\n * Il segreto e mostrato una sola volta alla creazione/rotazione; le operazioni richiedono un\n * superutente Accessi. Gli endpoint di utilizzo dei token non sono qui: i consumer autenticano\n * con `Authorization: Bearer <token>` tramite `ServiceTokenGuard`.\n */\n@ApiBearerAuth()\n@ApiTags('ServiceToken')\n@Controller('accessi/service-token')\n@UseGuards(JwtSimpleGuard)\nexport class ServiceTokenController {\n constructor(\n private readonly serviceTokenService: ServiceTokenService,\n @Inject('ACCESSI_OPTIONS') private readonly options: AccessiOptions,\n ) {}\n\n private assertEnabled(): void {\n if (this.options.serviceTokens?.enabled === false) {\n throw new HttpException('I token di servizio sono disabilitati in questa istanza.', 404);\n }\n }\n\n private requireSuperUser(req: Request) {\n this.assertEnabled();\n const user = getAuthenticatedAccessiUser(req);\n ensureAdmin(user, 'Solo un admin puo gestire i token di servizio.');\n return user;\n }\n\n private sendError(res: Response, error: unknown): Response {\n // Lo status viene derivato centralmente da RestUtilities (HttpException o 500).\n return RestUtilities.sendErrorMessage(res, error, ServiceTokenController.name);\n }\n\n @Post()\n @ApiOperation({ summary: 'Emetti un nuovo token di servizio', operationId: 'createServiceToken' })\n @ApiBody({ type: CreateServiceTokenRequest })\n @ApiResponse({ status: 201, description: 'Token creato; il segreto e mostrato solo in questa risposta.', type: CreateServiceTokenResponse })\n @ApiResponse({ status: 400, description: 'Dati non validi', type: ErrorResponse })\n @ApiResponse({ status: 401, description: 'Token Accessi mancante o non valido', type: ErrorResponse })\n @ApiResponse({ status: 403, description: 'Richiede un superutente', type: ErrorResponse })\n async create(\n @Body() body: CreateServiceTokenRequest,\n @Req() req: Request,\n @Res() res: Response,\n ): Promise<Response> {\n try {\n const user = this.requireSuperUser(req);\n const issued = await this.serviceTokenService.issue(body, user.codiceUtente);\n return RestUtilities.sendBaseResponse(res, issued, 201);\n } catch (error) {\n return this.sendError(res, error);\n }\n }\n\n @Get()\n @ApiOperation({ summary: 'Elenca i token di servizio (senza segreti)', operationId: 'getServiceTokens' })\n @ApiQuery({ name: 'includeRevoked', required: false, description: 'Includi anche i token revocati.', type: Boolean })\n @ApiResponse({ status: 200, description: 'Elenco dei token.', type: GetServiceTokensResponse })\n @ApiResponse({ status: 401, description: 'Token Accessi mancante o non valido', type: ErrorResponse })\n @ApiResponse({ status: 403, description: 'Richiede un superutente', type: ErrorResponse })\n async list(\n @Query('includeRevoked') includeRevoked: string | undefined,\n @Req() req: Request,\n @Res() res: Response,\n ): Promise<Response> {\n try {\n this.requireSuperUser(req);\n const tokens = await this.serviceTokenService.list(includeRevoked === 'true');\n return RestUtilities.sendBaseResponse(res, tokens);\n } catch (error) {\n return this.sendError(res, error);\n }\n }\n\n @Delete(':tokenId')\n @ApiOperation({ summary: 'Revoca un token di servizio', operationId: 'revokeServiceToken' })\n @ApiParam({ name: 'tokenId', description: 'Identificativo del token.', example: 'st_3f1a2b3c4d5e6f708192a3b4c5d6e7f8' })\n @ApiResponse({ status: 200, description: 'Token revocato.', type: ErrorResponse })\n @ApiResponse({ status: 404, description: 'Token non trovato', type: ErrorResponse })\n @ApiResponse({ status: 403, description: 'Richiede un superutente', type: ErrorResponse })\n async revoke(\n @Param('tokenId') tokenId: string,\n @Req() req: Request,\n @Res() res: Response,\n ): Promise<Response> {\n try {\n const user = this.requireSuperUser(req);\n await this.serviceTokenService.revoke(tokenId, user.codiceUtente);\n return RestUtilities.sendOKMessage(res, 'Token di servizio revocato con successo.');\n } catch (error) {\n return this.sendError(res, error);\n }\n }\n\n @Post(':tokenId/rotate')\n @ApiOperation({ summary: 'Ruota un token di servizio', operationId: 'rotateServiceToken' })\n @ApiParam({ name: 'tokenId', description: 'Identificativo del token da sostituire.', example: 'st_3f1a2b3c4d5e6f708192a3b4c5d6e7f8' })\n @ApiResponse({ status: 201, description: 'Nuovo token emesso; il vecchio e revocato.', type: CreateServiceTokenResponse })\n @ApiResponse({ status: 404, description: 'Token non trovato', type: ErrorResponse })\n @ApiResponse({ status: 403, description: 'Richiede un superutente', type: ErrorResponse })\n async rotate(\n @Param('tokenId') tokenId: string,\n @Req() req: Request,\n @Res() res: Response,\n ): Promise<Response> {\n try {\n const user = this.requireSuperUser(req);\n const issued = await this.serviceTokenService.rotate(tokenId, user.codiceUtente);\n return RestUtilities.sendBaseResponse(res, issued, 201);\n } catch (error) {\n return this.sendError(res, error);\n }\n }\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Request, Response } from 'express';
|
|
2
|
-
import { AccessiOptions } from '../AccessiModule';
|
|
2
|
+
import type { AccessiOptions } from '../AccessiModule';
|
|
3
|
+
import { PublicRegisterRequest } from '../Dtos/PublicRegisterRequest';
|
|
3
4
|
import { RegisterRequest } from '../Dtos/RegisterRequest';
|
|
4
5
|
import { SetStatoRegistrazioneDto } from '../Dtos/SetStatoRegistrazione';
|
|
5
6
|
import { UserDto } from '../Dtos/UserDto';
|
|
@@ -12,11 +13,14 @@ export declare class UserController {
|
|
|
12
13
|
private readonly logger;
|
|
13
14
|
constructor(accessiOptions: AccessiOptions, userService: UserService, emailService: EmailService);
|
|
14
15
|
private sendControllerError;
|
|
15
|
-
serveResetPasswordPage(res: Response,
|
|
16
|
-
getUsers(request: Request, res: Response, email?: string, codiceUtente?: number, includeExtensionFields?: boolean, includeGrants?: boolean): Promise<Response<any, Record<string, any>>>;
|
|
16
|
+
serveResetPasswordPage(res: Response, _token: string): Promise<void>;
|
|
17
|
+
getUsers(request: Request, res: Response, email?: string, codiceUtente?: number, includeExtensionFields?: boolean, includeGrants?: boolean, limit?: number, offset?: number): Promise<Response<any, Record<string, any>>>;
|
|
17
18
|
deleteUser(request: Request, codiceUtente: number, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
19
|
+
forcePasswordReset(request: Request, codiceUtente: number, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
20
|
+
forcePasswordResetLegacy(request: Request, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
18
21
|
setStatoRegistrazione(request: Request, body: SetStatoRegistrazioneDto, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
19
|
-
register(request: Request, registrationData:
|
|
22
|
+
register(request: Request, registrationData: PublicRegisterRequest, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
23
|
+
createManagedUser(request: Request, registrationData: RegisterRequest, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
20
24
|
updateUtente(request: Request, codiceUtente: number, user: UserDto, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
21
25
|
setGdpr(request: Request, codiceUtente: number, res: Response): Promise<Response<any, Record<string, any>>>;
|
|
22
26
|
}
|