emilsoftware-utilities 2.0.0-dev.8 → 2.0.0-dev.80

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 (914) hide show
  1. package/README.MD +323 -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.d.ts +15 -1
  11. package/dist/EmilsoftwareModule.js +1 -1
  12. package/dist/EmilsoftwareModule.js.map +1 -1
  13. package/dist/ExecutionTimeLogger.d.ts +2 -2
  14. package/dist/ExecutionTimeLogger.js +5 -4
  15. package/dist/ExecutionTimeLogger.js.map +1 -1
  16. package/dist/Logger.d.ts +22 -11
  17. package/dist/Logger.js +132 -119
  18. package/dist/Logger.js.map +1 -1
  19. package/dist/Orm.d.ts +32 -6
  20. package/dist/Orm.js +148 -38
  21. package/dist/Orm.js.map +1 -1
  22. package/dist/RoutesLoggerMiddleware.js.map +1 -1
  23. package/dist/Utilities.d.ts +18 -8
  24. package/dist/Utilities.js +143 -37
  25. package/dist/Utilities.js.map +1 -1
  26. package/dist/accessi/client/admin/index.d.ts +18 -0
  27. package/dist/accessi/client/admin/index.js +58 -0
  28. package/dist/accessi/client/admin/index.js.map +1 -0
  29. package/dist/accessi/client/createAccessiClient.d.ts +21 -0
  30. package/dist/accessi/client/createAccessiClient.js +31 -0
  31. package/dist/accessi/client/createAccessiClient.js.map +1 -0
  32. package/dist/accessi/client/generated/admin.d.ts +621 -0
  33. package/dist/accessi/client/generated/admin.js +591 -0
  34. package/dist/accessi/client/generated/admin.js.map +1 -0
  35. package/dist/accessi/client/generated/public.d.ts +121 -0
  36. package/dist/accessi/client/generated/public.js +119 -0
  37. package/dist/accessi/client/generated/public.js.map +1 -0
  38. package/dist/accessi/client/generated/service.d.ts +53 -0
  39. package/dist/accessi/client/generated/service.js +63 -0
  40. package/dist/accessi/client/generated/service.js.map +1 -0
  41. package/dist/accessi/client/index.d.ts +44 -0
  42. package/dist/accessi/client/index.js +99 -0
  43. package/dist/accessi/client/index.js.map +1 -0
  44. package/dist/accessi/client/public/index.d.ts +18 -0
  45. package/dist/accessi/client/public/index.js +58 -0
  46. package/dist/accessi/client/public/index.js.map +1 -0
  47. package/dist/accessi/client/service/index.d.ts +17 -0
  48. package/dist/accessi/client/service/index.js +57 -0
  49. package/dist/accessi/client/service/index.js.map +1 -0
  50. package/dist/accessi/console/index.d.ts +15 -0
  51. package/dist/accessi/console/index.js +25 -0
  52. package/dist/accessi/console/index.js.map +1 -0
  53. package/dist/accessi/contracts/dtos.d.ts +8 -0
  54. package/dist/accessi/contracts/dtos.js +25 -0
  55. package/dist/accessi/contracts/dtos.js.map +1 -0
  56. package/dist/accessi/contracts/index.d.ts +25 -0
  57. package/dist/accessi/contracts/index.js +28 -0
  58. package/dist/accessi/contracts/index.js.map +1 -0
  59. package/dist/accessi/openapi/index.d.ts +2 -0
  60. package/dist/accessi/openapi/index.js +19 -0
  61. package/dist/accessi/openapi/index.js.map +1 -0
  62. package/dist/accessi/resource-server/core.d.ts +6 -0
  63. package/dist/accessi/resource-server/core.js +23 -0
  64. package/dist/accessi/resource-server/core.js.map +1 -0
  65. package/dist/accessi/resource-server/errors.d.ts +10 -0
  66. package/dist/accessi/resource-server/errors.js +19 -0
  67. package/dist/accessi/resource-server/errors.js.map +1 -0
  68. package/dist/accessi/resource-server/express.d.ts +17 -0
  69. package/dist/accessi/resource-server/express.js +87 -0
  70. package/dist/accessi/resource-server/express.js.map +1 -0
  71. package/dist/accessi/resource-server/index.d.ts +3 -0
  72. package/dist/accessi/resource-server/index.js +20 -0
  73. package/dist/accessi/resource-server/index.js.map +1 -0
  74. package/dist/accessi/resource-server/introspection.d.ts +16 -0
  75. package/dist/accessi/resource-server/introspection.js +115 -0
  76. package/dist/accessi/resource-server/introspection.js.map +1 -0
  77. package/dist/accessi/resource-server/keys.d.ts +11 -0
  78. package/dist/accessi/resource-server/keys.js +22 -0
  79. package/dist/accessi/resource-server/keys.js.map +1 -0
  80. package/dist/accessi/resource-server/nest.d.ts +9 -0
  81. package/dist/accessi/resource-server/nest.js +75 -0
  82. package/dist/accessi/resource-server/nest.js.map +1 -0
  83. package/dist/accessi/resource-server/runtime.d.ts +27 -0
  84. package/dist/accessi/resource-server/runtime.js +179 -0
  85. package/dist/accessi/resource-server/runtime.js.map +1 -0
  86. package/dist/accessi/resource-server/token.d.ts +23 -0
  87. package/dist/accessi/resource-server/token.js +276 -0
  88. package/dist/accessi/resource-server/token.js.map +1 -0
  89. package/dist/accessi/resource-server/types.d.ts +114 -0
  90. package/dist/accessi/resource-server/types.js +3 -0
  91. package/dist/accessi/resource-server/types.js.map +1 -0
  92. package/dist/accessi/server/index.d.ts +12 -0
  93. package/dist/accessi/server/index.js +32 -0
  94. package/dist/accessi/server/index.js.map +1 -0
  95. package/dist/accessi/server/standalone.d.ts +39 -0
  96. package/dist/accessi/server/standalone.js +191 -0
  97. package/dist/accessi/server/standalone.js.map +1 -0
  98. package/dist/accessi/server/tenants.d.ts +97 -0
  99. package/dist/accessi/server/tenants.js +275 -0
  100. package/dist/accessi/server/tenants.js.map +1 -0
  101. package/dist/accessi/ui/index.d.ts +13 -0
  102. package/dist/accessi/ui/index.js +19 -0
  103. package/dist/accessi/ui/index.js.map +1 -0
  104. package/dist/accessi-module/AccessiModule.d.ts +225 -0
  105. package/dist/accessi-module/AccessiModule.js +49 -5
  106. package/dist/accessi-module/AccessiModule.js.map +1 -1
  107. package/dist/accessi-module/Console/accessiFetch.d.ts +59 -0
  108. package/dist/accessi-module/Console/accessiFetch.js +178 -0
  109. package/dist/accessi-module/Console/accessiFetch.js.map +1 -0
  110. package/dist/accessi-module/Console/console.css +774 -0
  111. package/dist/accessi-module/Console/console.d.ts +1 -0
  112. package/dist/accessi-module/Console/console.js +4173 -0
  113. package/dist/accessi-module/Console/console.js.map +1 -0
  114. package/dist/accessi-module/Console/generated/emilsoftware-utilities.d.ts +781 -0
  115. package/dist/accessi-module/Console/generated/emilsoftware-utilities.js +746 -0
  116. package/dist/accessi-module/Console/generated/emilsoftware-utilities.js.map +1 -0
  117. package/dist/accessi-module/Console/generated/model/abilitazioneMenu.d.ts +39 -0
  118. package/dist/accessi-module/Console/generated/model/abilitazioneMenu.js +3 -0
  119. package/dist/accessi-module/Console/generated/model/abilitazioneMenu.js.map +1 -0
  120. package/dist/accessi-module/Console/generated/model/abilitazioneMenuTipoAbilitazione.d.ts +16 -0
  121. package/dist/accessi-module/Console/generated/model/abilitazioneMenuTipoAbilitazione.js +17 -0
  122. package/dist/accessi-module/Console/generated/model/abilitazioneMenuTipoAbilitazione.js.map +1 -0
  123. package/dist/accessi-module/Console/generated/model/accessiIntrospectionResultDto.d.ts +16 -0
  124. package/dist/accessi-module/Console/generated/model/accessiIntrospectionResultDto.js +3 -0
  125. package/dist/accessi-module/Console/generated/model/accessiIntrospectionResultDto.js.map +1 -0
  126. package/dist/accessi-module/Console/generated/model/actionResponse.d.ts +12 -0
  127. package/dist/accessi-module/Console/generated/model/actionResponse.js +9 -0
  128. package/dist/accessi-module/Console/generated/model/actionResponse.js.map +1 -0
  129. package/dist/accessi-module/Console/generated/model/adminBootstrapStatusResponse.d.ts +14 -0
  130. package/dist/accessi-module/Console/generated/model/adminBootstrapStatusResponse.js +3 -0
  131. package/dist/accessi-module/Console/generated/model/adminBootstrapStatusResponse.js.map +1 -0
  132. package/dist/accessi-module/Console/generated/model/adminBootstrapStatusResult.d.ts +10 -0
  133. package/dist/accessi-module/Console/generated/model/adminBootstrapStatusResult.js +9 -0
  134. package/dist/accessi-module/Console/generated/model/adminBootstrapStatusResult.js.map +1 -0
  135. package/dist/accessi-module/Console/generated/model/assignPermissionsToUserRequest.d.ts +11 -0
  136. package/dist/accessi-module/Console/generated/model/assignPermissionsToUserRequest.js +3 -0
  137. package/dist/accessi-module/Console/generated/model/assignPermissionsToUserRequest.js.map +1 -0
  138. package/dist/accessi-module/Console/generated/model/assignRolesToUserRequest.d.ts +10 -0
  139. package/dist/accessi-module/Console/generated/model/assignRolesToUserRequest.js +9 -0
  140. package/dist/accessi-module/Console/generated/model/assignRolesToUserRequest.js.map +1 -0
  141. package/dist/accessi-module/Console/generated/model/authenticatedTokenPayloadDto.d.ts +10 -0
  142. package/dist/accessi-module/Console/generated/model/authenticatedTokenPayloadDto.js +3 -0
  143. package/dist/accessi-module/Console/generated/model/authenticatedTokenPayloadDto.js.map +1 -0
  144. package/dist/accessi-module/Console/generated/model/authenticatedUserPayloadDto.d.ts +19 -0
  145. package/dist/accessi-module/Console/generated/model/authenticatedUserPayloadDto.js +9 -0
  146. package/dist/accessi-module/Console/generated/model/authenticatedUserPayloadDto.js.map +1 -0
  147. package/dist/accessi-module/Console/generated/model/bootstrapAdminRequest.d.ts +17 -0
  148. package/dist/accessi-module/Console/generated/model/bootstrapAdminRequest.js +9 -0
  149. package/dist/accessi-module/Console/generated/model/bootstrapAdminRequest.js.map +1 -0
  150. package/dist/accessi-module/Console/generated/model/bootstrapAdminResponse.d.ts +14 -0
  151. package/dist/accessi-module/Console/generated/model/bootstrapAdminResponse.js +3 -0
  152. package/dist/accessi-module/Console/generated/model/bootstrapAdminResponse.js.map +1 -0
  153. package/dist/accessi-module/Console/generated/model/bootstrapAdminResultDto.d.ts +13 -0
  154. package/dist/accessi-module/Console/generated/model/bootstrapAdminResultDto.js +9 -0
  155. package/dist/accessi-module/Console/generated/model/bootstrapAdminResultDto.js.map +1 -0
  156. package/dist/accessi-module/Console/generated/model/confirmResetPasswordRequest.d.ts +14 -0
  157. package/dist/accessi-module/Console/generated/model/confirmResetPasswordRequest.js +9 -0
  158. package/dist/accessi-module/Console/generated/model/confirmResetPasswordRequest.js.map +1 -0
  159. package/dist/accessi-module/Console/generated/model/consoleEntryExchangeRequest.d.ts +10 -0
  160. package/dist/accessi-module/Console/generated/model/consoleEntryExchangeRequest.js +9 -0
  161. package/dist/accessi-module/Console/generated/model/consoleEntryExchangeRequest.js.map +1 -0
  162. package/dist/accessi-module/Console/generated/model/consoleEntrySessionResponse.d.ts +14 -0
  163. package/dist/accessi-module/Console/generated/model/consoleEntrySessionResponse.js +3 -0
  164. package/dist/accessi-module/Console/generated/model/consoleEntrySessionResponse.js.map +1 -0
  165. package/dist/accessi-module/Console/generated/model/consoleEntrySessionResult.d.ts +10 -0
  166. package/dist/accessi-module/Console/generated/model/consoleEntrySessionResult.js +3 -0
  167. package/dist/accessi-module/Console/generated/model/consoleEntrySessionResult.js.map +1 -0
  168. package/dist/accessi-module/Console/generated/model/consoleEntryTicketResponse.d.ts +14 -0
  169. package/dist/accessi-module/Console/generated/model/consoleEntryTicketResponse.js +3 -0
  170. package/dist/accessi-module/Console/generated/model/consoleEntryTicketResponse.js.map +1 -0
  171. package/dist/accessi-module/Console/generated/model/consoleEntryTicketResult.d.ts +12 -0
  172. package/dist/accessi-module/Console/generated/model/consoleEntryTicketResult.js +9 -0
  173. package/dist/accessi-module/Console/generated/model/consoleEntryTicketResult.js.map +1 -0
  174. package/dist/accessi-module/Console/generated/model/consoleEntryTokenResult.d.ts +12 -0
  175. package/dist/accessi-module/Console/generated/model/consoleEntryTokenResult.js +9 -0
  176. package/dist/accessi-module/Console/generated/model/consoleEntryTokenResult.js.map +1 -0
  177. package/dist/accessi-module/Console/generated/model/createFederatedIdentityRequest.d.ts +13 -0
  178. package/dist/accessi-module/Console/generated/model/createFederatedIdentityRequest.js +9 -0
  179. package/dist/accessi-module/Console/generated/model/createFederatedIdentityRequest.js.map +1 -0
  180. package/dist/accessi-module/Console/generated/model/createFederatedProviderRequest.d.ts +13 -0
  181. package/dist/accessi-module/Console/generated/model/createFederatedProviderRequest.js +9 -0
  182. package/dist/accessi-module/Console/generated/model/createFederatedProviderRequest.js.map +1 -0
  183. package/dist/accessi-module/Console/generated/model/createFederatedUserRequest.d.ts +18 -0
  184. package/dist/accessi-module/Console/generated/model/createFederatedUserRequest.js +3 -0
  185. package/dist/accessi-module/Console/generated/model/createFederatedUserRequest.js.map +1 -0
  186. package/dist/accessi-module/Console/generated/model/createFilterTypeRequest.d.ts +23 -0
  187. package/dist/accessi-module/Console/generated/model/createFilterTypeRequest.js +3 -0
  188. package/dist/accessi-module/Console/generated/model/createFilterTypeRequest.js.map +1 -0
  189. package/dist/accessi-module/Console/generated/model/createFilterTypeRequestFlgEnabled.d.ts +14 -0
  190. package/dist/accessi-module/Console/generated/model/createFilterTypeRequestFlgEnabled.js +15 -0
  191. package/dist/accessi-module/Console/generated/model/createFilterTypeRequestFlgEnabled.js.map +1 -0
  192. package/dist/accessi-module/Console/generated/model/createMenuGroupRequest.d.ts +22 -0
  193. package/dist/accessi-module/Console/generated/model/createMenuGroupRequest.js +9 -0
  194. package/dist/accessi-module/Console/generated/model/createMenuGroupRequest.js.map +1 -0
  195. package/dist/accessi-module/Console/generated/model/createMenuRequest.d.ts +52 -0
  196. package/dist/accessi-module/Console/generated/model/createMenuRequest.js +9 -0
  197. package/dist/accessi-module/Console/generated/model/createMenuRequest.js.map +1 -0
  198. package/dist/accessi-module/Console/generated/model/createMenuTypeRequest.d.ts +18 -0
  199. package/dist/accessi-module/Console/generated/model/createMenuTypeRequest.js +9 -0
  200. package/dist/accessi-module/Console/generated/model/createMenuTypeRequest.js.map +1 -0
  201. package/dist/accessi-module/Console/generated/model/createScopeRequest.d.ts +18 -0
  202. package/dist/accessi-module/Console/generated/model/createScopeRequest.js +9 -0
  203. package/dist/accessi-module/Console/generated/model/createScopeRequest.js.map +1 -0
  204. package/dist/accessi-module/Console/generated/model/createServiceTokenRequest.d.ts +16 -0
  205. package/dist/accessi-module/Console/generated/model/createServiceTokenRequest.js +9 -0
  206. package/dist/accessi-module/Console/generated/model/createServiceTokenRequest.js.map +1 -0
  207. package/dist/accessi-module/Console/generated/model/createServiceTokenResponse.d.ts +14 -0
  208. package/dist/accessi-module/Console/generated/model/createServiceTokenResponse.js +3 -0
  209. package/dist/accessi-module/Console/generated/model/createServiceTokenResponse.js.map +1 -0
  210. package/dist/accessi-module/Console/generated/model/errorResponse.d.ts +18 -0
  211. package/dist/accessi-module/Console/generated/model/errorResponse.js +9 -0
  212. package/dist/accessi-module/Console/generated/model/errorResponse.js.map +1 -0
  213. package/dist/accessi-module/Console/generated/model/exchangeFederatedIdentityRequest.d.ts +12 -0
  214. package/dist/accessi-module/Console/generated/model/exchangeFederatedIdentityRequest.js +9 -0
  215. package/dist/accessi-module/Console/generated/model/exchangeFederatedIdentityRequest.js.map +1 -0
  216. package/dist/accessi-module/Console/generated/model/exportAuditOrder.d.ts +11 -0
  217. package/dist/accessi-module/Console/generated/model/exportAuditOrder.js +15 -0
  218. package/dist/accessi-module/Console/generated/model/exportAuditOrder.js.map +1 -0
  219. package/dist/accessi-module/Console/generated/model/exportAuditParams.d.ts +37 -0
  220. package/dist/accessi-module/Console/generated/model/exportAuditParams.js +3 -0
  221. package/dist/accessi-module/Console/generated/model/exportAuditParams.js.map +1 -0
  222. package/dist/accessi-module/Console/generated/model/federatedAuthenticationResultDto.d.ts +15 -0
  223. package/dist/accessi-module/Console/generated/model/federatedAuthenticationResultDto.js +3 -0
  224. package/dist/accessi-module/Console/generated/model/federatedAuthenticationResultDto.js.map +1 -0
  225. package/dist/accessi-module/Console/generated/model/federatedExchangeResponse.d.ts +14 -0
  226. package/dist/accessi-module/Console/generated/model/federatedExchangeResponse.js +3 -0
  227. package/dist/accessi-module/Console/generated/model/federatedExchangeResponse.js.map +1 -0
  228. package/dist/accessi-module/Console/generated/model/federatedIdentityListResponse.d.ts +14 -0
  229. package/dist/accessi-module/Console/generated/model/federatedIdentityListResponse.js +3 -0
  230. package/dist/accessi-module/Console/generated/model/federatedIdentityListResponse.js.map +1 -0
  231. package/dist/accessi-module/Console/generated/model/federatedIdentityResponse.d.ts +14 -0
  232. package/dist/accessi-module/Console/generated/model/federatedIdentityResponse.js +3 -0
  233. package/dist/accessi-module/Console/generated/model/federatedIdentityResponse.js.map +1 -0
  234. package/dist/accessi-module/Console/generated/model/federatedIdentityResponseDto.d.ts +23 -0
  235. package/dist/accessi-module/Console/generated/model/federatedIdentityResponseDto.js +9 -0
  236. package/dist/accessi-module/Console/generated/model/federatedIdentityResponseDto.js.map +1 -0
  237. package/dist/accessi-module/Console/generated/model/federatedProviderListResponse.d.ts +14 -0
  238. package/dist/accessi-module/Console/generated/model/federatedProviderListResponse.js +3 -0
  239. package/dist/accessi-module/Console/generated/model/federatedProviderListResponse.js.map +1 -0
  240. package/dist/accessi-module/Console/generated/model/federatedProviderResponse.d.ts +14 -0
  241. package/dist/accessi-module/Console/generated/model/federatedProviderResponse.js +3 -0
  242. package/dist/accessi-module/Console/generated/model/federatedProviderResponse.js.map +1 -0
  243. package/dist/accessi-module/Console/generated/model/federatedProviderResponseDto.d.ts +13 -0
  244. package/dist/accessi-module/Console/generated/model/federatedProviderResponseDto.js +9 -0
  245. package/dist/accessi-module/Console/generated/model/federatedProviderResponseDto.js.map +1 -0
  246. package/dist/accessi-module/Console/generated/model/filtriUtente.d.ts +32 -0
  247. package/dist/accessi-module/Console/generated/model/filtriUtente.js +9 -0
  248. package/dist/accessi-module/Console/generated/model/filtriUtente.js.map +1 -0
  249. package/dist/accessi-module/Console/generated/model/getFiltriResponse.d.ts +14 -0
  250. package/dist/accessi-module/Console/generated/model/getFiltriResponse.js +3 -0
  251. package/dist/accessi-module/Console/generated/model/getFiltriResponse.js.map +1 -0
  252. package/dist/accessi-module/Console/generated/model/getFiltriUtenteParams.d.ts +12 -0
  253. package/dist/accessi-module/Console/generated/model/getFiltriUtenteParams.js +9 -0
  254. package/dist/accessi-module/Console/generated/model/getFiltriUtenteParams.js.map +1 -0
  255. package/dist/accessi-module/Console/generated/model/getFiltriUtenteResponse.d.ts +14 -0
  256. package/dist/accessi-module/Console/generated/model/getFiltriUtenteResponse.js +3 -0
  257. package/dist/accessi-module/Console/generated/model/getFiltriUtenteResponse.js.map +1 -0
  258. package/dist/accessi-module/Console/generated/model/getGroupsWithMenusParams.d.ts +16 -0
  259. package/dist/accessi-module/Console/generated/model/getGroupsWithMenusParams.js +9 -0
  260. package/dist/accessi-module/Console/generated/model/getGroupsWithMenusParams.js.map +1 -0
  261. package/dist/accessi-module/Console/generated/model/getGroupsWithMenusResponse.d.ts +14 -0
  262. package/dist/accessi-module/Console/generated/model/getGroupsWithMenusResponse.js +3 -0
  263. package/dist/accessi-module/Console/generated/model/getGroupsWithMenusResponse.js.map +1 -0
  264. package/dist/accessi-module/Console/generated/model/getMenuScopesResponse.d.ts +14 -0
  265. package/dist/accessi-module/Console/generated/model/getMenuScopesResponse.js +3 -0
  266. package/dist/accessi-module/Console/generated/model/getMenuScopesResponse.js.map +1 -0
  267. package/dist/accessi-module/Console/generated/model/getMenuTypesResponse.d.ts +14 -0
  268. package/dist/accessi-module/Console/generated/model/getMenuTypesResponse.js +3 -0
  269. package/dist/accessi-module/Console/generated/model/getMenuTypesResponse.js.map +1 -0
  270. package/dist/accessi-module/Console/generated/model/getMenusParams.d.ts +12 -0
  271. package/dist/accessi-module/Console/generated/model/getMenusParams.js +9 -0
  272. package/dist/accessi-module/Console/generated/model/getMenusParams.js.map +1 -0
  273. package/dist/accessi-module/Console/generated/model/getMenusResponse.d.ts +14 -0
  274. package/dist/accessi-module/Console/generated/model/getMenusResponse.js +3 -0
  275. package/dist/accessi-module/Console/generated/model/getMenusResponse.js.map +1 -0
  276. package/dist/accessi-module/Console/generated/model/getRolesResponse.d.ts +14 -0
  277. package/dist/accessi-module/Console/generated/model/getRolesResponse.js +3 -0
  278. package/dist/accessi-module/Console/generated/model/getRolesResponse.js.map +1 -0
  279. package/dist/accessi-module/Console/generated/model/getSchemaResponse.d.ts +14 -0
  280. package/dist/accessi-module/Console/generated/model/getSchemaResponse.js +3 -0
  281. package/dist/accessi-module/Console/generated/model/getSchemaResponse.js.map +1 -0
  282. package/dist/accessi-module/Console/generated/model/getScopesResponse.d.ts +14 -0
  283. package/dist/accessi-module/Console/generated/model/getScopesResponse.js +3 -0
  284. package/dist/accessi-module/Console/generated/model/getScopesResponse.js.map +1 -0
  285. package/dist/accessi-module/Console/generated/model/getServiceTokensParams.d.ts +12 -0
  286. package/dist/accessi-module/Console/generated/model/getServiceTokensParams.js +9 -0
  287. package/dist/accessi-module/Console/generated/model/getServiceTokensParams.js.map +1 -0
  288. package/dist/accessi-module/Console/generated/model/getServiceTokensResponse.d.ts +14 -0
  289. package/dist/accessi-module/Console/generated/model/getServiceTokensResponse.js +3 -0
  290. package/dist/accessi-module/Console/generated/model/getServiceTokensResponse.js.map +1 -0
  291. package/dist/accessi-module/Console/generated/model/getUserByTokenRequest.d.ts +10 -0
  292. package/dist/accessi-module/Console/generated/model/getUserByTokenRequest.js +9 -0
  293. package/dist/accessi-module/Console/generated/model/getUserByTokenRequest.js.map +1 -0
  294. package/dist/accessi-module/Console/generated/model/getUserByTokenResponse.d.ts +14 -0
  295. package/dist/accessi-module/Console/generated/model/getUserByTokenResponse.js +3 -0
  296. package/dist/accessi-module/Console/generated/model/getUserByTokenResponse.js.map +1 -0
  297. package/dist/accessi-module/Console/generated/model/getUserRolesAndGrantsParams.d.ts +12 -0
  298. package/dist/accessi-module/Console/generated/model/getUserRolesAndGrantsParams.js +9 -0
  299. package/dist/accessi-module/Console/generated/model/getUserRolesAndGrantsParams.js.map +1 -0
  300. package/dist/accessi-module/Console/generated/model/getUsersParams.d.ts +32 -0
  301. package/dist/accessi-module/Console/generated/model/getUsersParams.js +9 -0
  302. package/dist/accessi-module/Console/generated/model/getUsersParams.js.map +1 -0
  303. package/dist/accessi-module/Console/generated/model/getUsersResponse.d.ts +14 -0
  304. package/dist/accessi-module/Console/generated/model/getUsersResponse.js +3 -0
  305. package/dist/accessi-module/Console/generated/model/getUsersResponse.js.map +1 -0
  306. package/dist/accessi-module/Console/generated/model/getUsersResult.d.ts +17 -0
  307. package/dist/accessi-module/Console/generated/model/getUsersResult.js +3 -0
  308. package/dist/accessi-module/Console/generated/model/getUsersResult.js.map +1 -0
  309. package/dist/accessi-module/Console/generated/model/getUsersResultExtensionFields.d.ts +12 -0
  310. package/dist/accessi-module/Console/generated/model/getUsersResultExtensionFields.js +9 -0
  311. package/dist/accessi-module/Console/generated/model/getUsersResultExtensionFields.js.map +1 -0
  312. package/dist/accessi-module/Console/generated/model/groupWithMenusEntity.d.ts +19 -0
  313. package/dist/accessi-module/Console/generated/model/groupWithMenusEntity.js +3 -0
  314. package/dist/accessi-module/Console/generated/model/groupWithMenusEntity.js.map +1 -0
  315. package/dist/accessi-module/Console/generated/model/index.d.ts +134 -0
  316. package/dist/accessi-module/Console/generated/model/index.js +151 -0
  317. package/dist/accessi-module/Console/generated/model/index.js.map +1 -0
  318. package/dist/accessi-module/Console/generated/model/introspectAccessiTokenRequest.d.ts +10 -0
  319. package/dist/accessi-module/Console/generated/model/introspectAccessiTokenRequest.js +9 -0
  320. package/dist/accessi-module/Console/generated/model/introspectAccessiTokenRequest.js.map +1 -0
  321. package/dist/accessi-module/Console/generated/model/introspectAccessiTokenResponse.d.ts +14 -0
  322. package/dist/accessi-module/Console/generated/model/introspectAccessiTokenResponse.js +3 -0
  323. package/dist/accessi-module/Console/generated/model/introspectAccessiTokenResponse.js.map +1 -0
  324. package/dist/accessi-module/Console/generated/model/issuedServiceTokenDto.d.ts +30 -0
  325. package/dist/accessi-module/Console/generated/model/issuedServiceTokenDto.js +9 -0
  326. package/dist/accessi-module/Console/generated/model/issuedServiceTokenDto.js.map +1 -0
  327. package/dist/accessi-module/Console/generated/model/loginAsRequest.d.ts +10 -0
  328. package/dist/accessi-module/Console/generated/model/loginAsRequest.js +9 -0
  329. package/dist/accessi-module/Console/generated/model/loginAsRequest.js.map +1 -0
  330. package/dist/accessi-module/Console/generated/model/loginAsResponse.d.ts +14 -0
  331. package/dist/accessi-module/Console/generated/model/loginAsResponse.js +3 -0
  332. package/dist/accessi-module/Console/generated/model/loginAsResponse.js.map +1 -0
  333. package/dist/accessi-module/Console/generated/model/loginAsResult.d.ts +16 -0
  334. package/dist/accessi-module/Console/generated/model/loginAsResult.js +9 -0
  335. package/dist/accessi-module/Console/generated/model/loginAsResult.js.map +1 -0
  336. package/dist/accessi-module/Console/generated/model/loginRequest.d.ts +14 -0
  337. package/dist/accessi-module/Console/generated/model/loginRequest.js +9 -0
  338. package/dist/accessi-module/Console/generated/model/loginRequest.js.map +1 -0
  339. package/dist/accessi-module/Console/generated/model/loginResponse.d.ts +14 -0
  340. package/dist/accessi-module/Console/generated/model/loginResponse.js +3 -0
  341. package/dist/accessi-module/Console/generated/model/loginResponse.js.map +1 -0
  342. package/dist/accessi-module/Console/generated/model/loginResult.d.ts +34 -0
  343. package/dist/accessi-module/Console/generated/model/loginResult.js +3 -0
  344. package/dist/accessi-module/Console/generated/model/loginResult.js.map +1 -0
  345. package/dist/accessi-module/Console/generated/model/loginResultExtensionFields.d.ts +12 -0
  346. package/dist/accessi-module/Console/generated/model/loginResultExtensionFields.js +9 -0
  347. package/dist/accessi-module/Console/generated/model/loginResultExtensionFields.js.map +1 -0
  348. package/dist/accessi-module/Console/generated/model/loginResultPasswordRequired.d.ts +13 -0
  349. package/dist/accessi-module/Console/generated/model/loginResultPasswordRequired.js +14 -0
  350. package/dist/accessi-module/Console/generated/model/loginResultPasswordRequired.js.map +1 -0
  351. package/dist/accessi-module/Console/generated/model/menuEntity.d.ts +32 -0
  352. package/dist/accessi-module/Console/generated/model/menuEntity.js +9 -0
  353. package/dist/accessi-module/Console/generated/model/menuEntity.js.map +1 -0
  354. package/dist/accessi-module/Console/generated/model/menuTypeEntity.d.ts +12 -0
  355. package/dist/accessi-module/Console/generated/model/menuTypeEntity.js +9 -0
  356. package/dist/accessi-module/Console/generated/model/menuTypeEntity.js.map +1 -0
  357. package/dist/accessi-module/Console/generated/model/passwordExpiredResponse.d.ts +12 -0
  358. package/dist/accessi-module/Console/generated/model/passwordExpiredResponse.js +9 -0
  359. package/dist/accessi-module/Console/generated/model/passwordExpiredResponse.js.map +1 -0
  360. package/dist/accessi-module/Console/generated/model/permission.d.ts +12 -0
  361. package/dist/accessi-module/Console/generated/model/permission.js +9 -0
  362. package/dist/accessi-module/Console/generated/model/permission.js.map +1 -0
  363. package/dist/accessi-module/Console/generated/model/publicRegisterRequest.d.ts +51 -0
  364. package/dist/accessi-module/Console/generated/model/publicRegisterRequest.js +9 -0
  365. package/dist/accessi-module/Console/generated/model/publicRegisterRequest.js.map +1 -0
  366. package/dist/accessi-module/Console/generated/model/queryAuditOrder.d.ts +11 -0
  367. package/dist/accessi-module/Console/generated/model/queryAuditOrder.js +15 -0
  368. package/dist/accessi-module/Console/generated/model/queryAuditOrder.js.map +1 -0
  369. package/dist/accessi-module/Console/generated/model/queryAuditParams.d.ts +37 -0
  370. package/dist/accessi-module/Console/generated/model/queryAuditParams.js +3 -0
  371. package/dist/accessi-module/Console/generated/model/queryAuditParams.js.map +1 -0
  372. package/dist/accessi-module/Console/generated/model/refreshTokenRequest.d.ts +10 -0
  373. package/dist/accessi-module/Console/generated/model/refreshTokenRequest.js +9 -0
  374. package/dist/accessi-module/Console/generated/model/refreshTokenRequest.js.map +1 -0
  375. package/dist/accessi-module/Console/generated/model/refreshTokenResponse.d.ts +14 -0
  376. package/dist/accessi-module/Console/generated/model/refreshTokenResponse.js +3 -0
  377. package/dist/accessi-module/Console/generated/model/refreshTokenResponse.js.map +1 -0
  378. package/dist/accessi-module/Console/generated/model/refreshTokenResult.d.ts +13 -0
  379. package/dist/accessi-module/Console/generated/model/refreshTokenResult.js +3 -0
  380. package/dist/accessi-module/Console/generated/model/refreshTokenResult.js.map +1 -0
  381. package/dist/accessi-module/Console/generated/model/registerRequest.d.ts +62 -0
  382. package/dist/accessi-module/Console/generated/model/registerRequest.js +3 -0
  383. package/dist/accessi-module/Console/generated/model/registerRequest.js.map +1 -0
  384. package/dist/accessi-module/Console/generated/model/registerResponse.d.ts +14 -0
  385. package/dist/accessi-module/Console/generated/model/registerResponse.js +3 -0
  386. package/dist/accessi-module/Console/generated/model/registerResponse.js.map +1 -0
  387. package/dist/accessi-module/Console/generated/model/resendTwoFactorRequest.d.ts +13 -0
  388. package/dist/accessi-module/Console/generated/model/resendTwoFactorRequest.js +9 -0
  389. package/dist/accessi-module/Console/generated/model/resendTwoFactorRequest.js.map +1 -0
  390. package/dist/accessi-module/Console/generated/model/revokeTokenRequest.d.ts +10 -0
  391. package/dist/accessi-module/Console/generated/model/revokeTokenRequest.js +9 -0
  392. package/dist/accessi-module/Console/generated/model/revokeTokenRequest.js.map +1 -0
  393. package/dist/accessi-module/Console/generated/model/role.d.ts +15 -0
  394. package/dist/accessi-module/Console/generated/model/role.js +3 -0
  395. package/dist/accessi-module/Console/generated/model/role.js.map +1 -0
  396. package/dist/accessi-module/Console/generated/model/ruoliMenu.d.ts +15 -0
  397. package/dist/accessi-module/Console/generated/model/ruoliMenu.js +3 -0
  398. package/dist/accessi-module/Console/generated/model/ruoliMenu.js.map +1 -0
  399. package/dist/accessi-module/Console/generated/model/ruoliMenuTipoAbilitazione.d.ts +16 -0
  400. package/dist/accessi-module/Console/generated/model/ruoliMenuTipoAbilitazione.js +17 -0
  401. package/dist/accessi-module/Console/generated/model/ruoliMenuTipoAbilitazione.js.map +1 -0
  402. package/dist/accessi-module/Console/generated/model/schemaDdlResult.d.ts +20 -0
  403. package/dist/accessi-module/Console/generated/model/schemaDdlResult.js +3 -0
  404. package/dist/accessi-module/Console/generated/model/schemaDdlResult.js.map +1 -0
  405. package/dist/accessi-module/Console/generated/model/schemaDdlSection.d.ts +12 -0
  406. package/dist/accessi-module/Console/generated/model/schemaDdlSection.js +9 -0
  407. package/dist/accessi-module/Console/generated/model/schemaDdlSection.js.map +1 -0
  408. package/dist/accessi-module/Console/generated/model/scopeEntity.d.ts +12 -0
  409. package/dist/accessi-module/Console/generated/model/scopeEntity.js +9 -0
  410. package/dist/accessi-module/Console/generated/model/scopeEntity.js.map +1 -0
  411. package/dist/accessi-module/Console/generated/model/sendResetPasswordEmailRequest.d.ts +12 -0
  412. package/dist/accessi-module/Console/generated/model/sendResetPasswordEmailRequest.js +9 -0
  413. package/dist/accessi-module/Console/generated/model/sendResetPasswordEmailRequest.js.map +1 -0
  414. package/dist/accessi-module/Console/generated/model/serveResetPasswordPageParams.d.ts +12 -0
  415. package/dist/accessi-module/Console/generated/model/serveResetPasswordPageParams.js +9 -0
  416. package/dist/accessi-module/Console/generated/model/serveResetPasswordPageParams.js.map +1 -0
  417. package/dist/accessi-module/Console/generated/model/serviceTokenDto.d.ts +28 -0
  418. package/dist/accessi-module/Console/generated/model/serviceTokenDto.js +9 -0
  419. package/dist/accessi-module/Console/generated/model/serviceTokenDto.js.map +1 -0
  420. package/dist/accessi-module/Console/generated/model/setMenuScopesRequest.d.ts +10 -0
  421. package/dist/accessi-module/Console/generated/model/setMenuScopesRequest.js +9 -0
  422. package/dist/accessi-module/Console/generated/model/setMenuScopesRequest.js.map +1 -0
  423. package/dist/accessi-module/Console/generated/model/setPasswordLoginPolicyRequest.d.ts +10 -0
  424. package/dist/accessi-module/Console/generated/model/setPasswordLoginPolicyRequest.js +9 -0
  425. package/dist/accessi-module/Console/generated/model/setPasswordLoginPolicyRequest.js.map +1 -0
  426. package/dist/accessi-module/Console/generated/model/setScopeMenusRequest.d.ts +10 -0
  427. package/dist/accessi-module/Console/generated/model/setScopeMenusRequest.js +9 -0
  428. package/dist/accessi-module/Console/generated/model/setScopeMenusRequest.js.map +1 -0
  429. package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDto.d.ts +13 -0
  430. package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDto.js +3 -0
  431. package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDto.js.map +1 -0
  432. package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDtoStatoRegistrazione.d.ts +18 -0
  433. package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDtoStatoRegistrazione.js +19 -0
  434. package/dist/accessi-module/Console/generated/model/setStatoRegistrazioneDtoStatoRegistrazione.js.map +1 -0
  435. package/dist/accessi-module/Console/generated/model/setUserPasswordRequest.d.ts +14 -0
  436. package/dist/accessi-module/Console/generated/model/setUserPasswordRequest.js +9 -0
  437. package/dist/accessi-module/Console/generated/model/setUserPasswordRequest.js.map +1 -0
  438. package/dist/accessi-module/Console/generated/model/status.d.ts +12 -0
  439. package/dist/accessi-module/Console/generated/model/status.js +9 -0
  440. package/dist/accessi-module/Console/generated/model/status.js.map +1 -0
  441. package/dist/accessi-module/Console/generated/model/tipoFiltro.d.ts +23 -0
  442. package/dist/accessi-module/Console/generated/model/tipoFiltro.js +3 -0
  443. package/dist/accessi-module/Console/generated/model/tipoFiltro.js.map +1 -0
  444. package/dist/accessi-module/Console/generated/model/tipoFiltroFlgEnabled.d.ts +14 -0
  445. package/dist/accessi-module/Console/generated/model/tipoFiltroFlgEnabled.js +15 -0
  446. package/dist/accessi-module/Console/generated/model/tipoFiltroFlgEnabled.js.map +1 -0
  447. package/dist/accessi-module/Console/generated/model/tokenResult.d.ts +15 -0
  448. package/dist/accessi-module/Console/generated/model/tokenResult.js +3 -0
  449. package/dist/accessi-module/Console/generated/model/tokenResult.js.map +1 -0
  450. package/dist/accessi-module/Console/generated/model/tokenResultType.d.ts +14 -0
  451. package/dist/accessi-module/Console/generated/model/tokenResultType.js +15 -0
  452. package/dist/accessi-module/Console/generated/model/tokenResultType.js.map +1 -0
  453. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDto.d.ts +18 -0
  454. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDto.js +3 -0
  455. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDto.js.map +1 -0
  456. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoMethod.d.ts +10 -0
  457. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoMethod.js +14 -0
  458. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoMethod.js.map +1 -0
  459. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoTwoFactorRequired.d.ts +13 -0
  460. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoTwoFactorRequired.js +14 -0
  461. package/dist/accessi-module/Console/generated/model/twoFactorChallengeDtoTwoFactorRequired.js.map +1 -0
  462. package/dist/accessi-module/Console/generated/model/updateEnabledStatusRequest.d.ts +10 -0
  463. package/dist/accessi-module/Console/generated/model/updateEnabledStatusRequest.js +9 -0
  464. package/dist/accessi-module/Console/generated/model/updateEnabledStatusRequest.js.map +1 -0
  465. package/dist/accessi-module/Console/generated/model/updateFederatedIdentityRequest.d.ts +11 -0
  466. package/dist/accessi-module/Console/generated/model/updateFederatedIdentityRequest.js +9 -0
  467. package/dist/accessi-module/Console/generated/model/updateFederatedIdentityRequest.js.map +1 -0
  468. package/dist/accessi-module/Console/generated/model/updateFederatedProviderRequest.d.ts +12 -0
  469. package/dist/accessi-module/Console/generated/model/updateFederatedProviderRequest.js +9 -0
  470. package/dist/accessi-module/Console/generated/model/updateFederatedProviderRequest.js.map +1 -0
  471. package/dist/accessi-module/Console/generated/model/updateFilterTypeRequest.d.ts +21 -0
  472. package/dist/accessi-module/Console/generated/model/updateFilterTypeRequest.js +3 -0
  473. package/dist/accessi-module/Console/generated/model/updateFilterTypeRequest.js.map +1 -0
  474. package/dist/accessi-module/Console/generated/model/updateFilterTypeRequestFlgEnabled.d.ts +14 -0
  475. package/dist/accessi-module/Console/generated/model/updateFilterTypeRequestFlgEnabled.js +15 -0
  476. package/dist/accessi-module/Console/generated/model/updateFilterTypeRequestFlgEnabled.js.map +1 -0
  477. package/dist/accessi-module/Console/generated/model/updateMenuGroupRequest.d.ts +17 -0
  478. package/dist/accessi-module/Console/generated/model/updateMenuGroupRequest.js +9 -0
  479. package/dist/accessi-module/Console/generated/model/updateMenuGroupRequest.js.map +1 -0
  480. package/dist/accessi-module/Console/generated/model/updateMenuRequest.d.ts +47 -0
  481. package/dist/accessi-module/Console/generated/model/updateMenuRequest.js +9 -0
  482. package/dist/accessi-module/Console/generated/model/updateMenuRequest.js.map +1 -0
  483. package/dist/accessi-module/Console/generated/model/updateMenuTypeRequest.d.ts +13 -0
  484. package/dist/accessi-module/Console/generated/model/updateMenuTypeRequest.js +9 -0
  485. package/dist/accessi-module/Console/generated/model/updateMenuTypeRequest.js.map +1 -0
  486. package/dist/accessi-module/Console/generated/model/updateScopeRequest.d.ts +13 -0
  487. package/dist/accessi-module/Console/generated/model/updateScopeRequest.js +9 -0
  488. package/dist/accessi-module/Console/generated/model/updateScopeRequest.js.map +1 -0
  489. package/dist/accessi-module/Console/generated/model/userDto.d.ts +88 -0
  490. package/dist/accessi-module/Console/generated/model/userDto.js +3 -0
  491. package/dist/accessi-module/Console/generated/model/userDto.js.map +1 -0
  492. package/dist/accessi-module/Console/generated/model/userDtoStatoRegistrazione.d.ts +18 -0
  493. package/dist/accessi-module/Console/generated/model/userDtoStatoRegistrazione.js +19 -0
  494. package/dist/accessi-module/Console/generated/model/userDtoStatoRegistrazione.js.map +1 -0
  495. package/dist/accessi-module/Console/generated/model/userGrantsDto.d.ts +16 -0
  496. package/dist/accessi-module/Console/generated/model/userGrantsDto.js +3 -0
  497. package/dist/accessi-module/Console/generated/model/userGrantsDto.js.map +1 -0
  498. package/dist/accessi-module/Console/generated/model/userGrantsResponse.d.ts +14 -0
  499. package/dist/accessi-module/Console/generated/model/userGrantsResponse.js +3 -0
  500. package/dist/accessi-module/Console/generated/model/userGrantsResponse.js.map +1 -0
  501. package/dist/accessi-module/Console/generated/model/verifyTwoFactorRequest.d.ts +20 -0
  502. package/dist/accessi-module/Console/generated/model/verifyTwoFactorRequest.js +9 -0
  503. package/dist/accessi-module/Console/generated/model/verifyTwoFactorRequest.js.map +1 -0
  504. package/dist/accessi-module/Console/help.d.ts +13 -0
  505. package/dist/accessi-module/Console/help.js +417 -0
  506. package/dist/accessi-module/Console/help.js.map +1 -0
  507. package/dist/accessi-module/Console/index.html +141 -0
  508. package/dist/accessi-module/Console/wiki.d.ts +52 -0
  509. package/dist/accessi-module/Console/wiki.js +867 -0
  510. package/dist/accessi-module/Console/wiki.js.map +1 -0
  511. package/dist/accessi-module/Controllers/AccessiAuditController.d.ts +16 -0
  512. package/dist/accessi-module/Controllers/AccessiAuditController.js +155 -0
  513. package/dist/accessi-module/Controllers/AccessiAuditController.js.map +1 -0
  514. package/dist/accessi-module/Controllers/AccessiConsoleController.d.ts +25 -0
  515. package/dist/accessi-module/Controllers/AccessiConsoleController.js +169 -0
  516. package/dist/accessi-module/Controllers/AccessiConsoleController.js.map +1 -0
  517. package/dist/accessi-module/Controllers/AccessiIntrospectionController.d.ts +17 -0
  518. package/dist/accessi-module/Controllers/AccessiIntrospectionController.js +102 -0
  519. package/dist/accessi-module/Controllers/AccessiIntrospectionController.js.map +1 -0
  520. package/dist/accessi-module/Controllers/AuthController.d.ts +16 -6
  521. package/dist/accessi-module/Controllers/AuthController.js +435 -85
  522. package/dist/accessi-module/Controllers/AuthController.js.map +1 -1
  523. package/dist/accessi-module/Controllers/ConfiguratorController.d.ts +1 -5
  524. package/dist/accessi-module/Controllers/ConfiguratorController.js +26 -44
  525. package/dist/accessi-module/Controllers/ConfiguratorController.js.map +1 -1
  526. package/dist/accessi-module/Controllers/ConsoleEntryController.d.ts +16 -0
  527. package/dist/accessi-module/Controllers/ConsoleEntryController.js +159 -0
  528. package/dist/accessi-module/Controllers/ConsoleEntryController.js.map +1 -0
  529. package/dist/accessi-module/Controllers/EmailController.d.ts +4 -6
  530. package/dist/accessi-module/Controllers/EmailController.js +13 -15
  531. package/dist/accessi-module/Controllers/EmailController.js.map +1 -1
  532. package/dist/accessi-module/Controllers/FiltriController.d.ts +12 -4
  533. package/dist/accessi-module/Controllers/FiltriController.js +153 -6
  534. package/dist/accessi-module/Controllers/FiltriController.js.map +1 -1
  535. package/dist/accessi-module/Controllers/PermissionController.d.ts +31 -5
  536. package/dist/accessi-module/Controllers/PermissionController.js +559 -66
  537. package/dist/accessi-module/Controllers/PermissionController.js.map +1 -1
  538. package/dist/accessi-module/Controllers/SchemaController.d.ts +9 -0
  539. package/dist/accessi-module/Controllers/SchemaController.js +79 -0
  540. package/dist/accessi-module/Controllers/SchemaController.js.map +1 -0
  541. package/dist/accessi-module/Controllers/ServiceTokenController.d.ts +23 -0
  542. package/dist/accessi-module/Controllers/ServiceTokenController.js +176 -0
  543. package/dist/accessi-module/Controllers/ServiceTokenController.js.map +1 -0
  544. package/dist/accessi-module/Controllers/UserController.d.ts +22 -5
  545. package/dist/accessi-module/Controllers/UserController.js +385 -33
  546. package/dist/accessi-module/Controllers/UserController.js.map +1 -1
  547. package/dist/accessi-module/Dtos/Abilitazione.js.map +1 -1
  548. package/dist/accessi-module/Dtos/AbilitazioneMenu.js +16 -8
  549. package/dist/accessi-module/Dtos/AbilitazioneMenu.js.map +1 -1
  550. package/dist/accessi-module/Dtos/AdminBootstrapDtos.d.ts +26 -0
  551. package/dist/accessi-module/Dtos/AdminBootstrapDtos.js +100 -0
  552. package/dist/accessi-module/Dtos/AdminBootstrapDtos.js.map +1 -0
  553. package/dist/accessi-module/Dtos/AssignPermissionsToUserRequest.js +0 -1
  554. package/dist/accessi-module/Dtos/AssignPermissionsToUserRequest.js.map +1 -1
  555. package/dist/accessi-module/Dtos/AssignRolesToUserRequest.js +1 -2
  556. package/dist/accessi-module/Dtos/AssignRolesToUserRequest.js.map +1 -1
  557. package/dist/accessi-module/Dtos/AuditDtos.d.ts +10 -0
  558. package/dist/accessi-module/Dtos/AuditDtos.js +68 -0
  559. package/dist/accessi-module/Dtos/AuditDtos.js.map +1 -0
  560. package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.d.ts +13 -0
  561. package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.js +70 -0
  562. package/dist/accessi-module/Dtos/AuthenticatedUserPayloadDto.js.map +1 -0
  563. package/dist/accessi-module/Dtos/BaseResponse.d.ts +22 -0
  564. package/dist/accessi-module/Dtos/BaseResponse.js +106 -1
  565. package/dist/accessi-module/Dtos/BaseResponse.js.map +1 -1
  566. package/dist/accessi-module/Dtos/CatalogDtos.d.ts +64 -0
  567. package/dist/accessi-module/Dtos/CatalogDtos.js +322 -0
  568. package/dist/accessi-module/Dtos/CatalogDtos.js.map +1 -0
  569. package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.d.ts +3 -0
  570. package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.js +31 -0
  571. package/dist/accessi-module/Dtos/ConfirmResetPasswordRequest.js.map +1 -0
  572. package/dist/accessi-module/Dtos/ConsoleEntryDtos.d.ts +24 -0
  573. package/dist/accessi-module/Dtos/ConsoleEntryDtos.js +77 -0
  574. package/dist/accessi-module/Dtos/ConsoleEntryDtos.js.map +1 -0
  575. package/dist/accessi-module/Dtos/FederatedExchangeDtos.d.ts +21 -0
  576. package/dist/accessi-module/Dtos/FederatedExchangeDtos.js +74 -0
  577. package/dist/accessi-module/Dtos/FederatedExchangeDtos.js.map +1 -0
  578. package/dist/accessi-module/Dtos/FederatedIdentityDtos.d.ts +69 -0
  579. package/dist/accessi-module/Dtos/FederatedIdentityDtos.js +236 -0
  580. package/dist/accessi-module/Dtos/FederatedIdentityDtos.js.map +1 -0
  581. package/dist/accessi-module/Dtos/FiltriUtente.js +5 -1
  582. package/dist/accessi-module/Dtos/FiltriUtente.js.map +1 -1
  583. package/dist/accessi-module/Dtos/GetGroupsWithMenusResponse.js.map +1 -1
  584. package/dist/accessi-module/Dtos/GetMenusResponse.js +1 -1
  585. package/dist/accessi-module/Dtos/GetMenusResponse.js.map +1 -1
  586. package/dist/accessi-module/Dtos/GetRolesResponse.js.map +1 -1
  587. package/dist/accessi-module/Dtos/GetUserByTokenRequest.d.ts +3 -0
  588. package/dist/accessi-module/Dtos/GetUserByTokenRequest.js +27 -0
  589. package/dist/accessi-module/Dtos/GetUserByTokenRequest.js.map +1 -0
  590. package/dist/accessi-module/Dtos/GetUserByTokenResponse.d.ts +5 -0
  591. package/dist/accessi-module/Dtos/GetUserByTokenResponse.js +27 -0
  592. package/dist/accessi-module/Dtos/GetUserByTokenResponse.js.map +1 -0
  593. package/dist/accessi-module/Dtos/GetUsersResponse.d.ts +1 -1
  594. package/dist/accessi-module/Dtos/GetUsersResponse.js.map +1 -1
  595. package/dist/accessi-module/Dtos/IntrospectionDtos.d.ts +16 -0
  596. package/dist/accessi-module/Dtos/IntrospectionDtos.js +59 -0
  597. package/dist/accessi-module/Dtos/IntrospectionDtos.js.map +1 -0
  598. package/dist/accessi-module/Dtos/LoginAsDtos.d.ts +15 -0
  599. package/dist/accessi-module/Dtos/LoginAsDtos.js +68 -0
  600. package/dist/accessi-module/Dtos/LoginAsDtos.js.map +1 -0
  601. package/dist/accessi-module/Dtos/LoginRequest.d.ts +3 -1
  602. package/dist/accessi-module/Dtos/LoginRequest.js +13 -2
  603. package/dist/accessi-module/Dtos/LoginRequest.js.map +1 -1
  604. package/dist/accessi-module/Dtos/LoginResponse.d.ts +7 -2
  605. package/dist/accessi-module/Dtos/LoginResponse.js +26 -7
  606. package/dist/accessi-module/Dtos/LoginResponse.js.map +1 -1
  607. package/dist/accessi-module/Dtos/MenuItem.js +1 -0
  608. package/dist/accessi-module/Dtos/Permission.d.ts +1 -0
  609. package/dist/accessi-module/Dtos/Permission.js +1 -0
  610. package/dist/accessi-module/Dtos/Permission.js.map +1 -1
  611. package/dist/accessi-module/Dtos/PublicRegisterRequest.d.ts +5 -0
  612. package/dist/accessi-module/Dtos/PublicRegisterRequest.js +15 -0
  613. package/dist/accessi-module/Dtos/PublicRegisterRequest.js.map +1 -0
  614. package/dist/accessi-module/Dtos/RefreshTokenDtos.d.ts +12 -0
  615. package/dist/accessi-module/Dtos/RefreshTokenDtos.js +53 -0
  616. package/dist/accessi-module/Dtos/RefreshTokenDtos.js.map +1 -0
  617. package/dist/accessi-module/Dtos/RegisterRequest.d.ts +2 -4
  618. package/dist/accessi-module/Dtos/RegisterRequest.js +17 -27
  619. package/dist/accessi-module/Dtos/RegisterRequest.js.map +1 -1
  620. package/dist/accessi-module/Dtos/RegisterResponse.d.ts +1 -1
  621. package/dist/accessi-module/Dtos/RegisterResponse.js +3 -3
  622. package/dist/accessi-module/Dtos/RegisterResponse.js.map +1 -1
  623. package/dist/accessi-module/Dtos/RevokeTokenRequest.d.ts +3 -0
  624. package/dist/accessi-module/Dtos/RevokeTokenRequest.js +27 -0
  625. package/dist/accessi-module/Dtos/RevokeTokenRequest.js.map +1 -0
  626. package/dist/accessi-module/Dtos/Role.d.ts +4 -0
  627. package/dist/accessi-module/Dtos/Role.js +4 -0
  628. package/dist/accessi-module/Dtos/Role.js.map +1 -1
  629. package/dist/accessi-module/Dtos/RuoliMenu.js.map +1 -1
  630. package/dist/accessi-module/Dtos/SchemaDtos.d.ts +19 -0
  631. package/dist/accessi-module/Dtos/SchemaDtos.js +84 -0
  632. package/dist/accessi-module/Dtos/SchemaDtos.js.map +1 -0
  633. package/dist/accessi-module/Dtos/ScopeDtos.d.ts +28 -0
  634. package/dist/accessi-module/Dtos/ScopeDtos.js +103 -0
  635. package/dist/accessi-module/Dtos/ScopeDtos.js.map +1 -0
  636. package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.d.ts +4 -0
  637. package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.js +36 -0
  638. package/dist/accessi-module/Dtos/SendResetPasswordEmailRequest.js.map +1 -0
  639. package/dist/accessi-module/Dtos/ServiceToken.d.ts +34 -0
  640. package/dist/accessi-module/Dtos/ServiceToken.js +128 -0
  641. package/dist/accessi-module/Dtos/ServiceToken.js.map +1 -0
  642. package/dist/accessi-module/Dtos/SetStatoRegistrazione.js.map +1 -1
  643. package/dist/accessi-module/Dtos/SetUserPasswordRequest.d.ts +4 -0
  644. package/dist/accessi-module/Dtos/SetUserPasswordRequest.js +32 -0
  645. package/dist/accessi-module/Dtos/SetUserPasswordRequest.js.map +1 -0
  646. package/dist/accessi-module/Dtos/StatoRegistrazione.js.map +1 -1
  647. package/dist/accessi-module/Dtos/TipoAbilitazione.d.ts +4 -0
  648. package/dist/accessi-module/Dtos/TipoAbilitazione.js +4 -0
  649. package/dist/accessi-module/Dtos/TipoAbilitazione.js.map +1 -1
  650. package/dist/accessi-module/Dtos/TipoFiltro.js.map +1 -1
  651. package/dist/accessi-module/Dtos/TokenResult.js.map +1 -1
  652. package/dist/accessi-module/Dtos/TwoFactorDtos.d.ts +14 -0
  653. package/dist/accessi-module/Dtos/TwoFactorDtos.js +71 -0
  654. package/dist/accessi-module/Dtos/TwoFactorDtos.js.map +1 -0
  655. package/dist/accessi-module/Dtos/UpdateEnabledStatusRequest.js.map +1 -1
  656. package/dist/accessi-module/Dtos/UserDto.d.ts +9 -4
  657. package/dist/accessi-module/Dtos/UserDto.js +37 -22
  658. package/dist/accessi-module/Dtos/UserDto.js.map +1 -1
  659. package/dist/accessi-module/Dtos/UserGrantsDto.js.map +1 -1
  660. package/dist/accessi-module/Dtos/UserGrantsResponse.d.ts +5 -0
  661. package/dist/accessi-module/Dtos/UserGrantsResponse.js +27 -0
  662. package/dist/accessi-module/Dtos/UserGrantsResponse.js.map +1 -0
  663. package/dist/accessi-module/Dtos/index.d.ts +20 -0
  664. package/dist/accessi-module/Dtos/index.js +20 -0
  665. package/dist/accessi-module/Dtos/index.js.map +1 -1
  666. package/dist/accessi-module/Services/AdminBootstrapService/AdminBootstrapService.d.ts +33 -0
  667. package/dist/accessi-module/Services/AdminBootstrapService/AdminBootstrapService.js +106 -0
  668. package/dist/accessi-module/Services/AdminBootstrapService/AdminBootstrapService.js.map +1 -0
  669. package/dist/accessi-module/Services/AuthService/AuthService.d.ts +108 -5
  670. package/dist/accessi-module/Services/AuthService/AuthService.js +458 -54
  671. package/dist/accessi-module/Services/AuthService/AuthService.js.map +1 -1
  672. package/dist/accessi-module/Services/ConfiguratorService/ConfiguratorService.d.ts +3 -1
  673. package/dist/accessi-module/Services/ConfiguratorService/ConfiguratorService.js +5 -1
  674. package/dist/accessi-module/Services/ConfiguratorService/ConfiguratorService.js.map +1 -1
  675. package/dist/accessi-module/Services/EmailService/EmailService.d.ts +9 -2
  676. package/dist/accessi-module/Services/EmailService/EmailService.js +47 -22
  677. package/dist/accessi-module/Services/EmailService/EmailService.js.map +1 -1
  678. package/dist/accessi-module/Services/FiltriService/FiltriService.d.ts +18 -3
  679. package/dist/accessi-module/Services/FiltriService/FiltriService.js +92 -16
  680. package/dist/accessi-module/Services/FiltriService/FiltriService.js.map +1 -1
  681. package/dist/accessi-module/Services/PermissionService/PermissionService.d.ts +107 -5
  682. package/dist/accessi-module/Services/PermissionService/PermissionService.js +788 -215
  683. package/dist/accessi-module/Services/PermissionService/PermissionService.js.map +1 -1
  684. package/dist/accessi-module/Services/SchemaExportService/SchemaExportService.d.ts +36 -0
  685. package/dist/accessi-module/Services/SchemaExportService/SchemaExportService.js +125 -0
  686. package/dist/accessi-module/Services/SchemaExportService/SchemaExportService.js.map +1 -0
  687. package/dist/accessi-module/Services/ServiceTokenService/ServiceTokenService.d.ts +75 -0
  688. package/dist/accessi-module/Services/ServiceTokenService/ServiceTokenService.js +265 -0
  689. package/dist/accessi-module/Services/ServiceTokenService/ServiceTokenService.js.map +1 -0
  690. package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.d.ts +27 -0
  691. package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.js +175 -0
  692. package/dist/accessi-module/Services/TwoFactorService/TwoFactorService.js.map +1 -0
  693. package/dist/accessi-module/Services/UserService/UserService.d.ts +73 -5
  694. package/dist/accessi-module/Services/UserService/UserService.js +578 -337
  695. package/dist/accessi-module/Services/UserService/UserService.js.map +1 -1
  696. package/dist/accessi-module/Views/reset-password.html +229 -213
  697. package/dist/accessi-module/accessiRuntime.d.ts +45 -0
  698. package/dist/accessi-module/accessiRuntime.js +39 -0
  699. package/dist/accessi-module/accessiRuntime.js.map +1 -0
  700. package/dist/accessi-module/database-updates/AccessiCatalogMigrator.d.ts +83 -0
  701. package/dist/accessi-module/database-updates/AccessiCatalogMigrator.js +360 -0
  702. package/dist/accessi-module/database-updates/AccessiCatalogMigrator.js.map +1 -0
  703. package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.d.ts +58 -11
  704. package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js +504 -210
  705. package/dist/accessi-module/database-updates/AccessiDatabaseUpdater.js.map +1 -1
  706. package/dist/accessi-module/database-updates/accessiOptionsFromEnv.d.ts +17 -0
  707. package/dist/accessi-module/database-updates/accessiOptionsFromEnv.js +134 -0
  708. package/dist/accessi-module/database-updates/accessiOptionsFromEnv.js.map +1 -0
  709. package/dist/accessi-module/database-updates/accessiSchema.d.ts +67 -0
  710. package/dist/accessi-module/database-updates/accessiSchema.js +135 -0
  711. package/dist/accessi-module/database-updates/accessiSchema.js.map +1 -0
  712. package/dist/accessi-module/database-updates/menuScopeSeed.d.ts +15 -0
  713. package/dist/accessi-module/database-updates/menuScopeSeed.js +386 -0
  714. package/dist/accessi-module/database-updates/menuScopeSeed.js.map +1 -0
  715. package/dist/accessi-module/database-updates/menuScopeSeeder.d.ts +8 -0
  716. package/dist/accessi-module/database-updates/menuScopeSeeder.js +131 -0
  717. package/dist/accessi-module/database-updates/menuScopeSeeder.js.map +1 -0
  718. package/dist/accessi-module/database-updates/optionalColumns.d.ts +7 -0
  719. package/dist/accessi-module/database-updates/optionalColumns.js +58 -0
  720. package/dist/accessi-module/database-updates/optionalColumns.js.map +1 -0
  721. package/dist/accessi-module/database-updates/runAccessiCatalogMigrations.d.ts +1 -0
  722. package/dist/accessi-module/database-updates/runAccessiCatalogMigrations.js +69 -0
  723. package/dist/accessi-module/database-updates/runAccessiCatalogMigrations.js.map +1 -0
  724. package/dist/accessi-module/database-updates/runAccessiDbUpdate.js +18 -53
  725. package/dist/accessi-module/database-updates/runAccessiDbUpdate.js.map +1 -1
  726. package/dist/accessi-module/federated-auth/FederatedAuthController.d.ts +33 -0
  727. package/dist/accessi-module/federated-auth/FederatedAuthController.js +373 -0
  728. package/dist/accessi-module/federated-auth/FederatedAuthController.js.map +1 -0
  729. package/dist/accessi-module/federated-auth/FederatedAuthExchangeController.d.ts +15 -0
  730. package/dist/accessi-module/federated-auth/FederatedAuthExchangeController.js +85 -0
  731. package/dist/accessi-module/federated-auth/FederatedAuthExchangeController.js.map +1 -0
  732. package/dist/accessi-module/federated-auth/FederatedAuthService.d.ts +102 -0
  733. package/dist/accessi-module/federated-auth/FederatedAuthService.js +472 -0
  734. package/dist/accessi-module/federated-auth/FederatedAuthService.js.map +1 -0
  735. package/dist/accessi-module/federated-auth/FederatedAuthTypes.d.ts +53 -0
  736. package/dist/accessi-module/federated-auth/FederatedAuthTypes.js +3 -0
  737. package/dist/accessi-module/federated-auth/FederatedAuthTypes.js.map +1 -0
  738. package/dist/accessi-module/health/nest.d.ts +31 -0
  739. package/dist/accessi-module/health/nest.js +89 -0
  740. package/dist/accessi-module/health/nest.js.map +1 -0
  741. package/dist/accessi-module/health/readiness.d.ts +53 -0
  742. package/dist/accessi-module/health/readiness.js +110 -0
  743. package/dist/accessi-module/health/readiness.js.map +1 -0
  744. package/dist/accessi-module/index.d.ts +79 -1
  745. package/dist/accessi-module/index.js +224 -22
  746. package/dist/accessi-module/index.js.map +1 -1
  747. package/dist/accessi-module/jwt/jwt.strategy.d.ts +1 -1
  748. package/dist/accessi-module/jwt/jwt.strategy.js +21 -42
  749. package/dist/accessi-module/jwt/jwt.strategy.js.map +1 -1
  750. package/dist/accessi-module/middleware/accessiRequirements.d.ts +23 -1
  751. package/dist/accessi-module/middleware/accessiRequirements.js +7 -0
  752. package/dist/accessi-module/middleware/accessiRequirements.js.map +1 -1
  753. package/dist/accessi-module/middleware/authenticateGen.d.ts +16 -1
  754. package/dist/accessi-module/middleware/authenticateGen.js +68 -60
  755. package/dist/accessi-module/middleware/authenticateGen.js.map +1 -1
  756. package/dist/accessi-module/observability/metrics.d.ts +79 -0
  757. package/dist/accessi-module/observability/metrics.js +220 -0
  758. package/dist/accessi-module/observability/metrics.js.map +1 -0
  759. package/dist/accessi-module/observability/redisMetrics.d.ts +12 -0
  760. package/dist/accessi-module/observability/redisMetrics.js +44 -0
  761. package/dist/accessi-module/observability/redisMetrics.js.map +1 -0
  762. package/dist/accessi-module/security/AccessiHttpExceptionFilter.d.ts +12 -0
  763. package/dist/accessi-module/security/AccessiHttpExceptionFilter.js +77 -0
  764. package/dist/accessi-module/security/AccessiHttpExceptionFilter.js.map +1 -0
  765. package/dist/accessi-module/security/accessControl.d.ts +48 -2
  766. package/dist/accessi-module/security/accessControl.js +84 -8
  767. package/dist/accessi-module/security/accessControl.js.map +1 -1
  768. package/dist/accessi-module/security/accessTokenRevocation.d.ts +47 -0
  769. package/dist/accessi-module/security/accessTokenRevocation.js +148 -0
  770. package/dist/accessi-module/security/accessTokenRevocation.js.map +1 -0
  771. package/dist/accessi-module/security/accessiValidation.d.ts +9 -0
  772. package/dist/accessi-module/security/accessiValidation.js +41 -0
  773. package/dist/accessi-module/security/accessiValidation.js.map +1 -0
  774. package/dist/accessi-module/security/adminBootstrap.d.ts +8 -0
  775. package/dist/accessi-module/security/adminBootstrap.js +41 -0
  776. package/dist/accessi-module/security/adminBootstrap.js.map +1 -0
  777. package/dist/accessi-module/security/audit.d.ts +74 -0
  778. package/dist/accessi-module/security/audit.js +189 -0
  779. package/dist/accessi-module/security/audit.js.map +1 -0
  780. package/dist/accessi-module/security/auditSinks.d.ts +55 -0
  781. package/dist/accessi-module/security/auditSinks.js +228 -0
  782. package/dist/accessi-module/security/auditSinks.js.map +1 -0
  783. package/dist/accessi-module/security/authCookies.d.ts +104 -0
  784. package/dist/accessi-module/security/authCookies.js +240 -0
  785. package/dist/accessi-module/security/authCookies.js.map +1 -0
  786. package/dist/accessi-module/security/authenticatedToken.d.ts +23 -3
  787. package/dist/accessi-module/security/authenticatedToken.js +45 -5
  788. package/dist/accessi-module/security/authenticatedToken.js.map +1 -1
  789. package/dist/accessi-module/security/consoleEntry.d.ts +63 -0
  790. package/dist/accessi-module/security/consoleEntry.js +202 -0
  791. package/dist/accessi-module/security/consoleEntry.js.map +1 -0
  792. package/dist/accessi-module/security/edgeRateLimit.d.ts +33 -0
  793. package/dist/accessi-module/security/edgeRateLimit.js +84 -0
  794. package/dist/accessi-module/security/edgeRateLimit.js.map +1 -0
  795. package/dist/accessi-module/security/emailConfiguration.d.ts +20 -0
  796. package/dist/accessi-module/security/emailConfiguration.js +41 -0
  797. package/dist/accessi-module/security/emailConfiguration.js.map +1 -0
  798. package/dist/accessi-module/security/jwks.d.ts +33 -0
  799. package/dist/accessi-module/security/jwks.js +86 -0
  800. package/dist/accessi-module/security/jwks.js.map +1 -0
  801. package/dist/accessi-module/security/jwksBootstrap.d.ts +15 -0
  802. package/dist/accessi-module/security/jwksBootstrap.js +44 -0
  803. package/dist/accessi-module/security/jwksBootstrap.js.map +1 -0
  804. package/dist/accessi-module/security/jwtTokenOptions.d.ts +57 -0
  805. package/dist/accessi-module/security/jwtTokenOptions.js +173 -0
  806. package/dist/accessi-module/security/jwtTokenOptions.js.map +1 -0
  807. package/dist/accessi-module/security/loginAs.d.ts +8 -0
  808. package/dist/accessi-module/security/loginAs.js +45 -0
  809. package/dist/accessi-module/security/loginAs.js.map +1 -0
  810. package/dist/accessi-module/security/passwordPolicy.d.ts +21 -0
  811. package/dist/accessi-module/security/passwordPolicy.js +71 -0
  812. package/dist/accessi-module/security/passwordPolicy.js.map +1 -0
  813. package/dist/accessi-module/security/passwordResetToken.d.ts +13 -3
  814. package/dist/accessi-module/security/passwordResetToken.js +13 -5
  815. package/dist/accessi-module/security/passwordResetToken.js.map +1 -1
  816. package/dist/accessi-module/security/publicAuthRateLimit.d.ts +10 -8
  817. package/dist/accessi-module/security/publicAuthRateLimit.js +71 -60
  818. package/dist/accessi-module/security/publicAuthRateLimit.js.map +1 -1
  819. package/dist/accessi-module/security/rateLimitStore.d.ts +34 -0
  820. package/dist/accessi-module/security/rateLimitStore.js +147 -0
  821. package/dist/accessi-module/security/rateLimitStore.js.map +1 -0
  822. package/dist/accessi-module/security/refreshTokenRotation.d.ts +80 -0
  823. package/dist/accessi-module/security/refreshTokenRotation.js +206 -0
  824. package/dist/accessi-module/security/refreshTokenRotation.js.map +1 -0
  825. package/dist/accessi-module/security/securityHeaders.d.ts +89 -0
  826. package/dist/accessi-module/security/securityHeaders.js +155 -0
  827. package/dist/accessi-module/security/securityHeaders.js.map +1 -0
  828. package/dist/accessi-module/security/serviceTokenGuard.d.ts +27 -0
  829. package/dist/accessi-module/security/serviceTokenGuard.js +90 -0
  830. package/dist/accessi-module/security/serviceTokenGuard.js.map +1 -0
  831. package/dist/accessi-module/security/serviceTokenRateLimit.d.ts +9 -0
  832. package/dist/accessi-module/security/serviceTokenRateLimit.js +56 -0
  833. package/dist/accessi-module/security/serviceTokenRateLimit.js.map +1 -0
  834. package/dist/accessi-module/security/sessionRevocation.d.ts +67 -0
  835. package/dist/accessi-module/security/sessionRevocation.js +174 -0
  836. package/dist/accessi-module/security/sessionRevocation.js.map +1 -0
  837. package/dist/accessi-module/security/validateOptions.d.ts +19 -0
  838. package/dist/accessi-module/security/validateOptions.js +176 -0
  839. package/dist/accessi-module/security/validateOptions.js.map +1 -0
  840. package/dist/accessi-module/startupLog.d.ts +7 -0
  841. package/dist/accessi-module/startupLog.js +29 -0
  842. package/dist/accessi-module/startupLog.js.map +1 -0
  843. package/dist/allegati-module/AllegatiModule.d.ts +11 -0
  844. package/dist/allegati-module/AllegatiModule.js +11 -1
  845. package/dist/allegati-module/AllegatiModule.js.map +1 -1
  846. package/dist/allegati-module/Controllers/AllegatiController.d.ts +2 -1
  847. package/dist/allegati-module/Controllers/AllegatiController.js +23 -15
  848. package/dist/allegati-module/Controllers/AllegatiController.js.map +1 -1
  849. package/dist/allegati-module/Dtos/AllegatoDto.js.map +1 -1
  850. package/dist/allegati-module/Dtos/BaseResponse.js.map +1 -1
  851. package/dist/allegati-module/Dtos/UploadSingleFileRequest.js.map +1 -1
  852. package/dist/allegati-module/Dtos/index.js.map +1 -1
  853. package/dist/allegati-module/Dtos/responses/DownloadAllegatoResponseDto.js.map +1 -1
  854. package/dist/allegati-module/Dtos/responses/GetListResponse.js.map +1 -1
  855. package/dist/allegati-module/Dtos/responses/UploadAllegatoResponseDto.js.map +1 -1
  856. package/dist/allegati-module/Services/AllegatiService/AllegatiService.d.ts +10 -3
  857. package/dist/allegati-module/Services/AllegatiService/AllegatiService.js +150 -101
  858. package/dist/allegati-module/Services/AllegatiService/AllegatiService.js.map +1 -1
  859. package/dist/allegati-module/index.js +2 -2
  860. package/dist/allegati-module/index.js.map +1 -1
  861. package/dist/allegati-module/security/allegatiAuthorizationGuard.d.ts +14 -0
  862. package/dist/allegati-module/security/allegatiAuthorizationGuard.js +70 -0
  863. package/dist/allegati-module/security/allegatiAuthorizationGuard.js.map +1 -0
  864. package/dist/angular-components/aree-disponibili/aree-disponibili.js +1336 -0
  865. package/dist/angular-components/aree-disponibili/demo.html +232 -0
  866. package/dist/autobind.d.ts +10 -3
  867. package/dist/autobind.js +24 -9
  868. package/dist/autobind.js.map +1 -1
  869. package/dist/emilsoftware-utilities-2.0.0-dev.80.tgz +0 -0
  870. package/dist/firebird-compat.d.ts +41 -0
  871. package/dist/firebird-compat.js +54 -3
  872. package/dist/firebird-compat.js.map +1 -1
  873. package/dist/index.d.ts +11 -1
  874. package/dist/index.js +11 -1
  875. package/dist/index.js.map +1 -1
  876. package/dist/initEmilsoftwareModule.d.ts +11 -1
  877. package/dist/initEmilsoftwareModule.js +66 -14
  878. package/dist/initEmilsoftwareModule.js.map +1 -1
  879. package/dist/openapi/OpenApiConfig.d.ts +68 -0
  880. package/dist/openapi/OpenApiConfig.js +157 -0
  881. package/dist/openapi/OpenApiConfig.js.map +1 -0
  882. package/dist/openapi/OpenApiMerge.d.ts +15 -0
  883. package/dist/openapi/OpenApiMerge.js +119 -0
  884. package/dist/openapi/OpenApiMerge.js.map +1 -0
  885. package/dist/scripts/generateAccessiOpenApi.d.ts +1 -0
  886. package/dist/scripts/generateAccessiOpenApi.js +57 -0
  887. package/dist/scripts/generateAccessiOpenApi.js.map +1 -0
  888. package/dist/scripts/generateAccessiWiki.d.ts +1 -0
  889. package/dist/scripts/generateAccessiWiki.js +131 -0
  890. package/dist/scripts/generateAccessiWiki.js.map +1 -0
  891. package/dist/scripts/startAccessiService.d.ts +1 -0
  892. package/dist/scripts/startAccessiService.js +11 -0
  893. package/dist/scripts/startAccessiService.js.map +1 -0
  894. package/docs/accessi-openapi-baseline.json +4500 -0
  895. package/docs/accessi-openapi-breaking-allowlist.json +1 -0
  896. package/docs/accessi-openapi-fingerprint.json +192 -0
  897. package/docs/adr/0001-split-package.md +79 -0
  898. package/docs/adr/0002-multi-tenancy.md +154 -0
  899. package/docs/audit.md +136 -0
  900. package/docs/auth-cookies.md +123 -0
  901. package/docs/gateway-rate-limit.md +98 -0
  902. package/docs/import-migration.md +65 -0
  903. package/docs/jwt-key-rotation.md +143 -0
  904. package/docs/metrics.md +153 -0
  905. package/docs/multi-tenancy.md +305 -0
  906. package/docs/proxy-ip.md +99 -0
  907. package/docs/redis-load-testing.md +88 -0
  908. package/docs/security-headers.md +151 -0
  909. package/docs/standalone-service.md +201 -0
  910. package/integration-prompt.md +776 -0
  911. package/package.json +237 -83
  912. package/dist/swagger/SwaggerConfig.d.ts +0 -2
  913. package/dist/swagger/SwaggerConfig.js +0 -26
  914. package/dist/swagger/SwaggerConfig.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PermissionController.js","sourceRoot":"","sources":["../../../src/accessi-module/Controllers/PermissionController.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n Body,\r\n Controller,\r\n Delete,\r\n Get,\r\n HttpException,\r\n HttpStatus,\r\n Param,\r\n ParseIntPipe,\r\n Post,\r\n Put,\r\n Query,\r\n Req,\r\n Res,\r\n UseGuards,\r\n} from '@nestjs/common';\r\nimport {\r\n ApiBearerAuth,\r\n ApiBody,\r\n ApiInternalServerErrorResponse,\r\n ApiOkResponse,\r\n ApiOperation,\r\n ApiParam,\r\n ApiQuery,\r\n ApiResponse,\r\n ApiTags,\r\n} from '@nestjs/swagger';\r\nimport { Request, Response } from 'express';\r\nimport { RestUtilities } from '../../Utilities';\r\nimport { AssignPermissionsToUserRequest } from '../Dtos/AssignPermissionsToUserRequest';\r\nimport { AssignRolesToUserRequest } from '../Dtos/AssignRolesToUserRequest';\r\nimport { GetGroupsWithMenusResponse } from '../Dtos/GetGroupsWithMenusResponse';\r\nimport { GetMenusResponse } from '../Dtos/GetMenusResponse';\r\nimport { GetRolesResponse } from '../Dtos/GetRolesResponse';\r\nimport { Role } from '../Dtos/Role';\r\nimport { UserGrantsDto } from '../Dtos/UserGrantsDto';\r\nimport { PermissionService } from '../Services/PermissionService/PermissionService';\r\nimport { JwtSimpleGuard } from '../jwt/jwt.strategy';\r\nimport {\r\n ensureSelfOrSuperUser,\r\n ensureSuperUser,\r\n getAuthenticatedAccessiUser,\r\n} from '../security/accessControl';\r\n\r\n@ApiTags('Permission')\r\n@ApiBearerAuth()\r\n@Controller('accessi/permission')\r\n@UseGuards(JwtSimpleGuard)\r\nexport class PermissionController {\r\n constructor(private readonly permissionService: PermissionService) {}\r\n\r\n private sendControllerError(res: Response, error: unknown) {\r\n const status =\r\n error instanceof HttpException ? error.getStatus() : HttpStatus.INTERNAL_SERVER_ERROR;\r\n return RestUtilities.sendErrorMessage(res, error, PermissionController.name, status);\r\n }\r\n\r\n @ApiOperation({\r\n summary: 'Ritorna i ruoli disponibili con i relativi menu',\r\n operationId: 'getRoles',\r\n description: 'Recupera tutti i ruoli presenti nel sistema con le relative voci di menu.',\r\n })\r\n @ApiOkResponse({ description: 'Elenco dei ruoli con i rispettivi menu', type: GetRolesResponse })\r\n @ApiInternalServerErrorResponse({ description: 'Errore interno del server' })\r\n @ApiResponse({ status: HttpStatus.OK, description: 'Lista dei ruoli restituita con successo.' })\r\n @ApiResponse({\r\n status: HttpStatus.INTERNAL_SERVER_ERROR,\r\n description: 'Errore interno del server durante il recupero dei ruoli.',\r\n })\r\n @Get('roles')\r\n async getRoles(@Res() res: Response): Promise<void> {\r\n try {\r\n const roles = await this.permissionService.getRolesWithMenus();\r\n RestUtilities.sendBaseResponse(res, roles);\r\n } catch (error) {\r\n this.sendControllerError(res, error);\r\n throw error;\r\n }\r\n }\r\n\r\n @ApiOperation({ summary: 'Aggiorna un ruolo esistente', operationId: 'updateRole' })\r\n @ApiParam({\r\n name: 'codiceRuolo',\r\n description: 'Codice identificativo del ruolo da aggiornare',\r\n required: true,\r\n example: 101,\r\n type: Number,\r\n })\r\n @ApiBody({\r\n description: 'Dati aggiornati del ruolo',\r\n type: Role,\r\n })\r\n @ApiResponse({ status: 200, description: 'Il ruolo e stato aggiornato con successo' })\r\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati' })\r\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\r\n @Put('update-role/:codiceRuolo')\r\n async updateRole(\r\n @Req() request: Request,\r\n @Param('codiceRuolo', ParseIntPipe) codiceRuolo: number,\r\n @Body() role: Role,\r\n @Res() res: Response,\r\n ) {\r\n try {\r\n ensureSuperUser(\r\n getAuthenticatedAccessiUser(request),\r\n 'Solo gli amministratori possono modificare i ruoli.',\r\n );\r\n\r\n if (Number.isNaN(codiceRuolo)) throw new Error('Il codice del ruolo e obbligatorio.');\r\n if (!role.descrizioneRuolo) throw new Error('La descrizione del ruolo non puo essere vuota.');\r\n if (!role.menu || role.menu.length === 0) {\r\n throw new Error('Il ruolo deve avere almeno un menu.');\r\n }\r\n\r\n await this.permissionService.updateOrInsertRole(role, codiceRuolo);\r\n return RestUtilities.sendOKMessage(\r\n res,\r\n `Il ruolo ${codiceRuolo} e' stato aggiornato con successo.`,\r\n );\r\n } catch (error) {\r\n return this.sendControllerError(res, error);\r\n }\r\n }\r\n\r\n @ApiOperation({ summary: 'Crea un nuovo ruolo', operationId: 'createRole' })\r\n @ApiResponse({ status: 201, description: 'Il ruolo e stato creato con successo' })\r\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati' })\r\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\r\n @ApiBody({\r\n description: 'Dati del nuovo ruolo',\r\n required: true,\r\n type: Role,\r\n })\r\n @Post('create-role')\r\n async createRole(@Req() request: Request, @Res() res: Response, @Body() role: Role) {\r\n try {\r\n ensureSuperUser(\r\n getAuthenticatedAccessiUser(request),\r\n 'Solo gli amministratori possono creare ruoli.',\r\n );\r\n\r\n if (!role) throw new Error('Il ruolo non puo essere vuoto.');\r\n if (!role.descrizioneRuolo) throw new Error('La descrizione del ruolo non puo essere vuota.');\r\n if (!role.menu || role.menu.length === 0) {\r\n throw new Error('Il ruolo deve avere almeno un menu.');\r\n }\r\n\r\n await this.permissionService.updateOrInsertRole(role);\r\n return RestUtilities.sendOKMessage(res, 'Il ruolo e stato creato con successo.');\r\n } catch (error) {\r\n return this.sendControllerError(res, error);\r\n }\r\n }\r\n\r\n @ApiOperation({ summary: 'Assegna piu ruoli a un utente', operationId: 'assignRolesToUser' })\r\n @ApiParam({\r\n name: 'codiceUtente',\r\n description: \"Codice identificativo dell'utente a cui assegnare i ruoli\",\r\n required: true,\r\n example: 22,\r\n })\r\n @ApiBody({\r\n type: AssignRolesToUserRequest,\r\n description: \"Lista dei ruoli da assegnare all'utente\",\r\n })\r\n @ApiResponse({ status: 200, description: \"Ruoli assegnati con successo all'utente\" })\r\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati' })\r\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\r\n @Post('assign-roles/:codiceUtente')\r\n async assignRolesToUser(\r\n @Req() request: Request,\r\n @Res() res: Response,\r\n @Param('codiceUtente', ParseIntPipe) codiceUtente: number,\r\n @Body() assignRolesRequest: AssignRolesToUserRequest,\r\n ) {\r\n try {\r\n ensureSuperUser(\r\n getAuthenticatedAccessiUser(request),\r\n 'Solo gli amministratori possono assegnare ruoli agli utenti.',\r\n );\r\n\r\n if (!assignRolesRequest.roles || assignRolesRequest.roles.length === 0) {\r\n throw new Error('E necessario fornire almeno un ruolo.');\r\n }\r\n\r\n await this.permissionService.assignRolesToUser(codiceUtente, assignRolesRequest.roles);\r\n return RestUtilities.sendOKMessage(\r\n res,\r\n `I ruoli ${assignRolesRequest.roles.join(', ')} sono stati assegnati all'utente ${codiceUtente}.`,\r\n );\r\n } catch (error) {\r\n return this.sendControllerError(res, error);\r\n }\r\n }\r\n\r\n @ApiOperation({\r\n summary: 'Assegna abilitazioni dirette a un utente',\r\n operationId: 'assignPermissionsToUser',\r\n })\r\n @ApiParam({\r\n name: 'codiceUtente',\r\n description: \"Codice identificativo dell'utente a cui assegnare le abilitazioni\",\r\n required: true,\r\n example: 22,\r\n })\r\n @ApiBody({\r\n type: AssignPermissionsToUserRequest,\r\n description: \"Lista delle abilitazioni da assegnare all'utente\",\r\n })\r\n @ApiResponse({ status: 200, description: \"Abilitazioni assegnate con successo all'utente\" })\r\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati' })\r\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\r\n @Post('assign-permissions/:codiceUtente')\r\n async assignPermissionsToUser(\r\n @Req() request: Request,\r\n @Res() res: Response,\r\n @Param('codiceUtente', ParseIntPipe) codiceUtente: number,\r\n @Body() assignPermissionsRequest: AssignPermissionsToUserRequest,\r\n ) {\r\n try {\r\n ensureSuperUser(\r\n getAuthenticatedAccessiUser(request),\r\n 'Solo gli amministratori possono assegnare permessi agli utenti.',\r\n );\r\n\r\n if (!assignPermissionsRequest.permissions || assignPermissionsRequest.permissions.length === 0) {\r\n throw new Error('E necessario fornire almeno una abilitazione.');\r\n }\r\n\r\n await this.permissionService.assignPermissionsToUser(\r\n codiceUtente,\r\n assignPermissionsRequest.permissions,\r\n );\r\n return RestUtilities.sendOKMessage(\r\n res,\r\n `Le abilitazioni sono state assegnate all'utente ${codiceUtente}.`,\r\n );\r\n } catch (error) {\r\n return this.sendControllerError(res, error);\r\n }\r\n }\r\n\r\n @ApiOperation({ summary: 'Elimina un ruolo esistente', operationId: 'deleteRole' })\r\n @ApiParam({\r\n name: 'codiceRuolo',\r\n description: 'Codice identificativo del ruolo da eliminare',\r\n required: true,\r\n example: 382,\r\n type: Number,\r\n })\r\n @ApiResponse({ status: 200, description: 'Ruolo eliminato con successo' })\r\n @ApiResponse({ status: 400, description: 'Errore nei parametri della richiesta' })\r\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\r\n @Delete('delete-role/:codiceRuolo')\r\n async deleteRole(\r\n @Req() request: Request,\r\n @Param('codiceRuolo', ParseIntPipe) codiceRuolo: number,\r\n @Res() res: Response,\r\n ) {\r\n try {\r\n ensureSuperUser(\r\n getAuthenticatedAccessiUser(request),\r\n 'Solo gli amministratori possono eliminare ruoli.',\r\n );\r\n\r\n await this.permissionService.deleteRole(codiceRuolo);\r\n return RestUtilities.sendOKMessage(\r\n res,\r\n `Il ruolo ${codiceRuolo} e' stato eliminato con successo.`,\r\n );\r\n } catch (error) {\r\n return this.sendControllerError(res, error);\r\n }\r\n }\r\n\r\n @ApiOperation({ summary: 'Recupera tutti i menu disponibili', operationId: 'getMenus' })\r\n @ApiOkResponse({ description: 'Elenco menu', type: GetMenusResponse })\r\n @ApiResponse({ status: 200, description: 'Lista dei menu recuperata con successo' })\r\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\r\n @Get('menus')\r\n async getMenus(@Res() res: Response) {\r\n try {\r\n const menus = await this.permissionService.getMenus();\r\n return RestUtilities.sendBaseResponse(res, menus);\r\n } catch (error) {\r\n return this.sendControllerError(res, error);\r\n }\r\n }\r\n\r\n @ApiOperation({\r\n summary: 'Recupera tutti i gruppi disponibili con i relativi menu',\r\n operationId: 'getGroupsWithMenus',\r\n })\r\n @ApiOkResponse({\r\n description: 'Elenco gruppi con relativi menu',\r\n type: GetGroupsWithMenusResponse,\r\n })\r\n @ApiResponse({ status: 200, description: 'Lista dei menu recuperata con successo' })\r\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\r\n @ApiQuery({\r\n name: 'includeDisabled',\r\n required: false,\r\n type: Boolean,\r\n description: 'Quando true ritorna anche i menu e gruppi disabilitati.',\r\n })\r\n @Get('groups-with-menus')\r\n async getGroupsWithMenus(@Query('includeDisabled') includeDisabled: string, @Res() res: Response) {\r\n try {\r\n const includeDisabledFlag =\r\n typeof includeDisabled === 'string'\r\n ? ['true', '1', 'yes'].includes(includeDisabled.toLowerCase())\r\n : false;\r\n\r\n const menus = await this.permissionService.getGroupsWithMenus(includeDisabledFlag);\r\n return RestUtilities.sendBaseResponse(res, menus);\r\n } catch (error) {\r\n return this.sendControllerError(res, error);\r\n }\r\n }\r\n\r\n @ApiOperation({\r\n summary: 'Recupera i ruoli e i menu di un utente',\r\n operationId: 'getUserRolesAndGrants',\r\n })\r\n @ApiOkResponse({ description: 'Elenco menu', type: UserGrantsDto })\r\n @ApiResponse({ status: 200, description: 'Lista dei menu recuperata con successo' })\r\n @ApiResponse({ status: 500, description: 'Errore interno del server' })\r\n @Get('grants/:codiceUtente')\r\n async getUserRolesAndGrants(\r\n @Req() request: Request,\r\n @Param('codiceUtente', ParseIntPipe) codiceUtente: number,\r\n @Res() res: Response,\r\n ) {\r\n try {\r\n ensureSelfOrSuperUser(\r\n getAuthenticatedAccessiUser(request),\r\n codiceUtente,\r\n 'Puoi consultare solo i tuoi grant, salvo privilegi amministrativi.',\r\n );\r\n\r\n const menus = await this.permissionService.getUserRolesAndGrants(codiceUtente);\r\n return RestUtilities.sendBaseResponse(res, menus);\r\n } catch (error) {\r\n return this.sendControllerError(res, error);\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"PermissionController.js","sourceRoot":"","sources":["../../../src/accessi-module/Controllers/PermissionController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAewB;AACxB,6CAUyB;AAEzB,+CAAgD;AAChD,uDAAqE;AACrE,2FAAwF;AACxF,+EAA4E;AAC5E,iDAO2B;AAC3B,qDAQ6B;AAC7B,mFAAgF;AAChF,+DAA4D;AAC5D,+DAA4D;AAC5D,uCAAoC;AACpC,mEAAgE;AAChE,uFAAoF;AACpF,qEAAkE;AAClE,sDAAqD;AACrD,6DAKmC;AAW5B,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAC/B,YACmB,iBAAoC,EACpC,WAAwB;QADxB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,gBAAW,GAAX,WAAW,CAAa;IACxC,CAAC;IAEI,mBAAmB,CAAC,GAAa,EAAE,KAAc;QACvD,gFAAgF;QAChF,OAAO,yBAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,sBAAoB,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC;IAED;;;OAGG;IACW,sBAAsB,CAClC,KAA+B,EAC/B,YAAoB;;YAEpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC;YACjF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,4BAAmB,CAAC,4BAA4B,YAAY,GAAG,CAAC,CAAC;YAC7E,CAAC;YACD,IAAA,yCAAyB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;KAAA;IAgBK,QAAQ,CAAQ,GAAa;;YACjC,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;gBAC/D,OAAO,yBAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAkBK,UAAU,CACP,OAAgB,EACa,WAAmB,EAC/C,IAAU,EACX,GAAa;;YAEpB,IAAI,CAAC;gBACH,IAAA,2BAAW,EACT,IAAA,2CAA2B,EAAC,OAAO,CAAC,EACpC,qDAAqD,CACtD,CAAC;gBAEF,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;oBAAE,MAAM,IAAI,4BAAmB,CAAC,qCAAqC,CAAC,CAAC;gBACpG,IAAI,CAAC,IAAI,CAAC,gBAAgB;oBAAE,MAAM,IAAI,4BAAmB,CAAC,gDAAgD,CAAC,CAAC;gBAC5G,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzC,MAAM,IAAI,4BAAmB,CAAC,qCAAqC,CAAC,CAAC;gBACvE,CAAC;gBAED,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACnE,OAAO,yBAAa,CAAC,aAAa,CAChC,GAAG,EACH,YAAY,WAAW,oCAAoC,CAC5D,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAYK,UAAU,CAAQ,OAAgB,EAAS,GAAa,EAAU,IAAU;;YAChF,IAAI,CAAC;gBACH,IAAA,2BAAW,EACT,IAAA,2CAA2B,EAAC,OAAO,CAAC,EACpC,+CAA+C,CAChD,CAAC;gBAEF,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,4BAAmB,CAAC,gCAAgC,CAAC,CAAC;gBAC3E,IAAI,CAAC,IAAI,CAAC,gBAAgB;oBAAE,MAAM,IAAI,4BAAmB,CAAC,gDAAgD,CAAC,CAAC;gBAC5G,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzC,MAAM,IAAI,4BAAmB,CAAC,qCAAqC,CAAC,CAAC;gBACvE,CAAC;gBAED,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACtD,OAAO,yBAAa,CAAC,aAAa,CAAC,GAAG,EAAE,uCAAuC,EAAE,mBAAU,CAAC,OAAO,CAAC,CAAC;YACvG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAiBK,iBAAiB,CACd,OAAgB,EAChB,GAAa,EACiB,YAAoB,EACjD,kBAA4C;;YAEpD,IAAI,CAAC;gBACH,MAAM,iBAAiB,GAAG,IAAA,2CAA2B,EAAC,OAAO,CAAC,CAAC;gBAC/D,IAAA,oCAAoB,EAClB,iBAAiB,EACjB,8DAA8D,CAC/D,CAAC;gBACF,MAAM,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;gBAEnE,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,YAAY,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBACvF,MAAM,eAAe,GACnB,kBAAkB,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;oBACnC,CAAC,CAAC,gDAAgD,YAAY,GAAG;oBACjE,CAAC,CAAC,WAAW,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oCAAoC,YAAY,GAAG,CAAC;gBACxG,OAAO,yBAAa,CAAC,aAAa,CAChC,GAAG,EACH,eAAe,CAChB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAoBK,uBAAuB,CACpB,OAAgB,EAChB,GAAa,EACiB,YAAoB,EACjD,wBAAwD;;YAEhE,IAAI,CAAC;gBACH,MAAM,iBAAiB,GAAG,IAAA,2CAA2B,EAAC,OAAO,CAAC,CAAC;gBAC/D,IAAA,oCAAoB,EAClB,iBAAiB,EACjB,iEAAiE,CAClE,CAAC;gBACF,MAAM,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;gBAEnE,MAAM,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAClD,YAAY,EACZ,wBAAwB,CAAC,WAAW,CACrC,CAAC;gBACF,MAAM,eAAe,GACnB,wBAAwB,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;oBAC/C,CAAC,CAAC,wDAAwD,YAAY,GAAG;oBACzE,CAAC,CAAC,mDAAmD,YAAY,GAAG,CAAC;gBACzE,OAAO,yBAAa,CAAC,aAAa,CAChC,GAAG,EACH,eAAe,CAChB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAcK,UAAU,CACP,OAAgB,EACa,WAAmB,EAChD,GAAa;;YAEpB,IAAI,CAAC;gBACH,IAAA,2BAAW,EACT,IAAA,2CAA2B,EAAC,OAAO,CAAC,EACpC,kDAAkD,CACnD,CAAC;gBAEF,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBACrD,OAAO,yBAAa,CAAC,aAAa,CAChC,GAAG,EACH,YAAY,WAAW,mCAAmC,CAC3D,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAaK,QAAQ,CAAiB,KAAa,EAAS,GAAa;;YAChE,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC3D,OAAO,yBAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAyBK,kBAAkB,CACI,eAAuB,EACjC,KAAa,EACtB,GAAa;;YAEpB,IAAI,CAAC;gBACH,MAAM,mBAAmB,GACvB,OAAO,eAAe,KAAK,QAAQ;oBACjC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;oBAC9D,CAAC,CAAC,KAAK,CAAC;gBAEZ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;gBAC1F,OAAO,yBAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAED,4EAA4E;IAC5E,mFAAmF;IACnF,4EAA4E;IAMtE,YAAY,CAAQ,GAAa;;YACrC,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;gBAC1D,OAAO,yBAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAQK,UAAU,CAAQ,OAAgB,EAAU,IAAuB,EAAS,GAAa;;YAC7F,IAAI,CAAC;gBACH,IAAA,2BAAW,EAAC,IAAA,2CAA2B,EAAC,OAAO,CAAC,EAAE,8CAA8C,CAAC,CAAC;gBAClG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC9C,OAAO,yBAAa,CAAC,aAAa,CAChC,GAAG,EACH,WAAW,IAAI,CAAC,UAAU,gCAAgC,EAC1D,mBAAU,CAAC,OAAO,CACnB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IASK,UAAU,CACP,OAAgB,EACF,UAAkB,EAC/B,IAAuB,EACxB,GAAa;;YAEpB,IAAI,CAAC;gBACH,IAAA,2BAAW,EAAC,IAAA,2CAA2B,EAAC,OAAO,CAAC,EAAE,kDAAkD,CAAC,CAAC;gBACtG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAC1D,OAAO,yBAAa,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,UAAU,oCAAoC,CAAC,CAAC;YACrG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAQK,UAAU,CAAQ,OAAgB,EAAuB,UAAkB,EAAS,GAAa;;YACrG,IAAI,CAAC;gBACH,IAAA,2BAAW,EAAC,IAAA,2CAA2B,EAAC,OAAO,CAAC,EAAE,iDAAiD,CAAC,CAAC;gBACrG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACpD,OAAO,yBAAa,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,UAAU,mCAAmC,CAAC,CAAC;YACpG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAQK,eAAe,CAAQ,OAAgB,EAAU,IAA4B,EAAS,GAAa;;YACvG,IAAI,CAAC;gBACH,IAAA,2BAAW,EAAC,IAAA,2CAA2B,EAAC,OAAO,CAAC,EAAE,gDAAgD,CAAC,CAAC;gBACpG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACnD,OAAO,yBAAa,CAAC,aAAa,CAChC,GAAG,EACH,aAAa,IAAI,CAAC,YAAY,gCAAgC,EAC9D,mBAAU,CAAC,OAAO,CACnB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IASK,eAAe,CACZ,OAAgB,EACA,YAAoB,EACnC,IAA4B,EAC7B,GAAa;;YAEpB,IAAI,CAAC;gBACH,IAAA,2BAAW,EAAC,IAAA,2CAA2B,EAAC,OAAO,CAAC,EAAE,oDAAoD,CAAC,CAAC;gBACxG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBACjE,OAAO,yBAAa,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,YAAY,oCAAoC,CAAC,CAAC;YACzG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAQK,eAAe,CAAQ,OAAgB,EAAyB,YAAoB,EAAS,GAAa;;YAC9G,IAAI,CAAC;gBACH,IAAA,2BAAW,EAAC,IAAA,2CAA2B,EAAC,OAAO,CAAC,EAAE,mDAAmD,CAAC,CAAC;gBACvG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;gBAC3D,OAAO,yBAAa,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,YAAY,mCAAmC,CAAC,CAAC;YACxG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAQK,cAAc,CAAQ,OAAgB,EAAU,IAA2B,EAAS,GAAa;;YACrG,IAAI,CAAC;gBACH,IAAA,2BAAW,EAAC,IAAA,2CAA2B,EAAC,OAAO,CAAC,EAAE,mDAAmD,CAAC,CAAC;gBACvG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAClD,OAAO,yBAAa,CAAC,aAAa,CAChC,GAAG,EACH,gBAAgB,IAAI,CAAC,UAAU,gCAAgC,EAC/D,mBAAU,CAAC,OAAO,CACnB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IASK,cAAc,CACX,OAAgB,EACF,UAAkB,EAC/B,IAA2B,EAC5B,GAAa;;YAEpB,IAAI,CAAC;gBACH,IAAA,2BAAW,EAAC,IAAA,2CAA2B,EAAC,OAAO,CAAC,EAAE,uDAAuD,CAAC,CAAC;gBAC3G,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAC9D,OAAO,yBAAa,CAAC,aAAa,CAAC,GAAG,EAAE,gBAAgB,UAAU,oCAAoC,CAAC,CAAC;YAC1G,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAQK,cAAc,CAAQ,OAAgB,EAAuB,UAAkB,EAAS,GAAa;;YACzG,IAAI,CAAC;gBACH,IAAA,2BAAW,EAAC,IAAA,2CAA2B,EAAC,OAAO,CAAC,EAAE,sDAAsD,CAAC,CAAC;gBAC1G,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBACxD,OAAO,yBAAa,CAAC,aAAa,CAAC,GAAG,EAAE,gBAAgB,UAAU,mCAAmC,CAAC,CAAC;YACzG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAgBK,qBAAqB,CAClB,OAAgB,EACc,YAAoB,EACzC,KAAa,EACtB,GAAa;;YAEpB,IAAI,CAAC;gBACH,MAAM,iBAAiB,GAAG,IAAA,2CAA2B,EAAC,OAAO,CAAC,CAAC;gBAC/D,IAAI,iBAAiB,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;oBACpD,IAAA,oCAAoB,EAClB,iBAAiB,EACjB,oEAAoE,CACrE,CAAC;oBACF,oEAAoE;oBACpE,kEAAkE;oBAClE,MAAM,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;gBACrE,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBACtF,OAAO,yBAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IACD,4EAA4E;IAC5E,yDAAyD;IACzD,4EAA4E;IAMtE,SAAS,CAAQ,GAAa;;YAClC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;gBACxD,OAAO,yBAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAOK,WAAW,CAAQ,OAAgB,EAAU,IAAwB,EAAS,GAAa;;YAC/F,IAAI,CAAC;gBACH,IAAA,2BAAW,EAAC,IAAA,2CAA2B,EAAC,OAAO,CAAC,EAAE,+CAA+C,CAAC,CAAC;gBACnG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC/C,OAAO,yBAAa,CAAC,aAAa,CAAC,GAAG,EAAE,YAAY,IAAI,CAAC,MAAM,+BAA+B,EAAE,mBAAU,CAAC,OAAO,CAAC,CAAC;YACtH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAQK,WAAW,CACR,OAAgB,EACD,WAAmB,EACjC,IAAwB,EACzB,GAAa;;YAEpB,IAAI,CAAC;gBACH,IAAA,2BAAW,EAAC,IAAA,2CAA2B,EAAC,OAAO,CAAC,EAAE,mDAAmD,CAAC,CAAC;gBACvG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC5D,OAAO,yBAAa,CAAC,aAAa,CAAC,GAAG,EAAE,YAAY,WAAW,mCAAmC,CAAC,CAAC;YACtG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAMK,WAAW,CACR,OAAgB,EACD,WAAmB,EAClC,GAAa;;YAEpB,IAAI,CAAC;gBACH,IAAA,2BAAW,EAAC,IAAA,2CAA2B,EAAC,OAAO,CAAC,EAAE,kDAAkD,CAAC,CAAC;gBACtG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBACtD,OAAO,yBAAa,CAAC,aAAa,CAAC,GAAG,EAAE,YAAY,WAAW,kCAAkC,CAAC,CAAC;YACrG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAMK,aAAa,CAAsB,UAAkB,EAAS,GAAa;;YAC/E,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBACtE,OAAO,yBAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACrD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAOK,aAAa,CACV,OAAgB,EACF,UAAkB,EAC/B,IAA0B,EAC3B,GAAa;;YAEpB,IAAI,CAAC;gBACH,IAAA,2BAAW,EAAC,IAAA,2CAA2B,EAAC,OAAO,CAAC,EAAE,uDAAuD,CAAC,CAAC;gBAC3G,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpE,OAAO,yBAAa,CAAC,aAAa,CAAC,GAAG,EAAE,kBAAkB,UAAU,2BAA2B,CAAC,CAAC;YACnG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;IAOK,aAAa,CACV,OAAgB,EACD,WAAmB,EACjC,IAA0B,EAC3B,GAAa;;YAEpB,IAAI,CAAC;gBACH,IAAA,2BAAW,EAAC,IAAA,2CAA2B,EAAC,OAAO,CAAC,EAAE,uDAAuD,CAAC,CAAC;gBAC3G,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnE,OAAO,yBAAa,CAAC,aAAa,CAAC,GAAG,EAAE,oBAAoB,WAAW,2BAA2B,CAAC,CAAC;YACtG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;KAAA;CAEF,CAAA;AAtpBY,oDAAoB;AAwCzB;IAdL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,iDAAiD;QAC1D,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,2EAA2E;KACzF,CAAC;IACD,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,wCAAwC,EAAE,IAAI,EAAE,mCAAgB,EAAE,CAAC;IAChG,IAAA,wCAA8B,EAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACjG,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,mBAAU,CAAC,EAAE,EAAE,WAAW,EAAE,0CAA0C,EAAE,IAAI,EAAE,mCAAgB,EAAE,CAAC;IACvH,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,mBAAU,CAAC,qBAAqB;QACxC,WAAW,EAAE,0DAA0D;QACvE,IAAI,EAAE,4BAAa;KACpB,CAAC;IACD,IAAA,YAAG,EAAC,OAAO,CAAC;IACG,WAAA,IAAA,YAAG,GAAE,CAAA;;;;oDAOpB;AAkBK;IAhBL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;IACnF,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,MAAM;KACb,CAAC;IACD,IAAA,iBAAO,EAAC;QACP,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,WAAI;KACX,CAAC;IACD,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,0CAA0C,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IAC3G,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,wCAAwC,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACxG,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,YAAG,EAAC,0BAA0B,CAAC;IAE7B,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,aAAa,EAAE,qBAAY,CAAC,CAAA;IAClC,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,YAAG,GAAE,CAAA;;qDADQ,WAAI;;sDAuBnB;AAYK;IAVL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;IAC3E,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,sCAAsC,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IACvG,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,wCAAwC,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACxG,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,iBAAO,EAAC;QACP,WAAW,EAAE,sBAAsB;QACnC,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,WAAI;KACX,CAAC;IACD,IAAA,aAAI,EAAC,aAAa,CAAC;IACF,WAAA,IAAA,YAAG,GAAE,CAAA;IAAoB,WAAA,IAAA,YAAG,GAAE,CAAA;IAAiB,WAAA,IAAA,aAAI,GAAE,CAAA;;qDAAO,WAAI;;sDAkBjF;AAiBK;IAfL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;IAC5F,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,2DAA2D;QACxE,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;KACZ,CAAC;IACD,IAAA,iBAAO,EAAC;QACP,IAAI,EAAE,mDAAwB;QAC9B,WAAW,EAAE,yCAAyC;KACvD,CAAC;IACD,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,yCAAyC,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IAC1G,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,wCAAwC,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACxG,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,aAAI,EAAC,4BAA4B,CAAC;IAEhC,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,cAAc,EAAE,qBAAY,CAAC,CAAA;IACnC,WAAA,IAAA,aAAI,GAAE,CAAA;;6DAAqB,mDAAwB;;6DAsBrD;AAoBK;IAlBL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,0CAA0C;QACnD,WAAW,EAAE,yBAAyB;KACvC,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,mEAAmE;QAChF,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;KACZ,CAAC;IACD,IAAA,iBAAO,EAAC;QACP,IAAI,EAAE,+DAA8B;QACpC,WAAW,EAAE,kDAAkD;KAChE,CAAC;IACD,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,gDAAgD,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IACjH,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,wCAAwC,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACxG,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,aAAI,EAAC,kCAAkC,CAAC;IAEtC,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,cAAc,EAAE,qBAAY,CAAC,CAAA;IACnC,WAAA,IAAA,aAAI,GAAE,CAAA;;6DAA2B,+DAA8B;;mEAyBjE;AAcK;IAZL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;IAClF,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,8CAA8C;QAC3D,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,MAAM;KACb,CAAC;IACD,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,8BAA8B,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IAC/F,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,sCAAsC,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACtG,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,eAAM,EAAC,0BAA0B,CAAC;IAEhC,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,aAAa,EAAE,qBAAY,CAAC,CAAA;IAClC,WAAA,IAAA,YAAG,GAAE,CAAA;;;;sDAgBP;AAaK;IAXL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,mCAAmC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;IACvF,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,mCAAgB,EAAE,CAAC;IACrE,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,wCAAwC,EAAE,IAAI,EAAE,mCAAgB,EAAE,CAAC;IAC3G,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,yEAAyE;KACvF,CAAC;IACD,IAAA,YAAG,EAAC,OAAO,CAAC;IACG,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;IAAiB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;oDAOnD;AAyBK;IAvBL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,yDAAyD;QAClE,WAAW,EAAE,oBAAoB;KAClC,CAAC;IACD,IAAA,uBAAa,EAAC;QACb,WAAW,EAAE,iCAAiC;QAC9C,IAAI,EAAE,uDAA0B;KACjC,CAAC;IACD,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,wCAAwC,EAAE,IAAI,EAAE,uDAA0B,EAAE,CAAC;IACrH,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,yDAAyD;KACvE,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,yEAAyE;KACvF,CAAC;IACD,IAAA,YAAG,EAAC,mBAAmB,CAAC;IAEtB,WAAA,IAAA,cAAK,EAAC,iBAAiB,CAAC,CAAA;IACxB,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;IACd,WAAA,IAAA,YAAG,GAAE,CAAA;;;;8DAaP;AAUK;IAJL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,oCAAoC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;IAC5F,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,IAAI,EAAE,kCAAoB,EAAE,CAAC;IAClF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,YAAG,EAAC,YAAY,CAAC;IACE,WAAA,IAAA,YAAG,GAAE,CAAA;;;;wDAOxB;AAQK;IANL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;IAC1E,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,+BAAiB,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACxE,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,0BAA0B,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IAC3F,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACjF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,aAAI,EAAC,OAAO,CAAC;IACI,WAAA,IAAA,YAAG,GAAE,CAAA;IAAoB,WAAA,IAAA,aAAI,GAAE,CAAA;IAA2B,WAAA,IAAA,YAAG,GAAE,CAAA;;6CAAzB,+BAAiB;;sDAYxE;AASK;IAPL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;IAClF,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,+BAA+B,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACjH,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,+BAAiB,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;IACjF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,8BAA8B,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IAC/F,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACjF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,YAAG,EAAC,mBAAmB,CAAC;IAEtB,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,YAAY,CAAC,CAAA;IACnB,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,YAAG,GAAE,CAAA;;qDADQ,+BAAiB;;sDAUhC;AAQK;IANL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;IACvE,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,8BAA8B,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAChH,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,6BAA6B,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IAC9F,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACjF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,eAAM,EAAC,mBAAmB,CAAC;IACV,WAAA,IAAA,YAAG,GAAE,CAAA;IAAoB,WAAA,IAAA,cAAK,EAAC,YAAY,CAAC,CAAA;IAAsB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;sDAQxF;AAQK;IANL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACtF,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,oCAAsB,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;IAC/E,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,4BAA4B,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IAC7F,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACjF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,aAAI,EAAC,aAAa,CAAC;IACG,WAAA,IAAA,YAAG,GAAE,CAAA;IAAoB,WAAA,IAAA,aAAI,GAAE,CAAA;IAAgC,WAAA,IAAA,YAAG,GAAE,CAAA;;6CAA9B,oCAAsB;;2DAYlF;AASK;IAPL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACpF,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,iCAAiC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAChH,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,oCAAsB,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;IACxF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,gCAAgC,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IACjG,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACjF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,YAAG,EAAC,2BAA2B,CAAC;IAE9B,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,cAAc,CAAC,CAAA;IACrB,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,YAAG,GAAE,CAAA;;qDADQ,oCAAsB;;2DAUrC;AAQK;IANL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACnF,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC/G,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,+BAA+B,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IAChG,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACjF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,eAAM,EAAC,2BAA2B,CAAC;IACb,WAAA,IAAA,YAAG,GAAE,CAAA;IAAoB,WAAA,IAAA,cAAK,EAAC,cAAc,CAAC,CAAA;IAAwB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;2DAQjG;AAQK;IANL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;IACnF,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,mCAAqB,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;IACjF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,+BAA+B,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IAChG,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACjF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,aAAI,EAAC,YAAY,CAAC;IACG,WAAA,IAAA,YAAG,GAAE,CAAA;IAAoB,WAAA,IAAA,aAAI,GAAE,CAAA;IAA+B,WAAA,IAAA,YAAG,GAAE,CAAA;;6CAA7B,mCAAqB;;0DAYhF;AASK;IAPL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;IACjF,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,oCAAoC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IACjH,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,mCAAqB,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC;IAC1F,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,mCAAmC,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IACpG,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACjF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,YAAG,EAAC,wBAAwB,CAAC;IAE3B,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,YAAY,CAAC,CAAA;IACnB,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,YAAG,GAAE,CAAA;;qDADQ,mCAAqB;;0DAUpC;AAQK;IANL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChF,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mCAAmC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAChH,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,kCAAkC,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IACnG,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACjF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,eAAM,EAAC,wBAAwB,CAAC;IACX,WAAA,IAAA,YAAG,GAAE,CAAA;IAAoB,WAAA,IAAA,cAAK,EAAC,YAAY,CAAC,CAAA;IAAsB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;0DAQ5F;AAgBK;IAdL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,wCAAwC;QACjD,WAAW,EAAE,uBAAuB;KACrC,CAAC;IACD,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,IAAI,EAAE,uCAAkB,EAAE,CAAC;IAC/E,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,sCAAsC,EAAE,IAAI,EAAE,uCAAkB,EAAE,CAAC;IAC3G,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,8DAA8D;KAC5E,CAAC;IACD,IAAA,YAAG,EAAC,sBAAsB,CAAC;IAEzB,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,cAAc,EAAE,qBAAY,CAAC,CAAA;IACnC,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;IACd,WAAA,IAAA,YAAG,GAAE,CAAA;;;;iEAmBP;AASK;IAJL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,8CAA8C,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IACnG,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,6BAAiB,EAAE,CAAC;IAC7E,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IAC3F,IAAA,YAAG,EAAC,QAAQ,CAAC;IACG,WAAA,IAAA,YAAG,GAAE,CAAA;;;;qDAOrB;AAOK;IALL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;IACnF,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,8BAAkB,EAAE,CAAC;IACrC,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IAC/E,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACjF,IAAA,aAAI,EAAC,QAAQ,CAAC;IACI,WAAA,IAAA,YAAG,GAAE,CAAA;IAAoB,WAAA,IAAA,aAAI,GAAE,CAAA;IAA4B,WAAA,IAAA,YAAG,GAAE,CAAA;;6CAA1B,8BAAkB;;uDAQ1E;AAQK;IANL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,gCAAgC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;IACvF,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpF,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,8BAAkB,EAAE,CAAC;IACrC,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IACnF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,4BAAa,EAAE,CAAC;IACjF,IAAA,YAAG,EAAC,qBAAqB,CAAC;IAExB,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,aAAa,CAAC,CAAA;IACpB,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,YAAG,GAAE,CAAA;;qDADQ,8BAAkB;;uDAUjC;AAMK;IAJL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,+BAA+B,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;IACtF,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IAClF,IAAA,eAAM,EAAC,qBAAqB,CAAC;IAE3B,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,aAAa,CAAC,CAAA;IACpB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;uDASP;AAMK;IAJL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IACpF,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChF,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,EAAE,iCAAqB,EAAE,CAAC;IAC7E,IAAA,YAAG,EAAC,0BAA0B,CAAC;IACX,WAAA,IAAA,cAAK,EAAC,YAAY,CAAC,CAAA;IAAsB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;yDAOlE;AAOK;IALL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,kCAAkC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IAC3F,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChF,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,gCAAoB,EAAE,CAAC;IACvC,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IAC5F,IAAA,YAAG,EAAC,0BAA0B,CAAC;IAE7B,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,YAAY,CAAC,CAAA;IACnB,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,YAAG,GAAE,CAAA;;qDADQ,gCAAoB;;yDAUnC;AAOK;IALL,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,iCAAiC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IAC1F,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpF,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,gCAAoB,EAAE,CAAC;IACvC,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,6BAA6B,EAAE,IAAI,EAAE,6BAAc,EAAE,CAAC;IAC9F,IAAA,YAAG,EAAC,2BAA2B,CAAC;IAE9B,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,aAAa,CAAC,CAAA;IACpB,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,YAAG,GAAE,CAAA;;qDADQ,gCAAoB;;yDAUnC;+BAppBU,oBAAoB;IARhC,IAAA,iBAAO,EAAC,YAAY,CAAC;IACrB,IAAA,uBAAa,GAAE;IACf,IAAA,mBAAU,EAAC,oBAAoB,CAAC;IAChC,IAAA,kBAAS,EAAC,6BAAc,CAAC;IAC1B;;;OAGG;;qCAGqC,qCAAiB;QACvB,yBAAW;GAHhC,oBAAoB,CAspBhC","sourcesContent":["import {\n BadRequestException,\n Body,\n Controller,\n Delete,\n Get,\n HttpStatus,\n Param,\n ParseIntPipe,\n Post,\n Put,\n Query,\n Req,\n Res,\n UseGuards,\n} from '@nestjs/common';\nimport {\n ApiBearerAuth,\n ApiBody,\n ApiInternalServerErrorResponse,\n ApiOkResponse,\n ApiOperation,\n ApiParam,\n ApiQuery,\n ApiResponse,\n ApiTags,\n} from '@nestjs/swagger';\nimport { Request, Response } from 'express';\nimport { RestUtilities } from '../../Utilities';\nimport { ActionResponse, ErrorResponse } from '../Dtos/BaseResponse';\nimport { AssignPermissionsToUserRequest } from '../Dtos/AssignPermissionsToUserRequest';\nimport { AssignRolesToUserRequest } from '../Dtos/AssignRolesToUserRequest';\nimport {\n CreateScopeRequest,\n GetMenuScopesResponse,\n GetScopesResponse,\n SetMenuScopesRequest,\n SetScopeMenusRequest,\n UpdateScopeRequest,\n} from '../Dtos/ScopeDtos';\nimport {\n CreateMenuGroupRequest,\n CreateMenuRequest,\n CreateMenuTypeRequest,\n GetMenuTypesResponse,\n UpdateMenuGroupRequest,\n UpdateMenuRequest,\n UpdateMenuTypeRequest,\n} from '../Dtos/CatalogDtos';\nimport { GetGroupsWithMenusResponse } from '../Dtos/GetGroupsWithMenusResponse';\nimport { GetMenusResponse } from '../Dtos/GetMenusResponse';\nimport { GetRolesResponse } from '../Dtos/GetRolesResponse';\nimport { Role } from '../Dtos/Role';\nimport { UserGrantsResponse } from '../Dtos/UserGrantsResponse';\nimport { PermissionService } from '../Services/PermissionService/PermissionService';\nimport { UserService } from '../Services/UserService/UserService';\nimport { JwtSimpleGuard } from '../jwt/jwt.strategy';\nimport {\n ensureAdmin,\n ensureCanManageTargetUser,\n ensureUserManagement,\n getAuthenticatedAccessiUser,\n} from '../security/accessControl';\nimport type { AuthenticatedAccessiUser } from '../security/accessControl';\n\n@ApiTags('Permission')\n@ApiBearerAuth()\n@Controller('accessi/permission')\n@UseGuards(JwtSimpleGuard)\n/**\n * API amministrative per ruoli, grant e catalogo menu. Le assegnazioni sono sostitutive, non incrementali:\n * il client deve inviare l'intera lista desiderata per non rimuovere voci involontariamente.\n */\nexport class PermissionController {\n constructor(\n private readonly permissionService: PermissionService,\n private readonly userService: UserService,\n ) {}\n\n private sendControllerError(res: Response, error: unknown) {\n // Lo status viene derivato centralmente da RestUtilities (HttpException o 500).\n return RestUtilities.sendErrorMessage(res, error, PermissionController.name);\n }\n\n /**\n * Verifica che l'attore possa gestire il target (ADMIN > SUPER > utente):\n * un superutente non puo' assegnare ruoli o permessi a un admin.\n */\n private async ensureManageableTarget(\n actor: AuthenticatedAccessiUser,\n codiceUtente: number,\n ): Promise<void> {\n const target = await this.userService.getAuthenticatedUserSnapshot(codiceUtente);\n if (!target) {\n throw new BadRequestException(`Nessun utente con codice ${codiceUtente}.`);\n }\n ensureCanManageTargetUser(actor, target);\n }\n\n @ApiOperation({\n summary: 'Ritorna i ruoli disponibili con i relativi menu',\n operationId: 'getRoles',\n description: 'Recupera tutti i ruoli presenti nel sistema con le relative voci di menu.',\n })\n @ApiOkResponse({ description: 'Elenco dei ruoli con i rispettivi menu', type: GetRolesResponse })\n @ApiInternalServerErrorResponse({ description: 'Errore interno del server', type: ErrorResponse })\n @ApiResponse({ status: HttpStatus.OK, description: 'Lista dei ruoli restituita con successo.', type: GetRolesResponse })\n @ApiResponse({\n status: HttpStatus.INTERNAL_SERVER_ERROR,\n description: 'Errore interno del server durante il recupero dei ruoli.',\n type: ErrorResponse,\n })\n @Get('roles')\n async getRoles(@Res() res: Response): Promise<Response> {\n try {\n const roles = await this.permissionService.getRolesWithMenus();\n return RestUtilities.sendBaseResponse(res, roles);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Aggiorna un ruolo esistente', operationId: 'updateRole' })\n @ApiParam({\n name: 'codiceRuolo',\n description: 'Codice identificativo del ruolo da aggiornare',\n required: true,\n example: 101,\n type: Number,\n })\n @ApiBody({\n description: 'Dati aggiornati del ruolo',\n type: Role,\n })\n @ApiResponse({ status: 200, description: 'Il ruolo e stato aggiornato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Put('update-role/:codiceRuolo')\n async updateRole(\n @Req() request: Request,\n @Param('codiceRuolo', ParseIntPipe) codiceRuolo: number,\n @Body() role: Role,\n @Res() res: Response,\n ) {\n try {\n ensureAdmin(\n getAuthenticatedAccessiUser(request),\n 'Solo gli amministratori possono modificare i ruoli.',\n );\n\n if (Number.isNaN(codiceRuolo)) throw new BadRequestException('Il codice del ruolo e obbligatorio.');\n if (!role.descrizioneRuolo) throw new BadRequestException('La descrizione del ruolo non puo essere vuota.');\n if (!role.menu || role.menu.length === 0) {\n throw new BadRequestException('Il ruolo deve avere almeno un menu.');\n }\n\n await this.permissionService.updateOrInsertRole(role, codiceRuolo);\n return RestUtilities.sendOKMessage(\n res,\n `Il ruolo ${codiceRuolo} e' stato aggiornato con successo.`,\n );\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Crea un nuovo ruolo', operationId: 'createRole' })\n @ApiResponse({ status: 201, description: 'Il ruolo e stato creato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @ApiBody({\n description: 'Dati del nuovo ruolo',\n required: true,\n type: Role,\n })\n @Post('create-role')\n async createRole(@Req() request: Request, @Res() res: Response, @Body() role: Role) {\n try {\n ensureAdmin(\n getAuthenticatedAccessiUser(request),\n 'Solo gli amministratori possono creare ruoli.',\n );\n\n if (!role) throw new BadRequestException('Il ruolo non puo essere vuoto.');\n if (!role.descrizioneRuolo) throw new BadRequestException('La descrizione del ruolo non puo essere vuota.');\n if (!role.menu || role.menu.length === 0) {\n throw new BadRequestException('Il ruolo deve avere almeno un menu.');\n }\n\n await this.permissionService.updateOrInsertRole(role);\n return RestUtilities.sendOKMessage(res, 'Il ruolo e stato creato con successo.', HttpStatus.CREATED);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Assegna piu ruoli a un utente', operationId: 'assignRolesToUser' })\n @ApiParam({\n name: 'codiceUtente',\n description: \"Codice identificativo dell'utente a cui assegnare i ruoli\",\n required: true,\n example: 22,\n })\n @ApiBody({\n type: AssignRolesToUserRequest,\n description: \"Lista dei ruoli da assegnare all'utente\",\n })\n @ApiResponse({ status: 200, description: \"Ruoli assegnati con successo all'utente\", type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Post('assign-roles/:codiceUtente')\n async assignRolesToUser(\n @Req() request: Request,\n @Res() res: Response,\n @Param('codiceUtente', ParseIntPipe) codiceUtente: number,\n @Body() assignRolesRequest: AssignRolesToUserRequest,\n ) {\n try {\n const authenticatedUser = getAuthenticatedAccessiUser(request);\n ensureUserManagement(\n authenticatedUser,\n 'Solo gli amministratori possono assegnare ruoli agli utenti.',\n );\n await this.ensureManageableTarget(authenticatedUser, codiceUtente);\n\n await this.permissionService.assignRolesToUser(codiceUtente, assignRolesRequest.roles);\n const responseMessage =\n assignRolesRequest.roles.length === 0\n ? `Tutti i ruoli sono stati rimossi dall'utente ${codiceUtente}.`\n : `I ruoli ${assignRolesRequest.roles.join(', ')} sono stati assegnati all'utente ${codiceUtente}.`;\n return RestUtilities.sendOKMessage(\n res,\n responseMessage,\n );\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({\n summary: 'Assegna abilitazioni dirette a un utente',\n operationId: 'assignPermissionsToUser',\n })\n @ApiParam({\n name: 'codiceUtente',\n description: \"Codice identificativo dell'utente a cui assegnare le abilitazioni\",\n required: true,\n example: 22,\n })\n @ApiBody({\n type: AssignPermissionsToUserRequest,\n description: \"Lista delle abilitazioni da assegnare all'utente\",\n })\n @ApiResponse({ status: 200, description: \"Abilitazioni assegnate con successo all'utente\", type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Errore di validazione nei dati inviati', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Post('assign-permissions/:codiceUtente')\n async assignPermissionsToUser(\n @Req() request: Request,\n @Res() res: Response,\n @Param('codiceUtente', ParseIntPipe) codiceUtente: number,\n @Body() assignPermissionsRequest: AssignPermissionsToUserRequest,\n ) {\n try {\n const authenticatedUser = getAuthenticatedAccessiUser(request);\n ensureUserManagement(\n authenticatedUser,\n 'Solo gli amministratori possono assegnare permessi agli utenti.',\n );\n await this.ensureManageableTarget(authenticatedUser, codiceUtente);\n\n await this.permissionService.assignPermissionsToUser(\n codiceUtente,\n assignPermissionsRequest.permissions,\n );\n const responseMessage =\n assignPermissionsRequest.permissions.length === 0\n ? `Tutte le abilitazioni sono state rimosse dall'utente ${codiceUtente}.`\n : `Le abilitazioni sono state assegnate all'utente ${codiceUtente}.`;\n return RestUtilities.sendOKMessage(\n res,\n responseMessage,\n );\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Elimina un ruolo esistente', operationId: 'deleteRole' })\n @ApiParam({\n name: 'codiceRuolo',\n description: 'Codice identificativo del ruolo da eliminare',\n required: true,\n example: 382,\n type: Number,\n })\n @ApiResponse({ status: 200, description: 'Ruolo eliminato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Errore nei parametri della richiesta', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Delete('delete-role/:codiceRuolo')\n async deleteRole(\n @Req() request: Request,\n @Param('codiceRuolo', ParseIntPipe) codiceRuolo: number,\n @Res() res: Response,\n ) {\n try {\n ensureAdmin(\n getAuthenticatedAccessiUser(request),\n 'Solo gli amministratori possono eliminare ruoli.',\n );\n\n await this.permissionService.deleteRole(codiceRuolo);\n return RestUtilities.sendOKMessage(\n res,\n `Il ruolo ${codiceRuolo} e' stato eliminato con successo.`,\n );\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Recupera tutti i menu disponibili', operationId: 'getMenus' })\n @ApiOkResponse({ description: 'Elenco menu', type: GetMenusResponse })\n @ApiResponse({ status: 200, description: 'Lista dei menu recuperata con successo', type: GetMenusResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @ApiQuery({\n name: 'scope',\n required: false,\n type: String,\n description: 'Filtra per scope applicativi (CSV, es. STEX,TINTEMIX). Assente = tutti.',\n })\n @Get('menus')\n async getMenus(@Query('scope') scope: string, @Res() res: Response) {\n try {\n const menus = await this.permissionService.getMenus(scope);\n return RestUtilities.sendBaseResponse(res, menus);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({\n summary: 'Recupera tutti i gruppi disponibili con i relativi menu',\n operationId: 'getGroupsWithMenus',\n })\n @ApiOkResponse({\n description: 'Elenco gruppi con relativi menu',\n type: GetGroupsWithMenusResponse,\n })\n @ApiResponse({ status: 200, description: 'Lista dei menu recuperata con successo', type: GetGroupsWithMenusResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @ApiQuery({\n name: 'includeDisabled',\n required: false,\n type: Boolean,\n description: 'Quando true ritorna anche i menu e gruppi disabilitati.',\n })\n @ApiQuery({\n name: 'scope',\n required: false,\n type: String,\n description: 'Filtra per scope applicativi (CSV, es. STEX,TINTEMIX). Assente = tutti.',\n })\n @Get('groups-with-menus')\n async getGroupsWithMenus(\n @Query('includeDisabled') includeDisabled: string,\n @Query('scope') scope: string,\n @Res() res: Response,\n ) {\n try {\n const includeDisabledFlag =\n typeof includeDisabled === 'string'\n ? ['true', '1', 'yes'].includes(includeDisabled.toLowerCase())\n : false;\n\n const menus = await this.permissionService.getGroupsWithMenus(includeDisabledFlag, scope);\n return RestUtilities.sendBaseResponse(res, menus);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n // -------------------------------------------------------------------------\n // Gestione catalogo: tipi menu, gruppi, menu. Operazioni riservate al superutente.\n // -------------------------------------------------------------------------\n\n @ApiOperation({ summary: 'Recupera il catalogo dei tipi menu', operationId: 'getMenuTypes' })\n @ApiOkResponse({ description: 'Elenco dei tipi menu', type: GetMenuTypesResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Get('menu-types')\n async getMenuTypes(@Res() res: Response) {\n try {\n const types = await this.permissionService.getMenuTypes();\n return RestUtilities.sendBaseResponse(res, types);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Crea un nuovo menu', operationId: 'createMenu' })\n @ApiBody({ type: CreateMenuRequest, description: 'Dati del nuovo menu' })\n @ApiResponse({ status: 201, description: 'Menu creato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Dati non validi', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Post('menus')\n async createMenu(@Req() request: Request, @Body() body: CreateMenuRequest, @Res() res: Response) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono creare menu.');\n await this.permissionService.createMenu(body);\n return RestUtilities.sendOKMessage(\n res,\n `Il menu ${body.codiceMenu} e' stato creato con successo.`,\n HttpStatus.CREATED,\n );\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Aggiorna un menu esistente', operationId: 'updateMenu' })\n @ApiParam({ name: 'codiceMenu', description: 'Codice del menu da aggiornare', required: true, example: 'MNU001' })\n @ApiBody({ type: UpdateMenuRequest, description: 'Campi del menu da aggiornare' })\n @ApiResponse({ status: 200, description: 'Menu aggiornato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Dati non validi', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Put('menus/:codiceMenu')\n async updateMenu(\n @Req() request: Request,\n @Param('codiceMenu') codiceMenu: string,\n @Body() body: UpdateMenuRequest,\n @Res() res: Response,\n ) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono modificare menu.');\n await this.permissionService.updateMenu(codiceMenu, body);\n return RestUtilities.sendOKMessage(res, `Il menu ${codiceMenu} e' stato aggiornato con successo.`);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Elimina un menu', operationId: 'deleteMenu' })\n @ApiParam({ name: 'codiceMenu', description: 'Codice del menu da eliminare', required: true, example: 'MNU001' })\n @ApiResponse({ status: 200, description: 'Menu eliminato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Dati non validi', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Delete('menus/:codiceMenu')\n async deleteMenu(@Req() request: Request, @Param('codiceMenu') codiceMenu: string, @Res() res: Response) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono eliminare menu.');\n await this.permissionService.deleteMenu(codiceMenu);\n return RestUtilities.sendOKMessage(res, `Il menu ${codiceMenu} e' stato eliminato con successo.`);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Crea un nuovo gruppo menu', operationId: 'createMenuGroup' })\n @ApiBody({ type: CreateMenuGroupRequest, description: 'Dati del nuovo gruppo' })\n @ApiResponse({ status: 201, description: 'Gruppo creato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Dati non validi', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Post('menu-groups')\n async createMenuGroup(@Req() request: Request, @Body() body: CreateMenuGroupRequest, @Res() res: Response) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono creare gruppi.');\n await this.permissionService.createMenuGroup(body);\n return RestUtilities.sendOKMessage(\n res,\n `Il gruppo ${body.codiceGruppo} e' stato creato con successo.`,\n HttpStatus.CREATED,\n );\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Aggiorna un gruppo menu', operationId: 'updateMenuGroup' })\n @ApiParam({ name: 'codiceGruppo', description: 'Codice del gruppo da aggiornare', required: true, example: 'A' })\n @ApiBody({ type: UpdateMenuGroupRequest, description: 'Campi del gruppo da aggiornare' })\n @ApiResponse({ status: 200, description: 'Gruppo aggiornato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Dati non validi', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Put('menu-groups/:codiceGruppo')\n async updateMenuGroup(\n @Req() request: Request,\n @Param('codiceGruppo') codiceGruppo: string,\n @Body() body: UpdateMenuGroupRequest,\n @Res() res: Response,\n ) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono modificare gruppi.');\n await this.permissionService.updateMenuGroup(codiceGruppo, body);\n return RestUtilities.sendOKMessage(res, `Il gruppo ${codiceGruppo} e' stato aggiornato con successo.`);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Elimina un gruppo menu', operationId: 'deleteMenuGroup' })\n @ApiParam({ name: 'codiceGruppo', description: 'Codice del gruppo da eliminare', required: true, example: 'A' })\n @ApiResponse({ status: 200, description: 'Gruppo eliminato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Dati non validi', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Delete('menu-groups/:codiceGruppo')\n async deleteMenuGroup(@Req() request: Request, @Param('codiceGruppo') codiceGruppo: string, @Res() res: Response) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono eliminare gruppi.');\n await this.permissionService.deleteMenuGroup(codiceGruppo);\n return RestUtilities.sendOKMessage(res, `Il gruppo ${codiceGruppo} e' stato eliminato con successo.`);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Crea un nuovo tipo menu', operationId: 'createMenuType' })\n @ApiBody({ type: CreateMenuTypeRequest, description: 'Dati del nuovo tipo menu' })\n @ApiResponse({ status: 201, description: 'Tipo menu creato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Dati non validi', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Post('menu-types')\n async createMenuType(@Req() request: Request, @Body() body: CreateMenuTypeRequest, @Res() res: Response) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono creare tipi menu.');\n await this.permissionService.createMenuType(body);\n return RestUtilities.sendOKMessage(\n res,\n `Il tipo menu ${body.codiceTipo} e' stato creato con successo.`,\n HttpStatus.CREATED,\n );\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Aggiorna un tipo menu', operationId: 'updateMenuType' })\n @ApiParam({ name: 'codiceTipo', description: 'Codice del tipo menu da aggiornare', required: true, example: 'A' })\n @ApiBody({ type: UpdateMenuTypeRequest, description: 'Campi del tipo menu da aggiornare' })\n @ApiResponse({ status: 200, description: 'Tipo menu aggiornato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Dati non validi', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Put('menu-types/:codiceTipo')\n async updateMenuType(\n @Req() request: Request,\n @Param('codiceTipo') codiceTipo: string,\n @Body() body: UpdateMenuTypeRequest,\n @Res() res: Response,\n ) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono modificare tipi menu.');\n await this.permissionService.updateMenuType(codiceTipo, body);\n return RestUtilities.sendOKMessage(res, `Il tipo menu ${codiceTipo} e' stato aggiornato con successo.`);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Elimina un tipo menu', operationId: 'deleteMenuType' })\n @ApiParam({ name: 'codiceTipo', description: 'Codice del tipo menu da eliminare', required: true, example: 'A' })\n @ApiResponse({ status: 200, description: 'Tipo menu eliminato con successo', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Dati non validi', type: ErrorResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Delete('menu-types/:codiceTipo')\n async deleteMenuType(@Req() request: Request, @Param('codiceTipo') codiceTipo: string, @Res() res: Response) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono eliminare tipi menu.');\n await this.permissionService.deleteMenuType(codiceTipo);\n return RestUtilities.sendOKMessage(res, `Il tipo menu ${codiceTipo} e' stato eliminato con successo.`);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({\n summary: 'Recupera i ruoli e i menu di un utente',\n operationId: 'getUserRolesAndGrants',\n })\n @ApiOkResponse({ description: 'Elenco grant utente', type: UserGrantsResponse })\n @ApiResponse({ status: 200, description: 'Grant utente recuperati con successo', type: UserGrantsResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @ApiQuery({\n name: 'scope',\n required: false,\n type: String,\n description: 'Filtra i grant per scope applicativi (CSV). Assente = tutti.',\n })\n @Get('grants/:codiceUtente')\n async getUserRolesAndGrants(\n @Req() request: Request,\n @Param('codiceUtente', ParseIntPipe) codiceUtente: number,\n @Query('scope') scope: string,\n @Res() res: Response,\n ) {\n try {\n const authenticatedUser = getAuthenticatedAccessiUser(request);\n if (authenticatedUser.codiceUtente !== codiceUtente) {\n ensureUserManagement(\n authenticatedUser,\n 'Puoi consultare solo i tuoi grant, salvo privilegi amministrativi.',\n );\n // Anche un superutente non puo' leggere i grant di un admin: stessa\n // gerarchia ADMIN > SUPER applicata alle operazioni di scrittura.\n await this.ensureManageableTarget(authenticatedUser, codiceUtente);\n }\n\n const menus = await this.permissionService.getUserRolesAndGrants(codiceUtente, scope);\n return RestUtilities.sendBaseResponse(res, menus);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n // -------------------------------------------------------------------------\n // Scope applicativi: catalogo e associazioni menu/scope.\n // -------------------------------------------------------------------------\n\n @ApiOperation({ summary: 'Recupera il catalogo degli scope applicativi', operationId: 'getScopes' })\n @ApiOkResponse({ description: 'Elenco degli scope', type: GetScopesResponse })\n @ApiResponse({ status: 500, description: 'Errore interno del server', type: ErrorResponse })\n @Get('scopes')\n async getScopes(@Res() res: Response) {\n try {\n const scopes = await this.permissionService.getScopes();\n return RestUtilities.sendBaseResponse(res, scopes);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Crea uno scope applicativo', operationId: 'createScope' })\n @ApiBody({ type: CreateScopeRequest })\n @ApiResponse({ status: 201, description: 'Scope creato', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Dati non validi', type: ErrorResponse })\n @Post('scopes')\n async createScope(@Req() request: Request, @Body() body: CreateScopeRequest, @Res() res: Response) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono creare scope.');\n await this.permissionService.createScope(body);\n return RestUtilities.sendOKMessage(res, `Lo scope ${body.codice} e stato creato con successo.`, HttpStatus.CREATED);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Aggiorna uno scope applicativo', operationId: 'updateScope' })\n @ApiParam({ name: 'codiceScope', description: 'Codice dello scope', required: true })\n @ApiBody({ type: UpdateScopeRequest })\n @ApiResponse({ status: 200, description: 'Scope aggiornato', type: ActionResponse })\n @ApiResponse({ status: 400, description: 'Dati non validi', type: ErrorResponse })\n @Put('scopes/:codiceScope')\n async updateScope(\n @Req() request: Request,\n @Param('codiceScope') codiceScope: string,\n @Body() body: UpdateScopeRequest,\n @Res() res: Response,\n ) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono modificare scope.');\n await this.permissionService.updateScope(codiceScope, body);\n return RestUtilities.sendOKMessage(res, `Lo scope ${codiceScope} e stato aggiornato con successo.`);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Elimina uno scope applicativo', operationId: 'deleteScope' })\n @ApiParam({ name: 'codiceScope', description: 'Codice dello scope', required: true })\n @ApiResponse({ status: 200, description: 'Scope eliminato', type: ActionResponse })\n @Delete('scopes/:codiceScope')\n async deleteScope(\n @Req() request: Request,\n @Param('codiceScope') codiceScope: string,\n @Res() res: Response,\n ) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono eliminare scope.');\n await this.permissionService.deleteScope(codiceScope);\n return RestUtilities.sendOKMessage(res, `Lo scope ${codiceScope} e stato eliminato con successo.`);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Scope associati a un menu', operationId: 'getMenuScopes' })\n @ApiParam({ name: 'codiceMenu', description: 'Codice del menu', required: true })\n @ApiOkResponse({ description: 'Scope del menu', type: GetMenuScopesResponse })\n @Get('menus/:codiceMenu/scopes')\n async getMenuScopes(@Param('codiceMenu') codiceMenu: string, @Res() res: Response) {\n try {\n const scopes = await this.permissionService.getMenuScopes(codiceMenu);\n return RestUtilities.sendBaseResponse(res, scopes);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Sostituisce gli scope di un menu', operationId: 'setMenuScopes' })\n @ApiParam({ name: 'codiceMenu', description: 'Codice del menu', required: true })\n @ApiBody({ type: SetMenuScopesRequest })\n @ApiResponse({ status: 200, description: 'Scope del menu aggiornati', type: ActionResponse })\n @Put('menus/:codiceMenu/scopes')\n async setMenuScopes(\n @Req() request: Request,\n @Param('codiceMenu') codiceMenu: string,\n @Body() body: SetMenuScopesRequest,\n @Res() res: Response,\n ) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono modificare gli scope.');\n await this.permissionService.setMenuScopes(codiceMenu, body.scopes);\n return RestUtilities.sendOKMessage(res, `Scope del menu ${codiceMenu} aggiornati con successo.`);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n @ApiOperation({ summary: 'Sostituisce i menu di uno scope', operationId: 'setScopeMenus' })\n @ApiParam({ name: 'codiceScope', description: 'Codice dello scope', required: true })\n @ApiBody({ type: SetScopeMenusRequest })\n @ApiResponse({ status: 200, description: 'Menu dello scope aggiornati', type: ActionResponse })\n @Put('scopes/:codiceScope/menus')\n async setScopeMenus(\n @Req() request: Request,\n @Param('codiceScope') codiceScope: string,\n @Body() body: SetScopeMenusRequest,\n @Res() res: Response,\n ) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request), 'Solo gli amministratori possono modificare gli scope.');\n await this.permissionService.setScopeMenus(codiceScope, body.menu);\n return RestUtilities.sendOKMessage(res, `Menu dello scope ${codiceScope} aggiornati con successo.`);\n } catch (error) {\n return this.sendControllerError(res, error);\n }\n }\n\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import { Request, Response } from 'express';
2
+ import { Logger } from '../../Logger';
3
+ import { SchemaExportService } from '../Services/SchemaExportService/SchemaExportService';
4
+ export declare class SchemaController {
5
+ private readonly schemaExportService;
6
+ logger: Logger;
7
+ constructor(schemaExportService: SchemaExportService);
8
+ getSchema(request: Request, res: Response): Promise<Response<any, Record<string, any>>>;
9
+ }
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ var SchemaController_1;
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.SchemaController = void 0;
26
+ const common_1 = require("@nestjs/common");
27
+ const swagger_1 = require("@nestjs/swagger");
28
+ const Logger_1 = require("../../Logger");
29
+ const Utilities_1 = require("../../Utilities");
30
+ const Dtos_1 = require("../Dtos");
31
+ const jwt_strategy_1 = require("../jwt/jwt.strategy");
32
+ const accessControl_1 = require("../security/accessControl");
33
+ const SchemaExportService_1 = require("../Services/SchemaExportService/SchemaExportService");
34
+ let SchemaController = SchemaController_1 = class SchemaController {
35
+ constructor(schemaExportService) {
36
+ this.schemaExportService = schemaExportService;
37
+ this.logger = new Logger_1.Logger(SchemaController_1.name);
38
+ }
39
+ getSchema(request, res) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ try {
42
+ (0, accessControl_1.ensureAdmin)((0, accessControl_1.getAuthenticatedAccessiUser)(request));
43
+ const ddl = this.schemaExportService.buildDdl();
44
+ const entities = yield this.schemaExportService.presentEntities();
45
+ return Utilities_1.RestUtilities.sendBaseResponse(res, Object.assign(Object.assign({}, ddl), entities));
46
+ }
47
+ catch (error) {
48
+ this.logger.error('Errore durante l esportazione dello schema', error);
49
+ return Utilities_1.RestUtilities.sendErrorMessage(res, error, SchemaController_1.name);
50
+ }
51
+ });
52
+ }
53
+ };
54
+ exports.SchemaController = SchemaController;
55
+ __decorate([
56
+ (0, common_1.Get)(),
57
+ (0, swagger_1.ApiOperation)({
58
+ operationId: 'getSchema',
59
+ summary: 'Esporta lo schema DDL e le entita presenti',
60
+ description: 'Riservato agli admin. Genera il DDL delle entita Accessi e segnala le tabelle presenti fuori schema.',
61
+ }),
62
+ (0, swagger_1.ApiResponse)({ status: 200, type: Dtos_1.GetSchemaResponse }),
63
+ (0, swagger_1.ApiResponse)({ status: 403, type: Dtos_1.ErrorResponse }),
64
+ __param(0, (0, common_1.Req)()),
65
+ __param(1, (0, common_1.Res)()),
66
+ __metadata("design:type", Function),
67
+ __metadata("design:paramtypes", [Object, Object]),
68
+ __metadata("design:returntype", Promise)
69
+ ], SchemaController.prototype, "getSchema", null);
70
+ exports.SchemaController = SchemaController = SchemaController_1 = __decorate([
71
+ (0, swagger_1.ApiTags)('Schema'),
72
+ (0, swagger_1.ApiBearerAuth)(),
73
+ (0, common_1.Controller)('accessi/schema'),
74
+ (0, common_1.UseGuards)(jwt_strategy_1.JwtSimpleGuard)
75
+ /** Esporta il DDL delle entita Accessi per replicare il database su altre installazioni. */
76
+ ,
77
+ __metadata("design:paramtypes", [SchemaExportService_1.SchemaExportService])
78
+ ], SchemaController);
79
+ //# sourceMappingURL=SchemaController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaController.js","sourceRoot":"","sources":["../../../src/accessi-module/Controllers/SchemaController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAsE;AACtE,6CAAoF;AAEpF,yCAAsC;AACtC,+CAAgD;AAChD,kCAA2D;AAC3D,sDAAqD;AACrD,6DAAqF;AACrF,6FAA0F;AAOnF,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAG3B,YAA6B,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAFrE,WAAM,GAAW,IAAI,eAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IAEqB,CAAC;IAUnE,SAAS,CAAQ,OAAgB,EAAS,GAAa;;YAC3D,IAAI,CAAC;gBACH,IAAA,2BAAW,EAAC,IAAA,2CAA2B,EAAC,OAAO,CAAC,CAAC,CAAC;gBAClD,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAC;gBAClE,OAAO,yBAAa,CAAC,gBAAgB,CAAC,GAAG,kCAAO,GAAG,GAAK,QAAQ,EAAG,CAAC;YACtE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;gBACvE,OAAO,yBAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,kBAAgB,CAAC,IAAI,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;KAAA;CACF,CAAA;AAxBY,4CAAgB;AAarB;IARL,IAAA,YAAG,GAAE;IACL,IAAA,sBAAY,EAAC;QACZ,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,4CAA4C;QACrD,WAAW,EAAE,sGAAsG;KACpH,CAAC;IACD,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,wBAAiB,EAAE,CAAC;IACrD,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,oBAAa,EAAE,CAAC;IACjC,WAAA,IAAA,YAAG,GAAE,CAAA;IAAoB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;iDAU9C;2BAvBU,gBAAgB;IAL5B,IAAA,iBAAO,EAAC,QAAQ,CAAC;IACjB,IAAA,uBAAa,GAAE;IACf,IAAA,mBAAU,EAAC,gBAAgB,CAAC;IAC5B,IAAA,kBAAS,EAAC,6BAAc,CAAC;IAC1B,4FAA4F;;qCAIxC,yCAAmB;GAH1D,gBAAgB,CAwB5B","sourcesContent":["import { Controller, Get, Req, Res, UseGuards } from '@nestjs/common';\nimport { ApiBearerAuth, ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Request, Response } from 'express';\nimport { Logger } from '../../Logger';\nimport { RestUtilities } from '../../Utilities';\nimport { ErrorResponse, GetSchemaResponse } from '../Dtos';\nimport { JwtSimpleGuard } from '../jwt/jwt.strategy';\nimport { ensureAdmin, getAuthenticatedAccessiUser } from '../security/accessControl';\nimport { SchemaExportService } from '../Services/SchemaExportService/SchemaExportService';\n\n@ApiTags('Schema')\n@ApiBearerAuth()\n@Controller('accessi/schema')\n@UseGuards(JwtSimpleGuard)\n/** Esporta il DDL delle entita Accessi per replicare il database su altre installazioni. */\nexport class SchemaController {\n logger: Logger = new Logger(SchemaController.name);\n\n constructor(private readonly schemaExportService: SchemaExportService) {}\n\n @Get()\n @ApiOperation({\n operationId: 'getSchema',\n summary: 'Esporta lo schema DDL e le entita presenti',\n description: 'Riservato agli admin. Genera il DDL delle entita Accessi e segnala le tabelle presenti fuori schema.',\n })\n @ApiResponse({ status: 200, type: GetSchemaResponse })\n @ApiResponse({ status: 403, type: ErrorResponse })\n async getSchema(@Req() request: Request, @Res() res: Response) {\n try {\n ensureAdmin(getAuthenticatedAccessiUser(request));\n const ddl = this.schemaExportService.buildDdl();\n const entities = await this.schemaExportService.presentEntities();\n return RestUtilities.sendBaseResponse(res, { ...ddl, ...entities });\n } catch (error) {\n this.logger.error('Errore durante l esportazione dello schema', error);\n return RestUtilities.sendErrorMessage(res, error, SchemaController.name);\n }\n }\n}\n"]}
@@ -0,0 +1,23 @@
1
+ import { Request, Response } from 'express';
2
+ import type { AccessiOptions } from '../AccessiModule';
3
+ import { CreateServiceTokenRequest } from '../Dtos';
4
+ import { ServiceTokenService } from '../Services/ServiceTokenService/ServiceTokenService';
5
+ /**
6
+ * Gestione amministrativa dei token di servizio (macchina-a-macchina).
7
+ *
8
+ * Il segreto e mostrato una sola volta alla creazione/rotazione; le operazioni richiedono un
9
+ * superutente Accessi. Gli endpoint di utilizzo dei token non sono qui: i consumer autenticano
10
+ * con `Authorization: Bearer <token>` tramite `ServiceTokenGuard`.
11
+ */
12
+ export declare class ServiceTokenController {
13
+ private readonly serviceTokenService;
14
+ private readonly options;
15
+ constructor(serviceTokenService: ServiceTokenService, options: AccessiOptions);
16
+ private assertEnabled;
17
+ private requireSuperUser;
18
+ private sendError;
19
+ create(body: CreateServiceTokenRequest, req: Request, res: Response): Promise<Response>;
20
+ list(includeRevoked: string | undefined, req: Request, res: Response): Promise<Response>;
21
+ revoke(tokenId: string, req: Request, res: Response): Promise<Response>;
22
+ rotate(tokenId: string, req: Request, res: Response): Promise<Response>;
23
+ }
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ var ServiceTokenController_1;
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.ServiceTokenController = void 0;
26
+ const common_1 = require("@nestjs/common");
27
+ const swagger_1 = require("@nestjs/swagger");
28
+ const Utilities_1 = require("../../Utilities");
29
+ const Dtos_1 = require("../Dtos");
30
+ const jwt_strategy_1 = require("../jwt/jwt.strategy");
31
+ const accessControl_1 = require("../security/accessControl");
32
+ const ServiceTokenService_1 = require("../Services/ServiceTokenService/ServiceTokenService");
33
+ /**
34
+ * Gestione amministrativa dei token di servizio (macchina-a-macchina).
35
+ *
36
+ * Il segreto e mostrato una sola volta alla creazione/rotazione; le operazioni richiedono un
37
+ * superutente Accessi. Gli endpoint di utilizzo dei token non sono qui: i consumer autenticano
38
+ * con `Authorization: Bearer <token>` tramite `ServiceTokenGuard`.
39
+ */
40
+ let ServiceTokenController = ServiceTokenController_1 = class ServiceTokenController {
41
+ constructor(serviceTokenService, options) {
42
+ this.serviceTokenService = serviceTokenService;
43
+ this.options = options;
44
+ }
45
+ assertEnabled() {
46
+ var _a;
47
+ if (((_a = this.options.serviceTokens) === null || _a === void 0 ? void 0 : _a.enabled) === false) {
48
+ throw new common_1.HttpException('I token di servizio sono disabilitati in questa istanza.', 404);
49
+ }
50
+ }
51
+ requireSuperUser(req) {
52
+ this.assertEnabled();
53
+ const user = (0, accessControl_1.getAuthenticatedAccessiUser)(req);
54
+ (0, accessControl_1.ensureAdmin)(user, 'Solo un admin puo gestire i token di servizio.');
55
+ return user;
56
+ }
57
+ sendError(res, error) {
58
+ // Lo status viene derivato centralmente da RestUtilities (HttpException o 500).
59
+ return Utilities_1.RestUtilities.sendErrorMessage(res, error, ServiceTokenController_1.name);
60
+ }
61
+ create(body, req, res) {
62
+ return __awaiter(this, void 0, void 0, function* () {
63
+ try {
64
+ const user = this.requireSuperUser(req);
65
+ const issued = yield this.serviceTokenService.issue(body, user.codiceUtente);
66
+ return Utilities_1.RestUtilities.sendBaseResponse(res, issued, 201);
67
+ }
68
+ catch (error) {
69
+ return this.sendError(res, error);
70
+ }
71
+ });
72
+ }
73
+ list(includeRevoked, req, res) {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ try {
76
+ this.requireSuperUser(req);
77
+ const tokens = yield this.serviceTokenService.list(includeRevoked === 'true');
78
+ return Utilities_1.RestUtilities.sendBaseResponse(res, tokens);
79
+ }
80
+ catch (error) {
81
+ return this.sendError(res, error);
82
+ }
83
+ });
84
+ }
85
+ revoke(tokenId, req, res) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ try {
88
+ const user = this.requireSuperUser(req);
89
+ yield this.serviceTokenService.revoke(tokenId, user.codiceUtente);
90
+ return Utilities_1.RestUtilities.sendOKMessage(res, 'Token di servizio revocato con successo.');
91
+ }
92
+ catch (error) {
93
+ return this.sendError(res, error);
94
+ }
95
+ });
96
+ }
97
+ rotate(tokenId, req, res) {
98
+ return __awaiter(this, void 0, void 0, function* () {
99
+ try {
100
+ const user = this.requireSuperUser(req);
101
+ const issued = yield this.serviceTokenService.rotate(tokenId, user.codiceUtente);
102
+ return Utilities_1.RestUtilities.sendBaseResponse(res, issued, 201);
103
+ }
104
+ catch (error) {
105
+ return this.sendError(res, error);
106
+ }
107
+ });
108
+ }
109
+ };
110
+ exports.ServiceTokenController = ServiceTokenController;
111
+ __decorate([
112
+ (0, common_1.Post)(),
113
+ (0, swagger_1.ApiOperation)({ summary: 'Emetti un nuovo token di servizio', operationId: 'createServiceToken' }),
114
+ (0, swagger_1.ApiBody)({ type: Dtos_1.CreateServiceTokenRequest }),
115
+ (0, swagger_1.ApiResponse)({ status: 201, description: 'Token creato; il segreto e mostrato solo in questa risposta.', type: Dtos_1.CreateServiceTokenResponse }),
116
+ (0, swagger_1.ApiResponse)({ status: 400, description: 'Dati non validi', type: Dtos_1.ErrorResponse }),
117
+ (0, swagger_1.ApiResponse)({ status: 401, description: 'Token Accessi mancante o non valido', type: Dtos_1.ErrorResponse }),
118
+ (0, swagger_1.ApiResponse)({ status: 403, description: 'Richiede un superutente', type: Dtos_1.ErrorResponse }),
119
+ __param(0, (0, common_1.Body)()),
120
+ __param(1, (0, common_1.Req)()),
121
+ __param(2, (0, common_1.Res)()),
122
+ __metadata("design:type", Function),
123
+ __metadata("design:paramtypes", [Dtos_1.CreateServiceTokenRequest, Object, Object]),
124
+ __metadata("design:returntype", Promise)
125
+ ], ServiceTokenController.prototype, "create", null);
126
+ __decorate([
127
+ (0, common_1.Get)(),
128
+ (0, swagger_1.ApiOperation)({ summary: 'Elenca i token di servizio (senza segreti)', operationId: 'getServiceTokens' }),
129
+ (0, swagger_1.ApiQuery)({ name: 'includeRevoked', required: false, description: 'Includi anche i token revocati.', type: Boolean }),
130
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Elenco dei token.', type: Dtos_1.GetServiceTokensResponse }),
131
+ (0, swagger_1.ApiResponse)({ status: 401, description: 'Token Accessi mancante o non valido', type: Dtos_1.ErrorResponse }),
132
+ (0, swagger_1.ApiResponse)({ status: 403, description: 'Richiede un superutente', type: Dtos_1.ErrorResponse }),
133
+ __param(0, (0, common_1.Query)('includeRevoked')),
134
+ __param(1, (0, common_1.Req)()),
135
+ __param(2, (0, common_1.Res)()),
136
+ __metadata("design:type", Function),
137
+ __metadata("design:paramtypes", [Object, Object, Object]),
138
+ __metadata("design:returntype", Promise)
139
+ ], ServiceTokenController.prototype, "list", null);
140
+ __decorate([
141
+ (0, common_1.Delete)(':tokenId'),
142
+ (0, swagger_1.ApiOperation)({ summary: 'Revoca un token di servizio', operationId: 'revokeServiceToken' }),
143
+ (0, swagger_1.ApiParam)({ name: 'tokenId', description: 'Identificativo del token.', example: 'st_3f1a2b3c4d5e6f708192a3b4c5d6e7f8' }),
144
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Token revocato.', type: Dtos_1.ErrorResponse }),
145
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Token non trovato', type: Dtos_1.ErrorResponse }),
146
+ (0, swagger_1.ApiResponse)({ status: 403, description: 'Richiede un superutente', type: Dtos_1.ErrorResponse }),
147
+ __param(0, (0, common_1.Param)('tokenId')),
148
+ __param(1, (0, common_1.Req)()),
149
+ __param(2, (0, common_1.Res)()),
150
+ __metadata("design:type", Function),
151
+ __metadata("design:paramtypes", [String, Object, Object]),
152
+ __metadata("design:returntype", Promise)
153
+ ], ServiceTokenController.prototype, "revoke", null);
154
+ __decorate([
155
+ (0, common_1.Post)(':tokenId/rotate'),
156
+ (0, swagger_1.ApiOperation)({ summary: 'Ruota un token di servizio', operationId: 'rotateServiceToken' }),
157
+ (0, swagger_1.ApiParam)({ name: 'tokenId', description: 'Identificativo del token da sostituire.', example: 'st_3f1a2b3c4d5e6f708192a3b4c5d6e7f8' }),
158
+ (0, swagger_1.ApiResponse)({ status: 201, description: 'Nuovo token emesso; il vecchio e revocato.', type: Dtos_1.CreateServiceTokenResponse }),
159
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Token non trovato', type: Dtos_1.ErrorResponse }),
160
+ (0, swagger_1.ApiResponse)({ status: 403, description: 'Richiede un superutente', type: Dtos_1.ErrorResponse }),
161
+ __param(0, (0, common_1.Param)('tokenId')),
162
+ __param(1, (0, common_1.Req)()),
163
+ __param(2, (0, common_1.Res)()),
164
+ __metadata("design:type", Function),
165
+ __metadata("design:paramtypes", [String, Object, Object]),
166
+ __metadata("design:returntype", Promise)
167
+ ], ServiceTokenController.prototype, "rotate", null);
168
+ exports.ServiceTokenController = ServiceTokenController = ServiceTokenController_1 = __decorate([
169
+ (0, swagger_1.ApiBearerAuth)(),
170
+ (0, swagger_1.ApiTags)('ServiceToken'),
171
+ (0, common_1.Controller)('accessi/service-token'),
172
+ (0, common_1.UseGuards)(jwt_strategy_1.JwtSimpleGuard),
173
+ __param(1, (0, common_1.Inject)('ACCESSI_OPTIONS')),
174
+ __metadata("design:paramtypes", [ServiceTokenService_1.ServiceTokenService, Object])
175
+ ], ServiceTokenController);
176
+ //# sourceMappingURL=ServiceTokenController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceTokenController.js","sourceRoot":"","sources":["../../../src/accessi-module/Controllers/ServiceTokenController.ts"],"names":[],"mappings":"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","sourcesContent":["import { Body, Controller, Delete, Get, HttpException, Inject, Param, Post, Query, Req, Res, UseGuards } from '@nestjs/common';\nimport { ApiBearerAuth, ApiBody, ApiOperation, ApiParam, ApiQuery, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Request, Response } from 'express';\nimport { RestUtilities } from '../../Utilities';\nimport type { AccessiOptions } from '../AccessiModule';\nimport {\n CreateServiceTokenRequest,\n CreateServiceTokenResponse,\n ErrorResponse,\n GetServiceTokensResponse,\n} from '../Dtos';\nimport { JwtSimpleGuard } from '../jwt/jwt.strategy';\nimport { getAuthenticatedAccessiUser, ensureAdmin } from '../security/accessControl';\nimport { ServiceTokenService } from '../Services/ServiceTokenService/ServiceTokenService';\n\n/**\n * Gestione amministrativa dei token di servizio (macchina-a-macchina).\n *\n * Il segreto e mostrato una sola volta alla creazione/rotazione; le operazioni richiedono un\n * superutente Accessi. Gli endpoint di utilizzo dei token non sono qui: i consumer autenticano\n * con `Authorization: Bearer <token>` tramite `ServiceTokenGuard`.\n */\n@ApiBearerAuth()\n@ApiTags('ServiceToken')\n@Controller('accessi/service-token')\n@UseGuards(JwtSimpleGuard)\nexport class ServiceTokenController {\n constructor(\n private readonly serviceTokenService: ServiceTokenService,\n @Inject('ACCESSI_OPTIONS') private readonly options: AccessiOptions,\n ) {}\n\n private assertEnabled(): void {\n if (this.options.serviceTokens?.enabled === false) {\n throw new HttpException('I token di servizio sono disabilitati in questa istanza.', 404);\n }\n }\n\n private requireSuperUser(req: Request) {\n this.assertEnabled();\n const user = getAuthenticatedAccessiUser(req);\n ensureAdmin(user, 'Solo un admin puo gestire i token di servizio.');\n return user;\n }\n\n private sendError(res: Response, error: unknown): Response {\n // Lo status viene derivato centralmente da RestUtilities (HttpException o 500).\n return RestUtilities.sendErrorMessage(res, error, ServiceTokenController.name);\n }\n\n @Post()\n @ApiOperation({ summary: 'Emetti un nuovo token di servizio', operationId: 'createServiceToken' })\n @ApiBody({ type: CreateServiceTokenRequest })\n @ApiResponse({ status: 201, description: 'Token creato; il segreto e mostrato solo in questa risposta.', type: CreateServiceTokenResponse })\n @ApiResponse({ status: 400, description: 'Dati non validi', type: ErrorResponse })\n @ApiResponse({ status: 401, description: 'Token Accessi mancante o non valido', type: ErrorResponse })\n @ApiResponse({ status: 403, description: 'Richiede un superutente', type: ErrorResponse })\n async create(\n @Body() body: CreateServiceTokenRequest,\n @Req() req: Request,\n @Res() res: Response,\n ): Promise<Response> {\n try {\n const user = this.requireSuperUser(req);\n const issued = await this.serviceTokenService.issue(body, user.codiceUtente);\n return RestUtilities.sendBaseResponse(res, issued, 201);\n } catch (error) {\n return this.sendError(res, error);\n }\n }\n\n @Get()\n @ApiOperation({ summary: 'Elenca i token di servizio (senza segreti)', operationId: 'getServiceTokens' })\n @ApiQuery({ name: 'includeRevoked', required: false, description: 'Includi anche i token revocati.', type: Boolean })\n @ApiResponse({ status: 200, description: 'Elenco dei token.', type: GetServiceTokensResponse })\n @ApiResponse({ status: 401, description: 'Token Accessi mancante o non valido', type: ErrorResponse })\n @ApiResponse({ status: 403, description: 'Richiede un superutente', type: ErrorResponse })\n async list(\n @Query('includeRevoked') includeRevoked: string | undefined,\n @Req() req: Request,\n @Res() res: Response,\n ): Promise<Response> {\n try {\n this.requireSuperUser(req);\n const tokens = await this.serviceTokenService.list(includeRevoked === 'true');\n return RestUtilities.sendBaseResponse(res, tokens);\n } catch (error) {\n return this.sendError(res, error);\n }\n }\n\n @Delete(':tokenId')\n @ApiOperation({ summary: 'Revoca un token di servizio', operationId: 'revokeServiceToken' })\n @ApiParam({ name: 'tokenId', description: 'Identificativo del token.', example: 'st_3f1a2b3c4d5e6f708192a3b4c5d6e7f8' })\n @ApiResponse({ status: 200, description: 'Token revocato.', type: ErrorResponse })\n @ApiResponse({ status: 404, description: 'Token non trovato', type: ErrorResponse })\n @ApiResponse({ status: 403, description: 'Richiede un superutente', type: ErrorResponse })\n async revoke(\n @Param('tokenId') tokenId: string,\n @Req() req: Request,\n @Res() res: Response,\n ): Promise<Response> {\n try {\n const user = this.requireSuperUser(req);\n await this.serviceTokenService.revoke(tokenId, user.codiceUtente);\n return RestUtilities.sendOKMessage(res, 'Token di servizio revocato con successo.');\n } catch (error) {\n return this.sendError(res, error);\n }\n }\n\n @Post(':tokenId/rotate')\n @ApiOperation({ summary: 'Ruota un token di servizio', operationId: 'rotateServiceToken' })\n @ApiParam({ name: 'tokenId', description: 'Identificativo del token da sostituire.', example: 'st_3f1a2b3c4d5e6f708192a3b4c5d6e7f8' })\n @ApiResponse({ status: 201, description: 'Nuovo token emesso; il vecchio e revocato.', type: CreateServiceTokenResponse })\n @ApiResponse({ status: 404, description: 'Token non trovato', type: ErrorResponse })\n @ApiResponse({ status: 403, description: 'Richiede un superutente', type: ErrorResponse })\n async rotate(\n @Param('tokenId') tokenId: string,\n @Req() req: Request,\n @Res() res: Response,\n ): Promise<Response> {\n try {\n const user = this.requireSuperUser(req);\n const issued = await this.serviceTokenService.rotate(tokenId, user.codiceUtente);\n return RestUtilities.sendBaseResponse(res, issued, 201);\n } catch (error) {\n return this.sendError(res, error);\n }\n }\n}\n"]}
@@ -1,22 +1,39 @@
1
1
  import { Request, Response } from 'express';
2
- import { AccessiOptions } from '../AccessiModule';
2
+ import type { AccessiOptions } from '../AccessiModule';
3
+ import { LoginAsRequest } from '../Dtos/LoginAsDtos';
4
+ import { PublicRegisterRequest } from '../Dtos/PublicRegisterRequest';
3
5
  import { RegisterRequest } from '../Dtos/RegisterRequest';
4
6
  import { SetStatoRegistrazioneDto } from '../Dtos/SetStatoRegistrazione';
7
+ import { SetUserPasswordRequest } from '../Dtos/SetUserPasswordRequest';
5
8
  import { UserDto } from '../Dtos/UserDto';
9
+ import { AuthService } from '../Services/AuthService/AuthService';
6
10
  import { EmailService } from '../Services/EmailService/EmailService';
7
11
  import { UserService } from '../Services/UserService/UserService';
8
12
  export declare class UserController {
9
13
  private readonly accessiOptions;
10
14
  private readonly userService;
11
15
  private readonly emailService;
16
+ private readonly authService;
12
17
  private readonly logger;
13
- constructor(accessiOptions: AccessiOptions, userService: UserService, emailService: EmailService);
18
+ constructor(accessiOptions: AccessiOptions, userService: UserService, emailService: EmailService, authService: AuthService);
14
19
  private sendControllerError;
15
- serveResetPasswordPage(res: Response, token: string): Promise<void>;
16
- getUsers(request: Request, res: Response, email?: string, codiceUtente?: number, includeExtensionFields?: boolean, includeGrants?: boolean): Promise<Response<any, Record<string, any>>>;
20
+ /**
21
+ * Verifica che il target esista e che l'attore possa gestirlo (rango attore >=
22
+ * rango target: ADMIN > SUPER > utente). Restituisce lo snapshot corrente del
23
+ * target, così i chiamanti possono controllare se e' admin.
24
+ */
25
+ private ensureManageableTarget;
26
+ serveResetPasswordPage(res: Response, _token: string): Promise<void>;
27
+ getUsers(request: Request, res: Response, email?: string, codiceUtente?: number, includeExtensionFields?: boolean, includeGrants?: boolean, limit?: number, offset?: number): Promise<Response<any, Record<string, any>>>;
17
28
  deleteUser(request: Request, codiceUtente: number, res: Response): Promise<Response<any, Record<string, any>>>;
29
+ deleteUserPermanently(request: Request, codiceUtente: number, res: Response): Promise<Response<any, Record<string, any>>>;
30
+ forcePasswordReset(request: Request, codiceUtente: number, res: Response): Promise<Response<any, Record<string, any>>>;
31
+ forcePasswordResetLegacy(request: Request, res: Response): Promise<Response<any, Record<string, any>>>;
32
+ createLoginAsUrl(request: Request, codiceUtente: number, body: LoginAsRequest, res: Response): Promise<Response<any, Record<string, any>>>;
33
+ setUserPassword(request: Request, codiceUtente: number, body: SetUserPasswordRequest, res: Response): Promise<Response<any, Record<string, any>>>;
18
34
  setStatoRegistrazione(request: Request, body: SetStatoRegistrazioneDto, res: Response): Promise<Response<any, Record<string, any>>>;
19
- register(request: Request, registrationData: RegisterRequest, res: Response): Promise<Response<any, Record<string, any>>>;
35
+ register(request: Request, registrationData: PublicRegisterRequest, res: Response): Promise<Response<any, Record<string, any>>>;
36
+ createManagedUser(request: Request, registrationData: RegisterRequest, res: Response): Promise<Response<any, Record<string, any>>>;
20
37
  updateUtente(request: Request, codiceUtente: number, user: UserDto, res: Response): Promise<Response<any, Record<string, any>>>;
21
38
  setGdpr(request: Request, codiceUtente: number, res: Response): Promise<Response<any, Record<string, any>>>;
22
39
  }