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
|
@@ -27,227 +27,523 @@ const common_1 = require("@nestjs/common");
|
|
|
27
27
|
const DatabaseUpdater_1 = require("../../DatabaseUpdater");
|
|
28
28
|
const Orm_1 = require("../../Orm");
|
|
29
29
|
const Logger_1 = require("../../Logger");
|
|
30
|
+
const accessiSchema_1 = require("./accessiSchema");
|
|
31
|
+
const AccessiCatalogMigrator_1 = require("./AccessiCatalogMigrator");
|
|
32
|
+
/** Reconciles the actual schema; version labels never bypass verification. */
|
|
30
33
|
let AccessiDatabaseUpdater = AccessiDatabaseUpdater_1 = class AccessiDatabaseUpdater extends DatabaseUpdater_1.DatabaseUpdater {
|
|
31
34
|
constructor(accessiOptions) {
|
|
32
35
|
super();
|
|
33
36
|
this.accessiOptions = accessiOptions;
|
|
34
37
|
}
|
|
35
38
|
onModuleInit() {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () { yield AccessiDatabaseUpdater_1.initialize(this.accessiOptions); });
|
|
40
|
+
}
|
|
41
|
+
/** Shared bootstrap barrier for services in the same Nest module. Failed attempts may be retried. */
|
|
42
|
+
static initialize(options) {
|
|
43
|
+
let pending = this.initialization.get(options);
|
|
44
|
+
if (!pending) {
|
|
45
|
+
pending = this.bootstrap(options);
|
|
46
|
+
this.initialization.set(options, pending);
|
|
47
|
+
const cleanup = () => this.initialization.delete(options);
|
|
48
|
+
pending.then(cleanup, cleanup);
|
|
49
|
+
}
|
|
50
|
+
return pending;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Prima riconcilia lo schema, poi applica le catalog migrations applicative (menu, ruoli, ...).
|
|
54
|
+
* Con `autoUpdateDatabase: false` la verifica resta in sola lettura e le catalog migrations
|
|
55
|
+
* non vengono eseguite automaticamente.
|
|
56
|
+
*/
|
|
57
|
+
static bootstrap(options) {
|
|
36
58
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
|
|
38
|
-
|
|
59
|
+
var _a;
|
|
60
|
+
if (options.autoUpdateDatabase === false) {
|
|
61
|
+
yield this.assertCompatible(options);
|
|
39
62
|
return;
|
|
40
63
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
64
|
+
yield this.run(options);
|
|
65
|
+
if ((_a = options.catalogScripts) === null || _a === void 0 ? void 0 : _a.enabled) {
|
|
66
|
+
yield (0, AccessiCatalogMigrator_1.applyCatalogScripts)(options);
|
|
67
|
+
}
|
|
44
68
|
});
|
|
45
69
|
}
|
|
70
|
+
static getLatestVersion() { return accessiSchema_1.ACCESSI_SCHEMA_VERSION; }
|
|
71
|
+
static getCurrentVersion(options) {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
var _a;
|
|
74
|
+
if (!(yield this.tableExists(options.databaseOptions, 'PARAMETRI')))
|
|
75
|
+
return null;
|
|
76
|
+
const rows = yield Orm_1.Orm.query(options.databaseOptions, 'SELECT DESPAR FROM PARAMETRI WHERE CODPAR = ?', [accessiSchema_1.ACCESSI_VERSION_KEY], false);
|
|
77
|
+
const version = (_a = rows[0]) === null || _a === void 0 ? void 0 : _a.DESPAR;
|
|
78
|
+
return typeof version === 'string' ? version.trim() : version == null ? null : String(version).trim();
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/** Serialize callers targeting the same database in this process. Cross-process DDL is a deployment concern. */
|
|
46
82
|
static run(options) {
|
|
83
|
+
var _a, _b, _c;
|
|
84
|
+
const db = options.databaseOptions;
|
|
85
|
+
const key = JSON.stringify([(_a = db.host) !== null && _a !== void 0 ? _a : 'localhost', (_b = db.port) !== null && _b !== void 0 ? _b : 3050, db.database]);
|
|
86
|
+
const previous = (_c = this.running.get(key)) !== null && _c !== void 0 ? _c : Promise.resolve();
|
|
87
|
+
const pending = previous.catch(() => { }).then(() => this.reconcile(options));
|
|
88
|
+
this.running.set(key, pending);
|
|
89
|
+
const cleanup = () => { if (this.running.get(key) === pending)
|
|
90
|
+
this.running.delete(key); };
|
|
91
|
+
pending.then(cleanup, cleanup);
|
|
92
|
+
return pending;
|
|
93
|
+
}
|
|
94
|
+
static query(options_1, sql_1) {
|
|
95
|
+
return __awaiter(this, arguments, void 0, function* (options, sql, params = []) {
|
|
96
|
+
return Orm_1.Orm.query(options.databaseOptions, sql, params, false);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
static execute(options_1, sql_1) {
|
|
100
|
+
return __awaiter(this, arguments, void 0, function* (options, sql, params = []) {
|
|
101
|
+
try {
|
|
102
|
+
yield Orm_1.Orm.execute(options.databaseOptions, sql, params, false);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
106
|
+
throw new Error(`Migrazione Accessi interrotta: ${sql}. ${message}. Correggere lo schema/dati indicati e rilanciare; la versione non e stata avanzata.`);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
static sequenceExists(options, name) {
|
|
111
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
const rows = yield this.query(options, 'SELECT 1 FROM RDB$GENERATORS WHERE RDB$GENERATOR_NAME = ?', [name.toUpperCase()]);
|
|
113
|
+
return rows.length > 0;
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/** Nome deterministico del CHECK che replica NOT NULL su Firebird 2.5 (limite identificatore: 31 caratteri). */
|
|
117
|
+
static notNullConstraint(table, column) {
|
|
118
|
+
return `CK_NN_${table}_${column}`.toUpperCase().slice(0, 31);
|
|
119
|
+
}
|
|
120
|
+
/** Su Firebird 2.5 NOT NULL sulle colonne esistenti e' replicato da un CHECK: la verifica lo accetta. */
|
|
121
|
+
static notNullEnforcedByCheck(checks, engineMajor, table, column) {
|
|
122
|
+
if (engineMajor >= 3)
|
|
123
|
+
return false;
|
|
124
|
+
const name = this.notNullConstraint(table, column);
|
|
125
|
+
return checks.some(row => row.NAME === name && this.sameCheck(String(row.CHECK_SOURCE), `${column} IS NOT NULL`));
|
|
126
|
+
}
|
|
127
|
+
static relationIssues(options) {
|
|
47
128
|
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
|
|
129
|
+
// RDB$VIEW_BLR esiste in tutte le versioni; RDB$RELATION_TYPE solo da Firebird 3.0.
|
|
130
|
+
// Una vista ha RDB$VIEW_BLR non nullo: se una tabella Accessi esiste come vista, va segnalato.
|
|
131
|
+
const rows = yield this.query(options, `SELECT TRIM(RDB$RELATION_NAME) AS NAME
|
|
132
|
+
FROM RDB$RELATIONS WHERE COALESCE(RDB$SYSTEM_FLAG, 0) = 0 AND RDB$VIEW_BLR IS NOT NULL`);
|
|
133
|
+
return rows.filter(row => accessiSchema_1.accessiTables[String(row.NAME)]).map(row => `${row.NAME}: richiesta tabella persistente, trovata vista`);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
static engineInfo(options) {
|
|
137
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
138
|
+
var _a, _b;
|
|
139
|
+
const rows = yield this.query(options, "SELECT RDB$GET_CONTEXT('SYSTEM', 'ENGINE_VERSION') AS ENGINE_VERSION FROM RDB$DATABASE");
|
|
140
|
+
const version = String((_b = (_a = rows[0]) === null || _a === void 0 ? void 0 : _a.ENGINE_VERSION) !== null && _b !== void 0 ? _b : 'sconosciuta');
|
|
141
|
+
const match = /^(\d+)(?:\.(\d+))?/.exec(version);
|
|
142
|
+
return { version, major: match ? Number(match[1]) : Number.NaN, minor: (match === null || match === void 0 ? void 0 : match[2]) ? Number(match[2]) : 0 };
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
static engineIssue(options) {
|
|
146
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
147
|
+
const { version, major, minor } = yield this.engineInfo(options);
|
|
148
|
+
// Firebird 2.5 e successivi: la 2.5 usa CREATE GENERATOR, dalla 3.0 lo schema usa CREATE SEQUENCE.
|
|
149
|
+
const supported = major > 2 || (major === 2 && minor >= 5);
|
|
150
|
+
if (!supported)
|
|
151
|
+
return `Firebird ${version}: lo schema Accessi richiede Firebird 2.5 o successivo`;
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
static columns(options) {
|
|
155
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
156
|
+
return this.query(options, `SELECT TRIM(RF.RDB$RELATION_NAME) AS TABLE_NAME, TRIM(RF.RDB$FIELD_NAME) AS COLUMN_NAME,
|
|
157
|
+
F.RDB$FIELD_TYPE AS FIELD_TYPE, F.RDB$FIELD_SUB_TYPE AS SUB_TYPE, F.RDB$FIELD_SCALE AS FIELD_SCALE,
|
|
158
|
+
F.RDB$CHARACTER_LENGTH AS TEXT_LENGTH, TRIM(CS.RDB$CHARACTER_SET_NAME) AS CHARSET_NAME,
|
|
159
|
+
COALESCE(RF.RDB$NULL_FLAG, F.RDB$NULL_FLAG, 0) AS NOT_NULL,
|
|
160
|
+
CAST(COALESCE(RF.RDB$DEFAULT_SOURCE, F.RDB$DEFAULT_SOURCE) AS VARCHAR(1024)) AS DEFAULT_SOURCE,
|
|
161
|
+
CASE WHEN F.RDB$COMPUTED_BLR IS NULL THEN 0 ELSE 1 END AS IS_COMPUTED
|
|
162
|
+
FROM RDB$RELATION_FIELDS RF JOIN RDB$FIELDS F ON F.RDB$FIELD_NAME = RF.RDB$FIELD_SOURCE
|
|
163
|
+
LEFT JOIN RDB$CHARACTER_SETS CS ON CS.RDB$CHARACTER_SET_ID = F.RDB$CHARACTER_SET_ID
|
|
164
|
+
WHERE RF.RDB$RELATION_NAME IN (${Object.keys(accessiSchema_1.accessiTables).map(name => `'${name}'`).join(', ')})`);
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
static defaultValue(definition) {
|
|
168
|
+
var _a;
|
|
169
|
+
return (_a = /\bDEFAULT\s+('[^']*'|\S+)/i.exec(definition)) === null || _a === void 0 ? void 0 : _a[1];
|
|
170
|
+
}
|
|
171
|
+
static typeIssue(row, definition) {
|
|
172
|
+
var _a;
|
|
173
|
+
if (Number(row.IS_COMPUTED))
|
|
174
|
+
return 'colonna calcolata invece di scrivibile';
|
|
175
|
+
const stringLength = /^(?:VAR)?CHAR\((\d+)\)/.exec(definition);
|
|
176
|
+
if (stringLength) {
|
|
177
|
+
if (![14, 37].includes(Number(row.FIELD_TYPE)))
|
|
178
|
+
return `richiesto testo (${definition})`;
|
|
179
|
+
if (Number(row.TEXT_LENGTH) < Number(stringLength[1]))
|
|
180
|
+
return `lunghezza ${row.TEXT_LENGTH}, richiesta almeno ${stringLength[1]}`;
|
|
181
|
+
const charset = (_a = /CHARACTER SET (\w+)/.exec(definition)) === null || _a === void 0 ? void 0 : _a[1];
|
|
182
|
+
if (charset && typeof row.CHARSET_NAME === 'string' && row.CHARSET_NAME.trim() !== charset)
|
|
183
|
+
return `character set ${row.CHARSET_NAME}, richiesto ${charset}`;
|
|
184
|
+
}
|
|
185
|
+
else if (/^(SMALLINT|INTEGER)/.test(definition)) {
|
|
186
|
+
const acceptable = definition.startsWith('SMALLINT') ? [7, 8, 16] : [8, 16];
|
|
187
|
+
if (!acceptable.includes(Number(row.FIELD_TYPE)) || Number(row.FIELD_SCALE) !== 0)
|
|
188
|
+
return `richiesto intero (${definition})`;
|
|
189
|
+
}
|
|
190
|
+
else if (definition.startsWith('DATE')) {
|
|
191
|
+
if (![12, 35].includes(Number(row.FIELD_TYPE)))
|
|
192
|
+
return 'richiesto DATE o TIMESTAMP';
|
|
193
|
+
}
|
|
194
|
+
else if (definition.startsWith('TIMESTAMP')) {
|
|
195
|
+
if (Number(row.FIELD_TYPE) !== 35)
|
|
196
|
+
return 'richiesto TIMESTAMP';
|
|
197
|
+
}
|
|
198
|
+
else if (definition.startsWith('BLOB')) {
|
|
199
|
+
if (Number(row.FIELD_TYPE) !== 261 || Number(row.SUB_TYPE) !== 1)
|
|
200
|
+
return 'richiesto BLOB testuale';
|
|
201
|
+
}
|
|
202
|
+
return undefined;
|
|
203
|
+
}
|
|
204
|
+
static constraints(options) {
|
|
205
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
206
|
+
return this.query(options, `SELECT TRIM(C.RDB$CONSTRAINT_NAME) AS NAME, TRIM(C.RDB$RELATION_NAME) AS TABLE_NAME,
|
|
207
|
+
TRIM(C.RDB$CONSTRAINT_TYPE) AS KIND, TRIM(S.RDB$FIELD_NAME) AS COLUMN_NAME, S.RDB$FIELD_POSITION AS POS,
|
|
208
|
+
TRIM(T.RDB$RELATION_NAME) AS TARGET_TABLE, TRIM(TS.RDB$FIELD_NAME) AS TARGET_COLUMN,
|
|
209
|
+
TRIM(R.RDB$DELETE_RULE) AS DELETE_RULE
|
|
210
|
+
FROM RDB$RELATION_CONSTRAINTS C
|
|
211
|
+
LEFT JOIN RDB$INDEX_SEGMENTS S ON S.RDB$INDEX_NAME = C.RDB$INDEX_NAME
|
|
212
|
+
LEFT JOIN RDB$REF_CONSTRAINTS R ON R.RDB$CONSTRAINT_NAME = C.RDB$CONSTRAINT_NAME
|
|
213
|
+
LEFT JOIN RDB$RELATION_CONSTRAINTS T ON T.RDB$CONSTRAINT_NAME = R.RDB$CONST_NAME_UQ
|
|
214
|
+
LEFT JOIN RDB$INDEX_SEGMENTS TS ON TS.RDB$INDEX_NAME = T.RDB$INDEX_NAME AND TS.RDB$FIELD_POSITION = S.RDB$FIELD_POSITION
|
|
215
|
+
ORDER BY C.RDB$CONSTRAINT_NAME, S.RDB$FIELD_POSITION`);
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
/** Raggruppa per nome; ogni gruppo e non vuoto per costruzione (tupla non vuota). */
|
|
219
|
+
static groups(rows) {
|
|
220
|
+
const groups = new Map();
|
|
221
|
+
for (const row of rows) {
|
|
222
|
+
const key = String(row.NAME);
|
|
223
|
+
const existing = groups.get(key);
|
|
224
|
+
if (existing) {
|
|
225
|
+
existing.push(row);
|
|
64
226
|
}
|
|
65
227
|
else {
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
for (let index = startIndex; index < this.updates.length; index++) {
|
|
69
|
-
const update = this.updates[index];
|
|
70
|
-
const stepStartedAt = performance.now();
|
|
71
|
-
this.logger.info(`Applico aggiornamento accessi ${update.fromVersion} -> ${update.toVersion}: ${update.description}`);
|
|
72
|
-
yield update.apply(options);
|
|
73
|
-
yield this.setDatabaseVersion(options.databaseOptions, update.toVersion);
|
|
74
|
-
this.logger.info(`Aggiornamento accessi ${update.toVersion} completato in ${(performance.now() - stepStartedAt).toFixed(2)} ms`);
|
|
228
|
+
groups.set(key, [row]);
|
|
75
229
|
}
|
|
76
|
-
|
|
230
|
+
}
|
|
231
|
+
return Array.from(groups.values());
|
|
232
|
+
}
|
|
233
|
+
static checks(options) {
|
|
234
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
235
|
+
return this.query(options, `SELECT DISTINCT TRIM(C.RDB$CONSTRAINT_NAME) AS NAME,
|
|
236
|
+
TRIM(C.RDB$RELATION_NAME) AS TABLE_NAME, CAST(T.RDB$TRIGGER_SOURCE AS VARCHAR(2048)) AS CHECK_SOURCE
|
|
237
|
+
FROM RDB$RELATION_CONSTRAINTS C JOIN RDB$CHECK_CONSTRAINTS K ON K.RDB$CONSTRAINT_NAME = C.RDB$CONSTRAINT_NAME
|
|
238
|
+
JOIN RDB$TRIGGERS T ON T.RDB$TRIGGER_NAME = K.RDB$TRIGGER_NAME
|
|
239
|
+
WHERE C.RDB$CONSTRAINT_TYPE = 'CHECK'`);
|
|
77
240
|
});
|
|
78
241
|
}
|
|
79
|
-
static
|
|
242
|
+
static sameCheck(source, expression) {
|
|
243
|
+
const normalize = (s) => s.replace(/^\s*CHECK\s*/i, '').replace(/[\s()]/g, '').toUpperCase();
|
|
244
|
+
return normalize(source !== null && source !== void 0 ? source : '') === normalize(expression);
|
|
245
|
+
}
|
|
246
|
+
static indexes(options) {
|
|
247
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
248
|
+
return this.groups(yield this.query(options, `SELECT TRIM(I.RDB$INDEX_NAME) AS NAME, TRIM(I.RDB$RELATION_NAME) AS TABLE_NAME,
|
|
249
|
+
COALESCE(I.RDB$INDEX_INACTIVE, 0) AS INACTIVE, TRIM(S.RDB$FIELD_NAME) AS COLUMN_NAME
|
|
250
|
+
FROM RDB$INDICES I LEFT JOIN RDB$INDEX_SEGMENTS S ON S.RDB$INDEX_NAME = I.RDB$INDEX_NAME
|
|
251
|
+
ORDER BY I.RDB$INDEX_NAME, S.RDB$FIELD_POSITION`));
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
static sameColumns(rows, columns) {
|
|
255
|
+
return rows.map(row => row.COLUMN_NAME).join(',') === columns.join(',');
|
|
256
|
+
}
|
|
257
|
+
static triggers(options) {
|
|
80
258
|
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
-
return
|
|
259
|
+
return this.query(options, `SELECT TRIM(RDB$TRIGGER_NAME) AS NAME, TRIM(RDB$RELATION_NAME) AS TABLE_NAME,
|
|
260
|
+
RDB$TRIGGER_INACTIVE AS INACTIVE, RDB$TRIGGER_TYPE AS TRIGGER_TYPE,
|
|
261
|
+
CAST(RDB$TRIGGER_SOURCE AS VARCHAR(8191)) AS SOURCE
|
|
262
|
+
FROM RDB$TRIGGERS WHERE COALESCE(RDB$SYSTEM_FLAG, 0) = 0
|
|
263
|
+
AND RDB$RELATION_NAME IN (${Object.keys(accessiSchema_1.accessiTables).map(name => `'${name}'`).join(', ')})`);
|
|
82
264
|
});
|
|
83
265
|
}
|
|
84
|
-
|
|
266
|
+
/** Accept historical formatting and renamed triggers, but require the operations used by Accessi. */
|
|
267
|
+
static compatibleTrigger(row, trigger) {
|
|
85
268
|
var _a, _b;
|
|
86
|
-
|
|
269
|
+
if (row.TABLE_NAME !== trigger.table || Number(row.INACTIVE) || Number(row.TRIGGER_TYPE) !== trigger.type)
|
|
270
|
+
return false;
|
|
271
|
+
const source = String((_a = row.SOURCE) !== null && _a !== void 0 ? _a : '').replace(/\/\*[\s\S]*?\*\//g, '').replace(/--[^\r\n]*/g, '').replace(/[\s()]/g, '').toUpperCase();
|
|
272
|
+
const required = {
|
|
273
|
+
UTENTI_BI: ['IFNEW.CODUTEISNULL', 'NEW.CODUTE=GEN_IDGEN_UTENTI_ID,1', 'NEW.DATINS=CURRENT_TIMESTAMP'],
|
|
274
|
+
RUOLI_BI: ['IFNEW.CODRUOISNULL', 'NEW.CODRUO=GEN_IDGEN_RUOLI_ID,1'],
|
|
275
|
+
FILTRI_BI0: ['IFNEW.PROGISNULL', 'MAXPROG', 'FROMFILTRIWHERECODUTE=NEW.CODUTE', 'NEW.PROG=TOT+1'],
|
|
276
|
+
UTENTI_GDPR_BI0: ['NEW.DATACC=CURRENT_TIMESTAMP', 'UPDATEUTENTISETFLGGDPR=1', 'DATGDPR=CURRENT_TIMESTAMP', 'WHERECODUTE=NEW.CODUTE'],
|
|
277
|
+
};
|
|
278
|
+
return ((_b = required[trigger.name]) !== null && _b !== void 0 ? _b : []).every(fragment => source.includes(fragment));
|
|
87
279
|
}
|
|
88
|
-
static
|
|
280
|
+
static futureVersionIssue(options, columns) {
|
|
89
281
|
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
-
|
|
91
|
-
if (!
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
if (
|
|
95
|
-
|
|
282
|
+
var _a, _b, _c, _d;
|
|
283
|
+
if (!['CODPAR', 'DESPAR'].every(name => columns.some(row => row.TABLE_NAME === 'PARAMETRI' && row.COLUMN_NAME === name)))
|
|
284
|
+
return;
|
|
285
|
+
const version = yield this.getCurrentVersion(options);
|
|
286
|
+
if (!version)
|
|
287
|
+
return;
|
|
288
|
+
if (!/^\d+\.\d+\.\d+$/.test(version))
|
|
289
|
+
return `Versione Accessi non riconosciuta: ${version}`;
|
|
290
|
+
const actual = version.split('.').map(Number), latest = accessiSchema_1.ACCESSI_SCHEMA_VERSION.split('.').map(Number);
|
|
291
|
+
for (let i = 0; i < 3; i++) {
|
|
292
|
+
if (((_a = actual[i]) !== null && _a !== void 0 ? _a : 0) > ((_b = latest[i]) !== null && _b !== void 0 ? _b : 0))
|
|
293
|
+
return `Schema Accessi ${version} piu recente della libreria (${accessiSchema_1.ACCESSI_SCHEMA_VERSION}); downgrade automatico non consentito`;
|
|
294
|
+
if (((_c = actual[i]) !== null && _c !== void 0 ? _c : 0) < ((_d = latest[i]) !== null && _d !== void 0 ? _d : 0))
|
|
295
|
+
return;
|
|
96
296
|
}
|
|
97
|
-
return !exists;
|
|
98
297
|
});
|
|
99
298
|
}
|
|
100
|
-
|
|
299
|
+
/** Read-only diagnostics, including when automatic updates are disabled. */
|
|
300
|
+
static inspectSchema(options) {
|
|
101
301
|
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
-
|
|
103
|
-
const
|
|
104
|
-
if (
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
302
|
+
var _a, _b;
|
|
303
|
+
const engine = yield this.engineIssue(options);
|
|
304
|
+
if (engine)
|
|
305
|
+
return { compatible: false, issues: [engine] };
|
|
306
|
+
const { major: engineMajor } = yield this.engineInfo(options);
|
|
307
|
+
const issues = yield this.relationIssues(options);
|
|
308
|
+
const columns = yield this.columns(options);
|
|
309
|
+
const checks = yield this.checks(options);
|
|
310
|
+
const future = yield this.futureVersionIssue(options, columns);
|
|
311
|
+
if (future)
|
|
312
|
+
issues.push(future);
|
|
313
|
+
for (const [table, schema] of Object.entries(accessiSchema_1.accessiTables)) {
|
|
314
|
+
const present = columns.filter(row => row.TABLE_NAME === table);
|
|
315
|
+
if (!present.length) {
|
|
316
|
+
issues.push(`Tabella mancante: ${table}`);
|
|
317
|
+
continue;
|
|
318
|
+
}
|
|
319
|
+
for (const [name, definition] of Object.entries(schema.columns)) {
|
|
320
|
+
const row = present.find(row => row.COLUMN_NAME === name);
|
|
321
|
+
if (!row) {
|
|
322
|
+
issues.push(`Colonna mancante: ${table}.${name}`);
|
|
323
|
+
continue;
|
|
324
|
+
}
|
|
325
|
+
const problem = this.typeIssue(row, definition);
|
|
326
|
+
if (problem)
|
|
327
|
+
issues.push(`${table}.${name}: ${problem}`);
|
|
328
|
+
if (definition.includes('NOT NULL') && !Number(row.NOT_NULL) && !this.notNullEnforcedByCheck(checks, engineMajor, table, name)) {
|
|
329
|
+
issues.push(`${table}.${name}: manca NOT NULL`);
|
|
330
|
+
}
|
|
331
|
+
const expected = this.defaultValue(definition);
|
|
332
|
+
if (expected && this.normalizeDefault(row.DEFAULT_SOURCE) !== this.normalizeDefault(expected))
|
|
333
|
+
issues.push(`${table}.${name}: richiesto DEFAULT ${expected}`);
|
|
108
334
|
}
|
|
109
|
-
yield Orm_1.Orm.execute(options.databaseOptions, "INSERT INTO FILTRI_TIPO (TIPFIL, DESFIL, FLDFIL) VALUES (?, ?, ?)", [tipfil, desfil, fldfil]);
|
|
110
|
-
return;
|
|
111
335
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
336
|
+
for (const check of accessiSchema_1.accessiChecks) {
|
|
337
|
+
if (!checks.some(row => row.TABLE_NAME === check.table && this.sameCheck(String(row.CHECK_SOURCE), check.expression)))
|
|
338
|
+
issues.push(`${check.table}: manca CHECK (${check.expression})`);
|
|
115
339
|
}
|
|
116
|
-
yield
|
|
340
|
+
const constraints = this.groups(yield this.constraints(options));
|
|
341
|
+
for (const [table, schema] of Object.entries(accessiSchema_1.accessiTables)) {
|
|
342
|
+
if (!constraints.some(rows => rows[0].TABLE_NAME === table && rows[0].KIND === 'PRIMARY KEY' && this.sameColumns(rows, schema.primaryKey)))
|
|
343
|
+
issues.push(`${table}: chiave primaria richiesta (${schema.primaryKey.join(', ')})`);
|
|
344
|
+
}
|
|
345
|
+
for (const fk of accessiSchema_1.accessiForeignKeys) {
|
|
346
|
+
if (!constraints.some(rows => rows.length === 1 && rows[0].KIND === 'FOREIGN KEY' && rows[0].TABLE_NAME === fk.table && rows[0].COLUMN_NAME === fk.column && rows[0].TARGET_TABLE === fk.target && rows[0].TARGET_COLUMN === fk.targetColumn && (fk.cascade ? rows[0].DELETE_RULE === 'CASCADE' : ['NO ACTION', 'RESTRICT'].includes(String(rows[0].DELETE_RULE)))))
|
|
347
|
+
issues.push(`${fk.name}: manca FK compatibile ${fk.table}.${fk.column} -> ${fk.target}.${fk.targetColumn}`);
|
|
348
|
+
}
|
|
349
|
+
const indexes = yield this.indexes(options);
|
|
350
|
+
for (const index of accessiSchema_1.accessiIndexes) {
|
|
351
|
+
if (!indexes.some(rows => rows[0].TABLE_NAME === index.table && !Number(rows[0].INACTIVE) && this.sameColumns(rows, index.columns)))
|
|
352
|
+
issues.push(`${index.name}: indice mancante o inattivo`);
|
|
353
|
+
}
|
|
354
|
+
const triggers = yield this.triggers(options);
|
|
355
|
+
for (const trigger of accessiSchema_1.accessiTriggers) {
|
|
356
|
+
if (!triggers.some(row => this.compatibleTrigger(row, trigger)))
|
|
357
|
+
issues.push(`${trigger.name}: trigger richiesto attivo ${trigger.event} su ${trigger.table}, con le operazioni Accessi previste`);
|
|
358
|
+
}
|
|
359
|
+
for (const generator of accessiSchema_1.accessiGenerators) {
|
|
360
|
+
if (!(yield this.sequenceExists(options, generator.name)))
|
|
361
|
+
issues.push(`${generator.name}: sequence/generatore mancante`);
|
|
362
|
+
else if (columns.some(row => row.TABLE_NAME === generator.table && row.COLUMN_NAME === generator.column)) {
|
|
363
|
+
const rows = yield this.query(options, `SELECT GEN_ID(${generator.name}, 0) AS CURRENT_VALUE, (SELECT COALESCE(MAX(${generator.column}), 0) FROM ${generator.table}) AS MAX_VALUE FROM RDB$DATABASE`);
|
|
364
|
+
if (Number((_a = rows[0]) === null || _a === void 0 ? void 0 : _a.CURRENT_VALUE) < Number((_b = rows[0]) === null || _b === void 0 ? void 0 : _b.MAX_VALUE))
|
|
365
|
+
issues.push(`${generator.name}: sequence inferiore agli identificativi esistenti`);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
return { compatible: issues.length === 0, issues };
|
|
117
369
|
});
|
|
118
370
|
}
|
|
119
|
-
static
|
|
371
|
+
static assertCompatible(options) {
|
|
120
372
|
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
-
const
|
|
122
|
-
if (
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
373
|
+
const report = yield this.inspectSchema(options);
|
|
374
|
+
if (!report.compatible)
|
|
375
|
+
throw new Error(`Schema database Accessi incompatibile:\n- ${report.issues.join('\n- ')}\nEseguire AccessiDatabaseUpdater.run con un utente autorizzato o correggere lo schema prima dell'avvio.`);
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
static normalizeDefault(value) {
|
|
379
|
+
return String(value !== null && value !== void 0 ? value : '').replace(/^\s*DEFAULT\s+/i, '').replace(/[()\s]/g, '').toUpperCase();
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Riconciliazione idempotente e ripartibile. Firebird non rende utilizzabili gli oggetti
|
|
383
|
+
* creati nella stessa transazione (metadata cache), quindi il DDL resta auto-commit per
|
|
384
|
+
* statement: eventuali errori a meta vengono recuperati rieseguendo la migrazione e la
|
|
385
|
+
* versione viene avanzata solo dopo la verifica finale `assertCompatible`.
|
|
386
|
+
*/
|
|
387
|
+
static reconcile(options) {
|
|
388
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
389
|
+
this.logger.info('Verifica dello schema effettivo Accessi.');
|
|
390
|
+
const engine = yield this.engineIssue(options);
|
|
391
|
+
if (engine)
|
|
392
|
+
throw new Error(engine);
|
|
393
|
+
const { major: engineMajor } = yield this.engineInfo(options);
|
|
394
|
+
const columns = yield this.columns(options);
|
|
395
|
+
const checks = yield this.checks(options);
|
|
396
|
+
const future = yield this.futureVersionIssue(options, columns);
|
|
397
|
+
if (future)
|
|
398
|
+
throw new Error(future);
|
|
399
|
+
// Detect incompatible existing definitions before making any changes. Never guess at data conversion.
|
|
400
|
+
const problems = yield this.relationIssues(options);
|
|
401
|
+
for (const [table, schema] of Object.entries(accessiSchema_1.accessiTables)) {
|
|
402
|
+
for (const [name, definition] of Object.entries(schema.columns)) {
|
|
403
|
+
const row = columns.find(row => row.TABLE_NAME === table && row.COLUMN_NAME === name);
|
|
404
|
+
if (row) {
|
|
405
|
+
const problem = this.typeIssue(row, definition);
|
|
406
|
+
if (problem)
|
|
407
|
+
problems.push(`${table}.${name}: ${problem}`);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
if (problems.length)
|
|
412
|
+
throw new Error(`Schema Accessi richiede intervento sui tipi:\n- ${problems.join('\n- ')}`);
|
|
413
|
+
for (const [table, schema] of Object.entries(accessiSchema_1.accessiTables)) {
|
|
414
|
+
const present = columns.filter(row => row.TABLE_NAME === table);
|
|
415
|
+
if (!present.length) {
|
|
416
|
+
yield this.execute(options, `CREATE TABLE ${table} (${Object.entries(schema.columns).map(([name, definition]) => `${name} ${definition}`).join(', ')})`);
|
|
417
|
+
continue;
|
|
418
|
+
}
|
|
419
|
+
for (const [name, definition] of Object.entries(schema.columns)) {
|
|
420
|
+
const row = present.find(row => row.COLUMN_NAME === name);
|
|
421
|
+
if (!row) {
|
|
422
|
+
if (definition.includes('NOT NULL') && !this.defaultValue(definition)) {
|
|
423
|
+
const data = yield this.query(options, `SELECT FIRST 1 1 AS HAS_DATA FROM ${table}`);
|
|
424
|
+
if (data.length)
|
|
425
|
+
throw new Error(`Impossibile aggiungere ${table}.${name} obbligatoria: tabella popolata, serve un backfill esplicito. Nessun valore identificativo viene inventato.`);
|
|
426
|
+
}
|
|
427
|
+
yield this.execute(options, `ALTER TABLE ${table} ADD ${name} ${definition}`);
|
|
428
|
+
}
|
|
429
|
+
else {
|
|
430
|
+
const expected = this.defaultValue(definition);
|
|
431
|
+
if (expected && this.normalizeDefault(row.DEFAULT_SOURCE) !== this.normalizeDefault(expected))
|
|
432
|
+
yield this.execute(options, `ALTER TABLE ${table} ALTER ${name} SET DEFAULT ${expected}`);
|
|
433
|
+
if (definition.includes('NOT NULL') && !Number(row.NOT_NULL)) {
|
|
434
|
+
if (expected)
|
|
435
|
+
yield this.execute(options, `UPDATE ${table} SET ${name} = ${expected} WHERE ${name} IS NULL`);
|
|
436
|
+
if (engineMajor >= 3) {
|
|
437
|
+
yield this.execute(options, `ALTER TABLE ${table} ALTER ${name} SET NOT NULL`);
|
|
438
|
+
}
|
|
439
|
+
else {
|
|
440
|
+
// Firebird 2.5 non supporta ALTER ... SET NOT NULL: replica la regola con un CHECK equivalente.
|
|
441
|
+
const nnName = this.notNullConstraint(table, name);
|
|
442
|
+
if (!checks.some(entry => entry.NAME === nnName)) {
|
|
443
|
+
yield this.execute(options, `ALTER TABLE ${table} ADD CONSTRAINT ${nnName} CHECK (${name} IS NOT NULL)`);
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
// Pulizia delle colonne ibride: rinomina con copia dati e rimozione dei campi applicativi.
|
|
451
|
+
// Gira dopo l'aggiunta delle colonne canoniche, cosi il target del rename esiste sempre.
|
|
452
|
+
for (const rename of accessiSchema_1.accessiRenamedColumns) {
|
|
453
|
+
const hasLegacy = columns.some(row => row.TABLE_NAME === rename.table && row.COLUMN_NAME === rename.from);
|
|
454
|
+
if (!hasLegacy)
|
|
455
|
+
continue;
|
|
456
|
+
yield this.execute(options, `UPDATE ${rename.table} SET ${rename.to} = ${rename.from} WHERE ${rename.to} IS NULL AND ${rename.from} IS NOT NULL`);
|
|
457
|
+
yield this.execute(options, `ALTER TABLE ${rename.table} DROP ${rename.from}`);
|
|
458
|
+
}
|
|
459
|
+
// Copie tra tabelle diverse (es. telefono legacy UTENTI.CELLUTE -> UTENTI_CONFIG.CELLULARE).
|
|
460
|
+
for (const copy of accessiSchema_1.accessiColumnCopies) {
|
|
461
|
+
const hasSource = columns.some(row => row.TABLE_NAME === copy.sourceTable && row.COLUMN_NAME === copy.sourceColumn);
|
|
462
|
+
if (!hasSource)
|
|
463
|
+
continue;
|
|
464
|
+
yield this.execute(options, `UPDATE ${copy.targetTable} SET ${copy.targetColumn} = (SELECT S.${copy.sourceColumn} FROM ${copy.sourceTable} S WHERE S.${copy.joinColumn} = ${copy.targetTable}.${copy.joinColumn}) WHERE ${copy.targetColumn} IS NULL AND EXISTS (SELECT 1 FROM ${copy.sourceTable} S WHERE S.${copy.joinColumn} = ${copy.targetTable}.${copy.joinColumn} AND S.${copy.sourceColumn} IS NOT NULL)`);
|
|
465
|
+
}
|
|
466
|
+
for (const [table, obsoleteColumns] of Object.entries(accessiSchema_1.accessiObsoleteColumns)) {
|
|
467
|
+
for (const column of obsoleteColumns) {
|
|
468
|
+
if (columns.some(row => row.TABLE_NAME === table && row.COLUMN_NAME === column)) {
|
|
469
|
+
yield this.execute(options, `ALTER TABLE ${table} DROP ${column}`);
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
const constraints = this.groups(yield this.constraints(options));
|
|
474
|
+
for (const [table, schema] of Object.entries(accessiSchema_1.accessiTables)) {
|
|
475
|
+
const primary = constraints.find(rows => rows[0].TABLE_NAME === table && rows[0].KIND === 'PRIMARY KEY');
|
|
476
|
+
if (primary && !this.sameColumns(primary, schema.primaryKey))
|
|
477
|
+
throw new Error(`${table}: chiave primaria esistente incompatibile; nessun vincolo viene eliminato automaticamente.`);
|
|
478
|
+
if (!primary)
|
|
479
|
+
yield this.execute(options, `ALTER TABLE ${table} ADD CONSTRAINT PK_${table} PRIMARY KEY (${schema.primaryKey.join(', ')})`);
|
|
480
|
+
}
|
|
481
|
+
// Only preserve provider namespaces already referenced by historical SSO identities.
|
|
482
|
+
yield this.execute(options, `INSERT INTO SSO_PROVIDER (PROVIDER, DESCRIZIONE, FLGATTIVO)
|
|
483
|
+
SELECT DISTINCT I.PROVIDER, I.PROVIDER, 1 FROM UTENTI_IDENTITA_EXT I
|
|
484
|
+
WHERE NOT EXISTS (SELECT 1 FROM SSO_PROVIDER P WHERE P.PROVIDER = I.PROVIDER)`);
|
|
485
|
+
for (const fk of accessiSchema_1.accessiForeignKeys) {
|
|
486
|
+
const existing = constraints.find(rows => rows[0].KIND === 'FOREIGN KEY' && rows[0].TABLE_NAME === fk.table && this.sameColumns(rows, [fk.column]));
|
|
487
|
+
if (existing) {
|
|
488
|
+
// Una FK sulla stessa colonna ma verso un target/regola diverso non e compatibile:
|
|
489
|
+
// correggere il target cambiando semantica e va segnalato, non ignorato.
|
|
490
|
+
const deleteRuleOk = fk.cascade
|
|
491
|
+
? existing[0].DELETE_RULE === 'CASCADE'
|
|
492
|
+
: ['NO ACTION', 'RESTRICT'].includes(String(existing[0].DELETE_RULE));
|
|
493
|
+
if (existing[0].TARGET_TABLE !== fk.target || existing[0].TARGET_COLUMN !== fk.targetColumn || !deleteRuleOk) {
|
|
494
|
+
throw new Error(`${fk.name}: FK esistente su ${fk.table}.${fk.column} incompatibile (target ${existing[0].TARGET_TABLE}.${existing[0].TARGET_COLUMN}, delete rule ${existing[0].DELETE_RULE}); correggerla esplicitamente.`);
|
|
495
|
+
}
|
|
496
|
+
continue;
|
|
497
|
+
}
|
|
498
|
+
yield this.execute(options, `ALTER TABLE ${fk.table} ADD CONSTRAINT ${fk.name} FOREIGN KEY (${fk.column}) REFERENCES ${fk.target} (${fk.targetColumn})${fk.cascade ? ' ON DELETE CASCADE' : ''}`);
|
|
499
|
+
}
|
|
500
|
+
for (const check of accessiSchema_1.accessiChecks) {
|
|
501
|
+
if (!checks.some(row => row.TABLE_NAME === check.table && this.sameCheck(String(row.CHECK_SOURCE), check.expression))) {
|
|
502
|
+
yield this.execute(options, `ALTER TABLE ${check.table} ADD CONSTRAINT ${check.name} CHECK (${check.expression})`);
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
const indexes = yield this.indexes(options);
|
|
506
|
+
for (const index of accessiSchema_1.accessiIndexes) {
|
|
507
|
+
if (!indexes.some(rows => rows[0].TABLE_NAME === index.table && !Number(rows[0].INACTIVE) && this.sameColumns(rows, index.columns))) {
|
|
508
|
+
if (indexes.some(rows => rows[0].NAME === index.name))
|
|
509
|
+
throw new Error(`${index.name}: indice esistente incompatibile o inattivo; correggerlo esplicitamente.`);
|
|
510
|
+
yield this.execute(options, `CREATE INDEX ${index.name} ON ${index.table} (${index.columns.join(', ')})`);
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
for (const generator of accessiSchema_1.accessiGenerators) {
|
|
514
|
+
if (!(yield this.sequenceExists(options, generator.name))) {
|
|
515
|
+
// Firebird 2.5 non conosce CREATE SEQUENCE: usa CREATE GENERATOR. Da 3.0 si usa la sintassi standard.
|
|
516
|
+
yield this.execute(options, engineMajor >= 3 ? `CREATE SEQUENCE ${generator.name}` : `CREATE GENERATOR ${generator.name}`);
|
|
517
|
+
}
|
|
518
|
+
// Advance by a positive delta only: do not reset an existing sequence or reuse an allocated value.
|
|
519
|
+
yield this.execute(options, `EXECUTE BLOCK AS DECLARE VARIABLE MAX_ID BIGINT; DECLARE VARIABLE CURRENT_ID BIGINT; DECLARE VARIABLE NEXT_ID BIGINT;
|
|
520
|
+
BEGIN SELECT COALESCE(MAX(${generator.column}), 0) FROM ${generator.table} INTO :MAX_ID;
|
|
521
|
+
CURRENT_ID = GEN_ID(${generator.name}, 0);
|
|
522
|
+
IF (MAX_ID > CURRENT_ID) THEN NEXT_ID = GEN_ID(${generator.name}, MAX_ID - CURRENT_ID); END`);
|
|
523
|
+
}
|
|
524
|
+
const triggers = yield this.triggers(options);
|
|
525
|
+
for (const trigger of accessiSchema_1.accessiTriggers) {
|
|
526
|
+
if (!triggers.some(row => this.compatibleTrigger(row, trigger)) && !triggers.some(row => row.NAME === trigger.name)) {
|
|
527
|
+
if (triggers.some(row => row.TABLE_NAME === trigger.table && Number(row.TRIGGER_TYPE) === trigger.type)) {
|
|
528
|
+
throw new Error(`${trigger.table}: trigger ${trigger.event} personalizzato non riconosciuto; verificare le operazioni di ${trigger.name} prima di aggiungere trigger concorrenti.`);
|
|
529
|
+
}
|
|
530
|
+
yield this.execute(options, `CREATE TRIGGER ${trigger.name} FOR ${trigger.table} ACTIVE ${trigger.event} POSITION 0 ${trigger.body}`);
|
|
531
|
+
}
|
|
136
532
|
}
|
|
137
|
-
yield
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
ICON = ?,
|
|
142
|
-
ORDINE = ?,
|
|
143
|
-
CODTIP = ?,
|
|
144
|
-
PAGINA = ?,
|
|
145
|
-
RIFMENU = ?
|
|
146
|
-
WHERE CODMNU = ?`, [
|
|
147
|
-
menu.DESMNU,
|
|
148
|
-
menu.CODGRP,
|
|
149
|
-
menu.FLGENABLED,
|
|
150
|
-
menu.ICON,
|
|
151
|
-
menu.ORDINE,
|
|
152
|
-
menu.CODTIP,
|
|
153
|
-
menu.PAGINA,
|
|
154
|
-
menu.RIFMENU,
|
|
155
|
-
menu.CODMNU,
|
|
156
|
-
]);
|
|
533
|
+
yield this.assertCompatible(options);
|
|
534
|
+
// The host's VersioneDB/DBVERSION values belong to the host and are never overwritten.
|
|
535
|
+
yield this.execute(options, 'UPDATE OR INSERT INTO PARAMETRI (CODPAR, DESPAR) VALUES (?, ?) MATCHING (CODPAR)', [accessiSchema_1.ACCESSI_VERSION_KEY, accessiSchema_1.ACCESSI_SCHEMA_VERSION]);
|
|
536
|
+
this.logger.info(`Schema Accessi verificato: ${accessiSchema_1.ACCESSI_SCHEMA_VERSION}.`);
|
|
157
537
|
});
|
|
158
538
|
}
|
|
159
539
|
};
|
|
160
540
|
exports.AccessiDatabaseUpdater = AccessiDatabaseUpdater;
|
|
161
541
|
AccessiDatabaseUpdater.logger = new Logger_1.Logger(AccessiDatabaseUpdater_1.name);
|
|
162
|
-
AccessiDatabaseUpdater.
|
|
163
|
-
|
|
164
|
-
fromVersion: "1.0.0",
|
|
165
|
-
toVersion: "1.1.0",
|
|
166
|
-
description: "Aggiunge filtro postazione, colonna IDXPOS e menu verifica RFID",
|
|
167
|
-
apply: (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
168
|
-
yield AccessiDatabaseUpdater_1.upsertFiltroTipo(options, 20, "POSTAZIONE", "IDXPOS", undefined);
|
|
169
|
-
yield AccessiDatabaseUpdater_1.ensureColumn(options, "FILTRI", "IDXPOS SMALLINT", "IDXPOS", "idx della postazione nella tabella ANTENNE_POS di PROLAV");
|
|
170
|
-
yield AccessiDatabaseUpdater_1.upsertMenu(options, {
|
|
171
|
-
CODMNU: "MNUVERRFID",
|
|
172
|
-
DESMNU: "Verifica RFID",
|
|
173
|
-
CODGRP: "F",
|
|
174
|
-
FLGENABLED: 1,
|
|
175
|
-
ICON: "hardware-chip-outline",
|
|
176
|
-
ORDINE: 10,
|
|
177
|
-
CODTIP: "M",
|
|
178
|
-
PAGINA: "/verifica-rfid",
|
|
179
|
-
RIFMENU: null,
|
|
180
|
-
});
|
|
181
|
-
}),
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
fromVersion: "1.1.0",
|
|
185
|
-
toVersion: "1.1.1",
|
|
186
|
-
description: "Aggiunge FLGENABLED su FILTRI_TIPO",
|
|
187
|
-
apply: (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
188
|
-
const columnCreated = yield AccessiDatabaseUpdater_1.ensureColumn(options, "FILTRI_TIPO", "FLGENABLED SMALLINT DEFAULT 1 NOT NULL", "FLGENABLED");
|
|
189
|
-
if (!columnCreated) {
|
|
190
|
-
yield Orm_1.Orm.execute(options.databaseOptions, "UPDATE FILTRI_TIPO SET FLGENABLED = 1 WHERE FLGENABLED IS NULL");
|
|
191
|
-
}
|
|
192
|
-
}),
|
|
193
|
-
},
|
|
194
|
-
{
|
|
195
|
-
fromVersion: "1.1.1",
|
|
196
|
-
toVersion: "1.1.2",
|
|
197
|
-
description: "Aggiunge filtro vettore e colonna CODVET",
|
|
198
|
-
apply: (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
199
|
-
yield AccessiDatabaseUpdater_1.upsertFiltroTipo(options, 30, "VETTORE", "CODVET", 1);
|
|
200
|
-
yield AccessiDatabaseUpdater_1.ensureColumn(options, "FILTRI", "CODVET INTEGER", "CODVET", "CODICE DEL VETTORE DA INSERIRE SE COME FILTRO HA 30");
|
|
201
|
-
}),
|
|
202
|
-
},
|
|
203
|
-
{
|
|
204
|
-
fromVersion: "1.1.2",
|
|
205
|
-
toVersion: "1.1.3",
|
|
206
|
-
description: "Aggiunge FLGADMINCONFIG e inizializza PARAMETRI",
|
|
207
|
-
apply: (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
208
|
-
yield AccessiDatabaseUpdater_1.ensureColumn(options, "UTENTI_CONFIG", "FLGADMINCONFIG SMALLINT DEFAULT 0", "FLGADMINCONFIG", "flag utente configuratore dei menu amministratore");
|
|
209
|
-
yield AccessiDatabaseUpdater_1.createParametersTable(options.databaseOptions);
|
|
210
|
-
}),
|
|
211
|
-
},
|
|
212
|
-
{
|
|
213
|
-
fromVersion: "1.1.3",
|
|
214
|
-
toVersion: "1.1.4",
|
|
215
|
-
description: "Aggiunge sequence e trigger per RUOLI",
|
|
216
|
-
apply: (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
217
|
-
if (!(yield AccessiDatabaseUpdater_1.generatorExists(options.databaseOptions, "GEN_RUOLI_ID"))) {
|
|
218
|
-
yield Orm_1.Orm.execute(options.databaseOptions, "CREATE SEQUENCE GEN_RUOLI_ID");
|
|
219
|
-
}
|
|
220
|
-
if (!(yield AccessiDatabaseUpdater_1.triggerExists(options.databaseOptions, "RUOLI_BI"))) {
|
|
221
|
-
yield Orm_1.Orm.execute(options.databaseOptions, `CREATE TRIGGER RUOLI_BI FOR RUOLI
|
|
222
|
-
ACTIVE BEFORE INSERT POSITION 0
|
|
223
|
-
AS
|
|
224
|
-
BEGIN
|
|
225
|
-
IF (NEW.CODRUO IS NULL) THEN
|
|
226
|
-
NEW.CODRUO = GEN_ID(GEN_RUOLI_ID,1);
|
|
227
|
-
END`);
|
|
228
|
-
}
|
|
229
|
-
}),
|
|
230
|
-
},
|
|
231
|
-
{
|
|
232
|
-
fromVersion: "1.1.4",
|
|
233
|
-
toVersion: "1.1.5",
|
|
234
|
-
description: "Aggiunge NOTE su MENU",
|
|
235
|
-
apply: (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
236
|
-
yield AccessiDatabaseUpdater_1.ensureColumn(options, "MENU", "NOTE VARCHAR(1000)", "NOTE");
|
|
237
|
-
}),
|
|
238
|
-
},
|
|
239
|
-
{
|
|
240
|
-
fromVersion: "1.1.5",
|
|
241
|
-
toVersion: "1.1.6",
|
|
242
|
-
description: "Aggiunge NUMMAC su UTENTI_CONFIG",
|
|
243
|
-
apply: (options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
244
|
-
yield AccessiDatabaseUpdater_1.ensureColumn(options, "UTENTI_CONFIG", "NUMMAC INTEGER", "NUMMAC", 'Numero macchina DESPOST PROLAV');
|
|
245
|
-
}),
|
|
246
|
-
},
|
|
247
|
-
];
|
|
542
|
+
AccessiDatabaseUpdater.initialization = new WeakMap();
|
|
543
|
+
AccessiDatabaseUpdater.running = new Map();
|
|
248
544
|
exports.AccessiDatabaseUpdater = AccessiDatabaseUpdater = AccessiDatabaseUpdater_1 = __decorate([
|
|
249
545
|
(0, common_1.Injectable)(),
|
|
250
|
-
__param(0, (0, common_1.Inject)(
|
|
546
|
+
__param(0, (0, common_1.Inject)('ACCESSI_OPTIONS')),
|
|
251
547
|
__metadata("design:paramtypes", [Object])
|
|
252
548
|
], AccessiDatabaseUpdater);
|
|
253
549
|
//# sourceMappingURL=AccessiDatabaseUpdater.js.map
|