emilsoftware-utilities 2.0.0-dev.83 → 2.0.0-dev.85
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/LICENSE +15 -0
- package/README.md +373 -0
- package/SECURITY.md +66 -0
- package/dist/EmilsoftwareModule.d.ts +1 -1
- package/dist/EmilsoftwareModule.js +1 -1
- package/dist/EmilsoftwareModule.js.map +1 -1
- package/dist/Orm.js +19 -19
- package/dist/Orm.js.map +1 -1
- package/dist/Utilities.d.ts +1 -1
- package/dist/Utilities.js.map +1 -1
- package/dist/accessi/client/admin/index.d.ts +4 -4
- package/dist/accessi/client/admin/index.js +2 -2
- package/dist/accessi/client/admin/index.js.map +1 -1
- package/dist/accessi/client/createAccessiClient.d.ts +1 -1
- package/dist/accessi/client/createAccessiClient.js +1 -1
- package/dist/accessi/client/createAccessiClient.js.map +1 -1
- package/dist/accessi/client/generated/admin.d.ts +1 -1
- package/dist/accessi/client/generated/admin.js +1 -1
- package/dist/accessi/client/generated/admin.js.map +1 -1
- package/dist/accessi/client/generated/public.d.ts +1 -1
- package/dist/accessi/client/generated/public.js +1 -1
- package/dist/accessi/client/generated/public.js.map +1 -1
- package/dist/accessi/client/generated/service.d.ts +1 -1
- package/dist/accessi/client/generated/service.js +1 -1
- package/dist/accessi/client/generated/service.js.map +1 -1
- package/dist/accessi/client/index.d.ts +7 -7
- package/dist/accessi/client/index.js +6 -6
- package/dist/accessi/client/index.js.map +1 -1
- package/dist/accessi/client/public/index.d.ts +4 -4
- package/dist/accessi/client/public/index.js +2 -2
- package/dist/accessi/client/public/index.js.map +1 -1
- package/dist/accessi/client/service/index.d.ts +4 -4
- package/dist/accessi/client/service/index.js +2 -2
- package/dist/accessi/client/service/index.js.map +1 -1
- package/dist/accessi/contracts/dtos.d.ts +1 -1
- package/dist/accessi/contracts/dtos.js +1 -1
- package/dist/accessi/contracts/dtos.js.map +1 -1
- package/dist/accessi/contracts/index.d.ts +6 -6
- package/dist/accessi/contracts/index.js +4 -4
- package/dist/accessi/contracts/index.js.map +1 -1
- package/dist/accessi/resource-server/core.d.ts +13 -0
- package/dist/accessi/resource-server/core.js +17 -0
- package/dist/accessi/resource-server/core.js.map +1 -1
- package/dist/accessi/resource-server/express.js +1 -1
- package/dist/accessi/resource-server/express.js.map +1 -1
- package/dist/accessi/resource-server/nest.js +1 -1
- package/dist/accessi/resource-server/nest.js.map +1 -1
- package/dist/accessi/resource-server/token.js +1 -1
- package/dist/accessi/resource-server/token.js.map +1 -1
- package/dist/accessi/resource-server/types.d.ts +3 -3
- package/dist/accessi/resource-server/types.js.map +1 -1
- package/dist/accessi/server/index.d.ts +6 -3
- package/dist/accessi/server/index.js +8 -3
- package/dist/accessi/server/index.js.map +1 -1
- package/dist/accessi/server/standalone.d.ts +4 -4
- package/dist/accessi/server/standalone.js +6 -6
- package/dist/accessi/server/standalone.js.map +1 -1
- package/dist/accessi/server/tenantRouter.d.ts +35 -0
- package/dist/accessi/server/tenantRouter.js +71 -0
- package/dist/accessi/server/tenantRouter.js.map +1 -0
- package/dist/accessi/server/tenantStores.d.ts +6 -6
- package/dist/accessi/server/tenantStores.js +5 -5
- package/dist/accessi/server/tenantStores.js.map +1 -1
- package/dist/accessi/server/tenants.d.ts +8 -8
- package/dist/accessi/server/tenants.js +1 -1
- package/dist/accessi/server/tenants.js.map +1 -1
- package/dist/accessi-service/AccessiModule.js +120 -0
- package/dist/accessi-service/AccessiModule.js.map +1 -0
- package/dist/accessi-service/accessiRuntime.d.ts +45 -0
- package/dist/accessi-service/accessiRuntime.js +39 -0
- package/dist/accessi-service/accessiRuntime.js.map +1 -0
- package/dist/accessi-service/console/accessiFetch.js.map +1 -0
- package/dist/accessi-service/console/console.js +4875 -0
- package/dist/accessi-service/console/console.js.map +1 -0
- package/dist/accessi-service/console/generated/emilsoftware-utilities.js.map +1 -0
- package/dist/accessi-service/console/generated/model/abilitazioneMenu.js.map +1 -0
- package/dist/accessi-service/console/generated/model/abilitazioneMenuTipoAbilitazione.js.map +1 -0
- package/dist/accessi-service/console/generated/model/accessiIntrospectionResultDto.js.map +1 -0
- package/dist/accessi-service/console/generated/model/actionResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/adminBootstrapStatusResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/adminBootstrapStatusResult.js.map +1 -0
- package/dist/accessi-service/console/generated/model/assignPermissionsToUserRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/assignRolesToUserRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/authenticatedTokenPayloadDto.js.map +1 -0
- package/dist/accessi-service/console/generated/model/authenticatedUserPayloadDto.js.map +1 -0
- package/dist/accessi-service/console/generated/model/bootstrapAdminRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/bootstrapAdminResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/bootstrapAdminResultDto.js.map +1 -0
- package/dist/accessi-service/console/generated/model/confirmResetPasswordRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/consoleEntryExchangeRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/consoleEntrySessionResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/consoleEntrySessionResult.js.map +1 -0
- package/dist/accessi-service/console/generated/model/consoleEntryTicketResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/consoleEntryTicketResult.js.map +1 -0
- package/dist/accessi-service/console/generated/model/consoleEntryTokenResult.js.map +1 -0
- package/dist/accessi-service/console/generated/model/createFederatedIdentityRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/createFederatedProviderRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/createFederatedUserRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/createFilterTypeRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/createFilterTypeRequestFlgEnabled.js.map +1 -0
- package/dist/accessi-service/console/generated/model/createMenuGroupRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/createMenuRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/createMenuTypeRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/createScopeRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/createServiceTokenRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/createServiceTokenResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/errorResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/exchangeFederatedIdentityRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/exportAuditOrder.js.map +1 -0
- package/dist/accessi-service/console/generated/model/exportAuditParams.js.map +1 -0
- package/dist/accessi-service/console/generated/model/federatedAuthenticationResultDto.js.map +1 -0
- package/dist/accessi-service/console/generated/model/federatedExchangeResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/federatedIdentityListResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/federatedIdentityResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/federatedIdentityResponseDto.js.map +1 -0
- package/dist/accessi-service/console/generated/model/federatedProviderListResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/federatedProviderResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/federatedProviderResponseDto.js.map +1 -0
- package/dist/accessi-service/console/generated/model/filtriUtente.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getFiltriResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getFiltriUtenteParams.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getFiltriUtenteResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getGroupsWithMenusParams.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getGroupsWithMenusResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getMenuScopesResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getMenuTypesResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getMenusParams.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getMenusResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getRolesResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getSchemaResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getScopesResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getServiceTokensParams.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getServiceTokensResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getUserByTokenRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getUserByTokenResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getUserRolesAndGrantsParams.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getUsersParams.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getUsersResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getUsersResult.js.map +1 -0
- package/dist/accessi-service/console/generated/model/getUsersResultExtensionFields.js.map +1 -0
- package/dist/accessi-service/console/generated/model/groupWithMenusEntity.js.map +1 -0
- package/dist/accessi-service/console/generated/model/index.js.map +1 -0
- package/dist/accessi-service/console/generated/model/introspectAccessiTokenRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/introspectAccessiTokenResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/issuedServiceTokenDto.js.map +1 -0
- package/dist/accessi-service/console/generated/model/loginAsRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/loginAsResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/loginAsResult.js.map +1 -0
- package/dist/accessi-service/console/generated/model/loginRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/loginResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/loginResult.js.map +1 -0
- package/dist/accessi-service/console/generated/model/loginResultExtensionFields.js.map +1 -0
- package/dist/accessi-service/console/generated/model/loginResultPasswordRequired.js.map +1 -0
- package/dist/accessi-service/console/generated/model/menuEntity.js.map +1 -0
- package/dist/accessi-service/console/generated/model/menuTypeEntity.js.map +1 -0
- package/dist/accessi-service/console/generated/model/passwordExpiredResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/permission.js.map +1 -0
- package/dist/accessi-service/console/generated/model/publicRegisterRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/queryAuditOrder.js.map +1 -0
- package/dist/accessi-service/console/generated/model/queryAuditParams.js.map +1 -0
- package/dist/accessi-service/console/generated/model/refreshTokenRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/refreshTokenResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/refreshTokenResult.js.map +1 -0
- package/dist/accessi-service/console/generated/model/registerRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/registerResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/resendTwoFactorRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/revokeTokenRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/role.js.map +1 -0
- package/dist/accessi-service/console/generated/model/ruoliMenu.js.map +1 -0
- package/dist/accessi-service/console/generated/model/ruoliMenuTipoAbilitazione.js.map +1 -0
- package/dist/accessi-service/console/generated/model/schemaDdlResult.js.map +1 -0
- package/dist/accessi-service/console/generated/model/schemaDdlSection.js.map +1 -0
- package/dist/accessi-service/console/generated/model/scopeEntity.js.map +1 -0
- package/dist/accessi-service/console/generated/model/sendResetPasswordEmailRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/serveResetPasswordPageParams.js.map +1 -0
- package/dist/accessi-service/console/generated/model/serviceTokenDto.js.map +1 -0
- package/dist/accessi-service/console/generated/model/setMenuScopesRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/setPasswordLoginPolicyRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/setScopeMenusRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/setStatoRegistrazioneDto.js.map +1 -0
- package/dist/accessi-service/console/generated/model/setStatoRegistrazioneDtoStatoRegistrazione.js.map +1 -0
- package/dist/accessi-service/console/generated/model/setUserPasswordRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/status.js.map +1 -0
- package/dist/accessi-service/console/generated/model/tipoFiltro.js.map +1 -0
- package/dist/accessi-service/console/generated/model/tipoFiltroFlgEnabled.js.map +1 -0
- package/dist/accessi-service/console/generated/model/tokenResult.js.map +1 -0
- package/dist/accessi-service/console/generated/model/tokenResultType.js.map +1 -0
- package/dist/accessi-service/console/generated/model/twoFactorChallengeDto.js.map +1 -0
- package/dist/accessi-service/console/generated/model/twoFactorChallengeDtoMethod.js.map +1 -0
- package/dist/accessi-service/console/generated/model/twoFactorChallengeDtoTwoFactorRequired.js.map +1 -0
- package/dist/accessi-service/console/generated/model/updateEnabledStatusRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/updateFederatedIdentityRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/updateFederatedProviderRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/updateFilterTypeRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/updateFilterTypeRequestFlgEnabled.js.map +1 -0
- package/dist/accessi-service/console/generated/model/updateMenuGroupRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/updateMenuRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/updateMenuTypeRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/updateScopeRequest.js.map +1 -0
- package/dist/accessi-service/console/generated/model/userDto.js.map +1 -0
- package/dist/accessi-service/console/generated/model/userDtoStatoRegistrazione.js.map +1 -0
- package/dist/accessi-service/console/generated/model/userGrantsDto.js.map +1 -0
- package/dist/accessi-service/console/generated/model/userGrantsResponse.js.map +1 -0
- package/dist/accessi-service/console/generated/model/verifyTwoFactorRequest.js.map +1 -0
- package/dist/accessi-service/console/help.js.map +1 -0
- package/dist/accessi-service/console/wiki.js +1533 -0
- package/dist/accessi-service/console/wiki.js.map +1 -0
- package/dist/accessi-service/controllers/AccessiAuditController.d.ts +16 -0
- package/dist/accessi-service/controllers/AccessiAuditController.js +155 -0
- package/dist/accessi-service/controllers/AccessiAuditController.js.map +1 -0
- package/dist/accessi-service/controllers/AccessiConsoleController.js +169 -0
- package/dist/accessi-service/controllers/AccessiConsoleController.js.map +1 -0
- package/dist/accessi-service/controllers/AccessiIntrospectionController.d.ts +17 -0
- package/dist/accessi-service/controllers/AccessiIntrospectionController.js +102 -0
- package/dist/accessi-service/controllers/AccessiIntrospectionController.js.map +1 -0
- package/dist/accessi-service/controllers/AuthController.d.ts +24 -0
- package/dist/accessi-service/controllers/AuthController.js +564 -0
- package/dist/accessi-service/controllers/AuthController.js.map +1 -0
- package/dist/accessi-service/controllers/ConfiguratorController.d.ts +9 -0
- package/dist/accessi-service/controllers/ConfiguratorController.js +136 -0
- package/dist/accessi-service/controllers/ConfiguratorController.js.map +1 -0
- package/dist/accessi-service/controllers/ConsoleEntryController.d.ts +16 -0
- package/dist/accessi-service/controllers/ConsoleEntryController.js +159 -0
- package/dist/accessi-service/controllers/ConsoleEntryController.js.map +1 -0
- package/dist/accessi-service/controllers/EmailController.d.ts +11 -0
- package/dist/accessi-service/controllers/EmailController.js +112 -0
- package/dist/accessi-service/controllers/EmailController.js.map +1 -0
- package/dist/accessi-service/controllers/FiltriController.d.ts +20 -0
- package/dist/accessi-service/controllers/FiltriController.js +303 -0
- package/dist/accessi-service/controllers/FiltriController.js.map +1 -0
- package/dist/accessi-service/controllers/PermissionController.d.ts +45 -0
- package/dist/accessi-service/controllers/PermissionController.js +862 -0
- package/dist/accessi-service/controllers/PermissionController.js.map +1 -0
- package/dist/accessi-service/controllers/SchemaController.d.ts +9 -0
- package/dist/accessi-service/controllers/SchemaController.js +79 -0
- package/dist/accessi-service/controllers/SchemaController.js.map +1 -0
- package/dist/accessi-service/controllers/ServiceTokenController.d.ts +23 -0
- package/dist/accessi-service/controllers/ServiceTokenController.js +176 -0
- package/dist/accessi-service/controllers/ServiceTokenController.js.map +1 -0
- package/dist/accessi-service/controllers/UserController.d.ts +39 -0
- package/dist/accessi-service/controllers/UserController.js +724 -0
- package/dist/accessi-service/controllers/UserController.js.map +1 -0
- package/dist/accessi-service/database-updates/AccessiCatalogMigrator.js.map +1 -0
- package/dist/accessi-service/database-updates/AccessiDatabaseUpdater.js.map +1 -0
- package/dist/accessi-service/database-updates/accessiOptionsFromEnv.js +347 -0
- package/dist/accessi-service/database-updates/accessiOptionsFromEnv.js.map +1 -0
- package/dist/accessi-service/database-updates/accessiSchema.js.map +1 -0
- package/dist/accessi-service/database-updates/menuScopeSeed.js.map +1 -0
- package/dist/accessi-service/database-updates/menuScopeSeeder.js.map +1 -0
- package/dist/accessi-service/database-updates/optionalColumns.js.map +1 -0
- package/dist/accessi-service/database-updates/runAccessiCatalogMigrations.js.map +1 -0
- package/dist/accessi-service/database-updates/runAccessiDbUpdate.js.map +1 -0
- package/dist/accessi-service/dtos/Abilitazione.js.map +1 -0
- package/dist/accessi-service/dtos/AbilitazioneMenu.js.map +1 -0
- package/dist/accessi-service/dtos/AdminBootstrapDtos.js.map +1 -0
- package/dist/accessi-service/dtos/AssignPermissionsToUserRequest.js.map +1 -0
- package/dist/accessi-service/dtos/AssignRolesToUserRequest.js.map +1 -0
- package/dist/accessi-service/dtos/AuditDtos.js.map +1 -0
- package/dist/accessi-service/dtos/AuthenticatedUserPayloadDto.js.map +1 -0
- package/dist/accessi-service/dtos/BaseResponse.js.map +1 -0
- package/dist/accessi-service/dtos/CatalogDtos.js.map +1 -0
- package/dist/accessi-service/dtos/ConfirmResetPasswordRequest.js.map +1 -0
- package/dist/accessi-service/dtos/ConsoleEntryDtos.js.map +1 -0
- package/dist/accessi-service/dtos/FederatedExchangeDtos.js.map +1 -0
- package/dist/accessi-service/dtos/FederatedIdentityDtos.js.map +1 -0
- package/dist/accessi-service/dtos/FiltriUtente.js.map +1 -0
- package/dist/accessi-service/dtos/GetGroupsWithMenusResponse.js.map +1 -0
- package/dist/accessi-service/dtos/GetMenusResponse.js.map +1 -0
- package/dist/accessi-service/dtos/GetRolesResponse.js.map +1 -0
- package/dist/accessi-service/dtos/GetUserByTokenRequest.js.map +1 -0
- package/dist/accessi-service/dtos/GetUserByTokenResponse.js.map +1 -0
- package/dist/accessi-service/dtos/GetUsersResponse.js.map +1 -0
- package/dist/accessi-service/dtos/IntrospectionDtos.js.map +1 -0
- package/dist/accessi-service/dtos/LoginAsDtos.js.map +1 -0
- package/dist/accessi-service/dtos/LoginRequest.js.map +1 -0
- package/dist/accessi-service/dtos/LoginResponse.js.map +1 -0
- package/dist/accessi-service/dtos/MenuItem.js.map +1 -0
- package/dist/accessi-service/dtos/Permission.js.map +1 -0
- package/dist/accessi-service/dtos/PublicRegisterRequest.js.map +1 -0
- package/dist/accessi-service/dtos/RefreshTokenDtos.js.map +1 -0
- package/dist/accessi-service/dtos/RegisterRequest.js.map +1 -0
- package/dist/accessi-service/dtos/RegisterResponse.js.map +1 -0
- package/dist/accessi-service/dtos/RevokeTokenRequest.js.map +1 -0
- package/dist/accessi-service/dtos/Role.js.map +1 -0
- package/dist/accessi-service/dtos/RuoliMenu.js.map +1 -0
- package/dist/accessi-service/dtos/SchemaDtos.js.map +1 -0
- package/dist/accessi-service/dtos/ScopeDtos.js.map +1 -0
- package/dist/accessi-service/dtos/SendResetPasswordEmailRequest.js.map +1 -0
- package/dist/accessi-service/dtos/ServiceToken.js.map +1 -0
- package/dist/accessi-service/dtos/SetStatoRegistrazione.js.map +1 -0
- package/dist/accessi-service/dtos/SetUserPasswordRequest.js.map +1 -0
- package/dist/accessi-service/dtos/StatoRegistrazione.js.map +1 -0
- package/dist/accessi-service/dtos/TipoAbilitazione.js.map +1 -0
- package/dist/accessi-service/dtos/TipoFiltro.js.map +1 -0
- package/dist/accessi-service/dtos/TokenResult.js.map +1 -0
- package/dist/accessi-service/dtos/TwoFactorDtos.js.map +1 -0
- package/dist/accessi-service/dtos/UpdateEnabledStatusRequest.js.map +1 -0
- package/dist/accessi-service/dtos/UserDto.js.map +1 -0
- package/dist/accessi-service/dtos/UserGrantsDto.js.map +1 -0
- package/dist/accessi-service/dtos/UserGrantsResponse.js.map +1 -0
- package/dist/accessi-service/dtos/index.js.map +1 -0
- package/dist/accessi-service/federated-auth/FederatedAuthController.d.ts +33 -0
- package/dist/accessi-service/federated-auth/FederatedAuthController.js +373 -0
- package/dist/accessi-service/federated-auth/FederatedAuthController.js.map +1 -0
- package/dist/accessi-service/federated-auth/FederatedAuthExchangeController.d.ts +15 -0
- package/dist/accessi-service/federated-auth/FederatedAuthExchangeController.js +85 -0
- package/dist/accessi-service/federated-auth/FederatedAuthExchangeController.js.map +1 -0
- package/dist/accessi-service/federated-auth/FederatedAuthService.d.ts +102 -0
- package/dist/accessi-service/federated-auth/FederatedAuthService.js +472 -0
- package/dist/accessi-service/federated-auth/FederatedAuthService.js.map +1 -0
- package/dist/accessi-service/federated-auth/FederatedAuthTypes.d.ts +53 -0
- package/dist/accessi-service/federated-auth/FederatedAuthTypes.js.map +1 -0
- package/dist/accessi-service/health/nest.js.map +1 -0
- package/dist/accessi-service/health/readiness.js.map +1 -0
- package/dist/accessi-service/index.d.ts +88 -0
- package/dist/accessi-service/index.js +304 -0
- package/dist/accessi-service/index.js.map +1 -0
- package/dist/accessi-service/jwt/JwtSimpleGuard.d.ts +9 -0
- package/dist/accessi-service/jwt/JwtSimpleGuard.js +88 -0
- package/dist/accessi-service/jwt/JwtSimpleGuard.js.map +1 -0
- package/dist/accessi-service/middleware/accessiRequirements.js.map +1 -0
- package/dist/accessi-service/middleware/authenticateGen.d.ts +32 -0
- package/dist/accessi-service/middleware/authenticateGen.js +315 -0
- package/dist/accessi-service/middleware/authenticateGen.js.map +1 -0
- package/dist/accessi-service/observability/metrics.js +229 -0
- package/dist/accessi-service/observability/metrics.js.map +1 -0
- package/dist/accessi-service/observability/redisMetrics.js.map +1 -0
- package/dist/accessi-service/security/AccessiHttpExceptionFilter.js.map +1 -0
- package/dist/accessi-service/security/accessControl.js.map +1 -0
- package/dist/accessi-service/security/accessTokenRevocation.js.map +1 -0
- package/dist/accessi-service/security/accessiValidation.js.map +1 -0
- package/dist/accessi-service/security/adminBootstrap.js.map +1 -0
- package/dist/accessi-service/security/audit.d.ts +84 -0
- package/dist/accessi-service/security/audit.js +214 -0
- package/dist/accessi-service/security/audit.js.map +1 -0
- package/dist/accessi-service/security/auditSinks.js.map +1 -0
- package/dist/accessi-service/security/authCookies.js.map +1 -0
- package/dist/accessi-service/security/authenticatedToken.d.ts +31 -0
- package/dist/accessi-service/security/authenticatedToken.js +79 -0
- package/dist/accessi-service/security/authenticatedToken.js.map +1 -0
- package/dist/accessi-service/security/consoleEntry.js.map +1 -0
- package/dist/accessi-service/security/edgeRateLimit.js.map +1 -0
- package/dist/accessi-service/security/emailConfiguration.js.map +1 -0
- package/dist/accessi-service/security/jwks.js.map +1 -0
- package/dist/accessi-service/security/jwksBootstrap.js.map +1 -0
- package/dist/accessi-service/security/jwtTokenOptions.js.map +1 -0
- package/dist/accessi-service/security/loginAs.js.map +1 -0
- package/dist/accessi-service/security/passwordPolicy.js.map +1 -0
- package/dist/accessi-service/security/passwordResetToken.js.map +1 -0
- package/dist/accessi-service/security/publicAuthRateLimit.js.map +1 -0
- package/dist/accessi-service/security/rateLimitStore.js.map +1 -0
- package/dist/accessi-service/security/refreshTokenRotation.js.map +1 -0
- package/dist/accessi-service/security/securityHeaders.js.map +1 -0
- package/dist/accessi-service/security/serviceTokenGuard.d.ts +27 -0
- package/dist/accessi-service/security/serviceTokenGuard.js +90 -0
- package/dist/accessi-service/security/serviceTokenGuard.js.map +1 -0
- package/dist/accessi-service/security/serviceTokenRateLimit.js.map +1 -0
- package/dist/accessi-service/security/sessionRevocation.js.map +1 -0
- package/dist/accessi-service/security/validateOptions.js.map +1 -0
- package/dist/accessi-service/services/admin-bootstrap-service/AdminBootstrapService.d.ts +33 -0
- package/dist/accessi-service/services/admin-bootstrap-service/AdminBootstrapService.js +106 -0
- package/dist/accessi-service/services/admin-bootstrap-service/AdminBootstrapService.js.map +1 -0
- package/dist/accessi-service/services/auth-service/AuthService.d.ts +127 -0
- package/dist/accessi-service/services/auth-service/AuthService.js +734 -0
- package/dist/accessi-service/services/auth-service/AuthService.js.map +1 -0
- package/dist/accessi-service/services/configurator-service/ConfiguratorService.js.map +1 -0
- package/dist/accessi-service/services/email-service/EmailService.js +439 -0
- package/dist/accessi-service/services/email-service/EmailService.js.map +1 -0
- package/dist/accessi-service/services/filtri-service/FiltriService.d.ts +26 -0
- package/dist/accessi-service/services/filtri-service/FiltriService.js +203 -0
- package/dist/accessi-service/services/filtri-service/FiltriService.js.map +1 -0
- package/dist/accessi-service/services/permission-service/PermissionService.d.ts +126 -0
- package/dist/accessi-service/services/permission-service/PermissionService.js +944 -0
- package/dist/accessi-service/services/permission-service/PermissionService.js.map +1 -0
- package/dist/accessi-service/services/schema-export-service/SchemaExportService.js.map +1 -0
- package/dist/accessi-service/services/service-token-service/ServiceTokenService.js.map +1 -0
- package/dist/accessi-service/services/two-factor-service/TwoFactorService.d.ts +27 -0
- package/dist/accessi-service/services/two-factor-service/TwoFactorService.js +175 -0
- package/dist/accessi-service/services/two-factor-service/TwoFactorService.js.map +1 -0
- package/dist/accessi-service/services/user-service/UserService.d.ts +112 -0
- package/dist/accessi-service/services/user-service/UserService.js +837 -0
- package/dist/accessi-service/services/user-service/UserService.js.map +1 -0
- package/dist/accessi-service/startupLog.js.map +1 -0
- package/dist/accessi-service/tenancy/tenantContext.d.ts +15 -0
- package/dist/accessi-service/tenancy/tenantContext.js +26 -0
- package/dist/accessi-service/tenancy/tenantContext.js.map +1 -0
- package/dist/allegati-module/AllegatiModule.js +2 -2
- package/dist/allegati-module/AllegatiModule.js.map +1 -1
- package/dist/allegati-module/controllers/AllegatiController.d.ts +36 -0
- package/dist/allegati-module/controllers/AllegatiController.js +230 -0
- package/dist/allegati-module/controllers/AllegatiController.js.map +1 -0
- package/dist/allegati-module/dtos/AllegatoDto.js.map +1 -0
- package/dist/allegati-module/dtos/BaseResponse.js.map +1 -0
- package/dist/allegati-module/dtos/UploadSingleFileRequest.js.map +1 -0
- package/dist/allegati-module/dtos/index.js.map +1 -0
- package/dist/allegati-module/dtos/responses/DownloadAllegatoResponseDto.js.map +1 -0
- package/dist/allegati-module/dtos/responses/GetListResponse.js.map +1 -0
- package/dist/allegati-module/dtos/responses/UploadAllegatoResponseDto.js.map +1 -0
- package/dist/allegati-module/index.d.ts +1 -1
- package/dist/allegati-module/index.js +1 -1
- package/dist/allegati-module/index.js.map +1 -1
- package/dist/allegati-module/services/allegati-service/AllegatiService.d.ts +61 -0
- package/dist/allegati-module/services/allegati-service/AllegatiService.js.map +1 -0
- package/dist/emilsoftware-utilities-2.0.0-dev.85.tgz +0 -0
- package/dist/firebirdCompat.js +269 -0
- package/dist/firebirdCompat.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/initEmilsoftwareModule.js +9 -9
- package/dist/initEmilsoftwareModule.js.map +1 -1
- package/dist/scripts/generateAccessiOpenApi.js +2 -2
- package/dist/scripts/generateAccessiOpenApi.js.map +1 -1
- package/dist/scripts/generateAccessiWiki.js +6 -4
- package/dist/scripts/generateAccessiWiki.js.map +1 -1
- package/docs/README.md +116 -0
- package/docs/adr/0002-multi-tenancy.md +5 -3
- package/docs/audit.md +4 -0
- package/docs/auth-cookies.md +4 -0
- package/docs/conventions.md +86 -0
- package/docs/gateway-rate-limit.md +3 -0
- package/docs/import-migration.md +12 -6
- package/docs/jwt-key-rotation.md +3 -0
- package/docs/metrics.md +3 -0
- package/docs/multi-tenancy.md +54 -0
- package/docs/proxy-ip.md +8 -0
- package/docs/quickstart-frontend.md +217 -0
- package/docs/quickstart-resource-server.md +177 -0
- package/docs/quickstart-service.md +214 -0
- package/docs/redis-load-testing.md +4 -0
- package/docs/security-headers.md +3 -0
- package/docs/standalone-service.md +180 -54
- package/integration-prompt.md +38 -14
- package/package.json +24 -19
- package/README.MD +0 -323
- package/dist/accessi-module/AccessiModule.js +0 -120
- package/dist/accessi-module/AccessiModule.js.map +0 -1
- package/dist/accessi-module/Console/accessiFetch.js.map +0 -1
- package/dist/accessi-module/Console/console.js +0 -4173
- package/dist/accessi-module/Console/console.js.map +0 -1
- package/dist/accessi-module/Console/generated/emilsoftware-utilities.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/abilitazioneMenu.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/abilitazioneMenuTipoAbilitazione.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/accessiIntrospectionResultDto.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/actionResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/adminBootstrapStatusResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/adminBootstrapStatusResult.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/assignPermissionsToUserRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/assignRolesToUserRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/authenticatedTokenPayloadDto.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/authenticatedUserPayloadDto.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/bootstrapAdminRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/bootstrapAdminResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/bootstrapAdminResultDto.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/confirmResetPasswordRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/consoleEntryExchangeRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/consoleEntrySessionResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/consoleEntrySessionResult.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/consoleEntryTicketResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/consoleEntryTicketResult.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/consoleEntryTokenResult.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/createFederatedIdentityRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/createFederatedProviderRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/createFederatedUserRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/createFilterTypeRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/createFilterTypeRequestFlgEnabled.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/createMenuGroupRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/createMenuRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/createMenuTypeRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/createScopeRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/createServiceTokenRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/createServiceTokenResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/errorResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/exchangeFederatedIdentityRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/exportAuditOrder.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/exportAuditParams.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/federatedAuthenticationResultDto.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/federatedExchangeResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/federatedIdentityListResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/federatedIdentityResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/federatedIdentityResponseDto.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/federatedProviderListResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/federatedProviderResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/federatedProviderResponseDto.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/filtriUtente.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getFiltriResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getFiltriUtenteParams.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getFiltriUtenteResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getGroupsWithMenusParams.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getGroupsWithMenusResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getMenuScopesResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getMenuTypesResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getMenusParams.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getMenusResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getRolesResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getSchemaResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getScopesResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getServiceTokensParams.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getServiceTokensResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getUserByTokenRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getUserByTokenResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getUserRolesAndGrantsParams.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getUsersParams.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getUsersResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getUsersResult.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/getUsersResultExtensionFields.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/groupWithMenusEntity.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/index.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/introspectAccessiTokenRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/introspectAccessiTokenResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/issuedServiceTokenDto.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/loginAsRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/loginAsResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/loginAsResult.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/loginRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/loginResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/loginResult.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/loginResultExtensionFields.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/loginResultPasswordRequired.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/menuEntity.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/menuTypeEntity.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/passwordExpiredResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/permission.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/publicRegisterRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/queryAuditOrder.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/queryAuditParams.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/refreshTokenRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/refreshTokenResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/refreshTokenResult.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/registerRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/registerResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/resendTwoFactorRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/revokeTokenRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/role.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/ruoliMenu.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/ruoliMenuTipoAbilitazione.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/schemaDdlResult.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/schemaDdlSection.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/scopeEntity.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/sendResetPasswordEmailRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/serveResetPasswordPageParams.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/serviceTokenDto.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/setMenuScopesRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/setPasswordLoginPolicyRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/setScopeMenusRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDto.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDtoStatoRegistrazione.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/setUserPasswordRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/status.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/tipoFiltro.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/tipoFiltroFlgEnabled.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/tokenResult.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/tokenResultType.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDto.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoMethod.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoTwoFactorRequired.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/updateEnabledStatusRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/updateFederatedIdentityRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/updateFederatedProviderRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/updateFilterTypeRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/updateFilterTypeRequestFlgEnabled.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/updateMenuGroupRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/updateMenuRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/updateMenuTypeRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/updateScopeRequest.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/userDto.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/userDtoStatoRegistrazione.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/userGrantsDto.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/userGrantsResponse.js.map +0 -1
- package/dist/accessi-module/Console/generated/model/verifyTwoFactorRequest.js.map +0 -1
- package/dist/accessi-module/Console/help.js.map +0 -1
- package/dist/accessi-module/Console/wiki.js +0 -867
- package/dist/accessi-module/Console/wiki.js.map +0 -1
- package/dist/accessi-module/Controllers/AccessiAuditController.d.ts +0 -16
- package/dist/accessi-module/Controllers/AccessiAuditController.js +0 -155
- package/dist/accessi-module/Controllers/AccessiAuditController.js.map +0 -1
- package/dist/accessi-module/Controllers/AccessiConsoleController.js +0 -169
- package/dist/accessi-module/Controllers/AccessiConsoleController.js.map +0 -1
- package/dist/accessi-module/Controllers/AccessiIntrospectionController.d.ts +0 -17
- package/dist/accessi-module/Controllers/AccessiIntrospectionController.js +0 -102
- package/dist/accessi-module/Controllers/AccessiIntrospectionController.js.map +0 -1
- package/dist/accessi-module/Controllers/AuthController.d.ts +0 -24
- package/dist/accessi-module/Controllers/AuthController.js +0 -564
- package/dist/accessi-module/Controllers/AuthController.js.map +0 -1
- package/dist/accessi-module/Controllers/ConfiguratorController.d.ts +0 -9
- package/dist/accessi-module/Controllers/ConfiguratorController.js +0 -136
- package/dist/accessi-module/Controllers/ConfiguratorController.js.map +0 -1
- package/dist/accessi-module/Controllers/ConsoleEntryController.d.ts +0 -16
- package/dist/accessi-module/Controllers/ConsoleEntryController.js +0 -159
- package/dist/accessi-module/Controllers/ConsoleEntryController.js.map +0 -1
- package/dist/accessi-module/Controllers/EmailController.d.ts +0 -11
- package/dist/accessi-module/Controllers/EmailController.js +0 -112
- package/dist/accessi-module/Controllers/EmailController.js.map +0 -1
- package/dist/accessi-module/Controllers/FiltriController.d.ts +0 -20
- package/dist/accessi-module/Controllers/FiltriController.js +0 -303
- package/dist/accessi-module/Controllers/FiltriController.js.map +0 -1
- package/dist/accessi-module/Controllers/PermissionController.d.ts +0 -45
- package/dist/accessi-module/Controllers/PermissionController.js +0 -862
- package/dist/accessi-module/Controllers/PermissionController.js.map +0 -1
- package/dist/accessi-module/Controllers/SchemaController.d.ts +0 -9
- package/dist/accessi-module/Controllers/SchemaController.js +0 -79
- package/dist/accessi-module/Controllers/SchemaController.js.map +0 -1
- package/dist/accessi-module/Controllers/ServiceTokenController.d.ts +0 -23
- package/dist/accessi-module/Controllers/ServiceTokenController.js +0 -176
- package/dist/accessi-module/Controllers/ServiceTokenController.js.map +0 -1
- package/dist/accessi-module/Controllers/UserController.d.ts +0 -39
- package/dist/accessi-module/Controllers/UserController.js +0 -724
- package/dist/accessi-module/Controllers/UserController.js.map +0 -1
- package/dist/accessi-module/Dtos/Abilitazione.js.map +0 -1
- package/dist/accessi-module/Dtos/AbilitazioneMenu.js.map +0 -1
- package/dist/accessi-module/Dtos/AdminBootstrapDtos.js.map +0 -1
- package/dist/accessi-module/Dtos/AssignPermissionsToUserRequest.js.map +0 -1
- package/dist/accessi-module/Dtos/AssignRolesToUserRequest.js.map +0 -1
- package/dist/accessi-module/Dtos/AuditDtos.js.map +0 -1
- package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.js.map +0 -1
- package/dist/accessi-module/Dtos/BaseResponse.js.map +0 -1
- package/dist/accessi-module/Dtos/CatalogDtos.js.map +0 -1
- package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.js.map +0 -1
- package/dist/accessi-module/Dtos/ConsoleEntryDtos.js.map +0 -1
- package/dist/accessi-module/Dtos/FederatedExchangeDtos.js.map +0 -1
- package/dist/accessi-module/Dtos/FederatedIdentityDtos.js.map +0 -1
- package/dist/accessi-module/Dtos/FiltriUtente.js.map +0 -1
- package/dist/accessi-module/Dtos/GetGroupsWithMenusResponse.js.map +0 -1
- package/dist/accessi-module/Dtos/GetMenusResponse.js.map +0 -1
- package/dist/accessi-module/Dtos/GetRolesResponse.js.map +0 -1
- package/dist/accessi-module/Dtos/GetUserByTokenRequest.js.map +0 -1
- package/dist/accessi-module/Dtos/GetUserByTokenResponse.js.map +0 -1
- package/dist/accessi-module/Dtos/GetUsersResponse.js.map +0 -1
- package/dist/accessi-module/Dtos/IntrospectionDtos.js.map +0 -1
- package/dist/accessi-module/Dtos/LoginAsDtos.js.map +0 -1
- package/dist/accessi-module/Dtos/LoginRequest.js.map +0 -1
- package/dist/accessi-module/Dtos/LoginResponse.js.map +0 -1
- package/dist/accessi-module/Dtos/MenuItem.js.map +0 -1
- package/dist/accessi-module/Dtos/Permission.js.map +0 -1
- package/dist/accessi-module/Dtos/PublicRegisterRequest.js.map +0 -1
- package/dist/accessi-module/Dtos/RefreshTokenDtos.js.map +0 -1
- package/dist/accessi-module/Dtos/RegisterRequest.js.map +0 -1
- package/dist/accessi-module/Dtos/RegisterResponse.js.map +0 -1
- package/dist/accessi-module/Dtos/RevokeTokenRequest.js.map +0 -1
- package/dist/accessi-module/Dtos/Role.js.map +0 -1
- package/dist/accessi-module/Dtos/RuoliMenu.js.map +0 -1
- package/dist/accessi-module/Dtos/SchemaDtos.js.map +0 -1
- package/dist/accessi-module/Dtos/ScopeDtos.js.map +0 -1
- package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.js.map +0 -1
- package/dist/accessi-module/Dtos/ServiceToken.js.map +0 -1
- package/dist/accessi-module/Dtos/SetStatoRegistrazione.js.map +0 -1
- package/dist/accessi-module/Dtos/SetUserPasswordRequest.js.map +0 -1
- package/dist/accessi-module/Dtos/StatoRegistrazione.js.map +0 -1
- package/dist/accessi-module/Dtos/TipoAbilitazione.js.map +0 -1
- package/dist/accessi-module/Dtos/TipoFiltro.js.map +0 -1
- package/dist/accessi-module/Dtos/TokenResult.js.map +0 -1
- package/dist/accessi-module/Dtos/TwoFactorDtos.js.map +0 -1
- package/dist/accessi-module/Dtos/UpdateEnabledStatusRequest.js.map +0 -1
- package/dist/accessi-module/Dtos/UserDto.js.map +0 -1
- package/dist/accessi-module/Dtos/UserGrantsDto.js.map +0 -1
- package/dist/accessi-module/Dtos/UserGrantsResponse.js.map +0 -1
- package/dist/accessi-module/Dtos/index.js.map +0 -1
- package/dist/accessi-module/Services/AdminBootstrapService/AdminBootstrapService.d.ts +0 -33
- package/dist/accessi-module/Services/AdminBootstrapService/AdminBootstrapService.js +0 -106
- package/dist/accessi-module/Services/AdminBootstrapService/AdminBootstrapService.js.map +0 -1
- package/dist/accessi-module/Services/AuthService/AuthService.d.ts +0 -127
- package/dist/accessi-module/Services/AuthService/AuthService.js +0 -734
- package/dist/accessi-module/Services/AuthService/AuthService.js.map +0 -1
- package/dist/accessi-module/Services/ConfiguratorService/ConfiguratorService.js.map +0 -1
- package/dist/accessi-module/Services/EmailService/EmailService.js +0 -439
- package/dist/accessi-module/Services/EmailService/EmailService.js.map +0 -1
- package/dist/accessi-module/Services/FiltriService/FiltriService.d.ts +0 -26
- package/dist/accessi-module/Services/FiltriService/FiltriService.js +0 -203
- package/dist/accessi-module/Services/FiltriService/FiltriService.js.map +0 -1
- package/dist/accessi-module/Services/PermissionService/PermissionService.d.ts +0 -126
- package/dist/accessi-module/Services/PermissionService/PermissionService.js +0 -944
- package/dist/accessi-module/Services/PermissionService/PermissionService.js.map +0 -1
- package/dist/accessi-module/Services/SchemaExportService/SchemaExportService.js.map +0 -1
- package/dist/accessi-module/Services/ServiceTokenService/ServiceTokenService.js.map +0 -1
- package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.d.ts +0 -27
- package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.js +0 -175
- package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.js.map +0 -1
- package/dist/accessi-module/Services/UserService/UserService.d.ts +0 -112
- package/dist/accessi-module/Services/UserService/UserService.js +0 -837
- package/dist/accessi-module/Services/UserService/UserService.js.map +0 -1
- package/dist/accessi-module/accessiRuntime.d.ts +0 -45
- package/dist/accessi-module/accessiRuntime.js +0 -39
- package/dist/accessi-module/accessiRuntime.js.map +0 -1
- package/dist/accessi-module/database-updates/AccessiCatalogMigrator.js.map +0 -1
- package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js.map +0 -1
- package/dist/accessi-module/database-updates/accessiOptionsFromEnv.js +0 -134
- package/dist/accessi-module/database-updates/accessiOptionsFromEnv.js.map +0 -1
- package/dist/accessi-module/database-updates/accessiSchema.js.map +0 -1
- package/dist/accessi-module/database-updates/menuScopeSeed.js.map +0 -1
- package/dist/accessi-module/database-updates/menuScopeSeeder.js.map +0 -1
- package/dist/accessi-module/database-updates/optionalColumns.js.map +0 -1
- package/dist/accessi-module/database-updates/runAccessiCatalogMigrations.js.map +0 -1
- package/dist/accessi-module/database-updates/runAccessiDbUpdate.js.map +0 -1
- package/dist/accessi-module/federated-auth/FederatedAuthController.d.ts +0 -33
- package/dist/accessi-module/federated-auth/FederatedAuthController.js +0 -373
- package/dist/accessi-module/federated-auth/FederatedAuthController.js.map +0 -1
- package/dist/accessi-module/federated-auth/FederatedAuthExchangeController.d.ts +0 -15
- package/dist/accessi-module/federated-auth/FederatedAuthExchangeController.js +0 -85
- package/dist/accessi-module/federated-auth/FederatedAuthExchangeController.js.map +0 -1
- package/dist/accessi-module/federated-auth/FederatedAuthService.d.ts +0 -102
- package/dist/accessi-module/federated-auth/FederatedAuthService.js +0 -472
- package/dist/accessi-module/federated-auth/FederatedAuthService.js.map +0 -1
- package/dist/accessi-module/federated-auth/FederatedAuthTypes.d.ts +0 -53
- package/dist/accessi-module/federated-auth/FederatedAuthTypes.js.map +0 -1
- package/dist/accessi-module/health/nest.js.map +0 -1
- package/dist/accessi-module/health/readiness.js.map +0 -1
- package/dist/accessi-module/index.d.ts +0 -88
- package/dist/accessi-module/index.js +0 -303
- package/dist/accessi-module/index.js.map +0 -1
- package/dist/accessi-module/jwt/jwt.strategy.d.ts +0 -9
- package/dist/accessi-module/jwt/jwt.strategy.js +0 -88
- package/dist/accessi-module/jwt/jwt.strategy.js.map +0 -1
- package/dist/accessi-module/middleware/accessiRequirements.js.map +0 -1
- package/dist/accessi-module/middleware/authenticateGen.d.ts +0 -32
- package/dist/accessi-module/middleware/authenticateGen.js +0 -315
- package/dist/accessi-module/middleware/authenticateGen.js.map +0 -1
- package/dist/accessi-module/observability/metrics.js +0 -220
- package/dist/accessi-module/observability/metrics.js.map +0 -1
- package/dist/accessi-module/observability/redisMetrics.js.map +0 -1
- package/dist/accessi-module/security/AccessiHttpExceptionFilter.js.map +0 -1
- package/dist/accessi-module/security/accessControl.js.map +0 -1
- package/dist/accessi-module/security/accessTokenRevocation.js.map +0 -1
- package/dist/accessi-module/security/accessiValidation.js.map +0 -1
- package/dist/accessi-module/security/adminBootstrap.js.map +0 -1
- package/dist/accessi-module/security/audit.d.ts +0 -74
- package/dist/accessi-module/security/audit.js +0 -189
- package/dist/accessi-module/security/audit.js.map +0 -1
- package/dist/accessi-module/security/auditSinks.js.map +0 -1
- package/dist/accessi-module/security/authCookies.js.map +0 -1
- package/dist/accessi-module/security/authenticatedToken.d.ts +0 -31
- package/dist/accessi-module/security/authenticatedToken.js +0 -79
- package/dist/accessi-module/security/authenticatedToken.js.map +0 -1
- package/dist/accessi-module/security/consoleEntry.js.map +0 -1
- package/dist/accessi-module/security/edgeRateLimit.js.map +0 -1
- package/dist/accessi-module/security/emailConfiguration.js.map +0 -1
- package/dist/accessi-module/security/jwks.js.map +0 -1
- package/dist/accessi-module/security/jwksBootstrap.js.map +0 -1
- package/dist/accessi-module/security/jwtTokenOptions.js.map +0 -1
- package/dist/accessi-module/security/loginAs.js.map +0 -1
- package/dist/accessi-module/security/passwordPolicy.js.map +0 -1
- package/dist/accessi-module/security/passwordResetToken.js.map +0 -1
- package/dist/accessi-module/security/publicAuthRateLimit.js.map +0 -1
- package/dist/accessi-module/security/rateLimitStore.js.map +0 -1
- package/dist/accessi-module/security/refreshTokenRotation.js.map +0 -1
- package/dist/accessi-module/security/securityHeaders.js.map +0 -1
- package/dist/accessi-module/security/serviceTokenGuard.d.ts +0 -27
- package/dist/accessi-module/security/serviceTokenGuard.js +0 -90
- package/dist/accessi-module/security/serviceTokenGuard.js.map +0 -1
- package/dist/accessi-module/security/serviceTokenRateLimit.js.map +0 -1
- package/dist/accessi-module/security/sessionRevocation.js.map +0 -1
- package/dist/accessi-module/security/validateOptions.js.map +0 -1
- package/dist/accessi-module/startupLog.js.map +0 -1
- package/dist/allegati-module/Controllers/AllegatiController.d.ts +0 -36
- package/dist/allegati-module/Controllers/AllegatiController.js +0 -230
- package/dist/allegati-module/Controllers/AllegatiController.js.map +0 -1
- package/dist/allegati-module/Dtos/AllegatoDto.js.map +0 -1
- package/dist/allegati-module/Dtos/BaseResponse.js.map +0 -1
- package/dist/allegati-module/Dtos/UploadSingleFileRequest.js.map +0 -1
- package/dist/allegati-module/Dtos/index.js.map +0 -1
- package/dist/allegati-module/Dtos/responses/DownloadAllegatoResponseDto.js.map +0 -1
- package/dist/allegati-module/Dtos/responses/GetListResponse.js.map +0 -1
- package/dist/allegati-module/Dtos/responses/UploadAllegatoResponseDto.js.map +0 -1
- package/dist/allegati-module/Services/AllegatiService/AllegatiService.d.ts +0 -61
- package/dist/allegati-module/Services/AllegatiService/AllegatiService.js.map +0 -1
- package/dist/emilsoftware-utilities-2.0.0-dev.83.tgz +0 -0
- package/dist/firebird-compat.js +0 -269
- package/dist/firebird-compat.js.map +0 -1
- /package/dist/{accessi-module → accessi-service}/AccessiModule.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/accessiFetch.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/accessiFetch.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/console.css +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/console.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/emilsoftware-utilities.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/emilsoftware-utilities.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/abilitazioneMenu.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/abilitazioneMenu.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/abilitazioneMenuTipoAbilitazione.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/abilitazioneMenuTipoAbilitazione.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/accessiIntrospectionResultDto.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/accessiIntrospectionResultDto.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/actionResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/actionResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/adminBootstrapStatusResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/adminBootstrapStatusResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/adminBootstrapStatusResult.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/adminBootstrapStatusResult.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/assignPermissionsToUserRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/assignPermissionsToUserRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/assignRolesToUserRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/assignRolesToUserRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/authenticatedTokenPayloadDto.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/authenticatedTokenPayloadDto.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/authenticatedUserPayloadDto.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/authenticatedUserPayloadDto.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/bootstrapAdminRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/bootstrapAdminRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/bootstrapAdminResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/bootstrapAdminResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/bootstrapAdminResultDto.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/bootstrapAdminResultDto.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/confirmResetPasswordRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/confirmResetPasswordRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/consoleEntryExchangeRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/consoleEntryExchangeRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/consoleEntrySessionResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/consoleEntrySessionResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/consoleEntrySessionResult.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/consoleEntrySessionResult.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/consoleEntryTicketResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/consoleEntryTicketResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/consoleEntryTicketResult.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/consoleEntryTicketResult.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/consoleEntryTokenResult.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/consoleEntryTokenResult.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createFederatedIdentityRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createFederatedIdentityRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createFederatedProviderRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createFederatedProviderRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createFederatedUserRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createFederatedUserRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createFilterTypeRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createFilterTypeRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createFilterTypeRequestFlgEnabled.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createFilterTypeRequestFlgEnabled.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createMenuGroupRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createMenuGroupRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createMenuRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createMenuRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createMenuTypeRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createMenuTypeRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createScopeRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createScopeRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createServiceTokenRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createServiceTokenRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createServiceTokenResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/createServiceTokenResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/errorResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/errorResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/exchangeFederatedIdentityRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/exchangeFederatedIdentityRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/exportAuditOrder.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/exportAuditOrder.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/exportAuditParams.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/exportAuditParams.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/federatedAuthenticationResultDto.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/federatedAuthenticationResultDto.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/federatedExchangeResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/federatedExchangeResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/federatedIdentityListResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/federatedIdentityListResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/federatedIdentityResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/federatedIdentityResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/federatedIdentityResponseDto.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/federatedIdentityResponseDto.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/federatedProviderListResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/federatedProviderListResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/federatedProviderResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/federatedProviderResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/federatedProviderResponseDto.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/federatedProviderResponseDto.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/filtriUtente.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/filtriUtente.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getFiltriResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getFiltriResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getFiltriUtenteParams.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getFiltriUtenteParams.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getFiltriUtenteResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getFiltriUtenteResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getGroupsWithMenusParams.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getGroupsWithMenusParams.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getGroupsWithMenusResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getGroupsWithMenusResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getMenuScopesResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getMenuScopesResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getMenuTypesResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getMenuTypesResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getMenusParams.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getMenusParams.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getMenusResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getMenusResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getRolesResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getRolesResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getSchemaResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getSchemaResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getScopesResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getScopesResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getServiceTokensParams.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getServiceTokensParams.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getServiceTokensResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getServiceTokensResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getUserByTokenRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getUserByTokenRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getUserByTokenResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getUserByTokenResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getUserRolesAndGrantsParams.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getUserRolesAndGrantsParams.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getUsersParams.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getUsersParams.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getUsersResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getUsersResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getUsersResult.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getUsersResult.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getUsersResultExtensionFields.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/getUsersResultExtensionFields.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/groupWithMenusEntity.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/groupWithMenusEntity.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/index.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/index.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/introspectAccessiTokenRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/introspectAccessiTokenRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/introspectAccessiTokenResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/introspectAccessiTokenResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/issuedServiceTokenDto.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/issuedServiceTokenDto.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/loginAsRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/loginAsRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/loginAsResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/loginAsResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/loginAsResult.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/loginAsResult.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/loginRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/loginRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/loginResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/loginResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/loginResult.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/loginResult.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/loginResultExtensionFields.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/loginResultExtensionFields.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/loginResultPasswordRequired.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/loginResultPasswordRequired.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/menuEntity.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/menuEntity.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/menuTypeEntity.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/menuTypeEntity.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/passwordExpiredResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/passwordExpiredResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/permission.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/permission.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/publicRegisterRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/publicRegisterRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/queryAuditOrder.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/queryAuditOrder.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/queryAuditParams.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/queryAuditParams.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/refreshTokenRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/refreshTokenRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/refreshTokenResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/refreshTokenResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/refreshTokenResult.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/refreshTokenResult.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/registerRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/registerRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/registerResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/registerResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/resendTwoFactorRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/resendTwoFactorRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/revokeTokenRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/revokeTokenRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/role.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/role.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/ruoliMenu.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/ruoliMenu.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/ruoliMenuTipoAbilitazione.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/ruoliMenuTipoAbilitazione.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/schemaDdlResult.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/schemaDdlResult.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/schemaDdlSection.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/schemaDdlSection.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/scopeEntity.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/scopeEntity.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/sendResetPasswordEmailRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/sendResetPasswordEmailRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/serveResetPasswordPageParams.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/serveResetPasswordPageParams.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/serviceTokenDto.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/serviceTokenDto.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/setMenuScopesRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/setMenuScopesRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/setPasswordLoginPolicyRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/setPasswordLoginPolicyRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/setScopeMenusRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/setScopeMenusRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/setStatoRegistrazioneDto.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/setStatoRegistrazioneDto.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/setStatoRegistrazioneDtoStatoRegistrazione.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/setStatoRegistrazioneDtoStatoRegistrazione.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/setUserPasswordRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/setUserPasswordRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/status.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/status.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/tipoFiltro.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/tipoFiltro.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/tipoFiltroFlgEnabled.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/tipoFiltroFlgEnabled.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/tokenResult.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/tokenResult.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/tokenResultType.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/tokenResultType.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/twoFactorChallengeDto.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/twoFactorChallengeDto.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/twoFactorChallengeDtoMethod.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/twoFactorChallengeDtoMethod.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/twoFactorChallengeDtoTwoFactorRequired.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/twoFactorChallengeDtoTwoFactorRequired.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateEnabledStatusRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateEnabledStatusRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateFederatedIdentityRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateFederatedIdentityRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateFederatedProviderRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateFederatedProviderRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateFilterTypeRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateFilterTypeRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateFilterTypeRequestFlgEnabled.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateFilterTypeRequestFlgEnabled.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateMenuGroupRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateMenuGroupRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateMenuRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateMenuRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateMenuTypeRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateMenuTypeRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateScopeRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/updateScopeRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/userDto.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/userDto.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/userDtoStatoRegistrazione.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/userDtoStatoRegistrazione.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/userGrantsDto.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/userGrantsDto.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/userGrantsResponse.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/userGrantsResponse.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/verifyTwoFactorRequest.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/generated/model/verifyTwoFactorRequest.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/help.d.ts +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/help.js +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/index.html +0 -0
- /package/dist/{accessi-module/Console → accessi-service/console}/wiki.d.ts +0 -0
- /package/dist/{accessi-module/Controllers → accessi-service/controllers}/AccessiConsoleController.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/AccessiCatalogMigrator.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/AccessiCatalogMigrator.js +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/AccessiDatabaseUpdater.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/AccessiDatabaseUpdater.js +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/accessiOptionsFromEnv.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/accessiSchema.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/accessiSchema.js +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/menuScopeSeed.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/menuScopeSeed.js +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/menuScopeSeeder.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/menuScopeSeeder.js +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/optionalColumns.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/optionalColumns.js +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/runAccessiCatalogMigrations.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/runAccessiCatalogMigrations.js +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/runAccessiDbUpdate.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/database-updates/runAccessiDbUpdate.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/Abilitazione.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/Abilitazione.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/AbilitazioneMenu.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/AbilitazioneMenu.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/AdminBootstrapDtos.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/AdminBootstrapDtos.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/AssignPermissionsToUserRequest.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/AssignPermissionsToUserRequest.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/AssignRolesToUserRequest.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/AssignRolesToUserRequest.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/AuditDtos.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/AuditDtos.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/AuthenticatedUserPayloadDto.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/AuthenticatedUserPayloadDto.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/BaseResponse.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/BaseResponse.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/CatalogDtos.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/CatalogDtos.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/ConfirmResetPasswordRequest.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/ConfirmResetPasswordRequest.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/ConsoleEntryDtos.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/ConsoleEntryDtos.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/FederatedExchangeDtos.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/FederatedExchangeDtos.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/FederatedIdentityDtos.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/FederatedIdentityDtos.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/FiltriUtente.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/FiltriUtente.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/GetGroupsWithMenusResponse.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/GetGroupsWithMenusResponse.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/GetMenusResponse.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/GetMenusResponse.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/GetRolesResponse.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/GetRolesResponse.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/GetUserByTokenRequest.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/GetUserByTokenRequest.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/GetUserByTokenResponse.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/GetUserByTokenResponse.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/GetUsersResponse.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/GetUsersResponse.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/IntrospectionDtos.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/IntrospectionDtos.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/LoginAsDtos.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/LoginAsDtos.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/LoginRequest.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/LoginRequest.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/LoginResponse.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/LoginResponse.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/MenuItem.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/MenuItem.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/Permission.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/Permission.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/PublicRegisterRequest.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/PublicRegisterRequest.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/RefreshTokenDtos.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/RefreshTokenDtos.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/RegisterRequest.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/RegisterRequest.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/RegisterResponse.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/RegisterResponse.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/RevokeTokenRequest.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/RevokeTokenRequest.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/Role.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/Role.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/RuoliMenu.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/RuoliMenu.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/SchemaDtos.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/SchemaDtos.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/ScopeDtos.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/ScopeDtos.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/SendResetPasswordEmailRequest.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/SendResetPasswordEmailRequest.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/ServiceToken.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/ServiceToken.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/SetStatoRegistrazione.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/SetStatoRegistrazione.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/SetUserPasswordRequest.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/SetUserPasswordRequest.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/StatoRegistrazione.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/StatoRegistrazione.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/TipoAbilitazione.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/TipoAbilitazione.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/TipoFiltro.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/TipoFiltro.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/TokenResult.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/TokenResult.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/TwoFactorDtos.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/TwoFactorDtos.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/UpdateEnabledStatusRequest.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/UpdateEnabledStatusRequest.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/UserDto.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/UserDto.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/UserGrantsDto.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/UserGrantsDto.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/UserGrantsResponse.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/UserGrantsResponse.js +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/index.d.ts +0 -0
- /package/dist/{accessi-module/Dtos → accessi-service/dtos}/index.js +0 -0
- /package/dist/{accessi-module → accessi-service}/federated-auth/FederatedAuthTypes.js +0 -0
- /package/dist/{accessi-module → accessi-service}/health/nest.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/health/nest.js +0 -0
- /package/dist/{accessi-module → accessi-service}/health/readiness.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/health/readiness.js +0 -0
- /package/dist/{accessi-module → accessi-service}/middleware/accessiRequirements.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/middleware/accessiRequirements.js +0 -0
- /package/dist/{accessi-module → accessi-service}/observability/metrics.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/observability/redisMetrics.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/observability/redisMetrics.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/AccessiHttpExceptionFilter.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/AccessiHttpExceptionFilter.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/accessControl.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/accessControl.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/accessTokenRevocation.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/accessTokenRevocation.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/accessiValidation.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/accessiValidation.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/adminBootstrap.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/adminBootstrap.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/auditSinks.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/auditSinks.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/authCookies.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/authCookies.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/consoleEntry.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/consoleEntry.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/edgeRateLimit.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/edgeRateLimit.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/emailConfiguration.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/emailConfiguration.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/jwks.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/jwks.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/jwksBootstrap.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/jwksBootstrap.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/jwtTokenOptions.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/jwtTokenOptions.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/loginAs.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/loginAs.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/passwordPolicy.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/passwordPolicy.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/passwordResetToken.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/passwordResetToken.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/publicAuthRateLimit.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/publicAuthRateLimit.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/rateLimitStore.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/rateLimitStore.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/refreshTokenRotation.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/refreshTokenRotation.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/securityHeaders.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/securityHeaders.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/serviceTokenRateLimit.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/serviceTokenRateLimit.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/sessionRevocation.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/sessionRevocation.js +0 -0
- /package/dist/{accessi-module → accessi-service}/security/validateOptions.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/security/validateOptions.js +0 -0
- /package/dist/{accessi-module/Services/ConfiguratorService → accessi-service/services/configurator-service}/ConfiguratorService.d.ts +0 -0
- /package/dist/{accessi-module/Services/ConfiguratorService → accessi-service/services/configurator-service}/ConfiguratorService.js +0 -0
- /package/dist/{accessi-module/Services/EmailService → accessi-service/services/email-service}/EmailService.d.ts +0 -0
- /package/dist/{accessi-module/Services/SchemaExportService → accessi-service/services/schema-export-service}/SchemaExportService.d.ts +0 -0
- /package/dist/{accessi-module/Services/SchemaExportService → accessi-service/services/schema-export-service}/SchemaExportService.js +0 -0
- /package/dist/{accessi-module/Services/ServiceTokenService → accessi-service/services/service-token-service}/ServiceTokenService.d.ts +0 -0
- /package/dist/{accessi-module/Services/ServiceTokenService → accessi-service/services/service-token-service}/ServiceTokenService.js +0 -0
- /package/dist/{accessi-module → accessi-service}/startupLog.d.ts +0 -0
- /package/dist/{accessi-module → accessi-service}/startupLog.js +0 -0
- /package/dist/{accessi-module/Views → accessi-service/views}/reset-password.html +0 -0
- /package/dist/allegati-module/{Dtos → dtos}/AllegatoDto.d.ts +0 -0
- /package/dist/allegati-module/{Dtos → dtos}/AllegatoDto.js +0 -0
- /package/dist/allegati-module/{Dtos → dtos}/BaseResponse.d.ts +0 -0
- /package/dist/allegati-module/{Dtos → dtos}/BaseResponse.js +0 -0
- /package/dist/allegati-module/{Dtos → dtos}/UploadSingleFileRequest.d.ts +0 -0
- /package/dist/allegati-module/{Dtos → dtos}/UploadSingleFileRequest.js +0 -0
- /package/dist/allegati-module/{Dtos → dtos}/index.d.ts +0 -0
- /package/dist/allegati-module/{Dtos → dtos}/index.js +0 -0
- /package/dist/allegati-module/{Dtos → dtos}/responses/DownloadAllegatoResponseDto.d.ts +0 -0
- /package/dist/allegati-module/{Dtos → dtos}/responses/DownloadAllegatoResponseDto.js +0 -0
- /package/dist/allegati-module/{Dtos → dtos}/responses/GetListResponse.d.ts +0 -0
- /package/dist/allegati-module/{Dtos → dtos}/responses/GetListResponse.js +0 -0
- /package/dist/allegati-module/{Dtos → dtos}/responses/UploadAllegatoResponseDto.d.ts +0 -0
- /package/dist/allegati-module/{Dtos → dtos}/responses/UploadAllegatoResponseDto.js +0 -0
- /package/dist/allegati-module/{Services/AllegatiService → services/allegati-service}/AllegatiService.js +0 -0
- /package/dist/{firebird-compat.d.ts → firebirdCompat.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../../../src/accessi-service/services/user-service/UserService.ts"],"names":[],"mappings":"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","sourcesContent":["import { BadRequestException, ConflictException, Inject, Injectable, NotFoundException } from '@nestjs/common';\nimport { getTableColumns, optionalColumn } from '../../database-updates/optionalColumns';\nimport { autobind } from '../../../autobind';\nimport { Orm } from '../../../Orm';\nimport { RestUtilities } from '../../../Utilities';\nimport { Logger } from '../../../Logger';\nimport type { AccessiOptions } from '../../AccessiModule';\nimport { FILTRI_UTENTE_DB_MAPPING, FiltriUtente } from '../../dtos/FiltriUtente';\nimport { GetUsersResult } from '../../dtos/GetUsersResponse';\nimport { RegisterRequest } from '../../dtos/RegisterRequest';\nimport { StatoRegistrazione } from '../../dtos/StatoRegistrazione';\nimport { UserDto } from '../../dtos/UserDto';\nimport { UserGrantsDto } from '../../dtos/UserGrantsDto';\nimport { AccessiAuthenticatedUserSnapshot } from '../../security/authenticatedToken';\nimport { assertEmailConfigured } from '../../security/emailConfiguration';\nimport { revokeAccessiUserSessionsIfConfigured } from '../../security/sessionRevocation';\nimport { EmailService } from '../email-service/EmailService';\nimport { FiltriService } from '../filtri-service/FiltriService';\nimport { PermissionService } from '../permission-service/PermissionService';\n\ninterface OptionalField<T> {\n key: string;\n dbField: string;\n transform?: (value: unknown) => T;\n}\n\n/**\n * I filtri sono deprecati: tocca la tabella FILTRI solo quando il chiamante invia\n * esplicitamente almeno uno dei campi legacy. La console non li invia più.\n */\nfunction hasFilterPayload(dto: Partial<FiltriUtente>): boolean {\n const values = dto as Record<string, unknown>;\n return Object.keys(FILTRI_UTENTE_DB_MAPPING).some((key) => values[key] !== undefined);\n}\n\n@autobind\n@Injectable()\nexport class UserService {\n constructor(\n @Inject('ACCESSI_OPTIONS') private readonly accessiOptions: AccessiOptions,\n private readonly emailService: EmailService,\n private readonly permissionService: PermissionService,\n private readonly filtriService: FiltriService,\n ) {}\n\n private normalizeDatabaseBoolean(value: unknown): boolean {\n return value === true || value === 1 || value === '1';\n }\n\n /**\n * Revoca best effort delle sessioni dopo un evento che deve invalidare i\n * token gia emessi. Lo store e opzionale: se non configurato (o non\n * raggiungibile) l'operazione principale non deve fallire.\n */\n private async revokeSessionsBestEffort(codiceUtente: number, reason: string): Promise<void> {\n try {\n await revokeAccessiUserSessionsIfConfigured(this.accessiOptions, codiceUtente, reason);\n } catch (error) {\n new Logger(UserService.name).error(\n `Revoca sessioni fallita per l'utente ${codiceUtente} (${reason}): ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n }\n\n private normalizeUserFlags(user: UserDto): UserDto {\n const normalized: UserDto = { ...user,\n flagSuper: this.normalizeDatabaseBoolean(user.flagSuper),\n flagAdmin: this.normalizeDatabaseBoolean(user.flagAdmin),\n flagDueFattori: this.normalizeDatabaseBoolean(user.flagDueFattori),\n passwordlessLoginEnabled: this.normalizeDatabaseBoolean(user.passwordlessLoginEnabled),\n passwordLoginEnabled: user.passwordLoginEnabled == null || this.normalizeDatabaseBoolean(user.passwordLoginEnabled),\n };\n\n return normalized;\n }\n\n private normalizeEmail(email: string): string {\n if (typeof email !== 'string' || email.trim() === '') {\n throw new BadRequestException({ code: 'ACCESSI_EMAIL_REQUIRED', message: \"L'email è obbligatoria.\" });\n }\n\n return email.trim().toLowerCase();\n }\n\n private async ensureEmailIsAvailable(email: string, currentUserCode?: number): Promise<void> {\n const result = await Orm.query(\n this.accessiOptions.databaseOptions,\n 'SELECT FIRST 1 CODUTE as codice_utente FROM UTENTI WHERE LOWER(USRNAME) = ?',\n [email],\n );\n\n const existingUser = result.map(RestUtilities.convertKeysToCamelCase)[0] as\n | { codiceUtente?: number }\n | undefined;\n\n if (\n existingUser?.codiceUtente &&\n (!currentUserCode || existingUser.codiceUtente !== currentUserCode)\n ) {\n throw new ConflictException({ code: 'ACCESSI_EMAIL_ALREADY_EXISTS', message: \"L'email è già associata a un utente Accessi.\" });\n }\n }\n\n /**\n * Legge il minimo profilo autorevole usato da JWT e middleware. Restituisce `null` per utenti inesistenti.\n * Non usare `UserDto` dal token per decisioni di sicurezza: i flag vengono sempre riletti qui.\n */\n async getAuthenticatedUserSnapshot(\n codiceUtente: number,\n ): Promise<AccessiAuthenticatedUserSnapshot | null> {\n if (!codiceUtente || codiceUtente <= 0) {\n return null;\n }\n\n const result = await Orm.query(\n this.accessiOptions.databaseOptions,\n `\n SELECT\n U.CODUTE AS codice_utente,\n U.USRNAME AS email,\n U.STAREG AS stato_registrazione,\n C.FLGSUPER AS flag_super,\n C.FLGADMIN AS flag_admin\n , C.FLG2FATT AS flag_due_fattori\n , C.FLGPWDLESS AS passwordless_login_enabled\n , COALESCE(C.FLGPASSWORD, 1) AS password_login_enabled\n FROM UTENTI U\n LEFT JOIN UTENTI_CONFIG C ON C.CODUTE = U.CODUTE\n WHERE U.CODUTE = ?\n `,\n [codiceUtente],\n );\n\n const user = result.map(RestUtilities.convertKeysToCamelCase)[0] as\n | {\n codiceUtente?: number;\n email?: string;\n statoRegistrazione?: StatoRegistrazione | number;\n flagSuper?: unknown;\n flagAdmin?: unknown;\n flagDueFattori?: unknown;\n passwordlessLoginEnabled?: unknown;\n passwordLoginEnabled?: unknown;\n }\n | undefined;\n\n if (!user?.codiceUtente) {\n return null;\n }\n\n return {\n codiceUtente: Number(user.codiceUtente),\n email: typeof user.email === 'string' ? user.email : undefined,\n statoRegistrazione: Number(user.statoRegistrazione) as StatoRegistrazione,\n flagSuper: this.normalizeDatabaseBoolean(user.flagSuper),\n flagAdmin: this.normalizeDatabaseBoolean(user.flagAdmin),\n flagDueFattori: this.normalizeDatabaseBoolean(user.flagDueFattori),\n passwordlessLoginEnabled: this.normalizeDatabaseBoolean(user.passwordlessLoginEnabled),\n passwordLoginEnabled: this.normalizeDatabaseBoolean(user.passwordLoginEnabled),\n };\n }\n\n /**\n * True se l'utente indicato e' un admin attivo e nessun altro admin attivo\n * esiste: rimuovergli il flag admin, bloccarlo o eliminarlo lascerebbe la\n * console senza amministratori.\n */\n async isLastActiveAdmin(codiceUtente: number): Promise<boolean> {\n const snapshot = await this.getAuthenticatedUserSnapshot(codiceUtente);\n if (!snapshot?.flagAdmin) return false;\n\n const rows = (await Orm.query(\n this.accessiOptions.databaseOptions,\n `SELECT COUNT(*) AS TOTAL\n FROM UTENTI U\n JOIN UTENTI_CONFIG C ON C.CODUTE = U.CODUTE\n WHERE COALESCE(C.FLGADMIN, 0) = 1\n AND COALESCE(U.STAREG, 0) NOT IN (?, ?)`,\n [StatoRegistrazione.DELETE, StatoRegistrazione.BLOCC],\n false,\n )) as Array<Record<string, unknown>>;\n const total = Number(rows[0]?.TOTAL ?? rows[0]?.total ?? 0) || 0;\n return total <= 1;\n }\n\n /** Impedisce di disattivare/eliminare l'ultimo admin attivo (lockout della console). */\n async assertNotLastActiveAdmin(codiceUtente: number): Promise<void> {\n if (await this.isLastActiveAdmin(codiceUtente)) {\n throw new BadRequestException(\n 'Operazione bloccata: questo e l ultimo admin attivo. Promuovi un altro admin prima di disattivarlo o eliminarlo.',\n );\n }\n }\n\n /**\n * Elenca gli utenti con filtri opzionali. Grant e campi estesi sono costosi e vengono caricati soltanto\n * quando richiesti esplicitamente nelle opzioni; usare filtri puntuali nei flussi di autenticazione.\n */\n async getUsers(\n filters?: {\n email?: string;\n codiceUtente?: number | number[];\n numRep?: number | number[];\n codDipendente?: number;\n cellulare?: string;\n tipFil?: number;\n flagSuper?: boolean;\n limit?: number;\n offset?: number;\n },\n options?: { includeExtensionFields: boolean; includeGrants: boolean; scope?: string },\n ): Promise<GetUsersResult[]> {\n try {\n const filterColumns = await getTableColumns(this.accessiOptions, 'FILTRI');\n\n // Paginazione opzionale con limiti sani: il default resta \"tutti gli utenti\".\n const limit = Number.isInteger(filters?.limit) && (filters?.limit ?? 0) > 0\n ? Math.min(filters?.limit as number, 1000)\n : undefined;\n const offset = Number.isInteger(filters?.offset) && (filters?.offset ?? 0) > 0\n ? Math.trunc(filters?.offset as number)\n : 0;\n const pagination = `${limit !== undefined ? ` FIRST ${limit}` : ''}${offset > 0 ? ` SKIP ${offset}` : ''}`;\n\n let query = ` \n SELECT${pagination} \n U.CODUTE as codice_utente, \n U.USRNAME as email, \n U.FLGGDPR as flag_gdpr, \n U.DATGDPR as data_gdpr, \n U.DATINS as data_inserimento, \n U.DATSCAPWD as data_scadenza_password, \n U.DATLASTLOGIN as data_last_login, \n U.STAREG as stato_registrazione, \n G.COGNOME as cognome, \n G.NOME as nome, \n G.AVATAR as avatar, \n G.FLG2FATT as flag_due_fattori,\n G.FLGPWDLESS as passwordless_login_enabled,\n G.CODLINGUA as codice_lingua,\n G.CELLULARE as cellulare,\n G.PAGDEF as pagina_default,\n G.FLGSUPER as flag_super, \n G.FLGADMIN as flag_admin,\n COALESCE(G.FLGPASSWORD, 1) as password_login_enabled,\n G.JSON_METADATA as json_metadata,\n ${optionalColumn(filterColumns, 'CODDIP', 'F', 'cod_dipendente')},\n ${optionalColumn(filterColumns, 'NUMREP', 'F', 'num_rep', true)},\n ${optionalColumn(filterColumns, 'IDXPERS', 'F', 'idx_pers', true)},\n ${optionalColumn(filterColumns, 'CODCLISUPER', 'F', 'cod_cli_super', true)},\n ${optionalColumn(filterColumns, 'CODAGE', 'F', 'cod_age', true)},\n ${optionalColumn(filterColumns, 'CODCLICOL', 'F', 'cod_cli_col', true)},\n ${optionalColumn(filterColumns, 'CODCLIENTI', 'F', 'cod_clienti', false)},\n F.TIPFIL AS tip_fil,\n ${optionalColumn(filterColumns, 'IDXPOS', 'F', 'idx_postazione', true)}\n FROM UTENTI U \n INNER JOIN UTENTI_CONFIG G ON U.CODUTE = G.CODUTE\n LEFT JOIN FILTRI F ON F.CODUTE = U.CODUTE\n WHERE 1=1\n `;\n\n const queryParams: unknown[] = [];\n\n if (filters?.email) {\n query += ` AND LOWER(U.USRNAME) = ? `;\n queryParams.push(filters.email.trim().toLowerCase());\n }\n\n if (filters?.codiceUtente !== undefined) {\n const codes = (Array.isArray(filters.codiceUtente) ? filters.codiceUtente : [filters.codiceUtente])\n .map((value) => Number(value))\n .filter((value) => Number.isFinite(value) && value > 0);\n if (codes.length === 0) {\n return [];\n }\n query += ` AND U.CODUTE IN (${codes.map(() => '?').join(', ')}) `;\n queryParams.push(...codes);\n }\n\n if (filters?.numRep !== undefined) {\n const reparti = (Array.isArray(filters.numRep) ? filters.numRep : [filters.numRep])\n .map((value) => Number(value))\n .filter((value) => Number.isFinite(value));\n if (reparti.length === 0) {\n return [];\n }\n query += ` AND F.NUMREP IN (${reparti.map(() => '?').join(', ')}) `;\n queryParams.push(...reparti);\n }\n\n if (filters?.codDipendente !== undefined) {\n query += ` AND F.CODDIP = ? `;\n queryParams.push(Number(filters.codDipendente));\n }\n\n if (filters?.tipFil !== undefined) {\n query += ` AND F.TIPFIL = ? `;\n queryParams.push(Number(filters.tipFil));\n }\n\n if (filters?.cellulare) {\n query += ` AND TRIM(G.CELLULARE) = ? `;\n queryParams.push(String(filters.cellulare).trim());\n }\n\n if (filters?.flagSuper !== undefined) {\n query += filters.flagSuper ? ` AND COALESCE(G.FLGSUPER, 0) <> 0 ` : ` AND COALESCE(G.FLGSUPER, 0) = 0 `;\n }\n\n query += ` ORDER BY U.CODUTE DESC `;\n\n let users = (await Orm.query(\n this.accessiOptions.databaseOptions,\n query,\n queryParams,\n )) as UserDto[];\n users = users.map(RestUtilities.convertKeysToCamelCase).map(user => this.normalizeUserFlags(user as unknown as UserDto));\n\n const usersResponse: GetUsersResult[] = [];\n\n // I campi estensione sono caricati una volta per tabella (non una per utente) in query IN\n // suddivise in blocchi per non superare i limiti di parametri del driver.\n const extensionFieldsByUser = options?.includeExtensionFields\n ? await this.loadExtensionFieldsForUsers(users.map((user) => user.codiceUtente))\n : undefined;\n\n // I grant sono caricati in batch (query IN) invece che utente per utente.\n const grantsByUser = options?.includeGrants\n ? await this.permissionService.getUsersRolesAndGrants(users.map((user) => user.codiceUtente), options?.scope)\n : undefined;\n\n for (const user of users) {\n let userGrants: UserGrantsDto | undefined;\n\n if (options?.includeGrants) {\n userGrants = grantsByUser?.get(user.codiceUtente);\n }\n\n let extensionFields: Record<string, unknown[]> | undefined;\n\n if (options?.includeExtensionFields) {\n extensionFields = {};\n for (const ext of this.accessiOptions.extensionFieldsOptions ?? []) {\n extensionFields[ext.objectKey] = extensionFieldsByUser?.get(ext.objectKey)?.get(user.codiceUtente) ?? [];\n }\n }\n\n usersResponse.push({\n utente: user,\n userGrants,\n extensionFields,\n });\n }\n\n return usersResponse;\n } catch (error) {\n throw error;\n }\n }\n\n /** Conteggio utenti con gli stessi filtri di `getUsers`, per la paginazione (header X-Total-Count). */\n async countUsers(filters?: { email?: string; codiceUtente?: number }): Promise<number> {\n const conditions: string[] = [];\n const params: unknown[] = [];\n if (filters?.email) {\n conditions.push('LOWER(U.USRNAME) = ?');\n params.push(filters.email.trim().toLowerCase());\n }\n if (filters?.codiceUtente) {\n conditions.push('U.CODUTE = ?');\n params.push(filters.codiceUtente);\n }\n\n 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(' ')}`;\n const rows = (await Orm.query(this.accessiOptions.databaseOptions, query, params, false)) as Array<Record<string, unknown>>;\n const row = rows[0];\n return Number(row?.TOTAL ?? row?.total ?? 0) || 0;\n }\n\n private async loadExtensionFieldsForUsers(\n codiceUtenti: number[],\n ): Promise<Map<string, Map<number, Record<string, unknown>[]>>> {\n const byObjectKey = new Map<string, Map<number, Record<string, unknown>[]>>();\n const extensions = this.accessiOptions.extensionFieldsOptions ?? [];\n const uniqueCodes = Array.from(new Set(codiceUtenti));\n\n for (const ext of extensions) {\n const grouped = new Map<number, Record<string, unknown>[]>();\n\n for (const chunk of this.chunkArray(uniqueCodes, 500)) {\n if (chunk.length === 0) {\n continue;\n }\n\n const placeholders = chunk.map(() => '?').join(', ');\n const rows = (await Orm.query(\n ext.databaseOptions,\n `SELECT ${ext.tableJoinFieldName} AS __joinkey, ${ext.tableFields.join(', ')} FROM ${ext.tableName} WHERE ${ext.tableJoinFieldName} IN (${placeholders})`,\n chunk,\n )).map(RestUtilities.convertKeysToCamelCase) as Array<Record<string, unknown>>;\n\n for (const row of rows) {\n const { __joinkey, ...rest } = row;\n const key = Number(__joinkey);\n if (!Number.isFinite(key)) {\n continue;\n }\n\n const bucket = grouped.get(key);\n if (bucket) {\n bucket.push(rest);\n } else {\n grouped.set(key, [rest]);\n }\n }\n }\n\n byObjectKey.set(ext.objectKey, grouped);\n }\n\n return byObjectKey;\n }\n\n private chunkArray<T>(items: T[], size: number): T[][] {\n const chunks: T[][] = [];\n for (let index = 0; index < items.length; index += size) {\n chunks.push(items.slice(index, index + size));\n }\n return chunks;\n }\n\n /** Cerca il codice interno per email normalizzata. Il chiamante deve gestire il caso senza righe. */\n async getCodiceUtenteByEmail(email: string): Promise<{ codiceUtente: number }> {\n try {\n const query = `SELECT CODUTE as codice_utente FROM UTENTI WHERE LOWER(USRNAME) = ?`;\n const result = await Orm.query(this.accessiOptions.databaseOptions, query, [\n email.trim().toLowerCase(),\n ]);\n return result.map(RestUtilities.convertKeysToCamelCase)[0] as { codiceUtente: number };\n } catch (error) {\n throw error;\n }\n }\n\n /** Recupera il profilo locale usato dal login, compresi filtri Accessi eventualmente presenti. */\n async getUserByEmail(email: string): Promise<UserDto | null> {\n const query = `\n SELECT \n U.CODUTE AS codice_utente, \n U.USRNAME AS email, \n U.FLGGDPR AS flag_gdpr,\n U.DATSCAPWD as data_scadenza_password,\n U.STAREG AS stato_registrazione, \n C.COGNOME AS cognome, \n C.NOME AS nome, \n C.AVATAR AS avatar, \n C.FLG2FATT AS flag_due_fattori,\n C.FLGPWDLESS AS passwordless_login_enabled,\n C.CODLINGUA AS codice_lingua, \n C.CELLULARE AS cellulare, \n C.PAGDEF AS pagina_default,\n C.FLGSUPER AS flag_super,\n C.FLGADMIN AS flag_admin,\n COALESCE(C.FLGPASSWORD, 1) AS password_login_enabled\n FROM UTENTI U\n INNER JOIN UTENTI_CONFIG C ON C.CODUTE = U.CODUTE\n WHERE LOWER(U.USRNAME) = ?\n `;\n\n const utenti = (await Orm.query(this.accessiOptions.databaseOptions, query, [email]).then(\n (results) => results.map(RestUtilities.convertKeysToCamelCase),\n )) as UserDto[];\n\n const user = utenti[0];\n if (!user) return null;\n\n const filtro = (await this.filtriService.getFiltriUser(user.codiceUtente))[0];\n if (filtro) {\n const filterValues: Record<string, unknown> = {};\n\n Object.entries(FILTRI_UTENTE_DB_MAPPING).forEach(([key]) => {\n if (key in filtro) {\n filterValues[key] = filtro[key as keyof FiltriUtente];\n }\n });\n\n Object.assign(user, filterValues);\n }\n\n return this.normalizeUserFlags(user);\n }\n\n async insertUserFilters(codiceUtente: number, filterData: RegisterRequest): Promise<void> {\n await this.filtriService.upsertFiltriUtente(codiceUtente, filterData);\n }\n\n /**\n * Crea utente, configurazione e filtri. La registrazione pubblica resta in stato `INVIO` e non puo\n * impostare privilegi, ruoli o grant; soltanto flussi backend fidati possono usare `allowPrivilegedFields`.\n */\n async register(\n registrationData: RegisterRequest,\n options?: { allowPrivilegedFields?: boolean; initialState?: StatoRegistrazione },\n ): Promise<number> {\n try {\n const allowPrivilegedFields = options?.allowPrivilegedFields === true;\n const normalizedEmail = this.normalizeEmail(registrationData.email);\n\n if (registrationData.flagDueFattori !== undefined && typeof registrationData.flagDueFattori !== 'boolean') {\n throw new BadRequestException('Il flag due fattori deve essere booleano.');\n }\n if (registrationData.flagDueFattori && !/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(normalizedEmail)) {\n throw new BadRequestException('Per attivare i codici di accesso serve un indirizzo email valido.');\n }\n\n if (\n !allowPrivilegedFields &&\n (registrationData.flagSuper !== undefined ||\n registrationData.flagAdmin !== undefined ||\n registrationData.flagDueFattori !== undefined ||\n registrationData.roles !== undefined ||\n registrationData.permissions !== undefined)\n ) {\n throw new Error('I campi privilegiati non sono consentiti nella registrazione pubblica.');\n }\n\n await this.ensureEmailIsAvailable(normalizedEmail);\n\n const queryUtenti = `INSERT INTO UTENTI (USRNAME, STAREG) VALUES (?,?) RETURNING CODUTE`;\n // Public/local registrations keep the historic INVIO state; trusted master or SSO flows may opt into CONF.\n const paramsUtenti = [normalizedEmail, options?.initialState ?? StatoRegistrazione.INVIO];\n\n // Utente e configurazione sono creati in un'unica transazione; filtri e assegnazioni restano\n // fuori perché delegati a servizi dedicati.\n const codiceUtente = await Orm.withTransaction(\n this.accessiOptions.databaseOptions,\n async (transaction) => {\n const insertedUsers = await Orm.transactionQuery<unknown>(\n transaction,\n queryUtenti,\n paramsUtenti,\n );\n\n const insertedUser = (Array.isArray(insertedUsers) ? insertedUsers[0] : insertedUsers) as Record<string, unknown> | undefined;\n const newCodiceUtente = Number(\n insertedUser?.CODUTE ?? insertedUser?.codute,\n );\n if (!newCodiceUtente) {\n throw new Error('Creazione utente non riuscita: impossibile recuperare CODUTE.');\n }\n\n const utentiConfigFields = ['CODUTE', 'COGNOME', 'NOME'];\n const utentiConfigPlaceholders = ['?', '?', '?'];\n const utentiConfigParams: unknown[] = [newCodiceUtente, registrationData.cognome, registrationData.nome];\n\n const optionalFields: OptionalField<unknown>[] = [\n {\n key: 'cellulare',\n dbField: 'CELLULARE',\n transform: (v) => String(v),\n },\n {\n key: 'avatar',\n dbField: 'AVATAR',\n transform: (v) => String(v),\n },\n {\n key: 'paginaDefault',\n dbField: 'PAGDEF',\n transform: (v) => String(v),\n },\n {\n key: 'flagDueFattori',\n dbField: 'FLG2FATT',\n transform: (v) => (v ? 1 : 0),\n },\n ];\n\n if (allowPrivilegedFields) {\n optionalFields.push(\n {\n key: 'flagSuper',\n dbField: 'FLGSUPER',\n transform: (v) => (v ? 1 : 0),\n },\n {\n key: 'flagAdmin',\n dbField: 'FLGADMIN',\n transform: (v) => (v ? 1 : 0),\n },\n );\n }\n\n for (const field of optionalFields) {\n const value = (registrationData as unknown as Record<string, unknown>)[field.key];\n if (value !== undefined && value !== null) {\n utentiConfigFields.push(field.dbField);\n utentiConfigPlaceholders.push('?');\n utentiConfigParams.push(field.transform ? field.transform(value) : value);\n }\n }\n\n const queryUtentiConfig = `INSERT INTO UTENTI_CONFIG (${utentiConfigFields.join(\n ', ',\n )}) VALUES (${utentiConfigPlaceholders.join(', ')})`;\n await Orm.transactionQuery(transaction, queryUtentiConfig, utentiConfigParams);\n\n return newCodiceUtente;\n },\n );\n\n if (hasFilterPayload(registrationData)) {\n await this.filtriService.upsertFiltriUtente(codiceUtente, registrationData);\n }\n\n if (allowPrivilegedFields && !!registrationData.roles && registrationData.roles.length > 0) {\n await this.permissionService.assignRolesToUser(codiceUtente, registrationData.roles);\n }\n\n if (\n allowPrivilegedFields &&\n !!registrationData.permissions &&\n registrationData.permissions.length > 0\n ) {\n await this.permissionService.assignPermissionsToUser(\n codiceUtente,\n registrationData.permissions,\n );\n }\n\n return codiceUtente;\n } catch (error) {\n throw error;\n }\n }\n\n /**\n * Aggiorna il profilo utente e i filtri. Le modifiche a stato, ruoli, grant e flag amministrativi richiedono\n * `allowPrivilegedChanges`; gli array ruolo/grant passati in un flusso fidato sostituiscono le assegnazioni.\n */\n async updateUser(\n codiceUtente: number,\n user: UserDto,\n options?: { allowPrivilegedChanges?: boolean },\n ): Promise<void> {\n try {\n if (!codiceUtente) throw new Error('Impossibile aggiornare senza codice utente.');\n const allowPrivilegedChanges = options?.allowPrivilegedChanges === true;\n\n for (const value of [user.flagDueFattori, user.passwordlessLoginEnabled]) {\n if (value !== undefined && typeof value !== 'boolean') throw new BadRequestException('Le policy di autenticazione devono essere booleane.');\n }\n\n if (\n !allowPrivilegedChanges &&\n (user.statoRegistrazione !== undefined ||\n user.flagSuper !== undefined ||\n user.flagAdmin !== undefined ||\n user.passwordLoginEnabled !== undefined ||\n user.passwordlessLoginEnabled !== undefined ||\n user.flagDueFattori !== undefined ||\n user.roles !== undefined ||\n user.permissions !== undefined)\n ) {\n throw new Error('Non e consentito modificare campi privilegiati.');\n }\n\n let currentSnapshot: AccessiAuthenticatedUserSnapshot | null | undefined;\n const getCurrentSnapshot = async (): Promise<AccessiAuthenticatedUserSnapshot> => {\n if (currentSnapshot === undefined) {\n currentSnapshot = await this.getAuthenticatedUserSnapshot(codiceUtente);\n }\n if (!currentSnapshot) throw new BadRequestException('Utente non trovato.');\n return currentSnapshot;\n };\n\n if (user.flagDueFattori !== undefined || user.passwordlessLoginEnabled !== undefined || user.email !== undefined) {\n const current = await getCurrentSnapshot();\n const twoFactor = user.flagDueFattori ?? current.flagDueFattori;\n const passwordless = user.passwordlessLoginEnabled ?? current.passwordlessLoginEnabled;\n if (passwordless && !twoFactor) throw new BadRequestException('Il login senza password richiede il codice di accesso attivo.');\n if (twoFactor && !/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test((user.email ?? current.email ?? '').trim())) {\n throw new BadRequestException('Per attivare i codici di accesso serve un indirizzo email valido.');\n }\n }\n\n // Ogni modifica a stato o policy di autenticazione deve invalidare i token emessi.\n let revocationReason: string | undefined;\n if (\n user.statoRegistrazione !== undefined\n || user.flagDueFattori !== undefined\n || user.passwordlessLoginEnabled !== undefined\n || user.passwordLoginEnabled !== undefined\n ) {\n const before = await getCurrentSnapshot();\n if (user.statoRegistrazione !== undefined && Number(before.statoRegistrazione) !== Number(user.statoRegistrazione)) {\n revocationReason = 'user_state_change';\n } else if (user.flagDueFattori !== undefined && Boolean(before.flagDueFattori) !== user.flagDueFattori) {\n revocationReason = 'two_factor_policy_change';\n } else if (\n user.passwordlessLoginEnabled !== undefined\n && Boolean(before.passwordlessLoginEnabled) !== user.passwordlessLoginEnabled\n ) {\n revocationReason = 'login_policy_change';\n } else if (\n user.passwordLoginEnabled !== undefined\n && Boolean(before.passwordLoginEnabled) !== user.passwordLoginEnabled\n ) {\n revocationReason = 'login_policy_change';\n }\n }\n\n const utentiUpdates = [];\n const utentiParams = [];\n\n if (user.email !== undefined) {\n const normalizedEmail = this.normalizeEmail(user.email);\n await this.ensureEmailIsAvailable(normalizedEmail, codiceUtente);\n utentiUpdates.push('usrname = ?');\n utentiParams.push(normalizedEmail);\n }\n if (user.flagGdpr !== undefined) {\n utentiUpdates.push('flggdpr = ?');\n utentiParams.push(user.flagGdpr ? 1 : 0);\n // Coerenza con set-gdpr: flag e data di accettazione restano allineati.\n utentiUpdates.push(user.flagGdpr ? 'datgdpr = CURRENT_DATE' : 'datgdpr = NULL');\n }\n if (allowPrivilegedChanges && user.statoRegistrazione !== undefined) {\n utentiUpdates.push('stareg = ?');\n utentiParams.push(user.statoRegistrazione);\n }\n if (allowPrivilegedChanges && user.keyRegistrazione !== undefined) {\n utentiUpdates.push('keyreg = ?');\n utentiParams.push(user.keyRegistrazione);\n }\n if (allowPrivilegedChanges && user.dataScadenzaPassword !== undefined) {\n utentiUpdates.push('DATSCAPWD = CAST(? AS DATE)');\n utentiParams.push(user.dataScadenzaPassword);\n }\n\n if (utentiUpdates.length > 0) {\n const queryUtenti = `UPDATE UTENTI SET ${utentiUpdates.join(', ')} WHERE CODUTE = ?`;\n utentiParams.push(codiceUtente);\n await Orm.execute(this.accessiOptions.databaseOptions, queryUtenti, utentiParams);\n }\n\n // Completa il processo GDPR: oltre ai flag, registra la riga storica di accettazione\n // (stessa semantica di set-gdpr). Il trigger UTENTI_GDPR_BI0 riallinea i flag.\n if (user.flagGdpr === true) {\n await Orm.execute(\n this.accessiOptions.databaseOptions,\n 'UPDATE OR INSERT INTO UTENTI_GDPR (CODUTE, DATACC, GDPR) VALUES (?, CURRENT_DATE, ?) MATCHING (CODUTE, DATACC)',\n [codiceUtente, 'true'],\n );\n }\n\n // UPDATE OR INSERT mantiene la scrittura idempotente anche se la riga UTENTI_CONFIG\n // non esiste ancora: aggiorna solo le colonne fornite, altrimenti la crea.\n const utentiConfigAssignments: Array<{ column: string; value: unknown }> = [];\n const assignConfig = (column: string, value: unknown) => {\n utentiConfigAssignments.push({ column, value });\n };\n\n if (user.cognome !== undefined) assignConfig('cognome', user.cognome);\n if (user.nome !== undefined) assignConfig('nome', user.nome);\n if (user.avatar !== undefined) assignConfig('avatar', user.avatar);\n if (user.flagDueFattori !== undefined) assignConfig('flg2fatt', user.flagDueFattori ? 1 : 0);\n if (user.passwordlessLoginEnabled !== undefined) assignConfig('flgpwdless', user.passwordlessLoginEnabled ? 1 : 0);\n if (user.codiceLingua !== undefined) assignConfig('codlingua', user.codiceLingua);\n if (user.cellulare !== undefined) assignConfig('cellulare', user.cellulare);\n if (user.paginaDefault !== undefined) assignConfig('PAGDEF', user.paginaDefault);\n if (allowPrivilegedChanges && user.flagSuper !== undefined) assignConfig('flgsuper', user.flagSuper ? 1 : 0);\n if (allowPrivilegedChanges && user.flagAdmin !== undefined) assignConfig('FLGADMIN', user.flagAdmin ? 1 : 0);\n if (allowPrivilegedChanges && user.passwordLoginEnabled !== undefined) assignConfig('flgpassword', user.passwordLoginEnabled ? 1 : 0);\n if (user.jsonMetadata !== undefined) assignConfig('json_metadata', user.jsonMetadata);\n\n if (utentiConfigAssignments.length > 0) {\n const columns = ['CODUTE', ...utentiConfigAssignments.map((assignment) => assignment.column)];\n const values = [codiceUtente, ...utentiConfigAssignments.map((assignment) => assignment.value)];\n const queryUtentiConfig = `UPDATE OR INSERT INTO UTENTI_CONFIG (${columns.join(', ')}) VALUES (${columns.map(() => '?').join(', ')}) MATCHING (CODUTE)`;\n await Orm.execute(this.accessiOptions.databaseOptions, queryUtentiConfig, values);\n }\n\n if (allowPrivilegedChanges && Array.isArray(user.roles)) {\n await this.permissionService.assignRolesToUser(codiceUtente, user.roles);\n }\n\n if (allowPrivilegedChanges && Array.isArray(user.permissions)) {\n await this.permissionService.assignPermissionsToUser(codiceUtente, user.permissions);\n }\n\n if (hasFilterPayload(user)) {\n await this.filtriService.upsertFiltriUtente(codiceUtente, user);\n }\n\n if (revocationReason) {\n await this.revokeSessionsBestEffort(codiceUtente, revocationReason);\n }\n } catch (error) {\n throw error;\n }\n }\n\n async updateUserFilters(codiceUtente: number, user: UserDto): Promise<void> {\n await this.filtriService.upsertFiltriUtente(codiceUtente, user);\n }\n\n /** Eliminazione logica: imposta lo stato `DELETE` senza cancellare lo storico o i collegamenti SSO. */\n async deleteUser(codiceCliente: number): Promise<void> {\n try {\n const query = `UPDATE UTENTI SET STAREG = ? WHERE CODUTE = ?`;\n await Orm.execute(this.accessiOptions.databaseOptions, query, [\n StatoRegistrazione.DELETE,\n codiceCliente,\n ]);\n await this.revokeSessionsBestEffort(codiceCliente, 'user_soft_delete');\n } catch (error) {\n throw error;\n }\n }\n\n /**\n * Eliminazione definitiva: rimuove l'utente e tutti i record collegati in un'unica\n * transazione. Operazione distruttiva riservata agli admin (il superutente usa il soft delete).\n */\n async deleteUserPermanently(codiceUtente: number): Promise<void> {\n if (!codiceUtente) throw new BadRequestException('Impossibile eliminare senza codice utente.');\n\n const rows = await this.getUsers(\n { codiceUtente },\n { includeExtensionFields: false, includeGrants: false },\n );\n if (rows.length === 0) {\n throw new NotFoundException(`Nessun utente con codice ${codiceUtente}.`);\n }\n\n const params = [codiceUtente];\n try {\n await Orm.executeMultiple(this.accessiOptions.databaseOptions, [\n { query: 'DELETE FROM ABILITAZIONI WHERE CODUTE = ?', params },\n { query: 'DELETE FROM UTENTI_RUOLI WHERE CODUTE = ?', params },\n { query: 'DELETE FROM UTENTI_IDENTITA_EXT WHERE CODUTE = ?', params },\n { query: 'DELETE FROM ACCESSI_2FA WHERE CODUTE = ?', params },\n { query: 'DELETE FROM FILTRI WHERE CODUTE = ?', params },\n { query: 'DELETE FROM UTENTI_CONFIG WHERE CODUTE = ?', params },\n { query: 'DELETE FROM UTENTI_PWD WHERE CODUTE = ?', params },\n { query: 'DELETE FROM UTENTI_OLDPWD WHERE CODUTE = ?', params },\n { query: 'DELETE FROM UTENTI_GDPR WHERE CODUTE = ?', params },\n { query: 'DELETE FROM UTENTI WHERE CODUTE = ?', params },\n ]);\n await this.revokeSessionsBestEffort(codiceUtente, 'user_delete');\n } catch (error) {\n if (this.isForeignKeyViolation(error)) {\n throw new BadRequestException({\n code: 'ACCESSI_USER_DELETE_HAS_REFERENCES',\n message: 'L utente ha dati collegati in altre tabelle (per esempio campi estesi del backend): non e possibile eliminarlo definitivamente. Usa \"Imposta stato eliminato\" (soft delete).',\n });\n }\n throw error;\n }\n }\n\n /** Riconosce una violazione di chiave esterna Firebird (SQLCODE -530/-531 o messaggio) senza esporre SQL. */\n private isForeignKeyViolation(error: unknown): boolean {\n const record = error as { sqlcode?: unknown; gdscode?: unknown; message?: unknown; code?: unknown } | null;\n const sqlcode = Number(record?.sqlcode);\n if (Number.isFinite(sqlcode) && (sqlcode === -530 || sqlcode === -531)) return true;\n const text = `${typeof record?.message === 'string' ? record.message : ''} ${typeof record?.code === 'string' ? record.code : ''}`;\n return /foreign key|isc_foreign_key|violation of .*constraint|-530/i.test(text);\n }\n\n /** Cambia esplicitamente lo stato di registrazione; usare questa API per blocco, conferma o eliminazione logica. */\n async setStato(codiceCliente: number, statoRegistrazione: StatoRegistrazione) {\n try {\n const query = `UPDATE UTENTI SET STAREG = ? WHERE CODUTE = ?`;\n await Orm.execute(this.accessiOptions.databaseOptions, query, [\n statoRegistrazione,\n codiceCliente,\n ]);\n if (\n statoRegistrazione === StatoRegistrazione.BLOCC\n || statoRegistrazione === StatoRegistrazione.DELETE\n ) {\n await this.revokeSessionsBestEffort(codiceCliente, 'user_disabled');\n }\n } catch (error) {\n throw error;\n }\n }\n\n public async setGdpr(codiceUtente: number) {\n try {\n return await Orm.executeMultiple(this.accessiOptions.databaseOptions, [\n { query: 'UPDATE OR INSERT INTO UTENTI_GDPR (CODUTE, DATACC, GDPR) VALUES (?, CURRENT_DATE, ?) MATCHING (CODUTE, DATACC)', params: [codiceUtente, 'true'] },\n { query: 'UPDATE UTENTI SET FLGGDPR = 1, DATGDPR = CURRENT_DATE WHERE CODUTE = ?', params: [codiceUtente] },\n ]);\n } catch (error) {\n throw error;\n }\n }\n\n /**\n * Forza l'invio dell'email di reset password per un utente. Operazione amministrativa.\n * Richiede un servizio email configurato: altrimenti solleva ACCESSI_EMAIL_NOT_CONFIGURED.\n */\n public async forcePasswordReset(codiceUtente: number): Promise<void> {\n assertEmailConfigured(this.accessiOptions);\n const rows = await this.getUsers({ codiceUtente });\n const email = rows[0]?.utente?.email;\n if (typeof email !== 'string' || email.trim() === '') {\n throw new NotFoundException(`Nessun utente con email per il codice ${codiceUtente}.`);\n }\n await this.emailService.sendPasswordResetEmail(email);\n }\n\n /**\n * Forza l'invio dell'email di reset a tutti gli utenti la cui password non e ancora nel formato\n * moderno (`scrypt$...`), cioe' legacy grezza o `scrypt-legacy` non piu verificabile. Utile quando\n * la `encryptionKey` storica e perduta. Richiede email configurata. Ritorna quanti utenti hanno\n * ricevuto l'email.\n */\n public async forcePasswordResetForLegacyPasswords(): Promise<number> {\n assertEmailConfigured(this.accessiOptions);\n const rows = await Orm.query(\n this.accessiOptions.databaseOptions,\n `SELECT U.CODUTE AS codice_utente, U.USRNAME AS email\n FROM UTENTI U\n JOIN UTENTI_PWD P ON P.CODUTE = U.CODUTE\n WHERE P.PWD IS NOT NULL AND P.PWD NOT STARTING WITH 'scrypt$'`,\n [],\n false,\n );\n\n let sent = 0;\n for (const row of rows as Array<Record<string, unknown>>) {\n const raw = RestUtilities.convertKeysToCamelCase(row) as Record<string, unknown>;\n const email = typeof raw.email === 'string' ? raw.email.trim() : '';\n if (email === '') continue;\n await this.emailService.sendPasswordResetEmail(email);\n sent += 1;\n }\n return sent;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startupLog.js","sourceRoot":"","sources":["../../src/accessi-service/startupLog.ts"],"names":[],"mappings":";;AAUA,8CAqBC;AA/BD,sCAAmC;AAEnC,8DAA2E;AAC3E,4DAAwE;AAGxE;;;GAGG;AACH,SAAgB,iBAAiB,CAC/B,OAAuB,EACvB,eAA6C;;IAE7C,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,MAAA,OAAO,CAAC,aAAa,mCAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAA,4CAA4B,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjF,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAChD,MAAM,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAEtD,IAAI,CAAA,MAAA,OAAO,CAAC,cAAc,0CAAE,OAAO,MAAK,IAAI,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAA,+CAA8B,GAAE,CAAC;QAC/C,MAAM,CAAC,OAAO,CAAC,kFAAkF,KAAK,EAAE,CAAC,CAAC;IAC5G,CAAC;AACH,CAAC","sourcesContent":["import { Logger } from '../Logger';\nimport type { AccessiOptions } from './AccessiModule';\nimport { getOrCreateAdminBootstrapToken } from './security/adminBootstrap';\nimport { resolveAccessiOpenApiOptions } from '../openapi/OpenApiConfig';\nimport type { ResolvedOpenApiSetupOptions } from '../openapi/OpenApiConfig';\n\n/**\n * Logga gli indirizzi utili del modulo Accessi appena il bootstrap e completato, cosi che\n * console, OpenAPI e API siano visibili insieme nei log di avvio.\n */\nexport function logAccessiStartup(\n options: AccessiOptions,\n openApiOverride?: ResolvedOpenApiSetupOptions\n): void {\n const logger = new Logger('Accessi');\n const base = (options.publicBaseUrl ?? '').replace(/\\/+$/, '');\n const url = (path: string) => `${base}${path}`;\n const openApi = openApiOverride ?? resolveAccessiOpenApiOptions(options.openapi);\n\n logger.info('Accessi pronto. Indirizzi utili:');\n logger.info(` Console: ${url('/api/accessi/console')}`);\n if (openApi.enabled) {\n logger.info(` OpenAPI UI: ${url(`/${openApi.openApiPath}`)}`);\n logger.info(` OpenAPI JSON: ${url(`/${openApi.openApiJsonPath}`)}`);\n }\n logger.info(` API: ${url('/api/accessi')}`);\n\n if (options.adminBootstrap?.enabled === true) {\n const token = getOrCreateAdminBootstrapToken();\n logger.warning(` Bootstrap admin abilitato. Token di avvio (monouso, valido fino al riavvio): ${token}`);\n }\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Contesto di richiesta per il router multi-tenant in-process. */
|
|
2
|
+
export interface AccessiTenantContext {
|
|
3
|
+
tenantId: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Esegue `callback` con il tenant corrente.
|
|
7
|
+
*
|
|
8
|
+
* Usare il router (`createAccessiTenantRouter`) per impostarlo automaticamente;
|
|
9
|
+
* le API pubbliche servono a host che montano un proprio dispatcher.
|
|
10
|
+
*/
|
|
11
|
+
export declare function runWithAccessiTenant<T>(tenantId: string, callback: () => T): T;
|
|
12
|
+
/** Tenant corrente, se la richiesta e dentro `runWithAccessiTenant`/router. */
|
|
13
|
+
export declare function getAccessiTenantContext(): AccessiTenantContext | undefined;
|
|
14
|
+
/** Scorciatoia per il solo identificativo del tenant corrente. */
|
|
15
|
+
export declare function getAccessiTenantId(): string | undefined;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runWithAccessiTenant = runWithAccessiTenant;
|
|
4
|
+
exports.getAccessiTenantContext = getAccessiTenantContext;
|
|
5
|
+
exports.getAccessiTenantId = getAccessiTenantId;
|
|
6
|
+
const node_async_hooks_1 = require("node:async_hooks");
|
|
7
|
+
const storage = new node_async_hooks_1.AsyncLocalStorage();
|
|
8
|
+
/**
|
|
9
|
+
* Esegue `callback` con il tenant corrente.
|
|
10
|
+
*
|
|
11
|
+
* Usare il router (`createAccessiTenantRouter`) per impostarlo automaticamente;
|
|
12
|
+
* le API pubbliche servono a host che montano un proprio dispatcher.
|
|
13
|
+
*/
|
|
14
|
+
function runWithAccessiTenant(tenantId, callback) {
|
|
15
|
+
return storage.run({ tenantId }, callback);
|
|
16
|
+
}
|
|
17
|
+
/** Tenant corrente, se la richiesta e dentro `runWithAccessiTenant`/router. */
|
|
18
|
+
function getAccessiTenantContext() {
|
|
19
|
+
return storage.getStore();
|
|
20
|
+
}
|
|
21
|
+
/** Scorciatoia per il solo identificativo del tenant corrente. */
|
|
22
|
+
function getAccessiTenantId() {
|
|
23
|
+
var _a;
|
|
24
|
+
return (_a = storage.getStore()) === null || _a === void 0 ? void 0 : _a.tenantId;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=tenantContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenantContext.js","sourceRoot":"","sources":["../../../src/accessi-service/tenancy/tenantContext.ts"],"names":[],"mappings":";;AAeA,oDAEC;AAGD,0DAEC;AAGD,gDAEC;AA3BD,uDAAqD;AAOrD,MAAM,OAAO,GAAG,IAAI,oCAAiB,EAAwB,CAAC;AAE9D;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAI,QAAgB,EAAE,QAAiB;IACzE,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,+EAA+E;AAC/E,SAAgB,uBAAuB;IACrC,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED,kEAAkE;AAClE,SAAgB,kBAAkB;;IAChC,OAAO,MAAA,OAAO,CAAC,QAAQ,EAAE,0CAAE,QAAQ,CAAC;AACtC,CAAC","sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks';\n\n/** Contesto di richiesta per il router multi-tenant in-process. */\nexport interface AccessiTenantContext {\n tenantId: string;\n}\n\nconst storage = new AsyncLocalStorage<AccessiTenantContext>();\n\n/**\n * Esegue `callback` con il tenant corrente.\n *\n * Usare il router (`createAccessiTenantRouter`) per impostarlo automaticamente;\n * le API pubbliche servono a host che montano un proprio dispatcher.\n */\nexport function runWithAccessiTenant<T>(tenantId: string, callback: () => T): T {\n return storage.run({ tenantId }, callback);\n}\n\n/** Tenant corrente, se la richiesta e dentro `runWithAccessiTenant`/router. */\nexport function getAccessiTenantContext(): AccessiTenantContext | undefined {\n return storage.getStore();\n}\n\n/** Scorciatoia per il solo identificativo del tenant corrente. */\nexport function getAccessiTenantId(): string | undefined {\n return storage.getStore()?.tenantId;\n}\n"]}
|
|
@@ -10,8 +10,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
exports.AllegatiModule = void 0;
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const Logger_1 = require("../Logger");
|
|
13
|
-
const AllegatiService_1 = require("./
|
|
14
|
-
const AllegatiController_1 = require("./
|
|
13
|
+
const AllegatiService_1 = require("./services/allegati-service/AllegatiService");
|
|
14
|
+
const AllegatiController_1 = require("./controllers/AllegatiController");
|
|
15
15
|
const allegatiAuthorizationGuard_1 = require("./security/allegatiAuthorizationGuard");
|
|
16
16
|
let AllegatiModule = AllegatiModule_1 = class AllegatiModule {
|
|
17
17
|
static forRoot(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AllegatiModule.js","sourceRoot":"","sources":["../../src/allegati-module/AllegatiModule.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAG/D,sCAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"AllegatiModule.js","sourceRoot":"","sources":["../../src/allegati-module/AllegatiModule.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAG/D,sCAAmC;AACnC,iFAA8E;AAC9E,yEAAsE;AACtE,sFAAmF;AAsB5E,IAAM,cAAc,sBAApB,MAAM,cAAc;IAEvB,MAAM,CAAC,OAAO,CAAC,OAAwB;QACnC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,MAAK,KAAK,EAAE,CAAC;YAC1C,MAAM,CAAC,OAAO,CAAC,yJAAyJ,CAAC,CAAC;QAC9K,CAAC;aAAM,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAA,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,kLAAkL,CAAC,CAAC;QACrM,CAAC;QAED,OAAO;YACH,MAAM,EAAE,gBAAc;YACtB,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,kBAAkB;oBAC3B,QAAQ,EAAE,OAAO;iBACpB;gBACD,iCAAe;gBACf,uDAA0B;aAC7B;YACD,OAAO,EAAE,CAAC,kBAAkB,EAAE,iCAAe,CAAC;SACjD,CAAC;IACN,CAAC;CACJ,CAAA;AAvBY,wCAAc;yBAAd,cAAc;IAN1B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACJ,WAAW,EAAE,CAAC,uCAAkB,CAAC;QACjC,SAAS,EAAE,CAAC,iCAAe,EAAE,uDAA0B,CAAC;QACxD,OAAO,EAAE,CAAC,iCAAe,CAAC;KAC7B,CAAC;GACW,cAAc,CAuB1B","sourcesContent":["import { DynamicModule, Global, Module } from \"@nestjs/common\";\nimport { Request } from \"express\";\nimport { Options } from \"node-firebird\";\nimport { Logger } from \"../Logger\";\nimport { AllegatiService } from \"./services/allegati-service/AllegatiService\";\nimport { AllegatiController } from \"./controllers/AllegatiController\";\nimport { AllegatiAuthorizationGuard } from \"./security/allegatiAuthorizationGuard\";\n\nexport interface AllegatiOptions {\n databaseOptions: Options;\n /**\n * Guard applicato a ogni richiesta dei controller Allegati.\n * Se definito e restituisce `false`, la richiesta viene rifiutata con 403.\n */\n authorize?: (request: Request) => boolean | Promise<boolean>;\n /**\n * Sicurezza by default: se `authorize` non e configurato, le richieste vengono rifiutate con 403.\n * Impostare `false` per ripristinare il comportamento storico (endpoint aperti) durante la migrazione.\n */\n requireAuthorization?: boolean;\n}\n\n@Global()\n@Module({\n controllers: [AllegatiController],\n providers: [AllegatiService, AllegatiAuthorizationGuard],\n exports: [AllegatiService],\n})\nexport class AllegatiModule {\n\n static forRoot(options: AllegatiOptions): DynamicModule {\n const logger = new Logger(AllegatiModule.name);\n if (options?.requireAuthorization === false) {\n logger.warning('Allegati con requireAuthorization: false: gli endpoint sono accessibili senza controllo di autorizzazione. Configurare authorize e rimuovere l opt-out.');\n } else if (!options?.authorize) {\n logger.error('Allegati senza authorize: tutte le richieste saranno rifiutate con 403. Configurare allegatiOptions.authorize (oppure requireAuthorization: false per il comportamento storico).');\n }\n\n return {\n module: AllegatiModule,\n providers: [\n {\n provide: 'ALLEGATI_OPTIONS',\n useValue: options,\n },\n AllegatiService,\n AllegatiAuthorizationGuard,\n ],\n exports: ['ALLEGATI_OPTIONS', AllegatiService],\n };\n }\n}\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { AllegatiService } from "../services/allegati-service/AllegatiService";
|
|
2
|
+
import { UploadAllegatoResponseDto } from "../dtos/responses/UploadAllegatoResponseDto";
|
|
3
|
+
import { AllegatoDto } from "../dtos/AllegatoDto";
|
|
4
|
+
import { DownloadAllegatoResponseDto } from "../dtos/responses/DownloadAllegatoResponseDto";
|
|
5
|
+
import { UploadSingleFileRequest } from "../dtos/UploadSingleFileRequest";
|
|
6
|
+
import e from "express";
|
|
7
|
+
export declare class AllegatiController {
|
|
8
|
+
private readonly allegatiService;
|
|
9
|
+
private readonly logger;
|
|
10
|
+
constructor(allegatiService: AllegatiService);
|
|
11
|
+
upload(files: Express.Multer.File[], uploadRequest: UploadSingleFileRequest): Promise<UploadAllegatoResponseDto>;
|
|
12
|
+
download(id: number): Promise<DownloadAllegatoResponseDto>;
|
|
13
|
+
downloadFile(id: number, res: e.Response): Promise<void>;
|
|
14
|
+
delete(id: number, res: e.Response): Promise<e.Response<any, Record<string, any>>>;
|
|
15
|
+
list(tipcod?: string, codice?: number, docrif?: string, idxtipoall?: number): Promise<AllegatoDto[]>;
|
|
16
|
+
searchByFields(body: {
|
|
17
|
+
tipcod?: string;
|
|
18
|
+
codice?: number;
|
|
19
|
+
docrif?: string;
|
|
20
|
+
idxtipoall?: number;
|
|
21
|
+
}): Promise<AllegatoDto[]>;
|
|
22
|
+
getOneByFields(body: {
|
|
23
|
+
tipcod?: string;
|
|
24
|
+
codice?: number;
|
|
25
|
+
docrif?: string;
|
|
26
|
+
idxtipoall?: number;
|
|
27
|
+
}): Promise<AllegatoDto | null>;
|
|
28
|
+
updateFieldsById(id: number, body: {
|
|
29
|
+
tipcod?: string;
|
|
30
|
+
codice?: number;
|
|
31
|
+
docrif?: string;
|
|
32
|
+
idxtipoall?: number;
|
|
33
|
+
}): Promise<{
|
|
34
|
+
message: string;
|
|
35
|
+
}>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
24
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
25
|
+
};
|
|
26
|
+
var AllegatiController_1;
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.AllegatiController = void 0;
|
|
29
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
30
|
+
const common_1 = require("@nestjs/common");
|
|
31
|
+
const platform_express_1 = require("@nestjs/platform-express");
|
|
32
|
+
const allegatiAuthorizationGuard_1 = require("../security/allegatiAuthorizationGuard");
|
|
33
|
+
const AllegatiService_1 = require("../services/allegati-service/AllegatiService");
|
|
34
|
+
const UploadAllegatoResponseDto_1 = require("../dtos/responses/UploadAllegatoResponseDto");
|
|
35
|
+
const AllegatoDto_1 = require("../dtos/AllegatoDto");
|
|
36
|
+
const DownloadAllegatoResponseDto_1 = require("../dtos/responses/DownloadAllegatoResponseDto");
|
|
37
|
+
const UploadSingleFileRequest_1 = require("../dtos/UploadSingleFileRequest");
|
|
38
|
+
const Utilities_1 = require("../../Utilities");
|
|
39
|
+
const Logger_1 = require("../../Logger");
|
|
40
|
+
const express_1 = __importDefault(require("express"));
|
|
41
|
+
let AllegatiController = AllegatiController_1 = class AllegatiController {
|
|
42
|
+
constructor(allegatiService) {
|
|
43
|
+
this.allegatiService = allegatiService;
|
|
44
|
+
this.logger = new Logger_1.Logger(AllegatiController_1.name);
|
|
45
|
+
}
|
|
46
|
+
upload(files, uploadRequest) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
if (!files || files.length === 0) {
|
|
49
|
+
throw new common_1.BadRequestException('Nessun file fornito');
|
|
50
|
+
}
|
|
51
|
+
if (files.length > 1) {
|
|
52
|
+
throw new common_1.BadRequestException('Questo endpoint accetta un solo file alla volta');
|
|
53
|
+
}
|
|
54
|
+
const file = files[0];
|
|
55
|
+
if (!file) {
|
|
56
|
+
throw new common_1.BadRequestException('Nessun file fornito');
|
|
57
|
+
}
|
|
58
|
+
return yield this.allegatiService.uploadFile(file, uploadRequest);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
download(id) {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
return yield this.allegatiService.downloadFile(id);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
downloadFile(id, res) {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
var _a;
|
|
69
|
+
try {
|
|
70
|
+
const file = yield this.allegatiService.downloadFile(id);
|
|
71
|
+
// Convert base64 to buffer in chunks; Buffer.concat evita i NUL finali del prealloc.
|
|
72
|
+
const chunkSize = 1024 * 1024; // 1MB chunks
|
|
73
|
+
const base64Content = file.contentBase64;
|
|
74
|
+
const chunks = [];
|
|
75
|
+
for (let i = 0; i < base64Content.length; i += chunkSize) {
|
|
76
|
+
const chunk = base64Content.slice(i, i + chunkSize);
|
|
77
|
+
chunks.push(Buffer.from(chunk, 'base64'));
|
|
78
|
+
}
|
|
79
|
+
const buffer = Buffer.concat(chunks);
|
|
80
|
+
// Set headers for file download; filename* (RFC 5987) per i nomi non ASCII.
|
|
81
|
+
const asciiName = file.filename.replace(/[^\x20-\x7e]/g, '_').replace(/["\\]/g, '_');
|
|
82
|
+
res.setHeader('Content-Type', (_a = file.mimetype) !== null && _a !== void 0 ? _a : 'application/octet-stream');
|
|
83
|
+
res.setHeader('Content-Disposition', `attachment; filename="${asciiName}"; filename*=UTF-8''${encodeURIComponent(file.filename)}`);
|
|
84
|
+
res.setHeader('Content-Length', buffer.length);
|
|
85
|
+
res.status(200).end(buffer);
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
this.logger.error('[AllegatiController] downloadFile - Errore:', error);
|
|
89
|
+
throw error;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
delete(id, res) {
|
|
94
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
yield this.allegatiService.deleteFile(id);
|
|
96
|
+
return Utilities_1.RestUtilities.sendOKMessage(res, "File eliminato con successo");
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
list(tipcod, codice, docrif, idxtipoall) {
|
|
100
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
101
|
+
return yield this.allegatiService.listFiles({
|
|
102
|
+
tipcod,
|
|
103
|
+
codice,
|
|
104
|
+
docrif,
|
|
105
|
+
idxtipoall: idxtipoall ? Number(idxtipoall) : undefined
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
searchByFields(body) {
|
|
110
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
+
return yield this.allegatiService.findByFields(body);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
getOneByFields(body) {
|
|
115
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
116
|
+
return yield this.allegatiService.getOneByFields(body);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
updateFieldsById(id, body) {
|
|
120
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
+
yield this.allegatiService.updateFieldsById(Number(id), body);
|
|
122
|
+
return { message: 'Aggiornamento completato' };
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
exports.AllegatiController = AllegatiController;
|
|
127
|
+
__decorate([
|
|
128
|
+
(0, common_1.Post)('upload'),
|
|
129
|
+
(0, common_1.UseInterceptors)((0, platform_express_1.FilesInterceptor)('file', 1, { limits: { fileSize: 90 * 1024 * 1024, files: 1 } })),
|
|
130
|
+
(0, swagger_1.ApiConsumes)('multipart/form-data'),
|
|
131
|
+
(0, swagger_1.ApiResponse)({ status: 201, description: 'File caricato con successo.', type: UploadAllegatoResponseDto_1.UploadAllegatoResponseDto }),
|
|
132
|
+
(0, swagger_1.ApiBody)({
|
|
133
|
+
description: 'File e metadati per l\'upload di un allegato',
|
|
134
|
+
required: true,
|
|
135
|
+
schema: {
|
|
136
|
+
type: 'object',
|
|
137
|
+
properties: {
|
|
138
|
+
file: {
|
|
139
|
+
type: 'string',
|
|
140
|
+
format: 'binary',
|
|
141
|
+
},
|
|
142
|
+
codice: { type: 'integer', example: 1 },
|
|
143
|
+
tipoCodice: { type: 'string', example: 'CF' },
|
|
144
|
+
ordine: { type: 'string', example: '1' },
|
|
145
|
+
descrizioneAllegato: { type: 'string', example: 'Documento di identità' },
|
|
146
|
+
dataInizioValidita: { type: 'string', format: 'date', example: '2024-01-01' },
|
|
147
|
+
dataFineValidita: { type: 'string', format: 'date', example: '2025-01-01' },
|
|
148
|
+
idTipoAllegato: { type: 'integer', example: 3 },
|
|
149
|
+
riferimentoDocumento: { type: 'string', example: 'PRAT-2024-0001' }
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
}),
|
|
153
|
+
__param(0, (0, common_1.UploadedFiles)()),
|
|
154
|
+
__param(1, (0, common_1.Body)()),
|
|
155
|
+
__metadata("design:type", Function),
|
|
156
|
+
__metadata("design:paramtypes", [Array, UploadSingleFileRequest_1.UploadSingleFileRequest]),
|
|
157
|
+
__metadata("design:returntype", Promise)
|
|
158
|
+
], AllegatiController.prototype, "upload", null);
|
|
159
|
+
__decorate([
|
|
160
|
+
(0, common_1.Get)(':id'),
|
|
161
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'File scaricato con successo.', type: DownloadAllegatoResponseDto_1.DownloadAllegatoResponseDto }),
|
|
162
|
+
__param(0, (0, common_1.Param)('id')),
|
|
163
|
+
__metadata("design:type", Function),
|
|
164
|
+
__metadata("design:paramtypes", [Number]),
|
|
165
|
+
__metadata("design:returntype", Promise)
|
|
166
|
+
], AllegatiController.prototype, "download", null);
|
|
167
|
+
__decorate([
|
|
168
|
+
(0, common_1.Get)(':id/download'),
|
|
169
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'File scaricato con successo.' }),
|
|
170
|
+
__param(0, (0, common_1.Param)('id')),
|
|
171
|
+
__param(1, (0, common_1.Res)()),
|
|
172
|
+
__metadata("design:type", Function),
|
|
173
|
+
__metadata("design:paramtypes", [Number, Object]),
|
|
174
|
+
__metadata("design:returntype", Promise)
|
|
175
|
+
], AllegatiController.prototype, "downloadFile", null);
|
|
176
|
+
__decorate([
|
|
177
|
+
(0, common_1.Delete)(':id'),
|
|
178
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'File eliminato con successo.' }),
|
|
179
|
+
__param(0, (0, common_1.Param)('id')),
|
|
180
|
+
__param(1, (0, common_1.Response)()),
|
|
181
|
+
__metadata("design:type", Function),
|
|
182
|
+
__metadata("design:paramtypes", [Number, Object]),
|
|
183
|
+
__metadata("design:returntype", Promise)
|
|
184
|
+
], AllegatiController.prototype, "delete", null);
|
|
185
|
+
__decorate([
|
|
186
|
+
(0, common_1.Get)(),
|
|
187
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Lista degli allegati.', type: [AllegatoDto_1.AllegatoDto] }),
|
|
188
|
+
(0, swagger_1.ApiQuery)({ name: 'tipcod', required: false, description: 'Filtra per tipo codice' }),
|
|
189
|
+
(0, swagger_1.ApiQuery)({ name: 'codice', required: false, description: 'Filtra per codice' }),
|
|
190
|
+
(0, swagger_1.ApiQuery)({ name: 'docrif', required: false, description: 'Filtra per riferimento documento' }),
|
|
191
|
+
(0, swagger_1.ApiQuery)({ name: 'idxtipoall', required: false, description: 'Filtra per tipo allegato', type: Number }),
|
|
192
|
+
__param(0, (0, common_1.Query)('tipcod')),
|
|
193
|
+
__param(1, (0, common_1.Query)('codice')),
|
|
194
|
+
__param(2, (0, common_1.Query)('docrif')),
|
|
195
|
+
__param(3, (0, common_1.Query)('idxtipoall')),
|
|
196
|
+
__metadata("design:type", Function),
|
|
197
|
+
__metadata("design:paramtypes", [String, Number, String, Number]),
|
|
198
|
+
__metadata("design:returntype", Promise)
|
|
199
|
+
], AllegatiController.prototype, "list", null);
|
|
200
|
+
__decorate([
|
|
201
|
+
(0, common_1.Post)('search'),
|
|
202
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Ricerca allegati per campi.' }),
|
|
203
|
+
__param(0, (0, common_1.Body)()),
|
|
204
|
+
__metadata("design:type", Function),
|
|
205
|
+
__metadata("design:paramtypes", [Object]),
|
|
206
|
+
__metadata("design:returntype", Promise)
|
|
207
|
+
], AllegatiController.prototype, "searchByFields", null);
|
|
208
|
+
__decorate([
|
|
209
|
+
(0, common_1.Post)('get-by-fields'),
|
|
210
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Ottieni un allegato per campi.' }),
|
|
211
|
+
__param(0, (0, common_1.Body)()),
|
|
212
|
+
__metadata("design:type", Function),
|
|
213
|
+
__metadata("design:paramtypes", [Object]),
|
|
214
|
+
__metadata("design:returntype", Promise)
|
|
215
|
+
], AllegatiController.prototype, "getOneByFields", null);
|
|
216
|
+
__decorate([
|
|
217
|
+
(0, common_1.Patch)('update-fields/:id'),
|
|
218
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Aggiorna i campi di un allegato.' }),
|
|
219
|
+
__param(0, (0, common_1.Param)('id')),
|
|
220
|
+
__param(1, (0, common_1.Body)()),
|
|
221
|
+
__metadata("design:type", Function),
|
|
222
|
+
__metadata("design:paramtypes", [Number, Object]),
|
|
223
|
+
__metadata("design:returntype", Promise)
|
|
224
|
+
], AllegatiController.prototype, "updateFieldsById", null);
|
|
225
|
+
exports.AllegatiController = AllegatiController = AllegatiController_1 = __decorate([
|
|
226
|
+
(0, common_1.UseGuards)(allegatiAuthorizationGuard_1.AllegatiAuthorizationGuard),
|
|
227
|
+
(0, common_1.Controller)('allegati'),
|
|
228
|
+
__metadata("design:paramtypes", [AllegatiService_1.AllegatiService])
|
|
229
|
+
], AllegatiController);
|
|
230
|
+
//# sourceMappingURL=AllegatiController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AllegatiController.js","sourceRoot":"","sources":["../../../src/allegati-module/controllers/AllegatiController.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiBody, ApiConsumes, ApiResponse, ApiQuery} from \"@nestjs/swagger\";\n\nimport { Controller, Post, Get, Delete, Param, UploadedFiles, UseGuards, UseInterceptors, BadRequestException, Body, Response, Query, Res, Patch } from \"@nestjs/common\";\nimport { FilesInterceptor } from \"@nestjs/platform-express\";\nimport { AllegatiAuthorizationGuard } from \"../security/allegatiAuthorizationGuard\";\nimport { AllegatiService } from \"../services/allegati-service/AllegatiService\";\nimport {UploadAllegatoResponseDto} from \"../dtos/responses/UploadAllegatoResponseDto\";\nimport {AllegatoDto} from \"../dtos/AllegatoDto\";\nimport {DownloadAllegatoResponseDto} from \"../dtos/responses/DownloadAllegatoResponseDto\";\nimport { UploadSingleFileRequest } from \"../dtos/UploadSingleFileRequest\";\nimport { RestUtilities } from \"../../Utilities\";\nimport { Logger } from \"../../Logger\";\nimport e from \"express\";\n\n@UseGuards(AllegatiAuthorizationGuard)\n@Controller('allegati')\nexport class AllegatiController {\n private readonly logger = new Logger(AllegatiController.name);\n\n constructor(private readonly allegatiService: AllegatiService) {}\n\n @Post('upload')\n @UseInterceptors(FilesInterceptor('file', 1, { limits: { fileSize: 90 * 1024 * 1024, files: 1 } }))\n @ApiConsumes('multipart/form-data')\n @ApiResponse({ status: 201, description: 'File caricato con successo.', type: UploadAllegatoResponseDto })\n @ApiBody({\n description: 'File e metadati per l\\'upload di un allegato',\n required: true,\n schema: {\n type: 'object',\n properties: {\n file: {\n type: 'string',\n format: 'binary',\n },\n codice: { type: 'integer', example: 1 },\n tipoCodice: { type: 'string', example: 'CF' },\n ordine: { type: 'string', example: '1' },\n descrizioneAllegato: { type: 'string', example: 'Documento di identità' },\n dataInizioValidita: { type: 'string', format: 'date', example: '2024-01-01' },\n dataFineValidita: { type: 'string', format: 'date', example: '2025-01-01' },\n idTipoAllegato: { type: 'integer', example: 3 },\n riferimentoDocumento: { type: 'string', example: 'PRAT-2024-0001' }\n },\n },\n })\n async upload(\n @UploadedFiles() files: Express.Multer.File[],\n @Body() uploadRequest: UploadSingleFileRequest\n ): Promise<UploadAllegatoResponseDto> {\n if (!files || files.length === 0) {\n throw new BadRequestException('Nessun file fornito');\n }\n if (files.length > 1) {\n throw new BadRequestException('Questo endpoint accetta un solo file alla volta');\n }\n const file = files[0];\n if (!file) {\n throw new BadRequestException('Nessun file fornito');\n }\n return await this.allegatiService.uploadFile(file, uploadRequest);\n }\n\n @Get(':id')\n @ApiResponse({ status: 200, description: 'File scaricato con successo.', type: DownloadAllegatoResponseDto })\n async download(@Param('id') id: number): Promise<DownloadAllegatoResponseDto> {\n return await this.allegatiService.downloadFile(id);\n }\n\n @Get(':id/download')\n @ApiResponse({ status: 200, description: 'File scaricato con successo.' })\n async downloadFile(\n @Param('id') id: number,\n @Res() res: e.Response\n ): Promise<void> {\n try {\n const file = await this.allegatiService.downloadFile(id);\n \n // Convert base64 to buffer in chunks; Buffer.concat evita i NUL finali del prealloc.\n const chunkSize = 1024 * 1024; // 1MB chunks\n const base64Content = file.contentBase64;\n const chunks: Buffer[] = [];\n for (let i = 0; i < base64Content.length; i += chunkSize) {\n const chunk = base64Content.slice(i, i + chunkSize);\n chunks.push(Buffer.from(chunk, 'base64'));\n }\n const buffer = Buffer.concat(chunks);\n\n // Set headers for file download; filename* (RFC 5987) per i nomi non ASCII.\n const asciiName = file.filename.replace(/[^\\x20-\\x7e]/g, '_').replace(/[\"\\\\]/g, '_');\n res.setHeader('Content-Type', file.mimetype ?? 'application/octet-stream');\n res.setHeader('Content-Disposition', `attachment; filename=\"${asciiName}\"; filename*=UTF-8''${encodeURIComponent(file.filename)}`);\n res.setHeader('Content-Length', buffer.length);\n \n res.status(200).end(buffer);\n } catch (error) {\n this.logger.error('[AllegatiController] downloadFile - Errore:', error);\n throw error;\n }\n }\n\n @Delete(':id')\n @ApiResponse({ status: 200, description: 'File eliminato con successo.' })\n async delete(@Param('id') id: number, @Response() res: e.Response) {\n await this.allegatiService.deleteFile(id);\n return RestUtilities.sendOKMessage(res, \"File eliminato con successo\");\n }\n\n @Get()\n @ApiResponse({ status: 200, description: 'Lista degli allegati.', type: [AllegatoDto] })\n @ApiQuery({ name: 'tipcod', required: false, description: 'Filtra per tipo codice' })\n @ApiQuery({ name: 'codice', required: false, description: 'Filtra per codice' })\n @ApiQuery({ name: 'docrif', required: false, description: 'Filtra per riferimento documento' })\n @ApiQuery({ name: 'idxtipoall', required: false, description: 'Filtra per tipo allegato', type: Number })\n async list(\n @Query('tipcod') tipcod?: string,\n @Query('codice') codice?: number,\n @Query('docrif') docrif?: string,\n @Query('idxtipoall') idxtipoall?: number\n ): Promise<AllegatoDto[]> {\n return await this.allegatiService.listFiles({\n tipcod,\n codice,\n docrif,\n idxtipoall: idxtipoall ? Number(idxtipoall) : undefined\n });\n }\n\n @Post('search')\n@ApiResponse({ status: 200, description: 'Ricerca allegati per campi.' })\nasync searchByFields(@Body() body: { tipcod?: string; codice?: number; docrif?: string; idxtipoall?: number }) {\n return await this.allegatiService.findByFields(body);\n}\n\n@Post('get-by-fields')\n@ApiResponse({ status: 200, description: 'Ottieni un allegato per campi.' })\nasync getOneByFields(@Body() body: { tipcod?: string; codice?: number; docrif?: string; idxtipoall?: number }) {\n return await this.allegatiService.getOneByFields(body);\n}\n\n@Patch('update-fields/:id')\n@ApiResponse({ status: 200, description: 'Aggiorna i campi di un allegato.' })\nasync updateFieldsById(\n @Param('id') id: number,\n @Body() body: { tipcod?: string; codice?: number; docrif?: string; idxtipoall?: number }\n) {\n await this.allegatiService.updateFieldsById(Number(id), body);\n return { message: 'Aggiornamento completato' };\n}\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AllegatoDto.js","sourceRoot":"","sources":["../../../src/allegati-module/dtos/AllegatoDto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAA6E;AAE7E,MAAa,WAAW;CAgGvB;AAhGD,kCAgGC;AAzFG;IALC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,CAAC;KACb,CAAC;IACD,IAAA,0BAAQ,GAAE;;uCACC;AAQZ;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,eAAe;KAC3B,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;;6CACtC;AAQlB;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE,iBAAiB;KAC7B,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;;6CACtC;AAQlB;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,6CAA6C;QAC1D,OAAO,EAAE,sBAAsB;KAClC,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC;;+CACzC;AAQpB;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,GAAG;KACf,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;2CACG;AAQhB;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,IAAI;KAChB,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;+CACO;AAQpB;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,8EAA8E;QAC3F,OAAO,EAAE,GAAG;KACf,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;2CACG;AAQhB;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,8BAA8B;KAC1C,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;wDACgB;AAQ7B;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,YAAY;KACxB,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;uDACe;AAQ5B;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,YAAY;KACxB,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;qDACa;AAQ1B;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,CAAC;KACb,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;mDACW;AAQxB;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,oDAAoD;QACjE,OAAO,EAAE,gBAAgB;KAC5B,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;yDACiB","sourcesContent":["import { ApiProperty } from \"@nestjs/swagger\";\nimport { IsString, IsNotEmpty, IsNumber, IsOptional } from \"class-validator\";\n\nexport class AllegatoDto {\n\n @ApiProperty({\n description: 'ID univoco dell\\'allegato',\n example: 1,\n })\n @IsNumber()\n id!: number;\n\n @ApiProperty({\n description: 'Nome originale del file caricato',\n example: 'documento.pdf',\n })\n @IsString()\n @IsNotEmpty({ message: \"Il nome file è obbligatorio.\" })\n filename!: string;\n\n @ApiProperty({\n description: 'Tipo MIME del file',\n example: 'application/pdf',\n })\n @IsString()\n @IsNotEmpty({ message: \"Il tipo MIME è obbligatorio.\" })\n mimetype!: string;\n\n @ApiProperty({\n description: 'Data di caricamento del file in formato ISO',\n example: '2025-04-27T12:00:00Z',\n })\n @IsString()\n @IsNotEmpty({ message: \"La data di upload è obbligatoria.\" })\n uploadDate!: string;\n\n @ApiProperty({\n description: 'Codice incrementale',\n example: '1',\n })\n @IsString()\n @IsOptional()\n codice?: string;\n\n @ApiProperty({\n description: 'Tipo del codice fornito',\n example: 'CF',\n })\n @IsString()\n @IsOptional()\n tipoCodice?: string;\n\n @ApiProperty({\n description: 'Numero o valore usato per ordinare o identificare la sequenza degli allegati',\n example: '1',\n })\n @IsString()\n @IsOptional()\n ordine?: string;\n\n @ApiProperty({\n description: 'Descrizione testuale dell\\'allegato',\n example: 'Documento di identità fronte',\n })\n @IsString()\n @IsOptional()\n descrizioneAllegato?: string;\n\n @ApiProperty({\n description: 'Data di inizio validità del documento',\n example: '2024-01-01',\n })\n @IsString()\n @IsOptional()\n dataInizioValidita?: string;\n\n @ApiProperty({\n description: 'Data di fine validità del documento',\n example: '2025-01-01',\n })\n @IsString()\n @IsOptional()\n dataFineValidita?: string;\n\n @ApiProperty({\n description: 'ID del tipo di allegato',\n example: 3,\n })\n @IsNumber()\n @IsOptional()\n idTipoAllegato?: number;\n\n @ApiProperty({\n description: 'Riferimento esterno o identificativo del documento',\n example: 'PRAT-2024-0001',\n })\n @IsString()\n @IsOptional()\n riferimentoDocumento?: string;\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseResponse.js","sourceRoot":"","sources":["../../../src/allegati-module/dtos/BaseResponse.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAAyC;AACzC,qDAAqE;AAErE,MAAa,MAAM;CAQlB;AARD,wBAQC;AALC;IAFC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;IAC/E,IAAA,0BAAQ,GAAE;;yCACQ;AAInB;IAFC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;IACvF,IAAA,0BAAQ,GAAE;;gDACe;AAG5B,MAAsB,YAAY;CAMjC;AAND,oCAMC;AADC;IAJC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAA,gCAAc,GAAE;IAChB,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAClB,IAAA,0BAAQ,GAAE;8BACF,MAAM;4CAAC","sourcesContent":["import { ApiProperty } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsObject, IsString, ValidateNested } from 'class-validator';\n\nexport class Status {\n @ApiProperty({ example: '0', description: 'Codice di errore, \"0\" se tutto ok' })\n @IsString()\n errorCode!: string;\n\n @ApiProperty({ example: 'Success', description: 'Descrizione dell\\'errore o successo' })\n @IsString()\n errorDescription!: string;\n}\n\nexport abstract class BaseResponse {\n @ApiProperty({ type: Status })\n @ValidateNested()\n @Type(() => Status)\n @IsObject()\n Status!: Status;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UploadSingleFileRequest.js","sourceRoot":"","sources":["../../../src/allegati-module/dtos/UploadSingleFileRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,uBAAuB;CAsDnC;AAtDD,0DAsDC;AAjDC;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,wFAAwF;QACrG,OAAO,EAAE,kBAAkB;KAC5B,CAAC;;uDACc;AAMhB;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,iDAAiD;QAC9D,OAAO,EAAE,IAAI;KACd,CAAC;;2DACkB;AAMpB;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,8EAA8E;QAC3F,OAAO,EAAE,GAAG;KACb,CAAC;;uDACc;AAMhB;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,oCAAoC;QACjD,OAAO,EAAE,8BAA8B;KACxC,CAAC;;oEAC2B;AAM7B;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,wBAAwB;KAClC,CAAC;;yDACgB;AAMlB;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,qDAAqD;QAClE,OAAO,EAAE,YAAY;KACtB,CAAC;;mEAC0B;AAM5B;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,mDAAmD;QAChE,OAAO,EAAE,YAAY;KACtB,CAAC;;iEACwB;AAM1B;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,qDAAqD;QAClE,OAAO,EAAE,CAAC;KACX,CAAC;;+DACsB;AAMxB;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,yEAAyE;QACtF,OAAO,EAAE,gBAAgB;KAC1B,CAAC;;qEAC4B","sourcesContent":["import { ApiProperty } from '@nestjs/swagger';\n\nexport class UploadSingleFileRequest {\n @ApiProperty({\n description: 'Codice identificativo del soggetto o dell’entità (es. codice fiscale, matricola, ecc.)',\n example: 'RSSMRA85M01H501Z',\n })\n codice!: string;\n\n @ApiProperty({\n description: 'Tipo del codice fornito (es. CF, PI, MATRICOLA)',\n example: 'CF',\n })\n tipoCodice!: string;\n\n @ApiProperty({\n description: 'Numero o valore usato per ordinare o identificare la sequenza degli allegati',\n example: '1',\n })\n ordine!: string;\n\n @ApiProperty({\n description: 'Descrizione testuale dell’allegato',\n example: 'Documento di identità fronte',\n })\n descrizioneAllegato!: string;\n\n @ApiProperty({\n description: 'Nome del file originale caricato',\n example: 'documento_identita.pdf',\n })\n nomeFile!: string;\n\n @ApiProperty({\n description: 'Data di inizio validità del documento (formato ISO)',\n example: '2024-01-01',\n })\n dataInizioValidita!: string;\n\n @ApiProperty({\n description: 'Data di fine validità del documento (formato ISO)',\n example: '2025-01-01',\n })\n dataFineValidita!: string;\n\n @ApiProperty({\n description: 'ID del tipo di allegato secondo tabella master (FK)',\n example: 3,\n })\n idTipoAllegato!: number;\n\n @ApiProperty({\n description: 'Riferimento esterno o identificativo del documento (es. numero pratica)',\n example: 'PRAT-2024-0001',\n })\n riferimentoDocumento!: string;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/allegati-module/dtos/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,0EAAwD;AACxD,wEAAsD","sourcesContent":["export * from \"./AllegatoDto\";\nexport * from \"./responses/DownloadAllegatoResponseDto\";\nexport * from \"./responses/UploadAllegatoResponseDto\";\n\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DownloadAllegatoResponseDto.js","sourceRoot":"","sources":["../../../../src/allegati-module/dtos/responses/DownloadAllegatoResponseDto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAAmE;AAEnE,MAAa,2BAA2B;CAwBvC;AAxBD,kEAwBC;AAjBG;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,oDAAoD;KAChE,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;;kEACjC;AAQvB;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,eAAe;KAC3B,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;;6DACtC;AAQlB;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE,iBAAiB;KAC7B,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;6DACK","sourcesContent":["import { ApiProperty } from \"@nestjs/swagger\";\nimport { IsString, IsNotEmpty, IsOptional } from \"class-validator\";\n\nexport class DownloadAllegatoResponseDto {\n @ApiProperty({\n description: 'Contenuto base64 del file',\n example: 'JVBERi0xLjQKJcfsj6IKNSAwIG9iago8PAovVGl0bGUgKP7...',\n })\n @IsString()\n @IsNotEmpty({ message: \"Il contenuto è obbligatorio.\" })\n contentBase64!: string;\n\n @ApiProperty({\n description: 'Nome originale del file',\n example: 'documento.pdf',\n })\n @IsString()\n @IsNotEmpty({ message: \"Il nome file è obbligatorio.\" })\n filename!: string;\n\n @ApiProperty({\n description: 'Tipo MIME del file',\n example: 'application/pdf',\n })\n @IsString()\n @IsOptional()\n mimetype?: string;\n}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetListResponse.js","sourceRoot":"","sources":["../../../../src/allegati-module/dtos/responses/GetListResponse.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,yDAAyC;AACzC,qDAAiD;AACjD,kDAA+C;AAC/C,gDAA6C;AAE7C,MAAa,eAAgB,SAAQ,2BAAY;CAKhD;AALD,0CAKC;AADC;IAHC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,CAAC,yBAAW,CAAC,EAAE,CAAC;IACpC,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,yBAAW,CAAC;;+CACD","sourcesContent":["import { ApiProperty } from '@nestjs/swagger';\n\nimport { Type } from 'class-transformer';\nimport { ValidateNested } from 'class-validator';\nimport { BaseResponse } from '../BaseResponse';\nimport { AllegatoDto } from '../AllegatoDto';\n\nexport class GetListResponse extends BaseResponse {\n @ApiProperty({ type: [AllegatoDto] })\n @ValidateNested({ each: true })\n @Type(() => AllegatoDto)\n Result!: AllegatoDto[];\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UploadAllegatoResponseDto.js","sourceRoot":"","sources":["../../../../src/allegati-module/dtos/responses/UploadAllegatoResponseDto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAAiE;AAEjE,MAAa,yBAAyB;CAerC;AAfD,8DAeC;AATG;IALC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,+BAA+B;QAC5C,OAAO,EAAE,EAAE;KACd,CAAC;IACD,IAAA,0BAAQ,GAAE;;qDACC;AAQZ;IANC,IAAA,qBAAW,EAAC;QACT,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,gBAAgB;KAC5B,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;;2DACtC","sourcesContent":["import { ApiProperty } from \"@nestjs/swagger\";\nimport { IsNumber, IsString, IsNotEmpty } from \"class-validator\";\n\nexport class UploadAllegatoResponseDto {\n @ApiProperty({\n description: 'ID assegnato al file caricato',\n example: 42,\n })\n @IsNumber()\n id!: number;\n\n @ApiProperty({\n description: 'Nome file salvato',\n example: 'preventivo.pdf',\n })\n @IsString()\n @IsNotEmpty({ message: \"Il nome file è obbligatorio.\" })\n filename!: string;\n}"]}
|
|
@@ -2,4 +2,4 @@ import { Application } from "express";
|
|
|
2
2
|
import { AllegatiOptions } from "./AllegatiModule";
|
|
3
3
|
export declare function initializeAllegatiModule(app: Application, options: AllegatiOptions): Promise<void>;
|
|
4
4
|
export { AllegatiModule } from "./AllegatiModule";
|
|
5
|
-
export * from "./
|
|
5
|
+
export * from "./dtos";
|