emilsoftware-utilities 2.0.0-dev.22 → 2.0.0-dev.24

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