emilsoftware-utilities 2.0.0-dev.22 → 2.0.0-dev.24
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 +182 -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.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 +26 -6
- package/dist/Orm.js +144 -40
- 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 +115 -35
- package/dist/Utilities.js.map +1 -1
- package/dist/accessi-module/AccessiModule.d.ts +69 -0
- package/dist/accessi-module/AccessiModule.js +29 -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 +618 -0
- package/dist/accessi-module/Console/console.d.ts +1 -0
- package/dist/accessi-module/Console/console.js +3101 -0
- package/dist/accessi-module/Console/console.js.map +1 -0
- package/dist/accessi-module/Console/generated/accessiApi.d.ts +542 -0
- package/dist/accessi-module/Console/generated/accessiApi.js +517 -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/abilitazioneMenuIcona.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuIcona.js +9 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuIcona.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuNote.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuNote.js +9 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuNote.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuPagina.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuPagina.js +9 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuPagina.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuTipo.d.ts +12 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuTipo.js +9 -0
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuTipo.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/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 +27 -0
- package/dist/accessi-module/Console/generated/model/createMenuGroupRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createMenuGroupRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createMenuRequest.d.ts +52 -0
- package/dist/accessi-module/Console/generated/model/createMenuRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createMenuRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createMenuTypeRequest.d.ts +18 -0
- package/dist/accessi-module/Console/generated/model/createMenuTypeRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createMenuTypeRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenRequest.d.ts +16 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenResponse.d.ts +14 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenResponse.js +3 -0
- package/dist/accessi-module/Console/generated/model/createServiceTokenResponse.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/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/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 +93 -0
- package/dist/accessi-module/Console/generated/model/index.js +110 -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/publicRegisterRequestCellulare.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/publicRegisterRequestCellulare.js +9 -0
- package/dist/accessi-module/Console/generated/model/publicRegisterRequestCellulare.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/registerRequestCellulare.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/registerRequestCellulare.js +9 -0
- package/dist/accessi-module/Console/generated/model/registerRequestCellulare.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/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 +22 -0
- package/dist/accessi-module/Console/generated/model/updateMenuGroupRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/updateMenuGroupRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateMenuRequest.d.ts +47 -0
- package/dist/accessi-module/Console/generated/model/updateMenuRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/updateMenuRequest.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/updateMenuTypeRequest.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/updateMenuTypeRequest.js +9 -0
- package/dist/accessi-module/Console/generated/model/updateMenuTypeRequest.js.map +1 -0
- package/dist/accessi-module/Console/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/userDtoAvatar.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/userDtoAvatar.js +9 -0
- package/dist/accessi-module/Console/generated/model/userDtoAvatar.js.map +1 -0
- package/dist/accessi-module/Console/generated/model/userDtoCellulare.d.ts +13 -0
- package/dist/accessi-module/Console/generated/model/userDtoCellulare.js +9 -0
- package/dist/accessi-module/Console/generated/model/userDtoCellulare.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 +348 -0
- package/dist/accessi-module/Console/help.js.map +1 -0
- package/dist/accessi-module/Console/index.html +127 -0
- package/dist/accessi-module/Console/openApiClient.d.ts +34 -0
- package/dist/accessi-module/Console/openApiClient.js +111 -0
- package/dist/accessi-module/Console/openApiClient.js.map +1 -0
- package/dist/accessi-module/Console/wiki.d.ts +52 -0
- package/dist/accessi-module/Console/wiki.js +689 -0
- package/dist/accessi-module/Console/wiki.js.map +1 -0
- package/dist/accessi-module/Controllers/AccessiConsoleController.d.ts +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 +4 -1
- package/dist/accessi-module/Controllers/AuthController.js +86 -47
- package/dist/accessi-module/Controllers/AuthController.js.map +1 -1
- package/dist/accessi-module/Controllers/ConfiguratorController.d.ts +1 -3
- package/dist/accessi-module/Controllers/ConfiguratorController.js +9 -9
- package/dist/accessi-module/Controllers/ConfiguratorController.js.map +1 -1
- package/dist/accessi-module/Controllers/EmailController.d.ts +2 -2
- package/dist/accessi-module/Controllers/EmailController.js +4 -2
- 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 +95 -5
- 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 +282 -13
- package/dist/accessi-module/Controllers/PermissionController.js.map +1 -1
- package/dist/accessi-module/Controllers/ServiceTokenController.d.ts +23 -0
- package/dist/accessi-module/Controllers/ServiceTokenController.js +176 -0
- package/dist/accessi-module/Controllers/ServiceTokenController.js.map +1 -0
- package/dist/accessi-module/Controllers/UserController.d.ts +5 -3
- package/dist/accessi-module/Controllers/UserController.js +65 -11
- package/dist/accessi-module/Controllers/UserController.js.map +1 -1
- package/dist/accessi-module/Dtos/Abilitazione.js.map +1 -1
- package/dist/accessi-module/Dtos/AbilitazioneMenu.js +16 -8
- package/dist/accessi-module/Dtos/AbilitazioneMenu.js.map +1 -1
- package/dist/accessi-module/Dtos/AssignPermissionsToUserRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/AssignRolesToUserRequest.js +1 -1
- package/dist/accessi-module/Dtos/AssignRolesToUserRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.d.ts +3 -0
- package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.js +18 -0
- package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.js.map +1 -1
- package/dist/accessi-module/Dtos/BaseResponse.d.ts +2 -0
- package/dist/accessi-module/Dtos/BaseResponse.js +21 -2
- package/dist/accessi-module/Dtos/BaseResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/CatalogDtos.d.ts +66 -0
- package/dist/accessi-module/Dtos/CatalogDtos.js +336 -0
- package/dist/accessi-module/Dtos/CatalogDtos.js.map +1 -0
- package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/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 +4 -1
- package/dist/accessi-module/Dtos/FiltriUtente.js.map +1 -1
- package/dist/accessi-module/Dtos/GetGroupsWithMenusResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/GetMenusResponse.js +1 -1
- package/dist/accessi-module/Dtos/GetMenusResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/GetRolesResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/GetUserByTokenRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/GetUserByTokenResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/GetUsersResponse.d.ts +1 -1
- package/dist/accessi-module/Dtos/GetUsersResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/LoginRequest.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 +1 -1
- package/dist/accessi-module/Dtos/PublicRegisterRequest.js +1 -0
- package/dist/accessi-module/Dtos/PublicRegisterRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/RegisterRequest.js +3 -1
- package/dist/accessi-module/Dtos/RegisterRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/RegisterResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/Role.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/SendResetPasswordEmailRequest.js.map +1 -1
- package/dist/accessi-module/Dtos/ServiceToken.d.ts +34 -0
- package/dist/accessi-module/Dtos/ServiceToken.js +128 -0
- package/dist/accessi-module/Dtos/ServiceToken.js.map +1 -0
- package/dist/accessi-module/Dtos/SetStatoRegistrazione.js.map +1 -1
- package/dist/accessi-module/Dtos/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 +7 -0
- package/dist/accessi-module/Dtos/UserDto.js +26 -2
- package/dist/accessi-module/Dtos/UserDto.js.map +1 -1
- package/dist/accessi-module/Dtos/UserGrantsDto.js.map +1 -1
- package/dist/accessi-module/Dtos/UserGrantsResponse.js.map +1 -1
- package/dist/accessi-module/Dtos/index.d.ts +4 -0
- package/dist/accessi-module/Dtos/index.js +4 -0
- package/dist/accessi-module/Dtos/index.js.map +1 -1
- package/dist/accessi-module/Services/AuthService/AuthService.d.ts +40 -5
- package/dist/accessi-module/Services/AuthService/AuthService.js +192 -40
- 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 +43 -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 -9
- package/dist/accessi-module/Services/FiltriService/FiltriService.js.map +1 -1
- package/dist/accessi-module/Services/PermissionService/PermissionService.d.ts +73 -2
- package/dist/accessi-module/Services/PermissionService/PermissionService.js +537 -198
- package/dist/accessi-module/Services/PermissionService/PermissionService.js.map +1 -1
- package/dist/accessi-module/Services/ServiceTokenService/ServiceTokenService.d.ts +75 -0
- package/dist/accessi-module/Services/ServiceTokenService/ServiceTokenService.js +265 -0
- package/dist/accessi-module/Services/ServiceTokenService/ServiceTokenService.js.map +1 -0
- package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.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 +36 -5
- package/dist/accessi-module/Services/UserService/UserService.js +341 -161
- 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/database-updates/AccessiDatabaseUpdater.d.ts +46 -10
- package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js +399 -181
- package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js.map +1 -1
- package/dist/accessi-module/database-updates/accessiSchema.d.ts +45 -0
- package/dist/accessi-module/database-updates/accessiSchema.js +87 -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/runAccessiDbUpdate.js +18 -8
- 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 +17 -0
- package/dist/accessi-module/index.js +25 -11
- 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 +11 -0
- package/dist/accessi-module/security/accessControl.js +19 -4
- 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/authenticatedToken.d.ts +15 -1
- package/dist/accessi-module/security/authenticatedToken.js +31 -4
- package/dist/accessi-module/security/authenticatedToken.js.map +1 -1
- 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 +30 -8
- package/dist/accessi-module/security/publicAuthRateLimit.js.map +1 -1
- package/dist/accessi-module/security/serviceTokenGuard.d.ts +25 -0
- package/dist/accessi-module/security/serviceTokenGuard.js +85 -0
- package/dist/accessi-module/security/serviceTokenGuard.js.map +1 -0
- package/dist/accessi-module/security/serviceTokenRateLimit.d.ts +8 -0
- package/dist/accessi-module/security/serviceTokenRateLimit.js +49 -0
- package/dist/accessi-module/security/serviceTokenRateLimit.js.map +1 -0
- package/dist/allegati-module/AllegatiModule.d.ts +11 -0
- package/dist/allegati-module/AllegatiModule.js +11 -1
- package/dist/allegati-module/AllegatiModule.js.map +1 -1
- package/dist/allegati-module/Controllers/AllegatiController.d.ts +2 -1
- package/dist/allegati-module/Controllers/AllegatiController.js +23 -15
- package/dist/allegati-module/Controllers/AllegatiController.js.map +1 -1
- package/dist/allegati-module/Dtos/AllegatoDto.js.map +1 -1
- package/dist/allegati-module/Dtos/BaseResponse.js.map +1 -1
- package/dist/allegati-module/Dtos/UploadSingleFileRequest.js.map +1 -1
- package/dist/allegati-module/Dtos/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/firebird-compat.d.ts +13 -0
- package/dist/firebird-compat.js +3 -2
- package/dist/firebird-compat.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/initEmilsoftwareModule.js +7 -0
- 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.js +6 -3
- package/dist/swagger/SwaggerConfig.js.map +1 -1
- package/package.json +103 -83
- package/dist/emilsoftware-utilities-2.0.0-dev.22.tgz +0 -0
|
@@ -20,9 +20,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
20
20
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
21
|
});
|
|
22
22
|
};
|
|
23
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
24
|
+
var t = {};
|
|
25
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
26
|
+
t[p] = s[p];
|
|
27
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
28
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
29
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
30
|
+
t[p[i]] = s[p[i]];
|
|
31
|
+
}
|
|
32
|
+
return t;
|
|
33
|
+
};
|
|
23
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
35
|
exports.UserService = void 0;
|
|
25
36
|
const common_1 = require("@nestjs/common");
|
|
37
|
+
const optionalColumns_1 = require("../../database-updates/optionalColumns");
|
|
26
38
|
const autobind_1 = require("../../../autobind");
|
|
27
39
|
const Orm_1 = require("../../../Orm");
|
|
28
40
|
const Utilities_1 = require("../../../Utilities");
|
|
@@ -32,18 +44,39 @@ const EmailService_1 = require("../EmailService/EmailService");
|
|
|
32
44
|
const FiltriService_1 = require("../FiltriService/FiltriService");
|
|
33
45
|
const PermissionService_1 = require("../PermissionService/PermissionService");
|
|
34
46
|
let UserService = class UserService {
|
|
35
|
-
constructor(accessiOptions,
|
|
47
|
+
constructor(accessiOptions, _emailService, permissionService, filtriService) {
|
|
36
48
|
this.accessiOptions = accessiOptions;
|
|
37
|
-
this.emailService = emailService;
|
|
38
49
|
this.permissionService = permissionService;
|
|
39
50
|
this.filtriService = filtriService;
|
|
40
51
|
}
|
|
52
|
+
validateApplicationFields(value) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
const applicationFields = [['nummac', 'NUMMAC'], ['ragSocCli', 'RAGSOCCLI']];
|
|
55
|
+
let configColumns;
|
|
56
|
+
if (applicationFields.some(([key]) => value[key] !== undefined)) {
|
|
57
|
+
configColumns = yield (0, optionalColumns_1.getTableColumns)(this.accessiOptions, 'UTENTI_CONFIG');
|
|
58
|
+
for (const [key, column] of applicationFields) {
|
|
59
|
+
if (value[key] !== undefined && value[key] !== null && !configColumns.has(column)) {
|
|
60
|
+
throw new common_1.BadRequestException(`Campo applicativo non configurato: UTENTI_CONFIG.${column}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const filterKeys = Object.keys(FiltriUtente_1.FILTRI_UTENTE_DB_MAPPING);
|
|
65
|
+
if (filterKeys.some(key => value[key] !== undefined && value[key] !== null && value[key] !== '')) {
|
|
66
|
+
yield this.filtriService.validateSupportedFields(value);
|
|
67
|
+
}
|
|
68
|
+
return { configColumns };
|
|
69
|
+
});
|
|
70
|
+
}
|
|
41
71
|
normalizeDatabaseBoolean(value) {
|
|
42
72
|
return value === true || value === 1 || value === '1';
|
|
43
73
|
}
|
|
74
|
+
normalizeUserFlags(user) {
|
|
75
|
+
return Object.assign(Object.assign({}, user), { flagSuper: this.normalizeDatabaseBoolean(user.flagSuper), flagAdminConfigurator: this.normalizeDatabaseBoolean(user.flagAdminConfigurator), flagDueFattori: this.normalizeDatabaseBoolean(user.flagDueFattori), passwordlessLoginEnabled: this.normalizeDatabaseBoolean(user.passwordlessLoginEnabled), passwordLoginEnabled: user.passwordLoginEnabled == null || this.normalizeDatabaseBoolean(user.passwordLoginEnabled) });
|
|
76
|
+
}
|
|
44
77
|
normalizeEmail(email) {
|
|
45
78
|
if (typeof email !== 'string' || email.trim() === '') {
|
|
46
|
-
throw new
|
|
79
|
+
throw new common_1.BadRequestException({ code: 'ACCESSI_EMAIL_REQUIRED', message: "L'email è obbligatoria." });
|
|
47
80
|
}
|
|
48
81
|
return email.trim().toLowerCase();
|
|
49
82
|
}
|
|
@@ -53,10 +86,11 @@ let UserService = class UserService {
|
|
|
53
86
|
const existingUser = result.map(Utilities_1.RestUtilities.convertKeysToCamelCase)[0];
|
|
54
87
|
if ((existingUser === null || existingUser === void 0 ? void 0 : existingUser.codiceUtente) &&
|
|
55
88
|
(!currentUserCode || existingUser.codiceUtente !== currentUserCode)) {
|
|
56
|
-
throw new
|
|
89
|
+
throw new common_1.ConflictException({ code: 'ACCESSI_EMAIL_ALREADY_EXISTS', message: "L'email è già associata a un utente Accessi." });
|
|
57
90
|
}
|
|
58
91
|
});
|
|
59
92
|
}
|
|
93
|
+
/** Determina se l'utente puo amministrare il configuratore Accessi (`FLGADMINCONFIG`). */
|
|
60
94
|
isAdminConfigurator(codiceUtente) {
|
|
61
95
|
return __awaiter(this, void 0, void 0, function* () {
|
|
62
96
|
var _a;
|
|
@@ -65,28 +99,35 @@ let UserService = class UserService {
|
|
|
65
99
|
}
|
|
66
100
|
const query = `SELECT FLGADMINCONFIG AS flag_admin_configurator FROM UTENTI_CONFIG WHERE CODUTE = ?`;
|
|
67
101
|
const result = yield Orm_1.Orm.query(this.accessiOptions.databaseOptions, query, [codiceUtente]);
|
|
68
|
-
if (
|
|
102
|
+
if (result.length === 0) {
|
|
69
103
|
return false;
|
|
70
104
|
}
|
|
71
105
|
const mapped = result.map(Utilities_1.RestUtilities.convertKeysToCamelCase);
|
|
72
106
|
return this.normalizeDatabaseBoolean((_a = mapped[0]) === null || _a === void 0 ? void 0 : _a.flagAdminConfigurator);
|
|
73
107
|
});
|
|
74
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Legge il minimo profilo autorevole usato da JWT e middleware. Restituisce `null` per utenti inesistenti.
|
|
111
|
+
* Non usare `UserDto` dal token per decisioni di sicurezza: i flag vengono sempre riletti qui.
|
|
112
|
+
*/
|
|
75
113
|
getAuthenticatedUserSnapshot(codiceUtente) {
|
|
76
114
|
return __awaiter(this, void 0, void 0, function* () {
|
|
77
115
|
if (!codiceUtente || codiceUtente <= 0) {
|
|
78
116
|
return null;
|
|
79
117
|
}
|
|
80
|
-
const result = yield Orm_1.Orm.query(this.accessiOptions.databaseOptions, `
|
|
81
|
-
SELECT
|
|
82
|
-
U.CODUTE AS codice_utente,
|
|
83
|
-
U.USRNAME AS email,
|
|
84
|
-
U.STAREG AS stato_registrazione,
|
|
85
|
-
C.FLGSUPER AS flag_super,
|
|
86
|
-
C.FLGADMINCONFIG AS flag_admin_configurator
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
118
|
+
const result = yield Orm_1.Orm.query(this.accessiOptions.databaseOptions, `
|
|
119
|
+
SELECT
|
|
120
|
+
U.CODUTE AS codice_utente,
|
|
121
|
+
U.USRNAME AS email,
|
|
122
|
+
U.STAREG AS stato_registrazione,
|
|
123
|
+
C.FLGSUPER AS flag_super,
|
|
124
|
+
C.FLGADMINCONFIG AS flag_admin_configurator
|
|
125
|
+
, C.FLG2FATT AS flag_due_fattori
|
|
126
|
+
, C.FLGPWDLESS AS passwordless_login_enabled
|
|
127
|
+
, COALESCE(C.FLGPASSWORD, 1) AS password_login_enabled
|
|
128
|
+
FROM UTENTI U
|
|
129
|
+
LEFT JOIN UTENTI_CONFIG C ON C.CODUTE = U.CODUTE
|
|
130
|
+
WHERE U.CODUTE = ?
|
|
90
131
|
`, [codiceUtente]);
|
|
91
132
|
const user = result.map(Utilities_1.RestUtilities.convertKeysToCamelCase)[0];
|
|
92
133
|
if (!(user === null || user === void 0 ? void 0 : user.codiceUtente)) {
|
|
@@ -98,46 +139,66 @@ let UserService = class UserService {
|
|
|
98
139
|
statoRegistrazione: Number(user.statoRegistrazione),
|
|
99
140
|
flagSuper: this.normalizeDatabaseBoolean(user.flagSuper),
|
|
100
141
|
flagAdminConfigurator: this.normalizeDatabaseBoolean(user.flagAdminConfigurator),
|
|
142
|
+
flagDueFattori: this.normalizeDatabaseBoolean(user.flagDueFattori),
|
|
143
|
+
passwordlessLoginEnabled: this.normalizeDatabaseBoolean(user.passwordlessLoginEnabled),
|
|
144
|
+
passwordLoginEnabled: this.normalizeDatabaseBoolean(user.passwordLoginEnabled),
|
|
101
145
|
};
|
|
102
146
|
});
|
|
103
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Elenca gli utenti con filtri opzionali. Grant e campi estesi sono costosi e vengono caricati soltanto
|
|
150
|
+
* quando richiesti esplicitamente nelle opzioni; usare filtri puntuali nei flussi di autenticazione.
|
|
151
|
+
*/
|
|
104
152
|
getUsers(filters, options) {
|
|
105
153
|
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
+
var _a, _b, _c, _d, _e;
|
|
106
155
|
try {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
G.
|
|
128
|
-
G.
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
156
|
+
const configColumns = yield (0, optionalColumns_1.getTableColumns)(this.accessiOptions, 'UTENTI_CONFIG');
|
|
157
|
+
const filterColumns = yield (0, optionalColumns_1.getTableColumns)(this.accessiOptions, 'FILTRI');
|
|
158
|
+
// Paginazione opzionale con limiti sani: il default resta "tutti gli utenti".
|
|
159
|
+
const limit = Number.isInteger(filters === null || filters === void 0 ? void 0 : filters.limit) && ((_a = filters === null || filters === void 0 ? void 0 : filters.limit) !== null && _a !== void 0 ? _a : 0) > 0
|
|
160
|
+
? Math.min(filters === null || filters === void 0 ? void 0 : filters.limit, 1000)
|
|
161
|
+
: undefined;
|
|
162
|
+
const offset = Number.isInteger(filters === null || filters === void 0 ? void 0 : filters.offset) && ((_b = filters === null || filters === void 0 ? void 0 : filters.offset) !== null && _b !== void 0 ? _b : 0) > 0
|
|
163
|
+
? Math.trunc(filters === null || filters === void 0 ? void 0 : filters.offset)
|
|
164
|
+
: 0;
|
|
165
|
+
const pagination = `${limit !== undefined ? ` FIRST ${limit}` : ''}${offset > 0 ? ` SKIP ${offset}` : ''}`;
|
|
166
|
+
let query = `
|
|
167
|
+
SELECT${pagination}
|
|
168
|
+
U.CODUTE as codice_utente,
|
|
169
|
+
U.USRNAME as email,
|
|
170
|
+
U.FLGGDPR as flag_gdpr,
|
|
171
|
+
U.DATGDPR as data_gdpr,
|
|
172
|
+
U.DATINS as data_inserimento,
|
|
173
|
+
U.DATSCAPWD as data_scadenza_password,
|
|
174
|
+
U.DATLASTLOGIN as data_last_login,
|
|
175
|
+
U.STAREG as stato_registrazione,
|
|
176
|
+
G.COGNOME as cognome,
|
|
177
|
+
G.NOME as nome,
|
|
178
|
+
G.AVATAR as avatar,
|
|
179
|
+
G.FLG2FATT as flag_due_fattori,
|
|
180
|
+
G.FLGPWDLESS as passwordless_login_enabled,
|
|
181
|
+
G.CODLINGUA as codice_lingua,
|
|
182
|
+
G.CELLULARE as cellulare,
|
|
183
|
+
G.FLGSUPER as flag_super,
|
|
184
|
+
G.FLGADMINCONFIG as flag_admin_configurator,
|
|
185
|
+
COALESCE(G.FLGPASSWORD, 1) as password_login_enabled,
|
|
186
|
+
G.PAGDEF as pagina_default,
|
|
187
|
+
G.JSON_METADATA as json_metadata,
|
|
188
|
+
${(0, optionalColumns_1.optionalColumn)(configColumns, 'RAGSOCCLI', 'G', 'rag_soc_cli', false)},
|
|
189
|
+
${(0, optionalColumns_1.optionalColumn)(configColumns, 'NUMMAC', 'G', 'nummac')},
|
|
190
|
+
${(0, optionalColumns_1.optionalColumn)(filterColumns, 'NUMREP', 'F', 'num_rep', true)},
|
|
191
|
+
${(0, optionalColumns_1.optionalColumn)(filterColumns, 'IDXPERS', 'F', 'idx_pers', true)},
|
|
192
|
+
${(0, optionalColumns_1.optionalColumn)(filterColumns, 'CODCLISUPER', 'F', 'cod_cli_super', true)},
|
|
193
|
+
${(0, optionalColumns_1.optionalColumn)(filterColumns, 'CODAGE', 'F', 'cod_age', true)},
|
|
194
|
+
${(0, optionalColumns_1.optionalColumn)(filterColumns, 'CODCLICOL', 'F', 'cod_cli_col', true)},
|
|
195
|
+
${(0, optionalColumns_1.optionalColumn)(filterColumns, 'CODCLIENTI', 'F', 'cod_clienti', false)},
|
|
196
|
+
F.TIPFIL AS tip_fil,
|
|
197
|
+
${(0, optionalColumns_1.optionalColumn)(filterColumns, 'IDXPOS', 'F', 'idx_postazione', true)}
|
|
198
|
+
FROM UTENTI U
|
|
199
|
+
INNER JOIN UTENTI_CONFIG G ON U.CODUTE = G.CODUTE
|
|
200
|
+
LEFT JOIN FILTRI F ON F.CODUTE = U.CODUTE
|
|
201
|
+
WHERE 1=1
|
|
141
202
|
`;
|
|
142
203
|
const queryParams = [];
|
|
143
204
|
if (filters === null || filters === void 0 ? void 0 : filters.email) {
|
|
@@ -150,21 +211,27 @@ let UserService = class UserService {
|
|
|
150
211
|
}
|
|
151
212
|
query += ` ORDER BY U.CODUTE DESC `;
|
|
152
213
|
let users = (yield Orm_1.Orm.query(this.accessiOptions.databaseOptions, query, queryParams));
|
|
153
|
-
users = users.map(Utilities_1.RestUtilities.convertKeysToCamelCase);
|
|
214
|
+
users = users.map(Utilities_1.RestUtilities.convertKeysToCamelCase).map(user => this.normalizeUserFlags(user));
|
|
154
215
|
const usersResponse = [];
|
|
216
|
+
// I campi estensione sono caricati una volta per tabella (non una per utente) in query IN
|
|
217
|
+
// suddivise in blocchi per non superare i limiti di parametri del driver.
|
|
218
|
+
const extensionFieldsByUser = (options === null || options === void 0 ? void 0 : options.includeExtensionFields)
|
|
219
|
+
? yield this.loadExtensionFieldsForUsers(users.map((user) => user.codiceUtente))
|
|
220
|
+
: undefined;
|
|
221
|
+
// I grant sono caricati in batch (query IN) invece che utente per utente.
|
|
222
|
+
const grantsByUser = (options === null || options === void 0 ? void 0 : options.includeGrants)
|
|
223
|
+
? yield this.permissionService.getUsersRolesAndGrants(users.map((user) => user.codiceUtente))
|
|
224
|
+
: undefined;
|
|
155
225
|
for (const user of users) {
|
|
156
226
|
let userGrants;
|
|
157
227
|
if (options === null || options === void 0 ? void 0 : options.includeGrants) {
|
|
158
|
-
userGrants =
|
|
228
|
+
userGrants = grantsByUser === null || grantsByUser === void 0 ? void 0 : grantsByUser.get(user.codiceUtente);
|
|
159
229
|
}
|
|
160
230
|
let extensionFields;
|
|
161
231
|
if (options === null || options === void 0 ? void 0 : options.includeExtensionFields) {
|
|
162
232
|
extensionFields = {};
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
for (const ext of this.accessiOptions.extensionFieldsOptions) {
|
|
166
|
-
const values = (yield Orm_1.Orm.query(ext.databaseOptions, `SELECT ${ext.tableFields.join(',')} FROM ${ext.tableName} WHERE ${ext.tableJoinFieldName} = ?`, [user.codiceUtente])).map(Utilities_1.RestUtilities.convertKeysToCamelCase);
|
|
167
|
-
extensionFields[ext.objectKey] = values;
|
|
233
|
+
for (const ext of (_c = this.accessiOptions.extensionFieldsOptions) !== null && _c !== void 0 ? _c : []) {
|
|
234
|
+
extensionFields[ext.objectKey] = (_e = (_d = extensionFieldsByUser === null || extensionFieldsByUser === void 0 ? void 0 : extensionFieldsByUser.get(ext.objectKey)) === null || _d === void 0 ? void 0 : _d.get(user.codiceUtente)) !== null && _e !== void 0 ? _e : [];
|
|
168
235
|
}
|
|
169
236
|
}
|
|
170
237
|
usersResponse.push({
|
|
@@ -180,6 +247,68 @@ let UserService = class UserService {
|
|
|
180
247
|
}
|
|
181
248
|
});
|
|
182
249
|
}
|
|
250
|
+
/** Conteggio utenti con gli stessi filtri di `getUsers`, per la paginazione (header X-Total-Count). */
|
|
251
|
+
countUsers(filters) {
|
|
252
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
253
|
+
var _a, _b;
|
|
254
|
+
const conditions = [];
|
|
255
|
+
const params = [];
|
|
256
|
+
if (filters === null || filters === void 0 ? void 0 : filters.email) {
|
|
257
|
+
conditions.push('LOWER(U.USRNAME) = ?');
|
|
258
|
+
params.push(filters.email.trim().toLowerCase());
|
|
259
|
+
}
|
|
260
|
+
if (filters === null || filters === void 0 ? void 0 : filters.codiceUtente) {
|
|
261
|
+
conditions.push('U.CODUTE = ?');
|
|
262
|
+
params.push(filters.codiceUtente);
|
|
263
|
+
}
|
|
264
|
+
const query = `SELECT COUNT(*) AS TOTAL FROM UTENTI U INNER JOIN UTENTI_CONFIG G ON U.CODUTE = G.CODUTE WHERE 1=1 ${conditions.map((condition) => `AND ${condition}`).join(' ')}`;
|
|
265
|
+
const rows = (yield Orm_1.Orm.query(this.accessiOptions.databaseOptions, query, params, false));
|
|
266
|
+
const row = rows[0];
|
|
267
|
+
return Number((_b = (_a = row === null || row === void 0 ? void 0 : row.TOTAL) !== null && _a !== void 0 ? _a : row === null || row === void 0 ? void 0 : row.total) !== null && _b !== void 0 ? _b : 0) || 0;
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
loadExtensionFieldsForUsers(codiceUtenti) {
|
|
271
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
272
|
+
var _a;
|
|
273
|
+
const byObjectKey = new Map();
|
|
274
|
+
const extensions = (_a = this.accessiOptions.extensionFieldsOptions) !== null && _a !== void 0 ? _a : [];
|
|
275
|
+
const uniqueCodes = Array.from(new Set(codiceUtenti));
|
|
276
|
+
for (const ext of extensions) {
|
|
277
|
+
const grouped = new Map();
|
|
278
|
+
for (const chunk of this.chunkArray(uniqueCodes, 500)) {
|
|
279
|
+
if (chunk.length === 0) {
|
|
280
|
+
continue;
|
|
281
|
+
}
|
|
282
|
+
const placeholders = chunk.map(() => '?').join(', ');
|
|
283
|
+
const rows = (yield Orm_1.Orm.query(ext.databaseOptions, `SELECT ${ext.tableJoinFieldName} AS __joinkey, ${ext.tableFields.join(', ')} FROM ${ext.tableName} WHERE ${ext.tableJoinFieldName} IN (${placeholders})`, chunk)).map(Utilities_1.RestUtilities.convertKeysToCamelCase);
|
|
284
|
+
for (const row of rows) {
|
|
285
|
+
const { __joinkey } = row, rest = __rest(row, ["__joinkey"]);
|
|
286
|
+
const key = Number(__joinkey);
|
|
287
|
+
if (!Number.isFinite(key)) {
|
|
288
|
+
continue;
|
|
289
|
+
}
|
|
290
|
+
const bucket = grouped.get(key);
|
|
291
|
+
if (bucket) {
|
|
292
|
+
bucket.push(rest);
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
grouped.set(key, [rest]);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
byObjectKey.set(ext.objectKey, grouped);
|
|
300
|
+
}
|
|
301
|
+
return byObjectKey;
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
chunkArray(items, size) {
|
|
305
|
+
const chunks = [];
|
|
306
|
+
for (let index = 0; index < items.length; index += size) {
|
|
307
|
+
chunks.push(items.slice(index, index + size));
|
|
308
|
+
}
|
|
309
|
+
return chunks;
|
|
310
|
+
}
|
|
311
|
+
/** Cerca il codice interno per email normalizzata. Il chiamante deve gestire il caso senza righe. */
|
|
183
312
|
getCodiceUtenteByEmail(email) {
|
|
184
313
|
return __awaiter(this, void 0, void 0, function* () {
|
|
185
314
|
try {
|
|
@@ -194,39 +323,40 @@ let UserService = class UserService {
|
|
|
194
323
|
}
|
|
195
324
|
});
|
|
196
325
|
}
|
|
326
|
+
/** Recupera il profilo locale usato dal login, compresi filtri Accessi eventualmente presenti. */
|
|
197
327
|
getUserByEmail(email) {
|
|
198
328
|
return __awaiter(this, void 0, void 0, function* () {
|
|
199
|
-
|
|
200
|
-
const query = `
|
|
201
|
-
SELECT
|
|
202
|
-
U.CODUTE AS codice_utente,
|
|
203
|
-
U.USRNAME AS email,
|
|
204
|
-
U.FLGGDPR AS flag_gdpr,
|
|
205
|
-
U.DATSCAPWD as data_scadenza_password,
|
|
206
|
-
U.STAREG AS stato_registrazione,
|
|
207
|
-
C.COGNOME AS cognome,
|
|
208
|
-
C.NOME AS nome,
|
|
209
|
-
C.AVATAR AS avatar,
|
|
210
|
-
C.FLG2FATT AS flag_due_fattori,
|
|
211
|
-
C.
|
|
212
|
-
C.
|
|
213
|
-
C.
|
|
214
|
-
C.
|
|
215
|
-
C.
|
|
216
|
-
C.
|
|
217
|
-
C.
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
329
|
+
const configColumns = yield (0, optionalColumns_1.getTableColumns)(this.accessiOptions, 'UTENTI_CONFIG');
|
|
330
|
+
const query = `
|
|
331
|
+
SELECT
|
|
332
|
+
U.CODUTE AS codice_utente,
|
|
333
|
+
U.USRNAME AS email,
|
|
334
|
+
U.FLGGDPR AS flag_gdpr,
|
|
335
|
+
U.DATSCAPWD as data_scadenza_password,
|
|
336
|
+
U.STAREG AS stato_registrazione,
|
|
337
|
+
C.COGNOME AS cognome,
|
|
338
|
+
C.NOME AS nome,
|
|
339
|
+
C.AVATAR AS avatar,
|
|
340
|
+
C.FLG2FATT AS flag_due_fattori,
|
|
341
|
+
C.FLGPWDLESS AS passwordless_login_enabled,
|
|
342
|
+
C.CODLINGUA AS codice_lingua,
|
|
343
|
+
C.CELLULARE AS cellulare,
|
|
344
|
+
C.FLGSUPER AS flag_super,
|
|
345
|
+
C.FLGADMINCONFIG AS flag_admin_configurator,
|
|
346
|
+
COALESCE(C.FLGPASSWORD, 1) AS password_login_enabled,
|
|
347
|
+
C.PAGDEF AS pagina_default,
|
|
348
|
+
${(0, optionalColumns_1.optionalColumn)(configColumns, 'NUMMAC', 'C', 'nummac')},
|
|
349
|
+
${(0, optionalColumns_1.optionalColumn)(configColumns, 'RAGSOCCLI', 'C', 'rag_soc_cli', false)}
|
|
350
|
+
FROM UTENTI U
|
|
351
|
+
INNER JOIN UTENTI_CONFIG C ON C.CODUTE = U.CODUTE
|
|
352
|
+
WHERE LOWER(U.USRNAME) = ?
|
|
221
353
|
`;
|
|
222
354
|
const utenti = (yield Orm_1.Orm.query(this.accessiOptions.databaseOptions, query, [email]).then((results) => results.map(Utilities_1.RestUtilities.convertKeysToCamelCase)));
|
|
223
|
-
const
|
|
224
|
-
if (
|
|
355
|
+
const user = utenti[0];
|
|
356
|
+
if (!user)
|
|
225
357
|
return null;
|
|
226
|
-
|
|
227
|
-
if (
|
|
228
|
-
const user = utenti[0];
|
|
229
|
-
const filtro = filtriUtente[0];
|
|
358
|
+
const filtro = (yield this.filtriService.getFiltriUser(user.codiceUtente))[0];
|
|
359
|
+
if (filtro) {
|
|
230
360
|
const filterValues = {};
|
|
231
361
|
Object.entries(FiltriUtente_1.FILTRI_UTENTE_DB_MAPPING).forEach(([key]) => {
|
|
232
362
|
if (key in filtro) {
|
|
@@ -235,7 +365,7 @@ let UserService = class UserService {
|
|
|
235
365
|
});
|
|
236
366
|
Object.assign(user, filterValues);
|
|
237
367
|
}
|
|
238
|
-
return
|
|
368
|
+
return this.normalizeUserFlags(user);
|
|
239
369
|
});
|
|
240
370
|
}
|
|
241
371
|
insertUserFilters(codiceUtente, filterData) {
|
|
@@ -243,89 +373,103 @@ let UserService = class UserService {
|
|
|
243
373
|
yield this.filtriService.upsertFiltriUtente(codiceUtente, filterData);
|
|
244
374
|
});
|
|
245
375
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
}
|
|
376
|
+
/**
|
|
377
|
+
* Crea utente, configurazione e filtri. La registrazione pubblica resta in stato `INVIO` e non puo
|
|
378
|
+
* impostare privilegi, ruoli o grant; soltanto flussi backend fidati possono usare `allowPrivilegedFields`.
|
|
379
|
+
*/
|
|
251
380
|
register(registrationData, options) {
|
|
252
381
|
return __awaiter(this, void 0, void 0, function* () {
|
|
253
|
-
var _a
|
|
382
|
+
var _a;
|
|
254
383
|
try {
|
|
255
384
|
const allowPrivilegedFields = (options === null || options === void 0 ? void 0 : options.allowPrivilegedFields) === true;
|
|
256
385
|
const normalizedEmail = this.normalizeEmail(registrationData.email);
|
|
386
|
+
if (registrationData.flagDueFattori !== undefined && typeof registrationData.flagDueFattori !== 'boolean') {
|
|
387
|
+
throw new common_1.BadRequestException('Il flag due fattori deve essere booleano.');
|
|
388
|
+
}
|
|
389
|
+
if (registrationData.flagDueFattori && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(normalizedEmail)) {
|
|
390
|
+
throw new common_1.BadRequestException('Per attivare i codici di accesso serve un indirizzo email valido.');
|
|
391
|
+
}
|
|
257
392
|
if (!allowPrivilegedFields &&
|
|
258
393
|
(registrationData.flagSuper !== undefined ||
|
|
259
394
|
registrationData.flagAdminConfigurator !== undefined ||
|
|
395
|
+
registrationData.flagDueFattori !== undefined ||
|
|
260
396
|
registrationData.roles !== undefined ||
|
|
261
397
|
registrationData.permissions !== undefined)) {
|
|
262
398
|
throw new Error('I campi privilegiati non sono consentiti nella registrazione pubblica.');
|
|
263
399
|
}
|
|
400
|
+
yield this.validateApplicationFields(registrationData);
|
|
264
401
|
yield this.ensureEmailIsAvailable(normalizedEmail);
|
|
265
|
-
const queryUtenti = `INSERT INTO UTENTI (USRNAME, STAREG) VALUES (?,?)`;
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
{
|
|
278
|
-
key: 'cellulare',
|
|
279
|
-
dbField: 'CELLULARE',
|
|
280
|
-
transform: (v) => String(v),
|
|
281
|
-
},
|
|
282
|
-
{
|
|
283
|
-
key: 'avatar',
|
|
284
|
-
dbField: 'AVATAR',
|
|
285
|
-
transform: (v) => String(v),
|
|
286
|
-
},
|
|
287
|
-
{
|
|
288
|
-
key: 'flagDueFattori',
|
|
289
|
-
dbField: 'FLG2FATT',
|
|
290
|
-
transform: (v) => (v ? 1 : 0),
|
|
291
|
-
},
|
|
292
|
-
{
|
|
293
|
-
key: 'paginaDefault',
|
|
294
|
-
dbField: 'PAGDEF',
|
|
295
|
-
transform: (v) => String(v),
|
|
296
|
-
},
|
|
297
|
-
{
|
|
298
|
-
key: 'nummac',
|
|
299
|
-
dbField: 'NUMMAC',
|
|
300
|
-
transform: (v) => Number(v),
|
|
301
|
-
},
|
|
302
|
-
{
|
|
303
|
-
key: 'ragSocCli',
|
|
304
|
-
dbField: 'RAGSOCCLI',
|
|
305
|
-
transform: (v) => String(v),
|
|
306
|
-
},
|
|
307
|
-
];
|
|
308
|
-
if (allowPrivilegedFields) {
|
|
309
|
-
optionalFields.push({
|
|
310
|
-
key: 'flagSuper',
|
|
311
|
-
dbField: 'FLGSUPER',
|
|
312
|
-
transform: (v) => (v ? 1 : 0),
|
|
313
|
-
}, {
|
|
314
|
-
key: 'flagAdminConfigurator',
|
|
315
|
-
dbField: 'FLGADMINCONFIG',
|
|
316
|
-
transform: (v) => (v ? 1 : 0),
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
for (const field of optionalFields) {
|
|
320
|
-
const value = registrationData[field.key];
|
|
321
|
-
if (value !== undefined && value !== null) {
|
|
322
|
-
utentiConfigFields.push(field.dbField);
|
|
323
|
-
utentiConfigPlaceholders.push('?');
|
|
324
|
-
utentiConfigParams.push(field.transform ? field.transform(value) : value);
|
|
402
|
+
const queryUtenti = `INSERT INTO UTENTI (USRNAME, STAREG) VALUES (?,?) RETURNING CODUTE`;
|
|
403
|
+
// Public/local registrations keep the historic INVIO state; trusted master or SSO flows may opt into CONF.
|
|
404
|
+
const paramsUtenti = [normalizedEmail, (_a = options === null || options === void 0 ? void 0 : options.initialState) !== null && _a !== void 0 ? _a : StatoRegistrazione_1.StatoRegistrazione.INVIO];
|
|
405
|
+
// Utente e configurazione sono creati in un'unica transazione; filtri e assegnazioni restano
|
|
406
|
+
// fuori perché delegati a servizi dedicati.
|
|
407
|
+
const codiceUtente = yield Orm_1.Orm.withTransaction(this.accessiOptions.databaseOptions, (transaction) => __awaiter(this, void 0, void 0, function* () {
|
|
408
|
+
var _a;
|
|
409
|
+
const insertedUsers = yield Orm_1.Orm.transactionQuery(transaction, queryUtenti, paramsUtenti);
|
|
410
|
+
const insertedUser = (Array.isArray(insertedUsers) ? insertedUsers[0] : insertedUsers);
|
|
411
|
+
const newCodiceUtente = Number((_a = insertedUser === null || insertedUser === void 0 ? void 0 : insertedUser.CODUTE) !== null && _a !== void 0 ? _a : insertedUser === null || insertedUser === void 0 ? void 0 : insertedUser.codute);
|
|
412
|
+
if (!newCodiceUtente) {
|
|
413
|
+
throw new Error('Creazione utente non riuscita: impossibile recuperare CODUTE.');
|
|
325
414
|
}
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
415
|
+
const utentiConfigFields = ['CODUTE', 'COGNOME', 'NOME'];
|
|
416
|
+
const utentiConfigPlaceholders = ['?', '?', '?'];
|
|
417
|
+
const utentiConfigParams = [newCodiceUtente, registrationData.cognome, registrationData.nome];
|
|
418
|
+
const optionalFields = [
|
|
419
|
+
{
|
|
420
|
+
key: 'cellulare',
|
|
421
|
+
dbField: 'CELLULARE',
|
|
422
|
+
transform: (v) => String(v),
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
key: 'avatar',
|
|
426
|
+
dbField: 'AVATAR',
|
|
427
|
+
transform: (v) => String(v),
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
key: 'flagDueFattori',
|
|
431
|
+
dbField: 'FLG2FATT',
|
|
432
|
+
transform: (v) => (v ? 1 : 0),
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
key: 'paginaDefault',
|
|
436
|
+
dbField: 'PAGDEF',
|
|
437
|
+
transform: (v) => String(v),
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
key: 'nummac',
|
|
441
|
+
dbField: 'NUMMAC',
|
|
442
|
+
transform: (v) => Number(v),
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
key: 'ragSocCli',
|
|
446
|
+
dbField: 'RAGSOCCLI',
|
|
447
|
+
transform: (v) => String(v),
|
|
448
|
+
},
|
|
449
|
+
];
|
|
450
|
+
if (allowPrivilegedFields) {
|
|
451
|
+
optionalFields.push({
|
|
452
|
+
key: 'flagSuper',
|
|
453
|
+
dbField: 'FLGSUPER',
|
|
454
|
+
transform: (v) => (v ? 1 : 0),
|
|
455
|
+
}, {
|
|
456
|
+
key: 'flagAdminConfigurator',
|
|
457
|
+
dbField: 'FLGADMINCONFIG',
|
|
458
|
+
transform: (v) => (v ? 1 : 0),
|
|
459
|
+
});
|
|
460
|
+
}
|
|
461
|
+
for (const field of optionalFields) {
|
|
462
|
+
const value = registrationData[field.key];
|
|
463
|
+
if (value !== undefined && value !== null) {
|
|
464
|
+
utentiConfigFields.push(field.dbField);
|
|
465
|
+
utentiConfigPlaceholders.push('?');
|
|
466
|
+
utentiConfigParams.push(field.transform ? field.transform(value) : value);
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
const queryUtentiConfig = `INSERT INTO UTENTI_CONFIG (${utentiConfigFields.join(', ')}) VALUES (${utentiConfigPlaceholders.join(', ')})`;
|
|
470
|
+
yield Orm_1.Orm.transactionQuery(transaction, queryUtentiConfig, utentiConfigParams);
|
|
471
|
+
return newCodiceUtente;
|
|
472
|
+
}));
|
|
329
473
|
yield this.filtriService.upsertFiltriUtente(codiceUtente, registrationData);
|
|
330
474
|
if (allowPrivilegedFields && !!registrationData.roles && registrationData.roles.length > 0) {
|
|
331
475
|
yield this.permissionService.assignRolesToUser(codiceUtente, registrationData.roles);
|
|
@@ -342,20 +486,45 @@ let UserService = class UserService {
|
|
|
342
486
|
}
|
|
343
487
|
});
|
|
344
488
|
}
|
|
489
|
+
/**
|
|
490
|
+
* Aggiorna il profilo utente e i filtri. Le modifiche a stato, ruoli, grant e flag amministrativi richiedono
|
|
491
|
+
* `allowPrivilegedChanges`; gli array ruolo/grant passati in un flusso fidato sostituiscono le assegnazioni.
|
|
492
|
+
*/
|
|
345
493
|
updateUser(codiceUtente, user, options) {
|
|
346
494
|
return __awaiter(this, void 0, void 0, function* () {
|
|
495
|
+
var _a, _b, _c, _d;
|
|
347
496
|
try {
|
|
348
497
|
if (!codiceUtente)
|
|
349
498
|
throw new Error('Impossibile aggiornare senza codice utente.');
|
|
350
499
|
const allowPrivilegedChanges = (options === null || options === void 0 ? void 0 : options.allowPrivilegedChanges) === true;
|
|
500
|
+
for (const value of [user.flagDueFattori, user.passwordlessLoginEnabled]) {
|
|
501
|
+
if (value !== undefined && typeof value !== 'boolean')
|
|
502
|
+
throw new common_1.BadRequestException('Le policy di autenticazione devono essere booleane.');
|
|
503
|
+
}
|
|
351
504
|
if (!allowPrivilegedChanges &&
|
|
352
505
|
(user.statoRegistrazione !== undefined ||
|
|
353
506
|
user.flagSuper !== undefined ||
|
|
354
507
|
user.flagAdminConfigurator !== undefined ||
|
|
508
|
+
user.passwordLoginEnabled !== undefined ||
|
|
509
|
+
user.passwordlessLoginEnabled !== undefined ||
|
|
510
|
+
user.flagDueFattori !== undefined ||
|
|
355
511
|
user.roles !== undefined ||
|
|
356
512
|
user.permissions !== undefined)) {
|
|
357
513
|
throw new Error('Non e consentito modificare campi privilegiati.');
|
|
358
514
|
}
|
|
515
|
+
if (user.flagDueFattori !== undefined || user.passwordlessLoginEnabled !== undefined || user.email !== undefined) {
|
|
516
|
+
const current = yield this.getAuthenticatedUserSnapshot(codiceUtente);
|
|
517
|
+
if (!current)
|
|
518
|
+
throw new common_1.BadRequestException('Utente non trovato.');
|
|
519
|
+
const twoFactor = (_a = user.flagDueFattori) !== null && _a !== void 0 ? _a : current.flagDueFattori;
|
|
520
|
+
const passwordless = (_b = user.passwordlessLoginEnabled) !== null && _b !== void 0 ? _b : current.passwordlessLoginEnabled;
|
|
521
|
+
if (passwordless && !twoFactor)
|
|
522
|
+
throw new common_1.BadRequestException('Il login senza password richiede il codice di accesso attivo.');
|
|
523
|
+
if (twoFactor && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(((_d = (_c = user.email) !== null && _c !== void 0 ? _c : current.email) !== null && _d !== void 0 ? _d : '').trim())) {
|
|
524
|
+
throw new common_1.BadRequestException('Per attivare i codici di accesso serve un indirizzo email valido.');
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
const { configColumns } = yield this.validateApplicationFields(user);
|
|
359
528
|
const utentiUpdates = [];
|
|
360
529
|
const utentiParams = [];
|
|
361
530
|
if (user.email !== undefined) {
|
|
@@ -393,7 +562,11 @@ let UserService = class UserService {
|
|
|
393
562
|
}
|
|
394
563
|
if (user.flagDueFattori !== undefined) {
|
|
395
564
|
utentiConfigUpdates.push('flg2fatt = ?');
|
|
396
|
-
utentiConfigParams.push(user.flagDueFattori);
|
|
565
|
+
utentiConfigParams.push(user.flagDueFattori ? 1 : 0);
|
|
566
|
+
}
|
|
567
|
+
if (user.passwordlessLoginEnabled !== undefined) {
|
|
568
|
+
utentiConfigUpdates.push('flgpwdless = ?');
|
|
569
|
+
utentiConfigParams.push(user.passwordlessLoginEnabled ? 1 : 0);
|
|
397
570
|
}
|
|
398
571
|
if (user.codiceLingua !== undefined) {
|
|
399
572
|
utentiConfigUpdates.push('codlingua = ?');
|
|
@@ -411,6 +584,10 @@ let UserService = class UserService {
|
|
|
411
584
|
utentiConfigUpdates.push('flgadminconfig = ?');
|
|
412
585
|
utentiConfigParams.push(user.flagAdminConfigurator);
|
|
413
586
|
}
|
|
587
|
+
if (allowPrivilegedChanges && user.passwordLoginEnabled !== undefined) {
|
|
588
|
+
utentiConfigUpdates.push('flgpassword = ?');
|
|
589
|
+
utentiConfigParams.push(user.passwordLoginEnabled ? 1 : 0);
|
|
590
|
+
}
|
|
414
591
|
if (user.paginaDefault !== undefined) {
|
|
415
592
|
utentiConfigUpdates.push('pagdef = ?');
|
|
416
593
|
utentiConfigParams.push(user.paginaDefault);
|
|
@@ -419,7 +596,7 @@ let UserService = class UserService {
|
|
|
419
596
|
utentiConfigUpdates.push('json_metadata = ?');
|
|
420
597
|
utentiConfigParams.push(user.jsonMetadata);
|
|
421
598
|
}
|
|
422
|
-
if (user.ragSocCli !== undefined) {
|
|
599
|
+
if (user.ragSocCli !== undefined && (user.ragSocCli !== null || (configColumns === null || configColumns === void 0 ? void 0 : configColumns.has('RAGSOCCLI')))) {
|
|
423
600
|
utentiConfigUpdates.push('ragsoccli = ?');
|
|
424
601
|
utentiConfigParams.push(user.ragSocCli);
|
|
425
602
|
}
|
|
@@ -428,10 +605,10 @@ let UserService = class UserService {
|
|
|
428
605
|
utentiConfigParams.push(codiceUtente);
|
|
429
606
|
yield Orm_1.Orm.execute(this.accessiOptions.databaseOptions, queryUtentiConfig, utentiConfigParams);
|
|
430
607
|
}
|
|
431
|
-
if (allowPrivilegedChanges &&
|
|
608
|
+
if (allowPrivilegedChanges && Array.isArray(user.roles)) {
|
|
432
609
|
yield this.permissionService.assignRolesToUser(codiceUtente, user.roles);
|
|
433
610
|
}
|
|
434
|
-
if (allowPrivilegedChanges &&
|
|
611
|
+
if (allowPrivilegedChanges && Array.isArray(user.permissions)) {
|
|
435
612
|
yield this.permissionService.assignPermissionsToUser(codiceUtente, user.permissions);
|
|
436
613
|
}
|
|
437
614
|
yield this.filtriService.upsertFiltriUtente(codiceUtente, user);
|
|
@@ -446,6 +623,7 @@ let UserService = class UserService {
|
|
|
446
623
|
yield this.filtriService.upsertFiltriUtente(codiceUtente, user);
|
|
447
624
|
});
|
|
448
625
|
}
|
|
626
|
+
/** Eliminazione logica: imposta lo stato `DELETE` senza cancellare lo storico o i collegamenti SSO. */
|
|
449
627
|
deleteUser(codiceCliente) {
|
|
450
628
|
return __awaiter(this, void 0, void 0, function* () {
|
|
451
629
|
try {
|
|
@@ -460,6 +638,7 @@ let UserService = class UserService {
|
|
|
460
638
|
}
|
|
461
639
|
});
|
|
462
640
|
}
|
|
641
|
+
/** Cambia esplicitamente lo stato di registrazione; usare questa API per blocco, conferma o eliminazione logica. */
|
|
463
642
|
setStato(codiceCliente, statoRegistrazione) {
|
|
464
643
|
return __awaiter(this, void 0, void 0, function* () {
|
|
465
644
|
try {
|
|
@@ -477,9 +656,10 @@ let UserService = class UserService {
|
|
|
477
656
|
setGdpr(codiceUtente) {
|
|
478
657
|
return __awaiter(this, void 0, void 0, function* () {
|
|
479
658
|
try {
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
659
|
+
return yield Orm_1.Orm.executeMultiple(this.accessiOptions.databaseOptions, [
|
|
660
|
+
{ query: 'INSERT INTO UTENTI_GDPR (CODUTE, GDPR) VALUES (?, ?)', params: [codiceUtente, 'true'] },
|
|
661
|
+
{ query: 'UPDATE UTENTI SET FLGGDPR = 1, DATGDPR = CURRENT_DATE WHERE CODUTE = ?', params: [codiceUtente] },
|
|
662
|
+
]);
|
|
483
663
|
}
|
|
484
664
|
catch (error) {
|
|
485
665
|
throw error;
|