emilsoftware-utilities 2.0.0-dev.4 → 2.0.0-dev.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (596) hide show
  1. package/README.MD +199 -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.d.ts +1 -1
  9. package/dist/DatabaseUpdater.js +32 -29
  10. package/dist/DatabaseUpdater.js.map +1 -1
  11. package/dist/EmilsoftwareModule.js.map +1 -1
  12. package/dist/ExecutionTimeLogger.d.ts +2 -2
  13. package/dist/ExecutionTimeLogger.js +5 -4
  14. package/dist/ExecutionTimeLogger.js.map +1 -1
  15. package/dist/Logger.d.ts +22 -11
  16. package/dist/Logger.js +132 -119
  17. package/dist/Logger.js.map +1 -1
  18. package/dist/Orm.d.ts +28 -12
  19. package/dist/Orm.js +194 -153
  20. package/dist/Orm.js.map +1 -1
  21. package/dist/RoutesLoggerMiddleware.js.map +1 -1
  22. package/dist/Utilities.d.ts +18 -8
  23. package/dist/Utilities.js +117 -38
  24. package/dist/Utilities.js.map +1 -1
  25. package/dist/accessi-module/AccessiModule.d.ts +116 -2
  26. package/dist/accessi-module/AccessiModule.js +36 -5
  27. package/dist/accessi-module/AccessiModule.js.map +1 -1
  28. package/dist/accessi-module/Console/accessiFetch.d.ts +7 -0
  29. package/dist/accessi-module/Console/accessiFetch.js +59 -0
  30. package/dist/accessi-module/Console/accessiFetch.js.map +1 -0
  31. package/dist/accessi-module/Console/console.css +676 -0
  32. package/dist/accessi-module/Console/console.d.ts +1 -0
  33. package/dist/accessi-module/Console/console.js +3351 -0
  34. package/dist/accessi-module/Console/console.js.map +1 -0
  35. package/dist/accessi-module/Console/generated/accessiApi.d.ts +582 -0
  36. package/dist/accessi-module/Console/generated/accessiApi.js +549 -0
  37. package/dist/accessi-module/Console/generated/accessiApi.js.map +1 -0
  38. package/dist/accessi-module/Console/generated/model/abilitazioneMenu.d.ts +39 -0
  39. package/dist/accessi-module/Console/generated/model/abilitazioneMenu.js +3 -0
  40. package/dist/accessi-module/Console/generated/model/abilitazioneMenu.js.map +1 -0
  41. package/dist/accessi-module/Console/generated/model/abilitazioneMenuTipoAbilitazione.d.ts +16 -0
  42. package/dist/accessi-module/Console/generated/model/abilitazioneMenuTipoAbilitazione.js +17 -0
  43. package/dist/accessi-module/Console/generated/model/abilitazioneMenuTipoAbilitazione.js.map +1 -0
  44. package/dist/accessi-module/Console/generated/model/actionResponse.d.ts +12 -0
  45. package/dist/accessi-module/Console/generated/model/actionResponse.js +9 -0
  46. package/dist/accessi-module/Console/generated/model/actionResponse.js.map +1 -0
  47. package/dist/accessi-module/Console/generated/model/assignPermissionsToUserRequest.d.ts +11 -0
  48. package/dist/accessi-module/Console/generated/model/assignPermissionsToUserRequest.js +3 -0
  49. package/dist/accessi-module/Console/generated/model/assignPermissionsToUserRequest.js.map +1 -0
  50. package/dist/accessi-module/Console/generated/model/assignRolesToUserRequest.d.ts +10 -0
  51. package/dist/accessi-module/Console/generated/model/assignRolesToUserRequest.js +9 -0
  52. package/dist/accessi-module/Console/generated/model/assignRolesToUserRequest.js.map +1 -0
  53. package/dist/accessi-module/Console/generated/model/authenticatedTokenPayloadDto.d.ts +10 -0
  54. package/dist/accessi-module/Console/generated/model/authenticatedTokenPayloadDto.js +3 -0
  55. package/dist/accessi-module/Console/generated/model/authenticatedTokenPayloadDto.js.map +1 -0
  56. package/dist/accessi-module/Console/generated/model/authenticatedUserPayloadDto.d.ts +19 -0
  57. package/dist/accessi-module/Console/generated/model/authenticatedUserPayloadDto.js +9 -0
  58. package/dist/accessi-module/Console/generated/model/authenticatedUserPayloadDto.js.map +1 -0
  59. package/dist/accessi-module/Console/generated/model/bootstrapAdminRequest.d.ts +17 -0
  60. package/dist/accessi-module/Console/generated/model/bootstrapAdminRequest.js +9 -0
  61. package/dist/accessi-module/Console/generated/model/bootstrapAdminRequest.js.map +1 -0
  62. package/dist/accessi-module/Console/generated/model/bootstrapAdminResponse.d.ts +14 -0
  63. package/dist/accessi-module/Console/generated/model/bootstrapAdminResponse.js +3 -0
  64. package/dist/accessi-module/Console/generated/model/bootstrapAdminResponse.js.map +1 -0
  65. package/dist/accessi-module/Console/generated/model/bootstrapAdminResultDto.d.ts +13 -0
  66. package/dist/accessi-module/Console/generated/model/bootstrapAdminResultDto.js +9 -0
  67. package/dist/accessi-module/Console/generated/model/bootstrapAdminResultDto.js.map +1 -0
  68. package/dist/accessi-module/Console/generated/model/confirmResetPasswordRequest.d.ts +14 -0
  69. package/dist/accessi-module/Console/generated/model/confirmResetPasswordRequest.js +9 -0
  70. package/dist/accessi-module/Console/generated/model/confirmResetPasswordRequest.js.map +1 -0
  71. package/dist/accessi-module/Console/generated/model/createFederatedIdentityRequest.d.ts +13 -0
  72. package/dist/accessi-module/Console/generated/model/createFederatedIdentityRequest.js +9 -0
  73. package/dist/accessi-module/Console/generated/model/createFederatedIdentityRequest.js.map +1 -0
  74. package/dist/accessi-module/Console/generated/model/createFederatedProviderRequest.d.ts +13 -0
  75. package/dist/accessi-module/Console/generated/model/createFederatedProviderRequest.js +9 -0
  76. package/dist/accessi-module/Console/generated/model/createFederatedProviderRequest.js.map +1 -0
  77. package/dist/accessi-module/Console/generated/model/createFederatedUserRequest.d.ts +18 -0
  78. package/dist/accessi-module/Console/generated/model/createFederatedUserRequest.js +3 -0
  79. package/dist/accessi-module/Console/generated/model/createFederatedUserRequest.js.map +1 -0
  80. package/dist/accessi-module/Console/generated/model/createFilterTypeRequest.d.ts +23 -0
  81. package/dist/accessi-module/Console/generated/model/createFilterTypeRequest.js +3 -0
  82. package/dist/accessi-module/Console/generated/model/createFilterTypeRequest.js.map +1 -0
  83. package/dist/accessi-module/Console/generated/model/createFilterTypeRequestFlgEnabled.d.ts +14 -0
  84. package/dist/accessi-module/Console/generated/model/createFilterTypeRequestFlgEnabled.js +15 -0
  85. package/dist/accessi-module/Console/generated/model/createFilterTypeRequestFlgEnabled.js.map +1 -0
  86. package/dist/accessi-module/Console/generated/model/createMenuGroupRequest.d.ts +22 -0
  87. package/dist/accessi-module/Console/generated/model/createMenuGroupRequest.js +9 -0
  88. package/dist/accessi-module/Console/generated/model/createMenuGroupRequest.js.map +1 -0
  89. package/dist/accessi-module/Console/generated/model/createMenuRequest.d.ts +52 -0
  90. package/dist/accessi-module/Console/generated/model/createMenuRequest.js +9 -0
  91. package/dist/accessi-module/Console/generated/model/createMenuRequest.js.map +1 -0
  92. package/dist/accessi-module/Console/generated/model/createMenuTypeRequest.d.ts +18 -0
  93. package/dist/accessi-module/Console/generated/model/createMenuTypeRequest.js +9 -0
  94. package/dist/accessi-module/Console/generated/model/createMenuTypeRequest.js.map +1 -0
  95. package/dist/accessi-module/Console/generated/model/createServiceTokenRequest.d.ts +16 -0
  96. package/dist/accessi-module/Console/generated/model/createServiceTokenRequest.js +9 -0
  97. package/dist/accessi-module/Console/generated/model/createServiceTokenRequest.js.map +1 -0
  98. package/dist/accessi-module/Console/generated/model/createServiceTokenResponse.d.ts +14 -0
  99. package/dist/accessi-module/Console/generated/model/createServiceTokenResponse.js +3 -0
  100. package/dist/accessi-module/Console/generated/model/createServiceTokenResponse.js.map +1 -0
  101. package/dist/accessi-module/Console/generated/model/errorResponse.d.ts +18 -0
  102. package/dist/accessi-module/Console/generated/model/errorResponse.js +9 -0
  103. package/dist/accessi-module/Console/generated/model/errorResponse.js.map +1 -0
  104. package/dist/accessi-module/Console/generated/model/federatedIdentityListResponse.d.ts +14 -0
  105. package/dist/accessi-module/Console/generated/model/federatedIdentityListResponse.js +3 -0
  106. package/dist/accessi-module/Console/generated/model/federatedIdentityListResponse.js.map +1 -0
  107. package/dist/accessi-module/Console/generated/model/federatedIdentityResponse.d.ts +14 -0
  108. package/dist/accessi-module/Console/generated/model/federatedIdentityResponse.js +3 -0
  109. package/dist/accessi-module/Console/generated/model/federatedIdentityResponse.js.map +1 -0
  110. package/dist/accessi-module/Console/generated/model/federatedIdentityResponseDto.d.ts +23 -0
  111. package/dist/accessi-module/Console/generated/model/federatedIdentityResponseDto.js +9 -0
  112. package/dist/accessi-module/Console/generated/model/federatedIdentityResponseDto.js.map +1 -0
  113. package/dist/accessi-module/Console/generated/model/federatedProviderListResponse.d.ts +14 -0
  114. package/dist/accessi-module/Console/generated/model/federatedProviderListResponse.js +3 -0
  115. package/dist/accessi-module/Console/generated/model/federatedProviderListResponse.js.map +1 -0
  116. package/dist/accessi-module/Console/generated/model/federatedProviderResponse.d.ts +14 -0
  117. package/dist/accessi-module/Console/generated/model/federatedProviderResponse.js +3 -0
  118. package/dist/accessi-module/Console/generated/model/federatedProviderResponse.js.map +1 -0
  119. package/dist/accessi-module/Console/generated/model/federatedProviderResponseDto.d.ts +13 -0
  120. package/dist/accessi-module/Console/generated/model/federatedProviderResponseDto.js +9 -0
  121. package/dist/accessi-module/Console/generated/model/federatedProviderResponseDto.js.map +1 -0
  122. package/dist/accessi-module/Console/generated/model/filtriUtente.d.ts +32 -0
  123. package/dist/accessi-module/Console/generated/model/filtriUtente.js +9 -0
  124. package/dist/accessi-module/Console/generated/model/filtriUtente.js.map +1 -0
  125. package/dist/accessi-module/Console/generated/model/getFiltriResponse.d.ts +14 -0
  126. package/dist/accessi-module/Console/generated/model/getFiltriResponse.js +3 -0
  127. package/dist/accessi-module/Console/generated/model/getFiltriResponse.js.map +1 -0
  128. package/dist/accessi-module/Console/generated/model/getFiltriUtenteParams.d.ts +12 -0
  129. package/dist/accessi-module/Console/generated/model/getFiltriUtenteParams.js +9 -0
  130. package/dist/accessi-module/Console/generated/model/getFiltriUtenteParams.js.map +1 -0
  131. package/dist/accessi-module/Console/generated/model/getFiltriUtenteResponse.d.ts +14 -0
  132. package/dist/accessi-module/Console/generated/model/getFiltriUtenteResponse.js +3 -0
  133. package/dist/accessi-module/Console/generated/model/getFiltriUtenteResponse.js.map +1 -0
  134. package/dist/accessi-module/Console/generated/model/getGroupsWithMenusParams.d.ts +12 -0
  135. package/dist/accessi-module/Console/generated/model/getGroupsWithMenusParams.js +9 -0
  136. package/dist/accessi-module/Console/generated/model/getGroupsWithMenusParams.js.map +1 -0
  137. package/dist/accessi-module/Console/generated/model/getGroupsWithMenusResponse.d.ts +14 -0
  138. package/dist/accessi-module/Console/generated/model/getGroupsWithMenusResponse.js +3 -0
  139. package/dist/accessi-module/Console/generated/model/getGroupsWithMenusResponse.js.map +1 -0
  140. package/dist/accessi-module/Console/generated/model/getMenuTypesResponse.d.ts +14 -0
  141. package/dist/accessi-module/Console/generated/model/getMenuTypesResponse.js +3 -0
  142. package/dist/accessi-module/Console/generated/model/getMenuTypesResponse.js.map +1 -0
  143. package/dist/accessi-module/Console/generated/model/getMenusResponse.d.ts +14 -0
  144. package/dist/accessi-module/Console/generated/model/getMenusResponse.js +3 -0
  145. package/dist/accessi-module/Console/generated/model/getMenusResponse.js.map +1 -0
  146. package/dist/accessi-module/Console/generated/model/getRolesResponse.d.ts +14 -0
  147. package/dist/accessi-module/Console/generated/model/getRolesResponse.js +3 -0
  148. package/dist/accessi-module/Console/generated/model/getRolesResponse.js.map +1 -0
  149. package/dist/accessi-module/Console/generated/model/getSchemaResponse.d.ts +14 -0
  150. package/dist/accessi-module/Console/generated/model/getSchemaResponse.js +3 -0
  151. package/dist/accessi-module/Console/generated/model/getSchemaResponse.js.map +1 -0
  152. package/dist/accessi-module/Console/generated/model/getServiceTokensParams.d.ts +12 -0
  153. package/dist/accessi-module/Console/generated/model/getServiceTokensParams.js +9 -0
  154. package/dist/accessi-module/Console/generated/model/getServiceTokensParams.js.map +1 -0
  155. package/dist/accessi-module/Console/generated/model/getServiceTokensResponse.d.ts +14 -0
  156. package/dist/accessi-module/Console/generated/model/getServiceTokensResponse.js +3 -0
  157. package/dist/accessi-module/Console/generated/model/getServiceTokensResponse.js.map +1 -0
  158. package/dist/accessi-module/Console/generated/model/getUserByTokenRequest.d.ts +10 -0
  159. package/dist/accessi-module/Console/generated/model/getUserByTokenRequest.js +9 -0
  160. package/dist/accessi-module/Console/generated/model/getUserByTokenRequest.js.map +1 -0
  161. package/dist/accessi-module/Console/generated/model/getUserByTokenResponse.d.ts +14 -0
  162. package/dist/accessi-module/Console/generated/model/getUserByTokenResponse.js +3 -0
  163. package/dist/accessi-module/Console/generated/model/getUserByTokenResponse.js.map +1 -0
  164. package/dist/accessi-module/Console/generated/model/getUsersParams.d.ts +32 -0
  165. package/dist/accessi-module/Console/generated/model/getUsersParams.js +9 -0
  166. package/dist/accessi-module/Console/generated/model/getUsersParams.js.map +1 -0
  167. package/dist/accessi-module/Console/generated/model/getUsersResponse.d.ts +14 -0
  168. package/dist/accessi-module/Console/generated/model/getUsersResponse.js +3 -0
  169. package/dist/accessi-module/Console/generated/model/getUsersResponse.js.map +1 -0
  170. package/dist/accessi-module/Console/generated/model/getUsersResult.d.ts +17 -0
  171. package/dist/accessi-module/Console/generated/model/getUsersResult.js +3 -0
  172. package/dist/accessi-module/Console/generated/model/getUsersResult.js.map +1 -0
  173. package/dist/accessi-module/Console/generated/model/getUsersResultExtensionFields.d.ts +12 -0
  174. package/dist/accessi-module/Console/generated/model/getUsersResultExtensionFields.js +9 -0
  175. package/dist/accessi-module/Console/generated/model/getUsersResultExtensionFields.js.map +1 -0
  176. package/dist/accessi-module/Console/generated/model/groupWithMenusEntity.d.ts +19 -0
  177. package/dist/accessi-module/Console/generated/model/groupWithMenusEntity.js +3 -0
  178. package/dist/accessi-module/Console/generated/model/groupWithMenusEntity.js.map +1 -0
  179. package/dist/accessi-module/Console/generated/model/index.d.ts +99 -0
  180. package/dist/accessi-module/Console/generated/model/index.js +116 -0
  181. package/dist/accessi-module/Console/generated/model/index.js.map +1 -0
  182. package/dist/accessi-module/Console/generated/model/issuedServiceTokenDto.d.ts +30 -0
  183. package/dist/accessi-module/Console/generated/model/issuedServiceTokenDto.js +9 -0
  184. package/dist/accessi-module/Console/generated/model/issuedServiceTokenDto.js.map +1 -0
  185. package/dist/accessi-module/Console/generated/model/loginRequest.d.ts +12 -0
  186. package/dist/accessi-module/Console/generated/model/loginRequest.js +9 -0
  187. package/dist/accessi-module/Console/generated/model/loginRequest.js.map +1 -0
  188. package/dist/accessi-module/Console/generated/model/loginResponse.d.ts +14 -0
  189. package/dist/accessi-module/Console/generated/model/loginResponse.js +3 -0
  190. package/dist/accessi-module/Console/generated/model/loginResponse.js.map +1 -0
  191. package/dist/accessi-module/Console/generated/model/loginResult.d.ts +32 -0
  192. package/dist/accessi-module/Console/generated/model/loginResult.js +3 -0
  193. package/dist/accessi-module/Console/generated/model/loginResult.js.map +1 -0
  194. package/dist/accessi-module/Console/generated/model/loginResultExtensionFields.d.ts +12 -0
  195. package/dist/accessi-module/Console/generated/model/loginResultExtensionFields.js +9 -0
  196. package/dist/accessi-module/Console/generated/model/loginResultExtensionFields.js.map +1 -0
  197. package/dist/accessi-module/Console/generated/model/loginResultPasswordRequired.d.ts +13 -0
  198. package/dist/accessi-module/Console/generated/model/loginResultPasswordRequired.js +14 -0
  199. package/dist/accessi-module/Console/generated/model/loginResultPasswordRequired.js.map +1 -0
  200. package/dist/accessi-module/Console/generated/model/menuEntity.d.ts +32 -0
  201. package/dist/accessi-module/Console/generated/model/menuEntity.js +9 -0
  202. package/dist/accessi-module/Console/generated/model/menuEntity.js.map +1 -0
  203. package/dist/accessi-module/Console/generated/model/menuTypeEntity.d.ts +12 -0
  204. package/dist/accessi-module/Console/generated/model/menuTypeEntity.js +9 -0
  205. package/dist/accessi-module/Console/generated/model/menuTypeEntity.js.map +1 -0
  206. package/dist/accessi-module/Console/generated/model/passwordExpiredResponse.d.ts +12 -0
  207. package/dist/accessi-module/Console/generated/model/passwordExpiredResponse.js +9 -0
  208. package/dist/accessi-module/Console/generated/model/passwordExpiredResponse.js.map +1 -0
  209. package/dist/accessi-module/Console/generated/model/permission.d.ts +12 -0
  210. package/dist/accessi-module/Console/generated/model/permission.js +9 -0
  211. package/dist/accessi-module/Console/generated/model/permission.js.map +1 -0
  212. package/dist/accessi-module/Console/generated/model/publicRegisterRequest.d.ts +51 -0
  213. package/dist/accessi-module/Console/generated/model/publicRegisterRequest.js +9 -0
  214. package/dist/accessi-module/Console/generated/model/publicRegisterRequest.js.map +1 -0
  215. package/dist/accessi-module/Console/generated/model/registerRequest.d.ts +62 -0
  216. package/dist/accessi-module/Console/generated/model/registerRequest.js +3 -0
  217. package/dist/accessi-module/Console/generated/model/registerRequest.js.map +1 -0
  218. package/dist/accessi-module/Console/generated/model/registerResponse.d.ts +14 -0
  219. package/dist/accessi-module/Console/generated/model/registerResponse.js +3 -0
  220. package/dist/accessi-module/Console/generated/model/registerResponse.js.map +1 -0
  221. package/dist/accessi-module/Console/generated/model/resendTwoFactorRequest.d.ts +13 -0
  222. package/dist/accessi-module/Console/generated/model/resendTwoFactorRequest.js +9 -0
  223. package/dist/accessi-module/Console/generated/model/resendTwoFactorRequest.js.map +1 -0
  224. package/dist/accessi-module/Console/generated/model/role.d.ts +15 -0
  225. package/dist/accessi-module/Console/generated/model/role.js +3 -0
  226. package/dist/accessi-module/Console/generated/model/role.js.map +1 -0
  227. package/dist/accessi-module/Console/generated/model/ruoliMenu.d.ts +15 -0
  228. package/dist/accessi-module/Console/generated/model/ruoliMenu.js +3 -0
  229. package/dist/accessi-module/Console/generated/model/ruoliMenu.js.map +1 -0
  230. package/dist/accessi-module/Console/generated/model/ruoliMenuTipoAbilitazione.d.ts +16 -0
  231. package/dist/accessi-module/Console/generated/model/ruoliMenuTipoAbilitazione.js +17 -0
  232. package/dist/accessi-module/Console/generated/model/ruoliMenuTipoAbilitazione.js.map +1 -0
  233. package/dist/accessi-module/Console/generated/model/schemaDdlResult.d.ts +20 -0
  234. package/dist/accessi-module/Console/generated/model/schemaDdlResult.js +3 -0
  235. package/dist/accessi-module/Console/generated/model/schemaDdlResult.js.map +1 -0
  236. package/dist/accessi-module/Console/generated/model/schemaDdlSection.d.ts +12 -0
  237. package/dist/accessi-module/Console/generated/model/schemaDdlSection.js +9 -0
  238. package/dist/accessi-module/Console/generated/model/schemaDdlSection.js.map +1 -0
  239. package/dist/accessi-module/Console/generated/model/sendResetPasswordEmailRequest.d.ts +12 -0
  240. package/dist/accessi-module/Console/generated/model/sendResetPasswordEmailRequest.js +9 -0
  241. package/dist/accessi-module/Console/generated/model/sendResetPasswordEmailRequest.js.map +1 -0
  242. package/dist/accessi-module/Console/generated/model/serveResetPasswordPageParams.d.ts +12 -0
  243. package/dist/accessi-module/Console/generated/model/serveResetPasswordPageParams.js +9 -0
  244. package/dist/accessi-module/Console/generated/model/serveResetPasswordPageParams.js.map +1 -0
  245. package/dist/accessi-module/Console/generated/model/serviceTokenDto.d.ts +28 -0
  246. package/dist/accessi-module/Console/generated/model/serviceTokenDto.js +9 -0
  247. package/dist/accessi-module/Console/generated/model/serviceTokenDto.js.map +1 -0
  248. package/dist/accessi-module/Console/generated/model/setPasswordLoginPolicyRequest.d.ts +10 -0
  249. package/dist/accessi-module/Console/generated/model/setPasswordLoginPolicyRequest.js +9 -0
  250. package/dist/accessi-module/Console/generated/model/setPasswordLoginPolicyRequest.js.map +1 -0
  251. package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDto.d.ts +13 -0
  252. package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDto.js +3 -0
  253. package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDto.js.map +1 -0
  254. package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDtoStatoRegistrazione.d.ts +18 -0
  255. package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDtoStatoRegistrazione.js +19 -0
  256. package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDtoStatoRegistrazione.js.map +1 -0
  257. package/dist/accessi-module/Console/generated/model/status.d.ts +12 -0
  258. package/dist/accessi-module/Console/generated/model/status.js +9 -0
  259. package/dist/accessi-module/Console/generated/model/status.js.map +1 -0
  260. package/dist/accessi-module/Console/generated/model/tipoFiltro.d.ts +23 -0
  261. package/dist/accessi-module/Console/generated/model/tipoFiltro.js +3 -0
  262. package/dist/accessi-module/Console/generated/model/tipoFiltro.js.map +1 -0
  263. package/dist/accessi-module/Console/generated/model/tipoFiltroFlgEnabled.d.ts +14 -0
  264. package/dist/accessi-module/Console/generated/model/tipoFiltroFlgEnabled.js +15 -0
  265. package/dist/accessi-module/Console/generated/model/tipoFiltroFlgEnabled.js.map +1 -0
  266. package/dist/accessi-module/Console/generated/model/tokenResult.d.ts +15 -0
  267. package/dist/accessi-module/Console/generated/model/tokenResult.js +3 -0
  268. package/dist/accessi-module/Console/generated/model/tokenResult.js.map +1 -0
  269. package/dist/accessi-module/Console/generated/model/tokenResultType.d.ts +14 -0
  270. package/dist/accessi-module/Console/generated/model/tokenResultType.js +15 -0
  271. package/dist/accessi-module/Console/generated/model/tokenResultType.js.map +1 -0
  272. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDto.d.ts +18 -0
  273. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDto.js +3 -0
  274. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDto.js.map +1 -0
  275. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoMethod.d.ts +10 -0
  276. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoMethod.js +14 -0
  277. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoMethod.js.map +1 -0
  278. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoTwoFactorRequired.d.ts +13 -0
  279. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoTwoFactorRequired.js +14 -0
  280. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoTwoFactorRequired.js.map +1 -0
  281. package/dist/accessi-module/Console/generated/model/updateEnabledStatusRequest.d.ts +10 -0
  282. package/dist/accessi-module/Console/generated/model/updateEnabledStatusRequest.js +9 -0
  283. package/dist/accessi-module/Console/generated/model/updateEnabledStatusRequest.js.map +1 -0
  284. package/dist/accessi-module/Console/generated/model/updateFederatedIdentityRequest.d.ts +11 -0
  285. package/dist/accessi-module/Console/generated/model/updateFederatedIdentityRequest.js +9 -0
  286. package/dist/accessi-module/Console/generated/model/updateFederatedIdentityRequest.js.map +1 -0
  287. package/dist/accessi-module/Console/generated/model/updateFederatedProviderRequest.d.ts +12 -0
  288. package/dist/accessi-module/Console/generated/model/updateFederatedProviderRequest.js +9 -0
  289. package/dist/accessi-module/Console/generated/model/updateFederatedProviderRequest.js.map +1 -0
  290. package/dist/accessi-module/Console/generated/model/updateFilterTypeRequest.d.ts +21 -0
  291. package/dist/accessi-module/Console/generated/model/updateFilterTypeRequest.js +3 -0
  292. package/dist/accessi-module/Console/generated/model/updateFilterTypeRequest.js.map +1 -0
  293. package/dist/accessi-module/Console/generated/model/updateFilterTypeRequestFlgEnabled.d.ts +14 -0
  294. package/dist/accessi-module/Console/generated/model/updateFilterTypeRequestFlgEnabled.js +15 -0
  295. package/dist/accessi-module/Console/generated/model/updateFilterTypeRequestFlgEnabled.js.map +1 -0
  296. package/dist/accessi-module/Console/generated/model/updateMenuGroupRequest.d.ts +17 -0
  297. package/dist/accessi-module/Console/generated/model/updateMenuGroupRequest.js +9 -0
  298. package/dist/accessi-module/Console/generated/model/updateMenuGroupRequest.js.map +1 -0
  299. package/dist/accessi-module/Console/generated/model/updateMenuRequest.d.ts +47 -0
  300. package/dist/accessi-module/Console/generated/model/updateMenuRequest.js +9 -0
  301. package/dist/accessi-module/Console/generated/model/updateMenuRequest.js.map +1 -0
  302. package/dist/accessi-module/Console/generated/model/updateMenuTypeRequest.d.ts +13 -0
  303. package/dist/accessi-module/Console/generated/model/updateMenuTypeRequest.js +9 -0
  304. package/dist/accessi-module/Console/generated/model/updateMenuTypeRequest.js.map +1 -0
  305. package/dist/accessi-module/Console/generated/model/userDto.d.ts +88 -0
  306. package/dist/accessi-module/Console/generated/model/userDto.js +3 -0
  307. package/dist/accessi-module/Console/generated/model/userDto.js.map +1 -0
  308. package/dist/accessi-module/Console/generated/model/userDtoStatoRegistrazione.d.ts +18 -0
  309. package/dist/accessi-module/Console/generated/model/userDtoStatoRegistrazione.js +19 -0
  310. package/dist/accessi-module/Console/generated/model/userDtoStatoRegistrazione.js.map +1 -0
  311. package/dist/accessi-module/Console/generated/model/userGrantsDto.d.ts +16 -0
  312. package/dist/accessi-module/Console/generated/model/userGrantsDto.js +3 -0
  313. package/dist/accessi-module/Console/generated/model/userGrantsDto.js.map +1 -0
  314. package/dist/accessi-module/Console/generated/model/userGrantsResponse.d.ts +14 -0
  315. package/dist/accessi-module/Console/generated/model/userGrantsResponse.js +3 -0
  316. package/dist/accessi-module/Console/generated/model/userGrantsResponse.js.map +1 -0
  317. package/dist/accessi-module/Console/generated/model/verifyTwoFactorRequest.d.ts +18 -0
  318. package/dist/accessi-module/Console/generated/model/verifyTwoFactorRequest.js +9 -0
  319. package/dist/accessi-module/Console/generated/model/verifyTwoFactorRequest.js.map +1 -0
  320. package/dist/accessi-module/Console/help.d.ts +13 -0
  321. package/dist/accessi-module/Console/help.js +355 -0
  322. package/dist/accessi-module/Console/help.js.map +1 -0
  323. package/dist/accessi-module/Console/index.html +153 -0
  324. package/dist/accessi-module/Console/wiki.d.ts +52 -0
  325. package/dist/accessi-module/Console/wiki.js +730 -0
  326. package/dist/accessi-module/Console/wiki.js.map +1 -0
  327. package/dist/accessi-module/Controllers/AccessiConsoleController.d.ts +18 -0
  328. package/dist/accessi-module/Controllers/AccessiConsoleController.js +111 -0
  329. package/dist/accessi-module/Controllers/AccessiConsoleController.js.map +1 -0
  330. package/dist/accessi-module/Controllers/AuthController.d.ts +12 -6
  331. package/dist/accessi-module/Controllers/AuthController.js +167 -82
  332. package/dist/accessi-module/Controllers/AuthController.js.map +1 -1
  333. package/dist/accessi-module/Controllers/ConfiguratorController.d.ts +1 -5
  334. package/dist/accessi-module/Controllers/ConfiguratorController.js +26 -44
  335. package/dist/accessi-module/Controllers/ConfiguratorController.js.map +1 -1
  336. package/dist/accessi-module/Controllers/EmailController.d.ts +4 -6
  337. package/dist/accessi-module/Controllers/EmailController.js +12 -14
  338. package/dist/accessi-module/Controllers/EmailController.js.map +1 -1
  339. package/dist/accessi-module/Controllers/FiltriController.d.ts +5 -4
  340. package/dist/accessi-module/Controllers/FiltriController.js +125 -6
  341. package/dist/accessi-module/Controllers/FiltriController.js.map +1 -1
  342. package/dist/accessi-module/Controllers/PermissionController.d.ts +12 -1
  343. package/dist/accessi-module/Controllers/PermissionController.js +322 -51
  344. package/dist/accessi-module/Controllers/PermissionController.js.map +1 -1
  345. package/dist/accessi-module/Controllers/SchemaController.d.ts +9 -0
  346. package/dist/accessi-module/Controllers/SchemaController.js +79 -0
  347. package/dist/accessi-module/Controllers/SchemaController.js.map +1 -0
  348. package/dist/accessi-module/Controllers/ServiceTokenController.d.ts +23 -0
  349. package/dist/accessi-module/Controllers/ServiceTokenController.js +176 -0
  350. package/dist/accessi-module/Controllers/ServiceTokenController.js.map +1 -0
  351. package/dist/accessi-module/Controllers/UserController.d.ts +8 -4
  352. package/dist/accessi-module/Controllers/UserController.js +161 -28
  353. package/dist/accessi-module/Controllers/UserController.js.map +1 -1
  354. package/dist/accessi-module/Dtos/Abilitazione.js.map +1 -1
  355. package/dist/accessi-module/Dtos/AbilitazioneMenu.js +16 -8
  356. package/dist/accessi-module/Dtos/AbilitazioneMenu.js.map +1 -1
  357. package/dist/accessi-module/Dtos/AdminBootstrapDtos.d.ts +19 -0
  358. package/dist/accessi-module/Dtos/AdminBootstrapDtos.js +83 -0
  359. package/dist/accessi-module/Dtos/AdminBootstrapDtos.js.map +1 -0
  360. package/dist/accessi-module/Dtos/AssignPermissionsToUserRequest.js +0 -1
  361. package/dist/accessi-module/Dtos/AssignPermissionsToUserRequest.js.map +1 -1
  362. package/dist/accessi-module/Dtos/AssignRolesToUserRequest.js +1 -2
  363. package/dist/accessi-module/Dtos/AssignRolesToUserRequest.js.map +1 -1
  364. package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.d.ts +13 -0
  365. package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.js +70 -0
  366. package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.js.map +1 -0
  367. package/dist/accessi-module/Dtos/BaseResponse.d.ts +22 -0
  368. package/dist/accessi-module/Dtos/BaseResponse.js +106 -1
  369. package/dist/accessi-module/Dtos/BaseResponse.js.map +1 -1
  370. package/dist/accessi-module/Dtos/CatalogDtos.d.ts +64 -0
  371. package/dist/accessi-module/Dtos/CatalogDtos.js +322 -0
  372. package/dist/accessi-module/Dtos/CatalogDtos.js.map +1 -0
  373. package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.d.ts +3 -0
  374. package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.js +31 -0
  375. package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.js.map +1 -0
  376. package/dist/accessi-module/Dtos/FederatedIdentityDtos.d.ts +69 -0
  377. package/dist/accessi-module/Dtos/FederatedIdentityDtos.js +236 -0
  378. package/dist/accessi-module/Dtos/FederatedIdentityDtos.js.map +1 -0
  379. package/dist/accessi-module/Dtos/FiltriUtente.js +5 -1
  380. package/dist/accessi-module/Dtos/FiltriUtente.js.map +1 -1
  381. package/dist/accessi-module/Dtos/GetGroupsWithMenusResponse.js +1 -1
  382. package/dist/accessi-module/Dtos/GetGroupsWithMenusResponse.js.map +1 -1
  383. package/dist/accessi-module/Dtos/GetMenusResponse.js +1 -1
  384. package/dist/accessi-module/Dtos/GetMenusResponse.js.map +1 -1
  385. package/dist/accessi-module/Dtos/GetRolesResponse.js.map +1 -1
  386. package/dist/accessi-module/Dtos/GetUserByTokenRequest.d.ts +3 -0
  387. package/dist/accessi-module/Dtos/GetUserByTokenRequest.js +26 -0
  388. package/dist/accessi-module/Dtos/GetUserByTokenRequest.js.map +1 -0
  389. package/dist/accessi-module/Dtos/GetUserByTokenResponse.d.ts +5 -0
  390. package/dist/accessi-module/Dtos/GetUserByTokenResponse.js +27 -0
  391. package/dist/accessi-module/Dtos/GetUserByTokenResponse.js.map +1 -0
  392. package/dist/accessi-module/Dtos/GetUsersResponse.d.ts +1 -1
  393. package/dist/accessi-module/Dtos/GetUsersResponse.js.map +1 -1
  394. package/dist/accessi-module/Dtos/LoginRequest.d.ts +1 -1
  395. package/dist/accessi-module/Dtos/LoginRequest.js +3 -2
  396. package/dist/accessi-module/Dtos/LoginRequest.js.map +1 -1
  397. package/dist/accessi-module/Dtos/LoginResponse.d.ts +6 -2
  398. package/dist/accessi-module/Dtos/LoginResponse.js +20 -7
  399. package/dist/accessi-module/Dtos/LoginResponse.js.map +1 -1
  400. package/dist/accessi-module/Dtos/MenuItem.js +1 -0
  401. package/dist/accessi-module/Dtos/Permission.d.ts +1 -0
  402. package/dist/accessi-module/Dtos/Permission.js +1 -0
  403. package/dist/accessi-module/Dtos/Permission.js.map +1 -1
  404. package/dist/accessi-module/Dtos/PublicRegisterRequest.d.ts +5 -0
  405. package/dist/accessi-module/Dtos/PublicRegisterRequest.js +15 -0
  406. package/dist/accessi-module/Dtos/PublicRegisterRequest.js.map +1 -0
  407. package/dist/accessi-module/Dtos/RegisterRequest.d.ts +2 -4
  408. package/dist/accessi-module/Dtos/RegisterRequest.js +18 -28
  409. package/dist/accessi-module/Dtos/RegisterRequest.js.map +1 -1
  410. package/dist/accessi-module/Dtos/RegisterResponse.d.ts +1 -1
  411. package/dist/accessi-module/Dtos/RegisterResponse.js +3 -3
  412. package/dist/accessi-module/Dtos/RegisterResponse.js.map +1 -1
  413. package/dist/accessi-module/Dtos/Role.d.ts +4 -0
  414. package/dist/accessi-module/Dtos/Role.js +4 -0
  415. package/dist/accessi-module/Dtos/Role.js.map +1 -1
  416. package/dist/accessi-module/Dtos/RuoliMenu.js.map +1 -1
  417. package/dist/accessi-module/Dtos/SchemaDtos.d.ts +19 -0
  418. package/dist/accessi-module/Dtos/SchemaDtos.js +84 -0
  419. package/dist/accessi-module/Dtos/SchemaDtos.js.map +1 -0
  420. package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.d.ts +4 -0
  421. package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.js +36 -0
  422. package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.js.map +1 -0
  423. package/dist/accessi-module/Dtos/ServiceToken.d.ts +34 -0
  424. package/dist/accessi-module/Dtos/ServiceToken.js +128 -0
  425. package/dist/accessi-module/Dtos/ServiceToken.js.map +1 -0
  426. package/dist/accessi-module/Dtos/SetStatoRegistrazione.js.map +1 -1
  427. package/dist/accessi-module/Dtos/StatoRegistrazione.js.map +1 -1
  428. package/dist/accessi-module/Dtos/TipoAbilitazione.d.ts +4 -0
  429. package/dist/accessi-module/Dtos/TipoAbilitazione.js +4 -0
  430. package/dist/accessi-module/Dtos/TipoAbilitazione.js.map +1 -1
  431. package/dist/accessi-module/Dtos/TipoFiltro.js.map +1 -1
  432. package/dist/accessi-module/Dtos/TokenResult.js.map +1 -1
  433. package/dist/accessi-module/Dtos/TwoFactorDtos.d.ts +13 -0
  434. package/dist/accessi-module/Dtos/TwoFactorDtos.js +60 -0
  435. package/dist/accessi-module/Dtos/TwoFactorDtos.js.map +1 -0
  436. package/dist/accessi-module/Dtos/UpdateEnabledStatusRequest.js.map +1 -1
  437. package/dist/accessi-module/Dtos/UserDto.d.ts +9 -4
  438. package/dist/accessi-module/Dtos/UserDto.js +39 -24
  439. package/dist/accessi-module/Dtos/UserDto.js.map +1 -1
  440. package/dist/accessi-module/Dtos/UserGrantsDto.js.map +1 -1
  441. package/dist/accessi-module/Dtos/UserGrantsResponse.d.ts +5 -0
  442. package/dist/accessi-module/Dtos/UserGrantsResponse.js +27 -0
  443. package/dist/accessi-module/Dtos/UserGrantsResponse.js.map +1 -0
  444. package/dist/accessi-module/Dtos/index.d.ts +13 -0
  445. package/dist/accessi-module/Dtos/index.js +13 -0
  446. package/dist/accessi-module/Dtos/index.js.map +1 -1
  447. package/dist/accessi-module/Services/AdminBootstrapService/AdminBootstrapService.d.ts +33 -0
  448. package/dist/accessi-module/Services/AdminBootstrapService/AdminBootstrapService.js +106 -0
  449. package/dist/accessi-module/Services/AdminBootstrapService/AdminBootstrapService.js.map +1 -0
  450. package/dist/accessi-module/Services/AuthService/AuthService.d.ts +40 -5
  451. package/dist/accessi-module/Services/AuthService/AuthService.js +192 -42
  452. package/dist/accessi-module/Services/AuthService/AuthService.js.map +1 -1
  453. package/dist/accessi-module/Services/ConfiguratorService/ConfiguratorService.d.ts +3 -1
  454. package/dist/accessi-module/Services/ConfiguratorService/ConfiguratorService.js +5 -1
  455. package/dist/accessi-module/Services/ConfiguratorService/ConfiguratorService.js.map +1 -1
  456. package/dist/accessi-module/Services/EmailService/EmailService.d.ts +9 -2
  457. package/dist/accessi-module/Services/EmailService/EmailService.js +47 -22
  458. package/dist/accessi-module/Services/EmailService/EmailService.js.map +1 -1
  459. package/dist/accessi-module/Services/FiltriService/FiltriService.d.ts +18 -3
  460. package/dist/accessi-module/Services/FiltriService/FiltriService.js +92 -16
  461. package/dist/accessi-module/Services/FiltriService/FiltriService.js.map +1 -1
  462. package/dist/accessi-module/Services/PermissionService/PermissionService.d.ts +77 -2
  463. package/dist/accessi-module/Services/PermissionService/PermissionService.js +603 -206
  464. package/dist/accessi-module/Services/PermissionService/PermissionService.js.map +1 -1
  465. package/dist/accessi-module/Services/SchemaExportService/SchemaExportService.d.ts +36 -0
  466. package/dist/accessi-module/Services/SchemaExportService/SchemaExportService.js +125 -0
  467. package/dist/accessi-module/Services/SchemaExportService/SchemaExportService.js.map +1 -0
  468. package/dist/accessi-module/Services/ServiceTokenService/ServiceTokenService.d.ts +75 -0
  469. package/dist/accessi-module/Services/ServiceTokenService/ServiceTokenService.js +265 -0
  470. package/dist/accessi-module/Services/ServiceTokenService/ServiceTokenService.js.map +1 -0
  471. package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.d.ts +27 -0
  472. package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.js +175 -0
  473. package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.js.map +1 -0
  474. package/dist/accessi-module/Services/UserService/UserService.d.ts +51 -5
  475. package/dist/accessi-module/Services/UserService/UserService.js +396 -294
  476. package/dist/accessi-module/Services/UserService/UserService.js.map +1 -1
  477. package/dist/accessi-module/Views/reset-password.html +213 -213
  478. package/dist/accessi-module/accessiRuntime.d.ts +45 -0
  479. package/dist/accessi-module/accessiRuntime.js +39 -0
  480. package/dist/accessi-module/accessiRuntime.js.map +1 -0
  481. package/dist/accessi-module/database-updates/AccessiCatalogMigrator.d.ts +83 -0
  482. package/dist/accessi-module/database-updates/AccessiCatalogMigrator.js +360 -0
  483. package/dist/accessi-module/database-updates/AccessiCatalogMigrator.js.map +1 -0
  484. package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.d.ts +57 -10
  485. package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js +475 -179
  486. package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js.map +1 -1
  487. package/dist/accessi-module/database-updates/accessiOptionsFromEnv.d.ts +5 -0
  488. package/dist/accessi-module/database-updates/accessiOptionsFromEnv.js +79 -0
  489. package/dist/accessi-module/database-updates/accessiOptionsFromEnv.js.map +1 -0
  490. package/dist/accessi-module/database-updates/accessiSchema.d.ts +67 -0
  491. package/dist/accessi-module/database-updates/accessiSchema.js +124 -0
  492. package/dist/accessi-module/database-updates/accessiSchema.js.map +1 -0
  493. package/dist/accessi-module/database-updates/optionalColumns.d.ts +7 -0
  494. package/dist/accessi-module/database-updates/optionalColumns.js +58 -0
  495. package/dist/accessi-module/database-updates/optionalColumns.js.map +1 -0
  496. package/dist/accessi-module/database-updates/runAccessiCatalogMigrations.d.ts +1 -0
  497. package/dist/accessi-module/database-updates/runAccessiCatalogMigrations.js +69 -0
  498. package/dist/accessi-module/database-updates/runAccessiCatalogMigrations.js.map +1 -0
  499. package/dist/accessi-module/database-updates/runAccessiDbUpdate.js +15 -53
  500. package/dist/accessi-module/database-updates/runAccessiDbUpdate.js.map +1 -1
  501. package/dist/accessi-module/federated-auth/FederatedAuthController.d.ts +24 -0
  502. package/dist/accessi-module/federated-auth/FederatedAuthController.js +333 -0
  503. package/dist/accessi-module/federated-auth/FederatedAuthController.js.map +1 -0
  504. package/dist/accessi-module/federated-auth/FederatedAuthService.d.ts +100 -0
  505. package/dist/accessi-module/federated-auth/FederatedAuthService.js +451 -0
  506. package/dist/accessi-module/federated-auth/FederatedAuthService.js.map +1 -0
  507. package/dist/accessi-module/federated-auth/FederatedAuthTypes.d.ts +53 -0
  508. package/dist/accessi-module/federated-auth/FederatedAuthTypes.js +3 -0
  509. package/dist/accessi-module/federated-auth/FederatedAuthTypes.js.map +1 -0
  510. package/dist/accessi-module/index.d.ts +29 -0
  511. package/dist/accessi-module/index.js +89 -19
  512. package/dist/accessi-module/index.js.map +1 -1
  513. package/dist/accessi-module/jwt/jwt.strategy.d.ts +1 -1
  514. package/dist/accessi-module/jwt/jwt.strategy.js +16 -7
  515. package/dist/accessi-module/jwt/jwt.strategy.js.map +1 -1
  516. package/dist/accessi-module/middleware/accessiRequirements.d.ts +23 -1
  517. package/dist/accessi-module/middleware/accessiRequirements.js +7 -0
  518. package/dist/accessi-module/middleware/accessiRequirements.js.map +1 -1
  519. package/dist/accessi-module/middleware/authenticateGen.d.ts +16 -1
  520. package/dist/accessi-module/middleware/authenticateGen.js +63 -25
  521. package/dist/accessi-module/middleware/authenticateGen.js.map +1 -1
  522. package/dist/accessi-module/security/AccessiHttpExceptionFilter.d.ts +12 -0
  523. package/dist/accessi-module/security/AccessiHttpExceptionFilter.js +74 -0
  524. package/dist/accessi-module/security/AccessiHttpExceptionFilter.js.map +1 -0
  525. package/dist/accessi-module/security/accessControl.d.ts +22 -2
  526. package/dist/accessi-module/security/accessControl.js +47 -8
  527. package/dist/accessi-module/security/accessControl.js.map +1 -1
  528. package/dist/accessi-module/security/accessiValidation.d.ts +9 -0
  529. package/dist/accessi-module/security/accessiValidation.js +41 -0
  530. package/dist/accessi-module/security/accessiValidation.js.map +1 -0
  531. package/dist/accessi-module/security/adminBootstrap.d.ts +8 -0
  532. package/dist/accessi-module/security/adminBootstrap.js +41 -0
  533. package/dist/accessi-module/security/adminBootstrap.js.map +1 -0
  534. package/dist/accessi-module/security/authenticatedToken.d.ts +16 -2
  535. package/dist/accessi-module/security/authenticatedToken.js +31 -4
  536. package/dist/accessi-module/security/authenticatedToken.js.map +1 -1
  537. package/dist/accessi-module/security/emailConfiguration.d.ts +20 -0
  538. package/dist/accessi-module/security/emailConfiguration.js +41 -0
  539. package/dist/accessi-module/security/emailConfiguration.js.map +1 -0
  540. package/dist/accessi-module/security/passwordResetToken.d.ts +13 -3
  541. package/dist/accessi-module/security/passwordResetToken.js +13 -5
  542. package/dist/accessi-module/security/passwordResetToken.js.map +1 -1
  543. package/dist/accessi-module/security/publicAuthRateLimit.d.ts +3 -3
  544. package/dist/accessi-module/security/publicAuthRateLimit.js +31 -8
  545. package/dist/accessi-module/security/publicAuthRateLimit.js.map +1 -1
  546. package/dist/accessi-module/security/serviceTokenGuard.d.ts +25 -0
  547. package/dist/accessi-module/security/serviceTokenGuard.js +85 -0
  548. package/dist/accessi-module/security/serviceTokenGuard.js.map +1 -0
  549. package/dist/accessi-module/security/serviceTokenRateLimit.d.ts +8 -0
  550. package/dist/accessi-module/security/serviceTokenRateLimit.js +49 -0
  551. package/dist/accessi-module/security/serviceTokenRateLimit.js.map +1 -0
  552. package/dist/accessi-module/startupLog.d.ts +6 -0
  553. package/dist/accessi-module/startupLog.js +25 -0
  554. package/dist/accessi-module/startupLog.js.map +1 -0
  555. package/dist/allegati-module/AllegatiModule.d.ts +12 -1
  556. package/dist/allegati-module/AllegatiModule.js +11 -1
  557. package/dist/allegati-module/AllegatiModule.js.map +1 -1
  558. package/dist/allegati-module/Controllers/AllegatiController.d.ts +2 -1
  559. package/dist/allegati-module/Controllers/AllegatiController.js +23 -15
  560. package/dist/allegati-module/Controllers/AllegatiController.js.map +1 -1
  561. package/dist/allegati-module/Dtos/AllegatoDto.js.map +1 -1
  562. package/dist/allegati-module/Dtos/BaseResponse.js.map +1 -1
  563. package/dist/allegati-module/Dtos/UploadSingleFileRequest.js.map +1 -1
  564. package/dist/allegati-module/Dtos/index.js.map +1 -1
  565. package/dist/allegati-module/Dtos/responses/DownloadAllegatoResponseDto.js.map +1 -1
  566. package/dist/allegati-module/Dtos/responses/GetListResponse.js.map +1 -1
  567. package/dist/allegati-module/Dtos/responses/UploadAllegatoResponseDto.js.map +1 -1
  568. package/dist/allegati-module/Services/AllegatiService/AllegatiService.d.ts +10 -3
  569. package/dist/allegati-module/Services/AllegatiService/AllegatiService.js +150 -101
  570. package/dist/allegati-module/Services/AllegatiService/AllegatiService.js.map +1 -1
  571. package/dist/allegati-module/index.js.map +1 -1
  572. package/dist/allegati-module/security/allegatiAuthorizationGuard.d.ts +14 -0
  573. package/dist/allegati-module/security/allegatiAuthorizationGuard.js +70 -0
  574. package/dist/allegati-module/security/allegatiAuthorizationGuard.js.map +1 -0
  575. package/dist/autobind.d.ts +10 -3
  576. package/dist/autobind.js +24 -9
  577. package/dist/autobind.js.map +1 -1
  578. package/dist/emilsoftware-utilities-2.0.0-dev.40.tgz +0 -0
  579. package/dist/firebird-compat.d.ts +27 -6
  580. package/dist/firebird-compat.js +150 -135
  581. package/dist/firebird-compat.js.map +1 -1
  582. package/dist/index.d.ts +2 -2
  583. package/dist/index.js +2 -2
  584. package/dist/index.js.map +1 -1
  585. package/dist/initEmilsoftwareModule.js +13 -3
  586. package/dist/initEmilsoftwareModule.js.map +1 -1
  587. package/dist/scripts/generateAccessiOpenApi.d.ts +1 -0
  588. package/dist/scripts/generateAccessiOpenApi.js +57 -0
  589. package/dist/scripts/generateAccessiOpenApi.js.map +1 -0
  590. package/dist/scripts/generateAccessiWiki.d.ts +1 -0
  591. package/dist/scripts/generateAccessiWiki.js +131 -0
  592. package/dist/scripts/generateAccessiWiki.js.map +1 -0
  593. package/dist/swagger/SwaggerConfig.d.ts +7 -1
  594. package/dist/swagger/SwaggerConfig.js +22 -8
  595. package/dist/swagger/SwaggerConfig.js.map +1 -1
  596. package/package.json +105 -83
@@ -27,227 +27,523 @@ const common_1 = require("@nestjs/common");
27
27
  const DatabaseUpdater_1 = require("../../DatabaseUpdater");
28
28
  const Orm_1 = require("../../Orm");
29
29
  const Logger_1 = require("../../Logger");
30
+ const accessiSchema_1 = require("./accessiSchema");
31
+ const AccessiCatalogMigrator_1 = require("./AccessiCatalogMigrator");
32
+ /** Reconciles the actual schema; version labels never bypass verification. */
30
33
  let AccessiDatabaseUpdater = AccessiDatabaseUpdater_1 = class AccessiDatabaseUpdater extends DatabaseUpdater_1.DatabaseUpdater {
31
34
  constructor(accessiOptions) {
32
35
  super();
33
36
  this.accessiOptions = accessiOptions;
34
37
  }
35
38
  onModuleInit() {
39
+ return __awaiter(this, void 0, void 0, function* () { yield AccessiDatabaseUpdater_1.initialize(this.accessiOptions); });
40
+ }
41
+ /** Shared bootstrap barrier for services in the same Nest module. Failed attempts may be retried. */
42
+ static initialize(options) {
43
+ let pending = this.initialization.get(options);
44
+ if (!pending) {
45
+ pending = this.bootstrap(options);
46
+ this.initialization.set(options, pending);
47
+ const cleanup = () => this.initialization.delete(options);
48
+ pending.then(cleanup, cleanup);
49
+ }
50
+ return pending;
51
+ }
52
+ /**
53
+ * Prima riconcilia lo schema, poi applica le catalog migrations applicative (menu, ruoli, ...).
54
+ * Con `autoUpdateDatabase: false` la verifica resta in sola lettura e le catalog migrations
55
+ * non vengono eseguite automaticamente.
56
+ */
57
+ static bootstrap(options) {
36
58
  return __awaiter(this, void 0, void 0, function* () {
37
- if (this.accessiOptions.autoUpdateDatabase === false) {
38
- AccessiDatabaseUpdater_1.logger.info("Aggiornamento automatico database accessi disabilitato da configurazione.");
59
+ var _a;
60
+ if (options.autoUpdateDatabase === false) {
61
+ yield this.assertCompatible(options);
39
62
  return;
40
63
  }
41
- AccessiDatabaseUpdater_1.logger.info("Avvio updater database accessi.");
42
- yield AccessiDatabaseUpdater_1.run(this.accessiOptions);
43
- AccessiDatabaseUpdater_1.logger.info("Updater database accessi completato.");
64
+ yield this.run(options);
65
+ if ((_a = options.catalogScripts) === null || _a === void 0 ? void 0 : _a.enabled) {
66
+ yield (0, AccessiCatalogMigrator_1.applyCatalogScripts)(options);
67
+ }
44
68
  });
45
69
  }
70
+ static getLatestVersion() { return accessiSchema_1.ACCESSI_SCHEMA_VERSION; }
71
+ static getCurrentVersion(options) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ var _a;
74
+ if (!(yield this.tableExists(options.databaseOptions, 'PARAMETRI')))
75
+ return null;
76
+ const rows = yield Orm_1.Orm.query(options.databaseOptions, 'SELECT DESPAR FROM PARAMETRI WHERE CODPAR = ?', [accessiSchema_1.ACCESSI_VERSION_KEY], false);
77
+ const version = (_a = rows[0]) === null || _a === void 0 ? void 0 : _a.DESPAR;
78
+ return typeof version === 'string' ? version.trim() : version == null ? null : String(version).trim();
79
+ });
80
+ }
81
+ /** Serialize callers targeting the same database in this process. Cross-process DDL is a deployment concern. */
46
82
  static run(options) {
83
+ var _a, _b, _c;
84
+ const db = options.databaseOptions;
85
+ const key = JSON.stringify([(_a = db.host) !== null && _a !== void 0 ? _a : 'localhost', (_b = db.port) !== null && _b !== void 0 ? _b : 3050, db.database]);
86
+ const previous = (_c = this.running.get(key)) !== null && _c !== void 0 ? _c : Promise.resolve();
87
+ const pending = previous.catch(() => { }).then(() => this.reconcile(options));
88
+ this.running.set(key, pending);
89
+ const cleanup = () => { if (this.running.get(key) === pending)
90
+ this.running.delete(key); };
91
+ pending.then(cleanup, cleanup);
92
+ return pending;
93
+ }
94
+ static query(options_1, sql_1) {
95
+ return __awaiter(this, arguments, void 0, function* (options, sql, params = []) {
96
+ return Orm_1.Orm.query(options.databaseOptions, sql, params, false);
97
+ });
98
+ }
99
+ static execute(options_1, sql_1) {
100
+ return __awaiter(this, arguments, void 0, function* (options, sql, params = []) {
101
+ try {
102
+ yield Orm_1.Orm.execute(options.databaseOptions, sql, params, false);
103
+ }
104
+ catch (error) {
105
+ const message = error instanceof Error ? error.message : String(error);
106
+ throw new Error(`Migrazione Accessi interrotta: ${sql}. ${message}. Correggere lo schema/dati indicati e rilanciare; la versione non e stata avanzata.`);
107
+ }
108
+ });
109
+ }
110
+ static sequenceExists(options, name) {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ const rows = yield this.query(options, 'SELECT 1 FROM RDB$GENERATORS WHERE RDB$GENERATOR_NAME = ?', [name.toUpperCase()]);
113
+ return rows.length > 0;
114
+ });
115
+ }
116
+ /** Nome deterministico del CHECK che replica NOT NULL su Firebird 2.5 (limite identificatore: 31 caratteri). */
117
+ static notNullConstraint(table, column) {
118
+ return `CK_NN_${table}_${column}`.toUpperCase().slice(0, 31);
119
+ }
120
+ /** Su Firebird 2.5 NOT NULL sulle colonne esistenti e' replicato da un CHECK: la verifica lo accetta. */
121
+ static notNullEnforcedByCheck(checks, engineMajor, table, column) {
122
+ if (engineMajor >= 3)
123
+ return false;
124
+ const name = this.notNullConstraint(table, column);
125
+ return checks.some(row => row.NAME === name && this.sameCheck(String(row.CHECK_SOURCE), `${column} IS NOT NULL`));
126
+ }
127
+ static relationIssues(options) {
47
128
  return __awaiter(this, void 0, void 0, function* () {
48
- var _a, _b, _c;
49
- const startedAt = performance.now();
50
- this.logger.info(`Verifica schema accessi su ${(_a = options.databaseOptions.host) !== null && _a !== void 0 ? _a : "?"}:${(_b = options.databaseOptions.port) !== null && _b !== void 0 ? _b : "?"} -> ${(_c = options.databaseOptions.database) !== null && _c !== void 0 ? _c : "?"}`);
51
- yield this.createParametersTable(options.databaseOptions);
52
- this.logger.info("Tabella PARAMETRI verificata.");
53
- const currentVersion = yield this.getDatabaseVersion(options.databaseOptions);
54
- const currentIndex = this.updates.findIndex((update) => update.toVersion === currentVersion);
55
- const startIndex = currentIndex >= 0 ? currentIndex + 1 : 0;
56
- if (currentVersion && currentIndex === this.updates.length - 1) {
57
- this.logger.info(`Database accessi gia' all'ultima versione disponibile (${currentVersion}).`);
58
- }
59
- else if (currentVersion && currentIndex >= 0) {
60
- this.logger.info(`Database accessi rilevato alla versione ${currentVersion}.`);
61
- }
62
- else if (currentVersion) {
63
- this.logger.warning(`Versione database accessi non riconosciuta (${currentVersion}). Verifico tutti gli update idempotenti.`);
129
+ // RDB$VIEW_BLR esiste in tutte le versioni; RDB$RELATION_TYPE solo da Firebird 3.0.
130
+ // Una vista ha RDB$VIEW_BLR non nullo: se una tabella Accessi esiste come vista, va segnalato.
131
+ const rows = yield this.query(options, `SELECT TRIM(RDB$RELATION_NAME) AS NAME
132
+ FROM RDB$RELATIONS WHERE COALESCE(RDB$SYSTEM_FLAG, 0) = 0 AND RDB$VIEW_BLR IS NOT NULL`);
133
+ return rows.filter(row => accessiSchema_1.accessiTables[String(row.NAME)]).map(row => `${row.NAME}: richiesta tabella persistente, trovata vista`);
134
+ });
135
+ }
136
+ static engineInfo(options) {
137
+ return __awaiter(this, void 0, void 0, function* () {
138
+ var _a, _b;
139
+ const rows = yield this.query(options, "SELECT RDB$GET_CONTEXT('SYSTEM', 'ENGINE_VERSION') AS ENGINE_VERSION FROM RDB$DATABASE");
140
+ const version = String((_b = (_a = rows[0]) === null || _a === void 0 ? void 0 : _a.ENGINE_VERSION) !== null && _b !== void 0 ? _b : 'sconosciuta');
141
+ const match = /^(\d+)(?:\.(\d+))?/.exec(version);
142
+ return { version, major: match ? Number(match[1]) : Number.NaN, minor: (match === null || match === void 0 ? void 0 : match[2]) ? Number(match[2]) : 0 };
143
+ });
144
+ }
145
+ static engineIssue(options) {
146
+ return __awaiter(this, void 0, void 0, function* () {
147
+ const { version, major, minor } = yield this.engineInfo(options);
148
+ // Firebird 2.5 e successivi: la 2.5 usa CREATE GENERATOR, dalla 3.0 lo schema usa CREATE SEQUENCE.
149
+ const supported = major > 2 || (major === 2 && minor >= 5);
150
+ if (!supported)
151
+ return `Firebird ${version}: lo schema Accessi richiede Firebird 2.5 o successivo`;
152
+ });
153
+ }
154
+ static columns(options) {
155
+ return __awaiter(this, void 0, void 0, function* () {
156
+ return this.query(options, `SELECT TRIM(RF.RDB$RELATION_NAME) AS TABLE_NAME, TRIM(RF.RDB$FIELD_NAME) AS COLUMN_NAME,
157
+ F.RDB$FIELD_TYPE AS FIELD_TYPE, F.RDB$FIELD_SUB_TYPE AS SUB_TYPE, F.RDB$FIELD_SCALE AS FIELD_SCALE,
158
+ F.RDB$CHARACTER_LENGTH AS TEXT_LENGTH, TRIM(CS.RDB$CHARACTER_SET_NAME) AS CHARSET_NAME,
159
+ COALESCE(RF.RDB$NULL_FLAG, F.RDB$NULL_FLAG, 0) AS NOT_NULL,
160
+ CAST(COALESCE(RF.RDB$DEFAULT_SOURCE, F.RDB$DEFAULT_SOURCE) AS VARCHAR(1024)) AS DEFAULT_SOURCE,
161
+ CASE WHEN F.RDB$COMPUTED_BLR IS NULL THEN 0 ELSE 1 END AS IS_COMPUTED
162
+ FROM RDB$RELATION_FIELDS RF JOIN RDB$FIELDS F ON F.RDB$FIELD_NAME = RF.RDB$FIELD_SOURCE
163
+ LEFT JOIN RDB$CHARACTER_SETS CS ON CS.RDB$CHARACTER_SET_ID = F.RDB$CHARACTER_SET_ID
164
+ WHERE RF.RDB$RELATION_NAME IN (${Object.keys(accessiSchema_1.accessiTables).map(name => `'${name}'`).join(', ')})`);
165
+ });
166
+ }
167
+ static defaultValue(definition) {
168
+ var _a;
169
+ return (_a = /\bDEFAULT\s+('[^']*'|\S+)/i.exec(definition)) === null || _a === void 0 ? void 0 : _a[1];
170
+ }
171
+ static typeIssue(row, definition) {
172
+ var _a;
173
+ if (Number(row.IS_COMPUTED))
174
+ return 'colonna calcolata invece di scrivibile';
175
+ const stringLength = /^(?:VAR)?CHAR\((\d+)\)/.exec(definition);
176
+ if (stringLength) {
177
+ if (![14, 37].includes(Number(row.FIELD_TYPE)))
178
+ return `richiesto testo (${definition})`;
179
+ if (Number(row.TEXT_LENGTH) < Number(stringLength[1]))
180
+ return `lunghezza ${row.TEXT_LENGTH}, richiesta almeno ${stringLength[1]}`;
181
+ const charset = (_a = /CHARACTER SET (\w+)/.exec(definition)) === null || _a === void 0 ? void 0 : _a[1];
182
+ if (charset && typeof row.CHARSET_NAME === 'string' && row.CHARSET_NAME.trim() !== charset)
183
+ return `character set ${row.CHARSET_NAME}, richiesto ${charset}`;
184
+ }
185
+ else if (/^(SMALLINT|INTEGER)/.test(definition)) {
186
+ const acceptable = definition.startsWith('SMALLINT') ? [7, 8, 16] : [8, 16];
187
+ if (!acceptable.includes(Number(row.FIELD_TYPE)) || Number(row.FIELD_SCALE) !== 0)
188
+ return `richiesto intero (${definition})`;
189
+ }
190
+ else if (definition.startsWith('DATE')) {
191
+ if (![12, 35].includes(Number(row.FIELD_TYPE)))
192
+ return 'richiesto DATE o TIMESTAMP';
193
+ }
194
+ else if (definition.startsWith('TIMESTAMP')) {
195
+ if (Number(row.FIELD_TYPE) !== 35)
196
+ return 'richiesto TIMESTAMP';
197
+ }
198
+ else if (definition.startsWith('BLOB')) {
199
+ if (Number(row.FIELD_TYPE) !== 261 || Number(row.SUB_TYPE) !== 1)
200
+ return 'richiesto BLOB testuale';
201
+ }
202
+ return undefined;
203
+ }
204
+ static constraints(options) {
205
+ return __awaiter(this, void 0, void 0, function* () {
206
+ return this.query(options, `SELECT TRIM(C.RDB$CONSTRAINT_NAME) AS NAME, TRIM(C.RDB$RELATION_NAME) AS TABLE_NAME,
207
+ TRIM(C.RDB$CONSTRAINT_TYPE) AS KIND, TRIM(S.RDB$FIELD_NAME) AS COLUMN_NAME, S.RDB$FIELD_POSITION AS POS,
208
+ TRIM(T.RDB$RELATION_NAME) AS TARGET_TABLE, TRIM(TS.RDB$FIELD_NAME) AS TARGET_COLUMN,
209
+ TRIM(R.RDB$DELETE_RULE) AS DELETE_RULE
210
+ FROM RDB$RELATION_CONSTRAINTS C
211
+ LEFT JOIN RDB$INDEX_SEGMENTS S ON S.RDB$INDEX_NAME = C.RDB$INDEX_NAME
212
+ LEFT JOIN RDB$REF_CONSTRAINTS R ON R.RDB$CONSTRAINT_NAME = C.RDB$CONSTRAINT_NAME
213
+ LEFT JOIN RDB$RELATION_CONSTRAINTS T ON T.RDB$CONSTRAINT_NAME = R.RDB$CONST_NAME_UQ
214
+ LEFT JOIN RDB$INDEX_SEGMENTS TS ON TS.RDB$INDEX_NAME = T.RDB$INDEX_NAME AND TS.RDB$FIELD_POSITION = S.RDB$FIELD_POSITION
215
+ ORDER BY C.RDB$CONSTRAINT_NAME, S.RDB$FIELD_POSITION`);
216
+ });
217
+ }
218
+ /** Raggruppa per nome; ogni gruppo e non vuoto per costruzione (tupla non vuota). */
219
+ static groups(rows) {
220
+ const groups = new Map();
221
+ for (const row of rows) {
222
+ const key = String(row.NAME);
223
+ const existing = groups.get(key);
224
+ if (existing) {
225
+ existing.push(row);
64
226
  }
65
227
  else {
66
- this.logger.warning("Versione database accessi assente. Verifico tutti gli update idempotenti.");
67
- }
68
- for (let index = startIndex; index < this.updates.length; index++) {
69
- const update = this.updates[index];
70
- const stepStartedAt = performance.now();
71
- this.logger.info(`Applico aggiornamento accessi ${update.fromVersion} -> ${update.toVersion}: ${update.description}`);
72
- yield update.apply(options);
73
- yield this.setDatabaseVersion(options.databaseOptions, update.toVersion);
74
- this.logger.info(`Aggiornamento accessi ${update.toVersion} completato in ${(performance.now() - stepStartedAt).toFixed(2)} ms`);
228
+ groups.set(key, [row]);
75
229
  }
76
- this.logger.info(`Verifica/aggiornamento database accessi completato in ${(performance.now() - startedAt).toFixed(2)} ms`);
230
+ }
231
+ return Array.from(groups.values());
232
+ }
233
+ static checks(options) {
234
+ return __awaiter(this, void 0, void 0, function* () {
235
+ return this.query(options, `SELECT DISTINCT TRIM(C.RDB$CONSTRAINT_NAME) AS NAME,
236
+ TRIM(C.RDB$RELATION_NAME) AS TABLE_NAME, CAST(T.RDB$TRIGGER_SOURCE AS VARCHAR(2048)) AS CHECK_SOURCE
237
+ FROM RDB$RELATION_CONSTRAINTS C JOIN RDB$CHECK_CONSTRAINTS K ON K.RDB$CONSTRAINT_NAME = C.RDB$CONSTRAINT_NAME
238
+ JOIN RDB$TRIGGERS T ON T.RDB$TRIGGER_NAME = K.RDB$TRIGGER_NAME
239
+ WHERE C.RDB$CONSTRAINT_TYPE = 'CHECK'`);
77
240
  });
78
241
  }
79
- static getCurrentVersion(options) {
242
+ static sameCheck(source, expression) {
243
+ const normalize = (s) => s.replace(/^\s*CHECK\s*/i, '').replace(/[\s()]/g, '').toUpperCase();
244
+ return normalize(source !== null && source !== void 0 ? source : '') === normalize(expression);
245
+ }
246
+ static indexes(options) {
247
+ return __awaiter(this, void 0, void 0, function* () {
248
+ return this.groups(yield this.query(options, `SELECT TRIM(I.RDB$INDEX_NAME) AS NAME, TRIM(I.RDB$RELATION_NAME) AS TABLE_NAME,
249
+ COALESCE(I.RDB$INDEX_INACTIVE, 0) AS INACTIVE, TRIM(S.RDB$FIELD_NAME) AS COLUMN_NAME
250
+ FROM RDB$INDICES I LEFT JOIN RDB$INDEX_SEGMENTS S ON S.RDB$INDEX_NAME = I.RDB$INDEX_NAME
251
+ ORDER BY I.RDB$INDEX_NAME, S.RDB$FIELD_POSITION`));
252
+ });
253
+ }
254
+ static sameColumns(rows, columns) {
255
+ return rows.map(row => row.COLUMN_NAME).join(',') === columns.join(',');
256
+ }
257
+ static triggers(options) {
80
258
  return __awaiter(this, void 0, void 0, function* () {
81
- return yield this.getDatabaseVersion(options.databaseOptions);
259
+ return this.query(options, `SELECT TRIM(RDB$TRIGGER_NAME) AS NAME, TRIM(RDB$RELATION_NAME) AS TABLE_NAME,
260
+ RDB$TRIGGER_INACTIVE AS INACTIVE, RDB$TRIGGER_TYPE AS TRIGGER_TYPE,
261
+ CAST(RDB$TRIGGER_SOURCE AS VARCHAR(8191)) AS SOURCE
262
+ FROM RDB$TRIGGERS WHERE COALESCE(RDB$SYSTEM_FLAG, 0) = 0
263
+ AND RDB$RELATION_NAME IN (${Object.keys(accessiSchema_1.accessiTables).map(name => `'${name}'`).join(', ')})`);
82
264
  });
83
265
  }
84
- static getLatestVersion() {
266
+ /** Accept historical formatting and renamed triggers, but require the operations used by Accessi. */
267
+ static compatibleTrigger(row, trigger) {
85
268
  var _a, _b;
86
- return (_b = (_a = this.updates[this.updates.length - 1]) === null || _a === void 0 ? void 0 : _a.toVersion) !== null && _b !== void 0 ? _b : "0.0.0";
269
+ if (row.TABLE_NAME !== trigger.table || Number(row.INACTIVE) || Number(row.TRIGGER_TYPE) !== trigger.type)
270
+ return false;
271
+ const source = String((_a = row.SOURCE) !== null && _a !== void 0 ? _a : '').replace(/\/\*[\s\S]*?\*\//g, '').replace(/--[^\r\n]*/g, '').replace(/[\s()]/g, '').toUpperCase();
272
+ const required = {
273
+ UTENTI_BI: ['IFNEW.CODUTEISNULL', 'NEW.CODUTE=GEN_IDGEN_UTENTI_ID,1', 'NEW.DATINS=CURRENT_TIMESTAMP'],
274
+ RUOLI_BI: ['IFNEW.CODRUOISNULL', 'NEW.CODRUO=GEN_IDGEN_RUOLI_ID,1'],
275
+ FILTRI_BI0: ['IFNEW.PROGISNULL', 'MAXPROG', 'FROMFILTRIWHERECODUTE=NEW.CODUTE', 'NEW.PROG=TOT+1'],
276
+ UTENTI_GDPR_BI0: ['NEW.DATACC=CURRENT_TIMESTAMP', 'UPDATEUTENTISETFLGGDPR=1', 'DATGDPR=CURRENT_TIMESTAMP', 'WHERECODUTE=NEW.CODUTE'],
277
+ };
278
+ return ((_b = required[trigger.name]) !== null && _b !== void 0 ? _b : []).every(fragment => source.includes(fragment));
87
279
  }
88
- static ensureColumn(options, tableName, columnDefinition, columnName, comment) {
280
+ static futureVersionIssue(options, columns) {
89
281
  return __awaiter(this, void 0, void 0, function* () {
90
- const exists = yield this.columnExists(options.databaseOptions, tableName, columnName);
91
- if (!exists) {
92
- yield Orm_1.Orm.execute(options.databaseOptions, `ALTER TABLE ${tableName} ADD ${columnDefinition}`);
93
- }
94
- if (comment) {
95
- yield Orm_1.Orm.execute(options.databaseOptions, `COMMENT ON COLUMN ${tableName}.${columnName} IS '${comment.replace(/'/g, "''")}'`);
282
+ var _a, _b, _c, _d;
283
+ if (!['CODPAR', 'DESPAR'].every(name => columns.some(row => row.TABLE_NAME === 'PARAMETRI' && row.COLUMN_NAME === name)))
284
+ return;
285
+ const version = yield this.getCurrentVersion(options);
286
+ if (!version)
287
+ return;
288
+ if (!/^\d+\.\d+\.\d+$/.test(version))
289
+ return `Versione Accessi non riconosciuta: ${version}`;
290
+ const actual = version.split('.').map(Number), latest = accessiSchema_1.ACCESSI_SCHEMA_VERSION.split('.').map(Number);
291
+ for (let i = 0; i < 3; i++) {
292
+ if (((_a = actual[i]) !== null && _a !== void 0 ? _a : 0) > ((_b = latest[i]) !== null && _b !== void 0 ? _b : 0))
293
+ return `Schema Accessi ${version} piu recente della libreria (${accessiSchema_1.ACCESSI_SCHEMA_VERSION}); downgrade automatico non consentito`;
294
+ if (((_c = actual[i]) !== null && _c !== void 0 ? _c : 0) < ((_d = latest[i]) !== null && _d !== void 0 ? _d : 0))
295
+ return;
96
296
  }
97
- return !exists;
98
297
  });
99
298
  }
100
- static upsertFiltroTipo(options, tipfil, desfil, fldfil, flgEnabled) {
299
+ /** Read-only diagnostics, including when automatic updates are disabled. */
300
+ static inspectSchema(options) {
101
301
  return __awaiter(this, void 0, void 0, function* () {
102
- const hasEnabledColumn = yield this.columnExists(options.databaseOptions, "FILTRI_TIPO", "FLGENABLED");
103
- const existing = yield Orm_1.Orm.query(options.databaseOptions, "SELECT TIPFIL FROM FILTRI_TIPO WHERE TIPFIL = ?", [tipfil]);
104
- if (existing.length === 0) {
105
- if (hasEnabledColumn && flgEnabled !== undefined) {
106
- yield Orm_1.Orm.execute(options.databaseOptions, "INSERT INTO FILTRI_TIPO (TIPFIL, DESFIL, FLDFIL, FLGENABLED) VALUES (?, ?, ?, ?)", [tipfil, desfil, fldfil, flgEnabled]);
107
- return;
302
+ var _a, _b;
303
+ const engine = yield this.engineIssue(options);
304
+ if (engine)
305
+ return { compatible: false, issues: [engine] };
306
+ const { major: engineMajor } = yield this.engineInfo(options);
307
+ const issues = yield this.relationIssues(options);
308
+ const columns = yield this.columns(options);
309
+ const checks = yield this.checks(options);
310
+ const future = yield this.futureVersionIssue(options, columns);
311
+ if (future)
312
+ issues.push(future);
313
+ for (const [table, schema] of Object.entries(accessiSchema_1.accessiTables)) {
314
+ const present = columns.filter(row => row.TABLE_NAME === table);
315
+ if (!present.length) {
316
+ issues.push(`Tabella mancante: ${table}`);
317
+ continue;
318
+ }
319
+ for (const [name, definition] of Object.entries(schema.columns)) {
320
+ const row = present.find(row => row.COLUMN_NAME === name);
321
+ if (!row) {
322
+ issues.push(`Colonna mancante: ${table}.${name}`);
323
+ continue;
324
+ }
325
+ const problem = this.typeIssue(row, definition);
326
+ if (problem)
327
+ issues.push(`${table}.${name}: ${problem}`);
328
+ if (definition.includes('NOT NULL') && !Number(row.NOT_NULL) && !this.notNullEnforcedByCheck(checks, engineMajor, table, name)) {
329
+ issues.push(`${table}.${name}: manca NOT NULL`);
330
+ }
331
+ const expected = this.defaultValue(definition);
332
+ if (expected && this.normalizeDefault(row.DEFAULT_SOURCE) !== this.normalizeDefault(expected))
333
+ issues.push(`${table}.${name}: richiesto DEFAULT ${expected}`);
108
334
  }
109
- yield Orm_1.Orm.execute(options.databaseOptions, "INSERT INTO FILTRI_TIPO (TIPFIL, DESFIL, FLDFIL) VALUES (?, ?, ?)", [tipfil, desfil, fldfil]);
110
- return;
111
335
  }
112
- if (hasEnabledColumn && flgEnabled !== undefined) {
113
- yield Orm_1.Orm.execute(options.databaseOptions, "UPDATE FILTRI_TIPO SET DESFIL = ?, FLDFIL = ?, FLGENABLED = COALESCE(FLGENABLED, ?) WHERE TIPFIL = ?", [desfil, fldfil, flgEnabled, tipfil]);
114
- return;
336
+ for (const check of accessiSchema_1.accessiChecks) {
337
+ if (!checks.some(row => row.TABLE_NAME === check.table && this.sameCheck(String(row.CHECK_SOURCE), check.expression)))
338
+ issues.push(`${check.table}: manca CHECK (${check.expression})`);
115
339
  }
116
- yield Orm_1.Orm.execute(options.databaseOptions, "UPDATE FILTRI_TIPO SET DESFIL = ?, FLDFIL = ? WHERE TIPFIL = ?", [desfil, fldfil, tipfil]);
340
+ const constraints = this.groups(yield this.constraints(options));
341
+ for (const [table, schema] of Object.entries(accessiSchema_1.accessiTables)) {
342
+ if (!constraints.some(rows => rows[0].TABLE_NAME === table && rows[0].KIND === 'PRIMARY KEY' && this.sameColumns(rows, schema.primaryKey)))
343
+ issues.push(`${table}: chiave primaria richiesta (${schema.primaryKey.join(', ')})`);
344
+ }
345
+ for (const fk of accessiSchema_1.accessiForeignKeys) {
346
+ if (!constraints.some(rows => rows.length === 1 && rows[0].KIND === 'FOREIGN KEY' && rows[0].TABLE_NAME === fk.table && rows[0].COLUMN_NAME === fk.column && rows[0].TARGET_TABLE === fk.target && rows[0].TARGET_COLUMN === fk.targetColumn && (fk.cascade ? rows[0].DELETE_RULE === 'CASCADE' : ['NO ACTION', 'RESTRICT'].includes(String(rows[0].DELETE_RULE)))))
347
+ issues.push(`${fk.name}: manca FK compatibile ${fk.table}.${fk.column} -> ${fk.target}.${fk.targetColumn}`);
348
+ }
349
+ const indexes = yield this.indexes(options);
350
+ for (const index of accessiSchema_1.accessiIndexes) {
351
+ if (!indexes.some(rows => rows[0].TABLE_NAME === index.table && !Number(rows[0].INACTIVE) && this.sameColumns(rows, index.columns)))
352
+ issues.push(`${index.name}: indice mancante o inattivo`);
353
+ }
354
+ const triggers = yield this.triggers(options);
355
+ for (const trigger of accessiSchema_1.accessiTriggers) {
356
+ if (!triggers.some(row => this.compatibleTrigger(row, trigger)))
357
+ issues.push(`${trigger.name}: trigger richiesto attivo ${trigger.event} su ${trigger.table}, con le operazioni Accessi previste`);
358
+ }
359
+ for (const generator of accessiSchema_1.accessiGenerators) {
360
+ if (!(yield this.sequenceExists(options, generator.name)))
361
+ issues.push(`${generator.name}: sequence/generatore mancante`);
362
+ else if (columns.some(row => row.TABLE_NAME === generator.table && row.COLUMN_NAME === generator.column)) {
363
+ const rows = yield this.query(options, `SELECT GEN_ID(${generator.name}, 0) AS CURRENT_VALUE, (SELECT COALESCE(MAX(${generator.column}), 0) FROM ${generator.table}) AS MAX_VALUE FROM RDB$DATABASE`);
364
+ if (Number((_a = rows[0]) === null || _a === void 0 ? void 0 : _a.CURRENT_VALUE) < Number((_b = rows[0]) === null || _b === void 0 ? void 0 : _b.MAX_VALUE))
365
+ issues.push(`${generator.name}: sequence inferiore agli identificativi esistenti`);
366
+ }
367
+ }
368
+ return { compatible: issues.length === 0, issues };
117
369
  });
118
370
  }
119
- static upsertMenu(options, menu) {
371
+ static assertCompatible(options) {
120
372
  return __awaiter(this, void 0, void 0, function* () {
121
- const existing = yield Orm_1.Orm.query(options.databaseOptions, "SELECT CODMNU FROM MENU WHERE CODMNU = ?", [menu.CODMNU]);
122
- if (existing.length === 0) {
123
- yield Orm_1.Orm.execute(options.databaseOptions, `INSERT INTO MENU (CODMNU, DESMNU, CODGRP, FLGENABLED, ICON, ORDINE, CODTIP, PAGINA, RIFMENU)
124
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
125
- menu.CODMNU,
126
- menu.DESMNU,
127
- menu.CODGRP,
128
- menu.FLGENABLED,
129
- menu.ICON,
130
- menu.ORDINE,
131
- menu.CODTIP,
132
- menu.PAGINA,
133
- menu.RIFMENU,
134
- ]);
135
- return;
373
+ const report = yield this.inspectSchema(options);
374
+ if (!report.compatible)
375
+ throw new Error(`Schema database Accessi incompatibile:\n- ${report.issues.join('\n- ')}\nEseguire AccessiDatabaseUpdater.run con un utente autorizzato o correggere lo schema prima dell'avvio.`);
376
+ });
377
+ }
378
+ static normalizeDefault(value) {
379
+ return String(value !== null && value !== void 0 ? value : '').replace(/^\s*DEFAULT\s+/i, '').replace(/[()\s]/g, '').toUpperCase();
380
+ }
381
+ /**
382
+ * Riconciliazione idempotente e ripartibile. Firebird non rende utilizzabili gli oggetti
383
+ * creati nella stessa transazione (metadata cache), quindi il DDL resta auto-commit per
384
+ * statement: eventuali errori a meta vengono recuperati rieseguendo la migrazione e la
385
+ * versione viene avanzata solo dopo la verifica finale `assertCompatible`.
386
+ */
387
+ static reconcile(options) {
388
+ return __awaiter(this, void 0, void 0, function* () {
389
+ this.logger.info('Verifica dello schema effettivo Accessi.');
390
+ const engine = yield this.engineIssue(options);
391
+ if (engine)
392
+ throw new Error(engine);
393
+ const { major: engineMajor } = yield this.engineInfo(options);
394
+ const columns = yield this.columns(options);
395
+ const checks = yield this.checks(options);
396
+ const future = yield this.futureVersionIssue(options, columns);
397
+ if (future)
398
+ throw new Error(future);
399
+ // Detect incompatible existing definitions before making any changes. Never guess at data conversion.
400
+ const problems = yield this.relationIssues(options);
401
+ for (const [table, schema] of Object.entries(accessiSchema_1.accessiTables)) {
402
+ for (const [name, definition] of Object.entries(schema.columns)) {
403
+ const row = columns.find(row => row.TABLE_NAME === table && row.COLUMN_NAME === name);
404
+ if (row) {
405
+ const problem = this.typeIssue(row, definition);
406
+ if (problem)
407
+ problems.push(`${table}.${name}: ${problem}`);
408
+ }
409
+ }
410
+ }
411
+ if (problems.length)
412
+ throw new Error(`Schema Accessi richiede intervento sui tipi:\n- ${problems.join('\n- ')}`);
413
+ for (const [table, schema] of Object.entries(accessiSchema_1.accessiTables)) {
414
+ const present = columns.filter(row => row.TABLE_NAME === table);
415
+ if (!present.length) {
416
+ yield this.execute(options, `CREATE TABLE ${table} (${Object.entries(schema.columns).map(([name, definition]) => `${name} ${definition}`).join(', ')})`);
417
+ continue;
418
+ }
419
+ for (const [name, definition] of Object.entries(schema.columns)) {
420
+ const row = present.find(row => row.COLUMN_NAME === name);
421
+ if (!row) {
422
+ if (definition.includes('NOT NULL') && !this.defaultValue(definition)) {
423
+ const data = yield this.query(options, `SELECT FIRST 1 1 AS HAS_DATA FROM ${table}`);
424
+ if (data.length)
425
+ throw new Error(`Impossibile aggiungere ${table}.${name} obbligatoria: tabella popolata, serve un backfill esplicito. Nessun valore identificativo viene inventato.`);
426
+ }
427
+ yield this.execute(options, `ALTER TABLE ${table} ADD ${name} ${definition}`);
428
+ }
429
+ else {
430
+ const expected = this.defaultValue(definition);
431
+ if (expected && this.normalizeDefault(row.DEFAULT_SOURCE) !== this.normalizeDefault(expected))
432
+ yield this.execute(options, `ALTER TABLE ${table} ALTER ${name} SET DEFAULT ${expected}`);
433
+ if (definition.includes('NOT NULL') && !Number(row.NOT_NULL)) {
434
+ if (expected)
435
+ yield this.execute(options, `UPDATE ${table} SET ${name} = ${expected} WHERE ${name} IS NULL`);
436
+ if (engineMajor >= 3) {
437
+ yield this.execute(options, `ALTER TABLE ${table} ALTER ${name} SET NOT NULL`);
438
+ }
439
+ else {
440
+ // Firebird 2.5 non supporta ALTER ... SET NOT NULL: replica la regola con un CHECK equivalente.
441
+ const nnName = this.notNullConstraint(table, name);
442
+ if (!checks.some(entry => entry.NAME === nnName)) {
443
+ yield this.execute(options, `ALTER TABLE ${table} ADD CONSTRAINT ${nnName} CHECK (${name} IS NOT NULL)`);
444
+ }
445
+ }
446
+ }
447
+ }
448
+ }
449
+ }
450
+ // Pulizia delle colonne ibride: rinomina con copia dati e rimozione dei campi applicativi.
451
+ // Gira dopo l'aggiunta delle colonne canoniche, cosi il target del rename esiste sempre.
452
+ for (const rename of accessiSchema_1.accessiRenamedColumns) {
453
+ const hasLegacy = columns.some(row => row.TABLE_NAME === rename.table && row.COLUMN_NAME === rename.from);
454
+ if (!hasLegacy)
455
+ continue;
456
+ yield this.execute(options, `UPDATE ${rename.table} SET ${rename.to} = ${rename.from} WHERE ${rename.to} IS NULL AND ${rename.from} IS NOT NULL`);
457
+ yield this.execute(options, `ALTER TABLE ${rename.table} DROP ${rename.from}`);
458
+ }
459
+ // Copie tra tabelle diverse (es. telefono legacy UTENTI.CELLUTE -> UTENTI_CONFIG.CELLULARE).
460
+ for (const copy of accessiSchema_1.accessiColumnCopies) {
461
+ const hasSource = columns.some(row => row.TABLE_NAME === copy.sourceTable && row.COLUMN_NAME === copy.sourceColumn);
462
+ if (!hasSource)
463
+ continue;
464
+ yield this.execute(options, `UPDATE ${copy.targetTable} SET ${copy.targetColumn} = (SELECT S.${copy.sourceColumn} FROM ${copy.sourceTable} S WHERE S.${copy.joinColumn} = ${copy.targetTable}.${copy.joinColumn}) WHERE ${copy.targetColumn} IS NULL AND EXISTS (SELECT 1 FROM ${copy.sourceTable} S WHERE S.${copy.joinColumn} = ${copy.targetTable}.${copy.joinColumn} AND S.${copy.sourceColumn} IS NOT NULL)`);
465
+ }
466
+ for (const [table, obsoleteColumns] of Object.entries(accessiSchema_1.accessiObsoleteColumns)) {
467
+ for (const column of obsoleteColumns) {
468
+ if (columns.some(row => row.TABLE_NAME === table && row.COLUMN_NAME === column)) {
469
+ yield this.execute(options, `ALTER TABLE ${table} DROP ${column}`);
470
+ }
471
+ }
472
+ }
473
+ const constraints = this.groups(yield this.constraints(options));
474
+ for (const [table, schema] of Object.entries(accessiSchema_1.accessiTables)) {
475
+ const primary = constraints.find(rows => rows[0].TABLE_NAME === table && rows[0].KIND === 'PRIMARY KEY');
476
+ if (primary && !this.sameColumns(primary, schema.primaryKey))
477
+ throw new Error(`${table}: chiave primaria esistente incompatibile; nessun vincolo viene eliminato automaticamente.`);
478
+ if (!primary)
479
+ yield this.execute(options, `ALTER TABLE ${table} ADD CONSTRAINT PK_${table} PRIMARY KEY (${schema.primaryKey.join(', ')})`);
480
+ }
481
+ // Only preserve provider namespaces already referenced by historical SSO identities.
482
+ yield this.execute(options, `INSERT INTO SSO_PROVIDER (PROVIDER, DESCRIZIONE, FLGATTIVO)
483
+ SELECT DISTINCT I.PROVIDER, I.PROVIDER, 1 FROM UTENTI_IDENTITA_EXT I
484
+ WHERE NOT EXISTS (SELECT 1 FROM SSO_PROVIDER P WHERE P.PROVIDER = I.PROVIDER)`);
485
+ for (const fk of accessiSchema_1.accessiForeignKeys) {
486
+ const existing = constraints.find(rows => rows[0].KIND === 'FOREIGN KEY' && rows[0].TABLE_NAME === fk.table && this.sameColumns(rows, [fk.column]));
487
+ if (existing) {
488
+ // Una FK sulla stessa colonna ma verso un target/regola diverso non e compatibile:
489
+ // correggere il target cambiando semantica e va segnalato, non ignorato.
490
+ const deleteRuleOk = fk.cascade
491
+ ? existing[0].DELETE_RULE === 'CASCADE'
492
+ : ['NO ACTION', 'RESTRICT'].includes(String(existing[0].DELETE_RULE));
493
+ if (existing[0].TARGET_TABLE !== fk.target || existing[0].TARGET_COLUMN !== fk.targetColumn || !deleteRuleOk) {
494
+ throw new Error(`${fk.name}: FK esistente su ${fk.table}.${fk.column} incompatibile (target ${existing[0].TARGET_TABLE}.${existing[0].TARGET_COLUMN}, delete rule ${existing[0].DELETE_RULE}); correggerla esplicitamente.`);
495
+ }
496
+ continue;
497
+ }
498
+ yield this.execute(options, `ALTER TABLE ${fk.table} ADD CONSTRAINT ${fk.name} FOREIGN KEY (${fk.column}) REFERENCES ${fk.target} (${fk.targetColumn})${fk.cascade ? ' ON DELETE CASCADE' : ''}`);
499
+ }
500
+ for (const check of accessiSchema_1.accessiChecks) {
501
+ if (!checks.some(row => row.TABLE_NAME === check.table && this.sameCheck(String(row.CHECK_SOURCE), check.expression))) {
502
+ yield this.execute(options, `ALTER TABLE ${check.table} ADD CONSTRAINT ${check.name} CHECK (${check.expression})`);
503
+ }
504
+ }
505
+ const indexes = yield this.indexes(options);
506
+ for (const index of accessiSchema_1.accessiIndexes) {
507
+ if (!indexes.some(rows => rows[0].TABLE_NAME === index.table && !Number(rows[0].INACTIVE) && this.sameColumns(rows, index.columns))) {
508
+ if (indexes.some(rows => rows[0].NAME === index.name))
509
+ throw new Error(`${index.name}: indice esistente incompatibile o inattivo; correggerlo esplicitamente.`);
510
+ yield this.execute(options, `CREATE INDEX ${index.name} ON ${index.table} (${index.columns.join(', ')})`);
511
+ }
512
+ }
513
+ for (const generator of accessiSchema_1.accessiGenerators) {
514
+ if (!(yield this.sequenceExists(options, generator.name))) {
515
+ // Firebird 2.5 non conosce CREATE SEQUENCE: usa CREATE GENERATOR. Da 3.0 si usa la sintassi standard.
516
+ yield this.execute(options, engineMajor >= 3 ? `CREATE SEQUENCE ${generator.name}` : `CREATE GENERATOR ${generator.name}`);
517
+ }
518
+ // Advance by a positive delta only: do not reset an existing sequence or reuse an allocated value.
519
+ yield this.execute(options, `EXECUTE BLOCK AS DECLARE VARIABLE MAX_ID BIGINT; DECLARE VARIABLE CURRENT_ID BIGINT; DECLARE VARIABLE NEXT_ID BIGINT;
520
+ BEGIN SELECT COALESCE(MAX(${generator.column}), 0) FROM ${generator.table} INTO :MAX_ID;
521
+ CURRENT_ID = GEN_ID(${generator.name}, 0);
522
+ IF (MAX_ID > CURRENT_ID) THEN NEXT_ID = GEN_ID(${generator.name}, MAX_ID - CURRENT_ID); END`);
523
+ }
524
+ const triggers = yield this.triggers(options);
525
+ for (const trigger of accessiSchema_1.accessiTriggers) {
526
+ if (!triggers.some(row => this.compatibleTrigger(row, trigger)) && !triggers.some(row => row.NAME === trigger.name)) {
527
+ if (triggers.some(row => row.TABLE_NAME === trigger.table && Number(row.TRIGGER_TYPE) === trigger.type)) {
528
+ throw new Error(`${trigger.table}: trigger ${trigger.event} personalizzato non riconosciuto; verificare le operazioni di ${trigger.name} prima di aggiungere trigger concorrenti.`);
529
+ }
530
+ yield this.execute(options, `CREATE TRIGGER ${trigger.name} FOR ${trigger.table} ACTIVE ${trigger.event} POSITION 0 ${trigger.body}`);
531
+ }
136
532
  }
137
- yield Orm_1.Orm.execute(options.databaseOptions, `UPDATE MENU
138
- SET DESMNU = ?,
139
- CODGRP = ?,
140
- FLGENABLED = COALESCE(FLGENABLED, ?),
141
- ICON = ?,
142
- ORDINE = ?,
143
- CODTIP = ?,
144
- PAGINA = ?,
145
- RIFMENU = ?
146
- WHERE CODMNU = ?`, [
147
- menu.DESMNU,
148
- menu.CODGRP,
149
- menu.FLGENABLED,
150
- menu.ICON,
151
- menu.ORDINE,
152
- menu.CODTIP,
153
- menu.PAGINA,
154
- menu.RIFMENU,
155
- menu.CODMNU,
156
- ]);
533
+ yield this.assertCompatible(options);
534
+ // The host's VersioneDB/DBVERSION values belong to the host and are never overwritten.
535
+ yield this.execute(options, 'UPDATE OR INSERT INTO PARAMETRI (CODPAR, DESPAR) VALUES (?, ?) MATCHING (CODPAR)', [accessiSchema_1.ACCESSI_VERSION_KEY, accessiSchema_1.ACCESSI_SCHEMA_VERSION]);
536
+ this.logger.info(`Schema Accessi verificato: ${accessiSchema_1.ACCESSI_SCHEMA_VERSION}.`);
157
537
  });
158
538
  }
159
539
  };
160
540
  exports.AccessiDatabaseUpdater = AccessiDatabaseUpdater;
161
541
  AccessiDatabaseUpdater.logger = new Logger_1.Logger(AccessiDatabaseUpdater_1.name);
162
- AccessiDatabaseUpdater.updates = [
163
- {
164
- fromVersion: "1.0.0",
165
- toVersion: "1.1.0",
166
- description: "Aggiunge filtro postazione, colonna IDXPOS e menu verifica RFID",
167
- apply: (options) => __awaiter(void 0, void 0, void 0, function* () {
168
- yield AccessiDatabaseUpdater_1.upsertFiltroTipo(options, 20, "POSTAZIONE", "IDXPOS", undefined);
169
- yield AccessiDatabaseUpdater_1.ensureColumn(options, "FILTRI", "IDXPOS SMALLINT", "IDXPOS", "idx della postazione nella tabella ANTENNE_POS di PROLAV");
170
- yield AccessiDatabaseUpdater_1.upsertMenu(options, {
171
- CODMNU: "MNUVERRFID",
172
- DESMNU: "Verifica RFID",
173
- CODGRP: "F",
174
- FLGENABLED: 1,
175
- ICON: "hardware-chip-outline",
176
- ORDINE: 10,
177
- CODTIP: "M",
178
- PAGINA: "/verifica-rfid",
179
- RIFMENU: null,
180
- });
181
- }),
182
- },
183
- {
184
- fromVersion: "1.1.0",
185
- toVersion: "1.1.1",
186
- description: "Aggiunge FLGENABLED su FILTRI_TIPO",
187
- apply: (options) => __awaiter(void 0, void 0, void 0, function* () {
188
- const columnCreated = yield AccessiDatabaseUpdater_1.ensureColumn(options, "FILTRI_TIPO", "FLGENABLED SMALLINT DEFAULT 1 NOT NULL", "FLGENABLED");
189
- if (!columnCreated) {
190
- yield Orm_1.Orm.execute(options.databaseOptions, "UPDATE FILTRI_TIPO SET FLGENABLED = 1 WHERE FLGENABLED IS NULL");
191
- }
192
- }),
193
- },
194
- {
195
- fromVersion: "1.1.1",
196
- toVersion: "1.1.2",
197
- description: "Aggiunge filtro vettore e colonna CODVET",
198
- apply: (options) => __awaiter(void 0, void 0, void 0, function* () {
199
- yield AccessiDatabaseUpdater_1.upsertFiltroTipo(options, 30, "VETTORE", "CODVET", 1);
200
- yield AccessiDatabaseUpdater_1.ensureColumn(options, "FILTRI", "CODVET INTEGER", "CODVET", "CODICE DEL VETTORE DA INSERIRE SE COME FILTRO HA 30");
201
- }),
202
- },
203
- {
204
- fromVersion: "1.1.2",
205
- toVersion: "1.1.3",
206
- description: "Aggiunge FLGADMINCONFIG e inizializza PARAMETRI",
207
- apply: (options) => __awaiter(void 0, void 0, void 0, function* () {
208
- yield AccessiDatabaseUpdater_1.ensureColumn(options, "UTENTI_CONFIG", "FLGADMINCONFIG SMALLINT DEFAULT 0", "FLGADMINCONFIG", "flag utente configuratore dei menu amministratore");
209
- yield AccessiDatabaseUpdater_1.createParametersTable(options.databaseOptions);
210
- }),
211
- },
212
- {
213
- fromVersion: "1.1.3",
214
- toVersion: "1.1.4",
215
- description: "Aggiunge sequence e trigger per RUOLI",
216
- apply: (options) => __awaiter(void 0, void 0, void 0, function* () {
217
- if (!(yield AccessiDatabaseUpdater_1.generatorExists(options.databaseOptions, "GEN_RUOLI_ID"))) {
218
- yield Orm_1.Orm.execute(options.databaseOptions, "CREATE SEQUENCE GEN_RUOLI_ID");
219
- }
220
- if (!(yield AccessiDatabaseUpdater_1.triggerExists(options.databaseOptions, "RUOLI_BI"))) {
221
- yield Orm_1.Orm.execute(options.databaseOptions, `CREATE TRIGGER RUOLI_BI FOR RUOLI
222
- ACTIVE BEFORE INSERT POSITION 0
223
- AS
224
- BEGIN
225
- IF (NEW.CODRUO IS NULL) THEN
226
- NEW.CODRUO = GEN_ID(GEN_RUOLI_ID,1);
227
- END`);
228
- }
229
- }),
230
- },
231
- {
232
- fromVersion: "1.1.4",
233
- toVersion: "1.1.5",
234
- description: "Aggiunge NOTE su MENU",
235
- apply: (options) => __awaiter(void 0, void 0, void 0, function* () {
236
- yield AccessiDatabaseUpdater_1.ensureColumn(options, "MENU", "NOTE VARCHAR(1000)", "NOTE");
237
- }),
238
- },
239
- {
240
- fromVersion: "1.1.5",
241
- toVersion: "1.1.6",
242
- description: "Aggiunge NUMMAC su UTENTI_CONFIG",
243
- apply: (options) => __awaiter(void 0, void 0, void 0, function* () {
244
- yield AccessiDatabaseUpdater_1.ensureColumn(options, "UTENTI_CONFIG", "NUMMAC INTEGER", "NUMMAC", 'Numero macchina DESPOST PROLAV');
245
- }),
246
- },
247
- ];
542
+ AccessiDatabaseUpdater.initialization = new WeakMap();
543
+ AccessiDatabaseUpdater.running = new Map();
248
544
  exports.AccessiDatabaseUpdater = AccessiDatabaseUpdater = AccessiDatabaseUpdater_1 = __decorate([
249
545
  (0, common_1.Injectable)(),
250
- __param(0, (0, common_1.Inject)("ACCESSI_OPTIONS")),
546
+ __param(0, (0, common_1.Inject)('ACCESSI_OPTIONS')),
251
547
  __metadata("design:paramtypes", [Object])
252
548
  ], AccessiDatabaseUpdater);
253
549
  //# sourceMappingURL=AccessiDatabaseUpdater.js.map