@acorex-platform/module-security-management-server 0.0.18 → 2.0.0-next.42

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 (453) hide show
  1. package/contracts/src/AXM_USER_ACCESS_STATE_DEFINITION_KEY.js.map +1 -1
  2. package/contracts/src/AXM_USER_EFFECTIVE_STATE_DEFINITION_KEY.js.map +1 -1
  3. package/contracts/src/ROLE_PERMISSIONS_PAGE_COMPONENT_KEY.d.ts +2 -0
  4. package/contracts/src/ROLE_PERMISSIONS_PAGE_COMPONENT_KEY.js +6 -0
  5. package/contracts/src/ROLE_PERMISSIONS_PAGE_COMPONENT_KEY.js.map +1 -0
  6. package/contracts/src/USER_ROLES_PAGE_COMPONENT_KEY.d.ts +1 -0
  7. package/contracts/src/USER_ROLES_PAGE_COMPONENT_KEY.js +5 -0
  8. package/contracts/src/USER_ROLES_PAGE_COMPONENT_KEY.js.map +1 -0
  9. package/contracts/src/create-application-role-rows.util.d.ts +15 -0
  10. package/contracts/src/create-application-role-rows.util.js +67 -0
  11. package/contracts/src/create-application-role-rows.util.js.map +1 -0
  12. package/contracts/src/device-session-admin-scope.d.ts +15 -0
  13. package/contracts/src/device-session-admin-scope.js +16 -0
  14. package/contracts/src/device-session-admin-scope.js.map +1 -0
  15. package/contracts/src/entities/device-sessions/device-sessions.entity.js +50 -1
  16. package/contracts/src/entities/device-sessions/device-sessions.entity.js.map +1 -1
  17. package/contracts/src/entities/device-sessions/device-sessions.types.d.ts +7 -0
  18. package/contracts/src/entities/device-sessions/device-sessions.types.js.map +1 -1
  19. package/contracts/src/entities/device-sessions/index.d.ts +0 -1
  20. package/contracts/src/entities/device-sessions/index.js +0 -1
  21. package/contracts/src/entities/device-sessions/index.js.map +1 -1
  22. package/contracts/src/entities/identity-provider/identity-provider.entity.d.ts +2 -0
  23. package/contracts/src/entities/identity-provider/identity-provider.entity.js +453 -0
  24. package/contracts/src/entities/identity-provider/identity-provider.entity.js.map +1 -0
  25. package/contracts/src/entities/identity-provider/identity-provider.types.d.ts +61 -0
  26. package/contracts/src/entities/identity-provider/identity-provider.types.js +14 -0
  27. package/contracts/src/entities/identity-provider/identity-provider.types.js.map +1 -0
  28. package/contracts/src/entities/identity-provider/index.d.ts +1 -0
  29. package/contracts/src/entities/identity-provider/index.js +5 -0
  30. package/contracts/src/entities/identity-provider/index.js.map +1 -0
  31. package/contracts/src/entities/index.d.ts +4 -0
  32. package/contracts/src/entities/index.js +4 -0
  33. package/contracts/src/entities/index.js.map +1 -1
  34. package/contracts/src/entities/policy/index.d.ts +0 -1
  35. package/contracts/src/entities/policy/index.js +0 -1
  36. package/contracts/src/entities/policy/index.js.map +1 -1
  37. package/contracts/src/entities/policy/policy.entity.js +15 -0
  38. package/contracts/src/entities/policy/policy.entity.js.map +1 -1
  39. package/contracts/src/entities/policy/policy.types.js.map +1 -1
  40. package/contracts/src/entities/profile/index.d.ts +0 -1
  41. package/contracts/src/entities/profile/index.js +0 -1
  42. package/contracts/src/entities/profile/index.js.map +1 -1
  43. package/contracts/src/entities/profile/profile.entity.js +15 -0
  44. package/contracts/src/entities/profile/profile.entity.js.map +1 -1
  45. package/contracts/src/entities/profile/profile.types.js.map +1 -1
  46. package/contracts/src/entities/role-permission/index.d.ts +1 -0
  47. package/contracts/src/entities/role-permission/index.js +5 -0
  48. package/contracts/src/entities/role-permission/index.js.map +1 -0
  49. package/contracts/src/entities/role-permission/role-permission.entity.d.ts +2 -0
  50. package/contracts/src/entities/role-permission/role-permission.entity.js +163 -0
  51. package/contracts/src/entities/role-permission/role-permission.entity.js.map +1 -0
  52. package/contracts/src/entities/role-permission/role-permission.types.d.ts +11 -0
  53. package/contracts/src/entities/role-permission/role-permission.types.js +5 -0
  54. package/contracts/src/entities/role-permission/role-permission.types.js.map +1 -0
  55. package/contracts/src/entities/roles/index.d.ts +0 -1
  56. package/contracts/src/entities/roles/index.js +0 -1
  57. package/contracts/src/entities/roles/index.js.map +1 -1
  58. package/contracts/src/entities/roles/roles.entity.js +73 -144
  59. package/contracts/src/entities/roles/roles.entity.js.map +1 -1
  60. package/contracts/src/entities/roles/roles.types.d.ts +4 -1
  61. package/contracts/src/entities/roles/roles.types.js.map +1 -1
  62. package/contracts/src/entities/user-role/index.d.ts +1 -0
  63. package/{src/lib/seed/tenant → contracts/src/entities/user-role}/index.js +1 -1
  64. package/contracts/src/entities/user-role/index.js.map +1 -0
  65. package/contracts/src/entities/user-role/user-role.entity.d.ts +2 -0
  66. package/contracts/src/entities/user-role/user-role.entity.js +164 -0
  67. package/contracts/src/entities/user-role/user-role.entity.js.map +1 -0
  68. package/contracts/src/entities/user-role/user-role.types.d.ts +11 -0
  69. package/contracts/src/entities/user-role/user-role.types.js +5 -0
  70. package/contracts/src/entities/user-role/user-role.types.js.map +1 -0
  71. package/contracts/src/entities/user-two-factor/index.d.ts +2 -0
  72. package/contracts/src/entities/user-two-factor/index.js +8 -0
  73. package/contracts/src/entities/user-two-factor/index.js.map +1 -0
  74. package/contracts/src/entities/user-two-factor/user-two-factor.entity.d.ts +6 -0
  75. package/contracts/src/entities/user-two-factor/user-two-factor.entity.js +103 -0
  76. package/contracts/src/entities/user-two-factor/user-two-factor.entity.js.map +1 -0
  77. package/contracts/src/entities/user-two-factor/user-two-factor.types.d.ts +24 -0
  78. package/contracts/src/entities/user-two-factor/user-two-factor.types.js +4 -0
  79. package/contracts/src/entities/user-two-factor/user-two-factor.types.js.map +1 -0
  80. package/contracts/src/entities/users/index.d.ts +1 -1
  81. package/contracts/src/entities/users/index.js +1 -1
  82. package/contracts/src/entities/users/index.js.map +1 -1
  83. package/contracts/src/entities/users/user-provisioning-list-actions.d.ts +8 -0
  84. package/contracts/src/entities/users/user-provisioning-list-actions.js +95 -0
  85. package/contracts/src/entities/users/user-provisioning-list-actions.js.map +1 -0
  86. package/contracts/src/entities/users/users.entity.js +244 -83
  87. package/contracts/src/entities/users/users.entity.js.map +1 -1
  88. package/contracts/src/entities/users/users.types.d.ts +15 -0
  89. package/contracts/src/entities/users/users.types.js.map +1 -1
  90. package/contracts/src/entity-catalog.d.ts +7 -0
  91. package/contracts/src/entity-catalog.js +28 -0
  92. package/contracts/src/entity-catalog.js.map +1 -0
  93. package/contracts/src/entity-entry.device-sessions.d.ts +1 -0
  94. package/contracts/src/entity-entry.device-sessions.js +6 -0
  95. package/contracts/src/entity-entry.device-sessions.js.map +1 -0
  96. package/contracts/src/entity-entry.identity-provider.d.ts +1 -0
  97. package/contracts/src/entity-entry.identity-provider.js +6 -0
  98. package/contracts/src/entity-entry.identity-provider.js.map +1 -0
  99. package/contracts/src/entity-entry.policy.d.ts +1 -0
  100. package/contracts/src/entity-entry.policy.js +6 -0
  101. package/contracts/src/entity-entry.policy.js.map +1 -0
  102. package/contracts/src/entity-entry.profile.d.ts +1 -0
  103. package/contracts/src/entity-entry.profile.js +6 -0
  104. package/contracts/src/entity-entry.profile.js.map +1 -0
  105. package/contracts/src/entity-entry.role-permission.d.ts +1 -0
  106. package/contracts/src/entity-entry.role-permission.js +6 -0
  107. package/contracts/src/entity-entry.role-permission.js.map +1 -0
  108. package/contracts/src/entity-entry.roles.d.ts +1 -0
  109. package/contracts/src/entity-entry.roles.js +6 -0
  110. package/contracts/src/entity-entry.roles.js.map +1 -0
  111. package/contracts/src/entity-entry.user-role.d.ts +1 -0
  112. package/contracts/src/entity-entry.user-role.js +6 -0
  113. package/contracts/src/entity-entry.user-role.js.map +1 -0
  114. package/contracts/src/entity-entry.user-two-factor.d.ts +1 -0
  115. package/contracts/src/entity-entry.user-two-factor.js +6 -0
  116. package/contracts/src/entity-entry.user-two-factor.js.map +1 -0
  117. package/contracts/src/entity-entry.users.d.ts +1 -0
  118. package/contracts/src/entity-entry.users.js +6 -0
  119. package/contracts/src/entity-entry.users.js.map +1 -0
  120. package/contracts/src/features.keys.d.ts +4 -0
  121. package/contracts/src/features.keys.js +4 -0
  122. package/contracts/src/features.keys.js.map +1 -1
  123. package/contracts/src/index.d.ts +10 -1
  124. package/contracts/src/index.js +10 -1
  125. package/contracts/src/index.js.map +1 -1
  126. package/contracts/src/invite-application-role-rows.util.d.ts +16 -0
  127. package/contracts/src/invite-application-role-rows.util.js +68 -0
  128. package/contracts/src/invite-application-role-rows.util.js.map +1 -0
  129. package/contracts/src/invite-assignable-roles.util.d.ts +34 -0
  130. package/contracts/src/invite-assignable-roles.util.js +75 -0
  131. package/contracts/src/invite-assignable-roles.util.js.map +1 -0
  132. package/contracts/src/lib/context.definitions.d.ts +2 -0
  133. package/contracts/src/lib/context.definitions.js +15 -0
  134. package/contracts/src/lib/context.definitions.js.map +1 -0
  135. package/contracts/src/manifest.d.ts +6 -0
  136. package/contracts/src/manifest.js +24 -0
  137. package/contracts/src/manifest.js.map +1 -0
  138. package/contracts/src/menu.keys.d.ts +1 -0
  139. package/contracts/src/menu.keys.js +1 -0
  140. package/contracts/src/menu.keys.js.map +1 -1
  141. package/contracts/src/permission.keys.d.ts +48 -18
  142. package/contracts/src/permission.keys.js +49 -21
  143. package/contracts/src/permission.keys.js.map +1 -1
  144. package/contracts/src/resolve-user-effective-state.js.map +1 -1
  145. package/contracts/src/root-config.d.ts +33 -0
  146. package/contracts/src/root-config.js +33 -0
  147. package/contracts/src/root-config.js.map +1 -1
  148. package/contracts/src/server-commands.d.ts +322 -0
  149. package/contracts/src/server-commands.js +77 -1
  150. package/contracts/src/server-commands.js.map +1 -1
  151. package/contracts/src/settings.keys.d.ts +16 -0
  152. package/contracts/src/settings.keys.js +21 -0
  153. package/contracts/src/settings.keys.js.map +1 -0
  154. package/contracts/src/user-access-state.js.map +1 -1
  155. package/contracts/src/user-effective-state.js.map +1 -1
  156. package/contracts/src/user-invitation.d.ts +41 -0
  157. package/contracts/src/user-invitation.js +18 -0
  158. package/contracts/src/user-invitation.js.map +1 -0
  159. package/contracts/src/user-password-reset.js.map +1 -1
  160. package/package.json +16 -18
  161. package/server/src/index.d.ts +3 -0
  162. package/server/src/index.js +11 -0
  163. package/server/src/index.js.map +1 -0
  164. package/server/src/lib/effective-access-history/effective-access-history.service.d.ts +35 -0
  165. package/server/src/lib/effective-access-history/effective-access-history.service.js +486 -0
  166. package/server/src/lib/effective-access-history/effective-access-history.service.js.map +1 -0
  167. package/server/src/lib/effective-access-history/effective-access-history.types.d.ts +64 -0
  168. package/server/src/lib/effective-access-history/effective-access-history.types.js +5 -0
  169. package/server/src/lib/effective-access-history/effective-access-history.types.js.map +1 -0
  170. package/server/src/lib/effective-access-history/version-as-of.util.d.ts +37 -0
  171. package/server/src/lib/effective-access-history/version-as-of.util.js +167 -0
  172. package/server/src/lib/effective-access-history/version-as-of.util.js.map +1 -0
  173. package/server/src/lib/entities/index.d.ts +1 -0
  174. package/server/src/lib/entities/index.js +5 -0
  175. package/{src/lib/seed/tenant → server/src/lib/entities}/index.js.map +1 -1
  176. package/server/src/lib/entities/security-management.entity-catalog.d.ts +1 -0
  177. package/server/src/lib/entities/security-management.entity-catalog.js +12 -0
  178. package/server/src/lib/entities/security-management.entity-catalog.js.map +1 -0
  179. package/server/src/lib/handlers/security-report.handlers.d.ts +36 -0
  180. package/server/src/lib/handlers/security-report.handlers.js +164 -0
  181. package/server/src/lib/handlers/security-report.handlers.js.map +1 -0
  182. package/server/src/lib/identity-provider/auth-oauth-clients.constants.d.ts +5 -0
  183. package/server/src/lib/identity-provider/auth-oauth-clients.constants.js +11 -0
  184. package/server/src/lib/identity-provider/auth-oauth-clients.constants.js.map +1 -0
  185. package/server/src/lib/identity-provider/identity-provider-catalog.service.d.ts +20 -0
  186. package/server/src/lib/identity-provider/identity-provider-catalog.service.js +169 -0
  187. package/server/src/lib/identity-provider/identity-provider-catalog.service.js.map +1 -0
  188. package/server/src/lib/identity-provider/identity-provider-ids.constants.d.ts +8 -0
  189. package/server/src/lib/identity-provider/identity-provider-ids.constants.js +19 -0
  190. package/server/src/lib/identity-provider/identity-provider-ids.constants.js.map +1 -0
  191. package/server/src/lib/identity-provider/identity-provider-stub.bootstrap.d.ts +12 -0
  192. package/server/src/lib/identity-provider/identity-provider-stub.bootstrap.js +48 -0
  193. package/server/src/lib/identity-provider/identity-provider-stub.bootstrap.js.map +1 -0
  194. package/server/src/lib/identity-provider/identity-provider.constants.d.ts +1 -0
  195. package/server/src/lib/identity-provider/identity-provider.constants.js +7 -0
  196. package/server/src/lib/identity-provider/identity-provider.constants.js.map +1 -0
  197. package/server/src/lib/middlewares/device-sessions-active.middleware.d.ts +15 -0
  198. package/server/src/lib/middlewares/device-sessions-active.middleware.js +76 -0
  199. package/server/src/lib/middlewares/device-sessions-active.middleware.js.map +1 -0
  200. package/server/src/lib/middlewares/device-sessions-app-scope.middleware.d.ts +29 -0
  201. package/server/src/lib/middlewares/device-sessions-app-scope.middleware.js +137 -0
  202. package/server/src/lib/middlewares/device-sessions-app-scope.middleware.js.map +1 -0
  203. package/server/src/lib/middlewares/device-sessions-app-scope.util.d.ts +41 -0
  204. package/server/src/lib/middlewares/device-sessions-app-scope.util.js +69 -0
  205. package/server/src/lib/middlewares/device-sessions-app-scope.util.js.map +1 -0
  206. package/server/src/lib/middlewares/device-sessions-token-revoke.middleware.d.ts +18 -0
  207. package/server/src/lib/middlewares/device-sessions-token-revoke.middleware.js +90 -0
  208. package/server/src/lib/middlewares/device-sessions-token-revoke.middleware.js.map +1 -0
  209. package/server/src/lib/middlewares/user-assigned-roles.middleware.d.ts +36 -0
  210. package/server/src/lib/middlewares/user-assigned-roles.middleware.js +359 -0
  211. package/server/src/lib/middlewares/user-assigned-roles.middleware.js.map +1 -0
  212. package/{src → server/src}/lib/middlewares/user-effective-state.middleware.js +1 -1
  213. package/server/src/lib/middlewares/user-effective-state.middleware.js.map +1 -0
  214. package/server/src/lib/middlewares/user-invitation-list.middleware.d.ts +32 -0
  215. package/server/src/lib/middlewares/user-invitation-list.middleware.js +250 -0
  216. package/server/src/lib/middlewares/user-invitation-list.middleware.js.map +1 -0
  217. package/server/src/lib/middlewares/user-profile-write.middleware.d.ts +18 -0
  218. package/server/src/lib/middlewares/user-profile-write.middleware.js +206 -0
  219. package/server/src/lib/middlewares/user-profile-write.middleware.js.map +1 -0
  220. package/server/src/lib/password-reset/change-own-password.command.d.ts +8 -0
  221. package/server/src/lib/password-reset/change-own-password.command.js +38 -0
  222. package/server/src/lib/password-reset/change-own-password.command.js.map +1 -0
  223. package/{src → server/src}/lib/password-reset/complete-password-reset.command.d.ts +3 -4
  224. package/{src → server/src}/lib/password-reset/complete-password-reset.command.js +8 -12
  225. package/server/src/lib/password-reset/complete-password-reset.command.js.map +1 -0
  226. package/server/src/lib/password-reset/get-own-password-status.command.d.ts +8 -0
  227. package/server/src/lib/password-reset/get-own-password-status.command.js +31 -0
  228. package/server/src/lib/password-reset/get-own-password-status.command.js.map +1 -0
  229. package/{src → server/src}/lib/password-reset/send-password-reset-email.command.d.ts +12 -13
  230. package/{src → server/src}/lib/password-reset/send-password-reset-email.command.js +10 -15
  231. package/server/src/lib/password-reset/send-password-reset-email.command.js.map +1 -0
  232. package/server/src/lib/password-reset/user-change-password.service.d.ts +24 -0
  233. package/server/src/lib/password-reset/user-change-password.service.js +92 -0
  234. package/server/src/lib/password-reset/user-change-password.service.js.map +1 -0
  235. package/{src → server/src}/lib/password-reset/user-password-reset.service.d.ts +2 -7
  236. package/{src → server/src}/lib/password-reset/user-password-reset.service.js +29 -90
  237. package/server/src/lib/password-reset/user-password-reset.service.js.map +1 -0
  238. package/server/src/lib/queries/get-permission-holders-history.query.d.ts +4 -0
  239. package/server/src/lib/queries/get-permission-holders-history.query.definition.d.ts +5 -0
  240. package/server/src/lib/queries/get-permission-holders-history.query.definition.js +38 -0
  241. package/server/src/lib/queries/get-permission-holders-history.query.definition.js.map +1 -0
  242. package/server/src/lib/queries/get-permission-holders-history.query.js +25 -0
  243. package/server/src/lib/queries/get-permission-holders-history.query.js.map +1 -0
  244. package/server/src/lib/queries/get-role-holders-history.query.d.ts +4 -0
  245. package/server/src/lib/queries/get-role-holders-history.query.definition.d.ts +5 -0
  246. package/server/src/lib/queries/get-role-holders-history.query.definition.js +38 -0
  247. package/server/src/lib/queries/get-role-holders-history.query.definition.js.map +1 -0
  248. package/server/src/lib/queries/get-role-holders-history.query.js +25 -0
  249. package/server/src/lib/queries/get-role-holders-history.query.js.map +1 -0
  250. package/server/src/lib/queries/get-user-effective-permissions-history.query.d.ts +4 -0
  251. package/server/src/lib/queries/get-user-effective-permissions-history.query.definition.d.ts +5 -0
  252. package/server/src/lib/queries/get-user-effective-permissions-history.query.definition.js +35 -0
  253. package/server/src/lib/queries/get-user-effective-permissions-history.query.definition.js.map +1 -0
  254. package/server/src/lib/queries/get-user-effective-permissions-history.query.js +26 -0
  255. package/server/src/lib/queries/get-user-effective-permissions-history.query.js.map +1 -0
  256. package/server/src/lib/queries/get-user-effective-roles-history.query.d.ts +4 -0
  257. package/server/src/lib/queries/get-user-effective-roles-history.query.definition.d.ts +5 -0
  258. package/server/src/lib/queries/get-user-effective-roles-history.query.definition.js +36 -0
  259. package/server/src/lib/queries/get-user-effective-roles-history.query.definition.js.map +1 -0
  260. package/server/src/lib/queries/get-user-effective-roles-history.query.js +25 -0
  261. package/server/src/lib/queries/get-user-effective-roles-history.query.js.map +1 -0
  262. package/server/src/lib/queries/get-user-password-change-history.query.d.ts +4 -0
  263. package/server/src/lib/queries/get-user-password-change-history.query.definition.d.ts +5 -0
  264. package/server/src/lib/queries/get-user-password-change-history.query.definition.js +33 -0
  265. package/server/src/lib/queries/get-user-password-change-history.query.definition.js.map +1 -0
  266. package/server/src/lib/queries/get-user-password-change-history.query.js +23 -0
  267. package/server/src/lib/queries/get-user-password-change-history.query.js.map +1 -0
  268. package/server/src/lib/queries/security-query.helpers.d.ts +47 -0
  269. package/server/src/lib/queries/security-query.helpers.js +184 -0
  270. package/server/src/lib/queries/security-query.helpers.js.map +1 -0
  271. package/server/src/lib/reports/password-change-history.service.d.ts +14 -0
  272. package/server/src/lib/reports/password-change-history.service.js +74 -0
  273. package/server/src/lib/reports/password-change-history.service.js.map +1 -0
  274. package/server/src/lib/reports/permission-display-catalog.d.ts +7 -0
  275. package/server/src/lib/reports/permission-display-catalog.js +101 -0
  276. package/server/src/lib/reports/permission-display-catalog.js.map +1 -0
  277. package/server/src/lib/reports/security-report-definition.provider.d.ts +5 -0
  278. package/server/src/lib/reports/security-report-definition.provider.js +23 -0
  279. package/server/src/lib/reports/security-report-definition.provider.js.map +1 -0
  280. package/server/src/lib/reports/security-report-parameter-groups.d.ts +343 -0
  281. package/server/src/lib/reports/security-report-parameter-groups.js +167 -0
  282. package/server/src/lib/reports/security-report-parameter-groups.js.map +1 -0
  283. package/server/src/lib/reports/security-report-scope.constants.d.ts +5 -0
  284. package/server/src/lib/reports/security-report-scope.constants.js +11 -0
  285. package/server/src/lib/reports/security-report-scope.constants.js.map +1 -0
  286. package/server/src/lib/reports/security-report.definitions.d.ts +12 -0
  287. package/server/src/lib/reports/security-report.definitions.js +386 -0
  288. package/server/src/lib/reports/security-report.definitions.js.map +1 -0
  289. package/server/src/lib/security-management-entity-storage.bootstrap.d.ts +26 -0
  290. package/server/src/lib/security-management-entity-storage.bootstrap.js +56 -0
  291. package/server/src/lib/security-management-entity-storage.bootstrap.js.map +1 -0
  292. package/server/src/lib/security-management-server.module.d.ts +7 -0
  293. package/server/src/lib/security-management-server.module.js +190 -0
  294. package/server/src/lib/security-management-server.module.js.map +1 -0
  295. package/server/src/lib/two-factor/admin-reset-two-factor.command.d.ts +8 -0
  296. package/server/src/lib/two-factor/admin-reset-two-factor.command.js +35 -0
  297. package/server/src/lib/two-factor/admin-reset-two-factor.command.js.map +1 -0
  298. package/server/src/lib/two-factor/confirm-two-factor-enrollment.command.d.ts +8 -0
  299. package/server/src/lib/two-factor/confirm-two-factor-enrollment.command.js +34 -0
  300. package/server/src/lib/two-factor/confirm-two-factor-enrollment.command.js.map +1 -0
  301. package/server/src/lib/two-factor/disable-two-factor.command.d.ts +8 -0
  302. package/server/src/lib/two-factor/disable-two-factor.command.js +31 -0
  303. package/server/src/lib/two-factor/disable-two-factor.command.js.map +1 -0
  304. package/server/src/lib/two-factor/generate-two-factor-recovery-codes.command.d.ts +8 -0
  305. package/server/src/lib/two-factor/generate-two-factor-recovery-codes.command.js +34 -0
  306. package/server/src/lib/two-factor/generate-two-factor-recovery-codes.command.js.map +1 -0
  307. package/server/src/lib/two-factor/get-two-factor-status.command.d.ts +8 -0
  308. package/server/src/lib/two-factor/get-two-factor-status.command.js +31 -0
  309. package/server/src/lib/two-factor/get-two-factor-status.command.js.map +1 -0
  310. package/server/src/lib/two-factor/recovery-codes.util.d.ts +11 -0
  311. package/server/src/lib/two-factor/recovery-codes.util.js +73 -0
  312. package/server/src/lib/two-factor/recovery-codes.util.js.map +1 -0
  313. package/server/src/lib/two-factor/start-two-factor-enrollment.command.d.ts +8 -0
  314. package/server/src/lib/two-factor/start-two-factor-enrollment.command.js +31 -0
  315. package/server/src/lib/two-factor/start-two-factor-enrollment.command.js.map +1 -0
  316. package/server/src/lib/two-factor/totp.util.d.ts +32 -0
  317. package/server/src/lib/two-factor/totp.util.js +128 -0
  318. package/server/src/lib/two-factor/totp.util.js.map +1 -0
  319. package/server/src/lib/two-factor/two-factor-encryption.util.d.ts +25 -0
  320. package/server/src/lib/two-factor/two-factor-encryption.util.js +123 -0
  321. package/server/src/lib/two-factor/two-factor-encryption.util.js.map +1 -0
  322. package/server/src/lib/two-factor/two-factor-gate.bootstrap.d.ts +9 -0
  323. package/server/src/lib/two-factor/two-factor-gate.bootstrap.js +65 -0
  324. package/server/src/lib/two-factor/two-factor-gate.bootstrap.js.map +1 -0
  325. package/server/src/lib/two-factor/two-factor-redis.store.d.ts +63 -0
  326. package/server/src/lib/two-factor/two-factor-redis.store.js +321 -0
  327. package/server/src/lib/two-factor/two-factor-redis.store.js.map +1 -0
  328. package/server/src/lib/two-factor/user-two-factor.service.d.ts +62 -0
  329. package/server/src/lib/two-factor/user-two-factor.service.js +573 -0
  330. package/server/src/lib/two-factor/user-two-factor.service.js.map +1 -0
  331. package/server/src/lib/two-factor/verify-two-factor-login.command.d.ts +18 -0
  332. package/server/src/lib/two-factor/verify-two-factor-login.command.js +54 -0
  333. package/server/src/lib/two-factor/verify-two-factor-login.command.js.map +1 -0
  334. package/server/src/lib/user-invitation/accept-invitation.command.d.ts +8 -0
  335. package/server/src/lib/user-invitation/accept-invitation.command.js +41 -0
  336. package/server/src/lib/user-invitation/accept-invitation.command.js.map +1 -0
  337. package/server/src/lib/user-invitation/accept-my-invitation.command.d.ts +8 -0
  338. package/server/src/lib/user-invitation/accept-my-invitation.command.js +40 -0
  339. package/server/src/lib/user-invitation/accept-my-invitation.command.js.map +1 -0
  340. package/server/src/lib/user-invitation/approve-join-request.command.d.ts +8 -0
  341. package/server/src/lib/user-invitation/approve-join-request.command.js +41 -0
  342. package/server/src/lib/user-invitation/approve-join-request.command.js.map +1 -0
  343. package/server/src/lib/user-invitation/cancel-invitation.command.d.ts +8 -0
  344. package/server/src/lib/user-invitation/cancel-invitation.command.js +37 -0
  345. package/server/src/lib/user-invitation/cancel-invitation.command.js.map +1 -0
  346. package/server/src/lib/user-invitation/cancel-my-join-request.command.d.ts +8 -0
  347. package/server/src/lib/user-invitation/cancel-my-join-request.command.js +40 -0
  348. package/server/src/lib/user-invitation/cancel-my-join-request.command.js.map +1 -0
  349. package/server/src/lib/user-invitation/create-user-in-tenant.command.d.ts +8 -0
  350. package/server/src/lib/user-invitation/create-user-in-tenant.command.js +37 -0
  351. package/server/src/lib/user-invitation/create-user-in-tenant.command.js.map +1 -0
  352. package/server/src/lib/user-invitation/decline-invitation.command.d.ts +8 -0
  353. package/server/src/lib/user-invitation/decline-invitation.command.js +37 -0
  354. package/server/src/lib/user-invitation/decline-invitation.command.js.map +1 -0
  355. package/server/src/lib/user-invitation/invite-user.command.d.ts +8 -0
  356. package/server/src/lib/user-invitation/invite-user.command.js +37 -0
  357. package/server/src/lib/user-invitation/invite-user.command.js.map +1 -0
  358. package/server/src/lib/user-invitation/list-invite-assignable-roles.command.d.ts +8 -0
  359. package/server/src/lib/user-invitation/list-invite-assignable-roles.command.js +41 -0
  360. package/server/src/lib/user-invitation/list-invite-assignable-roles.command.js.map +1 -0
  361. package/server/src/lib/user-invitation/list-my-join-requests.command.d.ts +8 -0
  362. package/server/src/lib/user-invitation/list-my-join-requests.command.js +40 -0
  363. package/server/src/lib/user-invitation/list-my-join-requests.command.js.map +1 -0
  364. package/server/src/lib/user-invitation/list-my-pending-invitations.command.d.ts +8 -0
  365. package/server/src/lib/user-invitation/list-my-pending-invitations.command.js +37 -0
  366. package/server/src/lib/user-invitation/list-my-pending-invitations.command.js.map +1 -0
  367. package/server/src/lib/user-invitation/list-tenant-entitled-applications.command.d.ts +8 -0
  368. package/server/src/lib/user-invitation/list-tenant-entitled-applications.command.js +41 -0
  369. package/server/src/lib/user-invitation/list-tenant-entitled-applications.command.js.map +1 -0
  370. package/server/src/lib/user-invitation/lookup-tenant-by-unique-name.command.d.ts +8 -0
  371. package/server/src/lib/user-invitation/lookup-tenant-by-unique-name.command.js +40 -0
  372. package/server/src/lib/user-invitation/lookup-tenant-by-unique-name.command.js.map +1 -0
  373. package/server/src/lib/user-invitation/reject-join-request.command.d.ts +8 -0
  374. package/server/src/lib/user-invitation/reject-join-request.command.js +41 -0
  375. package/server/src/lib/user-invitation/reject-join-request.command.js.map +1 -0
  376. package/server/src/lib/user-invitation/request-tenant-membership.command.d.ts +8 -0
  377. package/server/src/lib/user-invitation/request-tenant-membership.command.js +40 -0
  378. package/server/src/lib/user-invitation/request-tenant-membership.command.js.map +1 -0
  379. package/server/src/lib/user-invitation/resend-invitation.command.d.ts +12 -0
  380. package/server/src/lib/user-invitation/resend-invitation.command.js +37 -0
  381. package/server/src/lib/user-invitation/resend-invitation.command.js.map +1 -0
  382. package/server/src/lib/user-invitation/user-invitation-application-access.util.d.ts +25 -0
  383. package/server/src/lib/user-invitation/user-invitation-application-access.util.js +121 -0
  384. package/server/src/lib/user-invitation/user-invitation-application-access.util.js.map +1 -0
  385. package/server/src/lib/user-invitation/user-invitation.service.d.ts +162 -0
  386. package/server/src/lib/user-invitation/user-invitation.service.js +1658 -0
  387. package/server/src/lib/user-invitation/user-invitation.service.js.map +1 -0
  388. package/contracts/src/datasource.keys.d.ts +0 -4
  389. package/contracts/src/datasource.keys.js +0 -10
  390. package/contracts/src/datasource.keys.js.map +0 -1
  391. package/src/index.d.ts +0 -5
  392. package/src/index.js +0 -13
  393. package/src/index.js.map +0 -1
  394. package/src/lib/middlewares/user-effective-state.middleware.js.map +0 -1
  395. package/src/lib/password-reset/complete-password-reset.command.js.map +0 -1
  396. package/src/lib/password-reset/send-password-reset-email.command.js.map +0 -1
  397. package/src/lib/password-reset/user-password-reset.service.js.map +0 -1
  398. package/src/lib/security-management-server.module.d.ts +0 -2
  399. package/src/lib/security-management-server.module.js +0 -48
  400. package/src/lib/security-management-server.module.js.map +0 -1
  401. package/src/lib/seed/index.d.ts +0 -22
  402. package/src/lib/seed/index.js +0 -24
  403. package/src/lib/seed/index.js.map +0 -1
  404. package/src/lib/seed/policy/index.d.ts +0 -2
  405. package/src/lib/seed/policy/index.js +0 -6
  406. package/src/lib/seed/policy/index.js.map +0 -1
  407. package/src/lib/seed/policy/policy.mock.d.ts +0 -7
  408. package/src/lib/seed/policy/policy.mock.js +0 -40
  409. package/src/lib/seed/policy/policy.mock.js.map +0 -1
  410. package/src/lib/seed/policy/policy.seed.d.ts +0 -5
  411. package/src/lib/seed/policy/policy.seed.js +0 -31
  412. package/src/lib/seed/policy/policy.seed.js.map +0 -1
  413. package/src/lib/seed/role/index.d.ts +0 -4
  414. package/src/lib/seed/role/index.js +0 -8
  415. package/src/lib/seed/role/index.js.map +0 -1
  416. package/src/lib/seed/role/role-ids.constants.d.ts +0 -14
  417. package/src/lib/seed/role/role-ids.constants.js +0 -20
  418. package/src/lib/seed/role/role-ids.constants.js.map +0 -1
  419. package/src/lib/seed/role/role-permission-keys.constants.d.ts +0 -578
  420. package/src/lib/seed/role/role-permission-keys.constants.js +0 -620
  421. package/src/lib/seed/role/role-permission-keys.constants.js.map +0 -1
  422. package/src/lib/seed/role/role.mock.d.ts +0 -4
  423. package/src/lib/seed/role/role.mock.js +0 -321
  424. package/src/lib/seed/role/role.mock.js.map +0 -1
  425. package/src/lib/seed/role/role.seed.d.ts +0 -5
  426. package/src/lib/seed/role/role.seed.js +0 -31
  427. package/src/lib/seed/role/role.seed.js.map +0 -1
  428. package/src/lib/seed/security-management-seed.provider.d.ts +0 -4
  429. package/src/lib/seed/security-management-seed.provider.js +0 -18
  430. package/src/lib/seed/security-management-seed.provider.js.map +0 -1
  431. package/src/lib/seed/security-management-seed.tokens.d.ts +0 -1
  432. package/src/lib/seed/security-management-seed.tokens.js +0 -7
  433. package/src/lib/seed/security-management-seed.tokens.js.map +0 -1
  434. package/src/lib/seed/security-management.seed-catalog.d.ts +0 -2
  435. package/src/lib/seed/security-management.seed-catalog.js +0 -17
  436. package/src/lib/seed/security-management.seed-catalog.js.map +0 -1
  437. package/src/lib/seed/tenant/index.d.ts +0 -1
  438. package/src/lib/seed/tenant/tenant-ids.constants.d.ts +0 -11
  439. package/src/lib/seed/tenant/tenant-ids.constants.js +0 -17
  440. package/src/lib/seed/tenant/tenant-ids.constants.js.map +0 -1
  441. package/src/lib/seed/user/index.d.ts +0 -4
  442. package/src/lib/seed/user/index.js +0 -13
  443. package/src/lib/seed/user/index.js.map +0 -1
  444. package/src/lib/seed/user/resolve-user-effective-state.util.d.ts +0 -4
  445. package/src/lib/seed/user/resolve-user-effective-state.util.js +0 -10
  446. package/src/lib/seed/user/resolve-user-effective-state.util.js.map +0 -1
  447. package/src/lib/seed/user/user.mock.d.ts +0 -21
  448. package/src/lib/seed/user/user.mock.js +0 -338
  449. package/src/lib/seed/user/user.mock.js.map +0 -1
  450. package/src/lib/seed/user/user.seed.d.ts +0 -5
  451. package/src/lib/seed/user/user.seed.js +0 -31
  452. package/src/lib/seed/user/user.seed.js.map +0 -1
  453. /package/{src → server/src}/lib/middlewares/user-effective-state.middleware.d.ts +0 -0
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ //#region ----- Types -----
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.sortVersionEntries = sortVersionEntries;
5
+ exports.reconstructSnapshotAt = reconstructSnapshotAt;
6
+ exports.buildStateIntervals = buildStateIntervals;
7
+ exports.intervalsOverlap = intervalsOverlap;
8
+ exports.clipInterval = clipInterval;
9
+ exports.mergeTimeIntervals = mergeTimeIntervals;
10
+ exports.collectBoundaries = collectBoundaries;
11
+ exports.toIso = toIso;
12
+ //#endregion
13
+ //#region ----- Entry sorting & as-of -----
14
+ /** Sort entries ascending by versionNumber, then changedAt. */
15
+ function sortVersionEntries(entries) {
16
+ return [...entries].sort((a, b) => {
17
+ var _a, _b;
18
+ const versionDiff = Number((_a = a.versionNumber) !== null && _a !== void 0 ? _a : 0) - Number((_b = b.versionNumber) !== null && _b !== void 0 ? _b : 0);
19
+ if (versionDiff !== 0) {
20
+ return versionDiff;
21
+ }
22
+ return toTime(a.changedAt) - toTime(b.changedAt);
23
+ });
24
+ }
25
+ /**
26
+ * Reconstruct entity snapshot at `asOf` from a version stream.
27
+ * Uses the latest entry with `changedAt <= asOf`. Delete → null.
28
+ */
29
+ function reconstructSnapshotAt(entries, asOf) {
30
+ var _a;
31
+ const sorted = sortVersionEntries(entries);
32
+ const asOfMs = asOf.getTime();
33
+ let latest = null;
34
+ for (const entry of sorted) {
35
+ const changedMs = toTime(entry.changedAt);
36
+ if (Number.isNaN(changedMs) || changedMs > asOfMs) {
37
+ break;
38
+ }
39
+ latest = entry;
40
+ }
41
+ if (!latest) {
42
+ return null;
43
+ }
44
+ if (String((_a = latest.changeType) !== null && _a !== void 0 ? _a : '') === 'Delete') {
45
+ return null;
46
+ }
47
+ return asRecord(latest.snapshotJson);
48
+ }
49
+ /**
50
+ * Build contiguous state intervals from ordered version entries.
51
+ * Each Create/Update opens/continues a state until the next entry (or open-ended).
52
+ */
53
+ function buildStateIntervals(entries) {
54
+ var _a;
55
+ const sorted = sortVersionEntries(entries);
56
+ if (sorted.length === 0) {
57
+ return [];
58
+ }
59
+ const intervals = [];
60
+ for (let i = 0; i < sorted.length; i++) {
61
+ const entry = sorted[i];
62
+ const from = new Date(toTime(entry.changedAt));
63
+ if (Number.isNaN(from.getTime())) {
64
+ continue;
65
+ }
66
+ const next = sorted[i + 1];
67
+ const to = next ? new Date(toTime(next.changedAt)) : null;
68
+ const isDelete = String((_a = entry.changeType) !== null && _a !== void 0 ? _a : '') === 'Delete';
69
+ const state = isDelete ? null : asRecord(entry.snapshotJson);
70
+ intervals.push({ from, to, state });
71
+ }
72
+ return intervals;
73
+ }
74
+ //#endregion
75
+ //#region ----- Interval helpers -----
76
+ function intervalsOverlap(a, b) {
77
+ var _a, _b, _c, _d;
78
+ const aEnd = (_b = (_a = a.to) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : Number.POSITIVE_INFINITY;
79
+ const bEnd = (_d = (_c = b.to) === null || _c === void 0 ? void 0 : _c.getTime()) !== null && _d !== void 0 ? _d : Number.POSITIVE_INFINITY;
80
+ return a.from.getTime() < bEnd && b.from.getTime() < aEnd;
81
+ }
82
+ /** Clip `interval` to `range`; returns null when there is no overlap. */
83
+ function clipInterval(interval, range) {
84
+ var _a, _b, _c, _d;
85
+ if (!intervalsOverlap(interval, range)) {
86
+ return null;
87
+ }
88
+ const fromMs = Math.max(interval.from.getTime(), range.from.getTime());
89
+ const intervalEnd = (_b = (_a = interval.to) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : Number.POSITIVE_INFINITY;
90
+ const rangeEnd = (_d = (_c = range.to) === null || _c === void 0 ? void 0 : _c.getTime()) !== null && _d !== void 0 ? _d : Number.POSITIVE_INFINITY;
91
+ const toMs = Math.min(intervalEnd, rangeEnd);
92
+ if (fromMs >= toMs) {
93
+ return null;
94
+ }
95
+ return {
96
+ from: new Date(fromMs),
97
+ to: Number.isFinite(toMs) ? new Date(toMs) : null,
98
+ };
99
+ }
100
+ /** Merge overlapping/adjacent intervals (assumes same payload identity). */
101
+ function mergeTimeIntervals(intervals) {
102
+ var _a, _b, _c, _d;
103
+ if (intervals.length === 0) {
104
+ return [];
105
+ }
106
+ const sorted = [...intervals].sort((a, b) => a.from.getTime() - b.from.getTime());
107
+ const merged = [Object.assign({}, sorted[0])];
108
+ for (let i = 1; i < sorted.length; i++) {
109
+ const current = sorted[i];
110
+ const last = merged[merged.length - 1];
111
+ const lastEnd = (_b = (_a = last.to) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : Number.POSITIVE_INFINITY;
112
+ const currentStart = current.from.getTime();
113
+ const currentEnd = (_d = (_c = current.to) === null || _c === void 0 ? void 0 : _c.getTime()) !== null && _d !== void 0 ? _d : Number.POSITIVE_INFINITY;
114
+ if (currentStart <= lastEnd) {
115
+ const nextEnd = Math.max(lastEnd, currentEnd);
116
+ last.to = Number.isFinite(nextEnd) ? new Date(nextEnd) : null;
117
+ }
118
+ else {
119
+ merged.push(Object.assign({}, current));
120
+ }
121
+ }
122
+ return merged;
123
+ }
124
+ /** Collect sorted unique boundary timestamps inside/around a range. */
125
+ function collectBoundaries(intervals, range) {
126
+ const points = new Set();
127
+ points.add(range.from.getTime());
128
+ if (range.to) {
129
+ points.add(range.to.getTime());
130
+ }
131
+ for (const interval of intervals) {
132
+ const clipped = clipInterval(interval, range);
133
+ if (!clipped) {
134
+ continue;
135
+ }
136
+ points.add(clipped.from.getTime());
137
+ if (clipped.to) {
138
+ points.add(clipped.to.getTime());
139
+ }
140
+ }
141
+ return [...points]
142
+ .filter((ms) => !Number.isNaN(ms))
143
+ .sort((a, b) => a - b)
144
+ .map((ms) => new Date(ms));
145
+ }
146
+ function toIso(date) {
147
+ if (!date) {
148
+ return null;
149
+ }
150
+ return date.toISOString();
151
+ }
152
+ //#endregion
153
+ //#region ----- Internals -----
154
+ function toTime(value) {
155
+ if (!value) {
156
+ return Number.NaN;
157
+ }
158
+ return new Date(value).getTime();
159
+ }
160
+ function asRecord(value) {
161
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
162
+ return null;
163
+ }
164
+ return value;
165
+ }
166
+ //#endregion
167
+ //# sourceMappingURL=version-as-of.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-as-of.util.js","sourceRoot":"","sources":["../../../../../../../libs/modules/security-management/server/src/lib/effective-access-history/version-as-of.util.ts"],"names":[],"mappings":";AAAA,2BAA2B;;AA2B3B,gDAQC;AAMD,sDAuBC;AAMD,kDA0BC;AAMD,4CAIC;AAGD,oCAqBC;AAGD,gDAwBC;AAGD,8CAyBC;AAED,sBAKC;AA1KD,YAAY;AAEZ,2CAA2C;AAE3C,+DAA+D;AAC/D,SAAgB,kBAAkB,CAA6B,OAAY;IACzE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAA,CAAC,CAAC,aAAa,mCAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAA,CAAC,CAAC,aAAa,mCAAI,CAAC,CAAC,CAAC;QAChF,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,OAAO,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAgB,qBAAqB,CACnC,OAA2B,EAC3B,IAAU;;IAEV,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC9B,IAAI,MAAM,GAA4B,IAAI,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;YAClD,MAAM;QACR,CAAC;QACD,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,MAAA,MAAM,CAAC,UAAU,mCAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CACjC,OAA2B;;IAE3B,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAA2D,EAAE,CAAC;IAE7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAA,KAAK,CAAC,UAAU,mCAAI,EAAE,CAAC,KAAK,QAAQ,CAAC;QAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE7D,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,YAAY;AAEZ,sCAAsC;AAEtC,SAAgB,gBAAgB,CAAC,CAAsB,EAAE,CAAsB;;IAC7E,MAAM,IAAI,GAAG,MAAA,MAAA,CAAC,CAAC,EAAE,0CAAE,OAAO,EAAE,mCAAI,MAAM,CAAC,iBAAiB,CAAC;IACzD,MAAM,IAAI,GAAG,MAAA,MAAA,CAAC,CAAC,EAAE,0CAAE,OAAO,EAAE,mCAAI,MAAM,CAAC,iBAAiB,CAAC;IACzD,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;AAC5D,CAAC;AAED,yEAAyE;AACzE,SAAgB,YAAY,CAC1B,QAA6B,EAC7B,KAA0B;;IAE1B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,MAAA,MAAA,QAAQ,CAAC,EAAE,0CAAE,OAAO,EAAE,mCAAI,MAAM,CAAC,iBAAiB,CAAC;IACvE,MAAM,QAAQ,GAAG,MAAA,MAAA,KAAK,CAAC,EAAE,0CAAE,OAAO,EAAE,mCAAI,MAAM,CAAC,iBAAiB,CAAC;IACjE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAE7C,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC;QACtB,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;KAClD,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,SAAgB,kBAAkB,CAAC,SAAgC;;IACjE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClF,MAAM,MAAM,GAA0B,mBAAM,MAAM,CAAC,CAAC,CAAC,EAAG,CAAC;IAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,MAAA,MAAA,IAAI,CAAC,EAAE,0CAAE,OAAO,EAAE,mCAAI,MAAM,CAAC,iBAAiB,CAAC;QAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,MAAA,MAAA,OAAO,CAAC,EAAE,0CAAE,OAAO,EAAE,mCAAI,MAAM,CAAC,iBAAiB,CAAC;QAErE,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,mBAAM,OAAO,EAAG,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,uEAAuE;AACvE,SAAgB,iBAAiB,CAC/B,SAAgC,EAChC,KAA0B;IAE1B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,MAAM,CAAC;SACf,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACjC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;SACrB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,KAAK,CAAC,IAA6B;IACjD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AAED,YAAY;AAEZ,+BAA+B;AAE/B,SAAS,MAAM,CAAC,KAAyB;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,GAAG,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,YAAY"}
@@ -0,0 +1 @@
1
+ export * from './security-management.entity-catalog';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./security-management.entity-catalog"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/modules/security-management/server/src/lib/seed/tenant/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/modules/security-management/server/src/lib/entities/index.ts"],"names":[],"mappings":";;;AAAA,+EAAqD"}
@@ -0,0 +1 @@
1
+ export declare const securityManagementEntityCatalog: import("@acorex-platform/framework-server/domain/seed").AXPDomainEntityCatalog;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.securityManagementEntityCatalog = void 0;
4
+ const seed_1 = require("@acorex-platform/framework-server/domain/seed");
5
+ const entity_catalog_1 = require("../../../../contracts/src/entity-catalog");
6
+ //#region ---- security-management entity catalog ----
7
+ exports.securityManagementEntityCatalog = (0, seed_1.defineEntityCatalog)({
8
+ moduleName: 'security-management',
9
+ factories: Object.values(entity_catalog_1.securityManagementLocalEntityCatalog.loaders),
10
+ });
11
+ //#endregion
12
+ //# sourceMappingURL=security-management.entity-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-management.entity-catalog.js","sourceRoot":"","sources":["../../../../../../../libs/modules/security-management/server/src/lib/entities/security-management.entity-catalog.ts"],"names":[],"mappings":";;;AAAA,wEAAoF;AACpF,6EAAgG;AAEhG,sDAAsD;AAEzC,QAAA,+BAA+B,GAAG,IAAA,0BAAmB,EAAC;IACjE,UAAU,EAAE,qBAAqB;IACjC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,qDAAoC,CAAC,OAAO,CAAC;CACvE,CAAC,CAAC;AAEH,YAAY"}
@@ -0,0 +1,36 @@
1
+ import { type AXPServerQueryHandler } from '@acorex-platform/framework-server/domain/abstract';
2
+ import type { ReportQueryInput } from '@acorex-platform/framework-server/report';
3
+ import { RuntimePermissionService } from '@acorex-platform/framework-server/security';
4
+ import type { AXPQueryFetchResultPromise } from '@acorex-platform/framework-shared/runtime';
5
+ import { EffectiveAccessHistoryService } from '../effective-access-history/effective-access-history.service';
6
+ import { PasswordChangeHistoryService } from '../reports/password-change-history.service';
7
+ export declare class GetUserEffectiveRolesHistoryQueryHandler implements AXPServerQueryHandler<ReportQueryInput, Record<string, unknown>> {
8
+ private readonly history;
9
+ private readonly permissions;
10
+ constructor(history: EffectiveAccessHistoryService, permissions: RuntimePermissionService);
11
+ execute(input: ReportQueryInput): AXPQueryFetchResultPromise<Record<string, unknown>>;
12
+ }
13
+ export declare class GetUserEffectivePermissionsHistoryQueryHandler implements AXPServerQueryHandler<ReportQueryInput, Record<string, unknown>> {
14
+ private readonly history;
15
+ private readonly permissions;
16
+ constructor(history: EffectiveAccessHistoryService, permissions: RuntimePermissionService);
17
+ execute(input: ReportQueryInput): AXPQueryFetchResultPromise<Record<string, unknown>>;
18
+ }
19
+ export declare class GetRoleHoldersHistoryQueryHandler implements AXPServerQueryHandler<ReportQueryInput, Record<string, unknown>> {
20
+ private readonly history;
21
+ private readonly permissions;
22
+ constructor(history: EffectiveAccessHistoryService, permissions: RuntimePermissionService);
23
+ execute(input: ReportQueryInput): AXPQueryFetchResultPromise<Record<string, unknown>>;
24
+ }
25
+ export declare class GetPermissionHoldersHistoryQueryHandler implements AXPServerQueryHandler<ReportQueryInput, Record<string, unknown>> {
26
+ private readonly history;
27
+ private readonly permissions;
28
+ constructor(history: EffectiveAccessHistoryService, permissions: RuntimePermissionService);
29
+ execute(input: ReportQueryInput): AXPQueryFetchResultPromise<Record<string, unknown>>;
30
+ }
31
+ export declare class GetUserPasswordChangeHistoryQueryHandler implements AXPServerQueryHandler<ReportQueryInput, Record<string, unknown>> {
32
+ private readonly passwordChangeHistory;
33
+ private readonly permissions;
34
+ constructor(passwordChangeHistory: PasswordChangeHistoryService, permissions: RuntimePermissionService);
35
+ execute(input: ReportQueryInput): AXPQueryFetchResultPromise<Record<string, unknown>>;
36
+ }
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetUserPasswordChangeHistoryQueryHandler = exports.GetPermissionHoldersHistoryQueryHandler = exports.GetRoleHoldersHistoryQueryHandler = exports.GetUserEffectivePermissionsHistoryQueryHandler = exports.GetUserEffectiveRolesHistoryQueryHandler = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const common_1 = require("@nestjs/common");
6
+ const core_1 = require("@acorex-platform/framework-server/core");
7
+ const abstract_1 = require("@acorex-platform/framework-server/domain/abstract");
8
+ const security_1 = require("@acorex-platform/framework-server/security");
9
+ const core_2 = require("@acorex-platform/framework-shared/core");
10
+ const module_security_management_contracts_1 = require("@acorex-platform/module-security-management-client/contracts");
11
+ const effective_access_history_service_1 = require("../effective-access-history/effective-access-history.service");
12
+ const get_permission_holders_history_query_1 = require("../queries/get-permission-holders-history.query");
13
+ const get_role_holders_history_query_1 = require("../queries/get-role-holders-history.query");
14
+ const get_user_effective_permissions_history_query_1 = require("../queries/get-user-effective-permissions-history.query");
15
+ const get_user_effective_roles_history_query_1 = require("../queries/get-user-effective-roles-history.query");
16
+ const get_user_password_change_history_query_1 = require("../queries/get-user-password-change-history.query");
17
+ const password_change_history_service_1 = require("../reports/password-change-history.service");
18
+ const security_report_scope_constants_1 = require("../reports/security-report-scope.constants");
19
+ //#region ----- Helpers -----
20
+ const SECURITY_REPORT_PERMISSIONS = [module_security_management_contracts_1.AXPAdministrationPermissionKeys.MaintainUsersAndRoles];
21
+ function runReportCollection(run, input) {
22
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
23
+ try {
24
+ const result = yield run(input);
25
+ return (0, core_2.runtimeQuerySuccessCollection)({
26
+ items: result.items,
27
+ total: result.total,
28
+ aggregateRows: result.summary ? [result.summary] : undefined,
29
+ });
30
+ }
31
+ catch (error) {
32
+ return (0, core_2.runtimeQueryFailure)(error instanceof Error ? error.message : 'Report query failed');
33
+ }
34
+ });
35
+ }
36
+ function resolveSecurityReportFilterScope(permissions) {
37
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
38
+ const session = resolveRequestSession();
39
+ const canSelectTenant = yield permissions.authorize(session === null || session === void 0 ? void 0 : session.userId, security_report_scope_constants_1.SECURITY_REPORT_SELECT_TENANT_PERMISSION);
40
+ return {
41
+ canSelectTenant,
42
+ sessionTenantId: session === null || session === void 0 ? void 0 : session.tenantId,
43
+ sessionApplicationId: session === null || session === void 0 ? void 0 : session.applicationId,
44
+ };
45
+ });
46
+ }
47
+ function resolveRequestSession() {
48
+ const request = (0, core_1.getEntityStorageRequest)();
49
+ return request === null || request === void 0 ? void 0 : request[security_1.CURRENT_SESSION_KEY];
50
+ }
51
+ //#endregion
52
+ //#region ----- Security report query handlers -----
53
+ let GetUserEffectiveRolesHistoryQueryHandler = class GetUserEffectiveRolesHistoryQueryHandler {
54
+ constructor(history, permissions) {
55
+ this.history = history;
56
+ this.permissions = permissions;
57
+ }
58
+ execute(input) {
59
+ return runReportCollection((i) => tslib_1.__awaiter(this, void 0, void 0, function* () {
60
+ return (0, get_user_effective_roles_history_query_1.runGetUserEffectiveRolesHistoryQuery)(this.history, i, yield resolveSecurityReportFilterScope(this.permissions));
61
+ }), input);
62
+ }
63
+ };
64
+ exports.GetUserEffectiveRolesHistoryQueryHandler = GetUserEffectiveRolesHistoryQueryHandler;
65
+ exports.GetUserEffectiveRolesHistoryQueryHandler = GetUserEffectiveRolesHistoryQueryHandler = tslib_1.__decorate([
66
+ (0, common_1.Injectable)(),
67
+ (0, abstract_1.ServerQueryHandler)({
68
+ key: module_security_management_contracts_1.RootConfig.queries.reports.getUserEffectiveRolesHistory,
69
+ auth: 'session',
70
+ permissions: SECURITY_REPORT_PERMISSIONS,
71
+ }),
72
+ tslib_1.__metadata("design:paramtypes", [effective_access_history_service_1.EffectiveAccessHistoryService,
73
+ security_1.RuntimePermissionService])
74
+ ], GetUserEffectiveRolesHistoryQueryHandler);
75
+ let GetUserEffectivePermissionsHistoryQueryHandler = class GetUserEffectivePermissionsHistoryQueryHandler {
76
+ constructor(history, permissions) {
77
+ this.history = history;
78
+ this.permissions = permissions;
79
+ }
80
+ execute(input) {
81
+ return runReportCollection((i) => tslib_1.__awaiter(this, void 0, void 0, function* () {
82
+ return (0, get_user_effective_permissions_history_query_1.runGetUserEffectivePermissionsHistoryQuery)(this.history, i, yield resolveSecurityReportFilterScope(this.permissions));
83
+ }), input);
84
+ }
85
+ };
86
+ exports.GetUserEffectivePermissionsHistoryQueryHandler = GetUserEffectivePermissionsHistoryQueryHandler;
87
+ exports.GetUserEffectivePermissionsHistoryQueryHandler = GetUserEffectivePermissionsHistoryQueryHandler = tslib_1.__decorate([
88
+ (0, common_1.Injectable)(),
89
+ (0, abstract_1.ServerQueryHandler)({
90
+ key: module_security_management_contracts_1.RootConfig.queries.reports.getUserEffectivePermissionsHistory,
91
+ auth: 'session',
92
+ permissions: SECURITY_REPORT_PERMISSIONS,
93
+ }),
94
+ tslib_1.__metadata("design:paramtypes", [effective_access_history_service_1.EffectiveAccessHistoryService,
95
+ security_1.RuntimePermissionService])
96
+ ], GetUserEffectivePermissionsHistoryQueryHandler);
97
+ let GetRoleHoldersHistoryQueryHandler = class GetRoleHoldersHistoryQueryHandler {
98
+ constructor(history, permissions) {
99
+ this.history = history;
100
+ this.permissions = permissions;
101
+ }
102
+ execute(input) {
103
+ return runReportCollection((i) => tslib_1.__awaiter(this, void 0, void 0, function* () {
104
+ return (0, get_role_holders_history_query_1.runGetRoleHoldersHistoryQuery)(this.history, i, yield resolveSecurityReportFilterScope(this.permissions));
105
+ }), input);
106
+ }
107
+ };
108
+ exports.GetRoleHoldersHistoryQueryHandler = GetRoleHoldersHistoryQueryHandler;
109
+ exports.GetRoleHoldersHistoryQueryHandler = GetRoleHoldersHistoryQueryHandler = tslib_1.__decorate([
110
+ (0, common_1.Injectable)(),
111
+ (0, abstract_1.ServerQueryHandler)({
112
+ key: module_security_management_contracts_1.RootConfig.queries.reports.getRoleHoldersHistory,
113
+ auth: 'session',
114
+ permissions: SECURITY_REPORT_PERMISSIONS,
115
+ }),
116
+ tslib_1.__metadata("design:paramtypes", [effective_access_history_service_1.EffectiveAccessHistoryService,
117
+ security_1.RuntimePermissionService])
118
+ ], GetRoleHoldersHistoryQueryHandler);
119
+ let GetPermissionHoldersHistoryQueryHandler = class GetPermissionHoldersHistoryQueryHandler {
120
+ constructor(history, permissions) {
121
+ this.history = history;
122
+ this.permissions = permissions;
123
+ }
124
+ execute(input) {
125
+ return runReportCollection((i) => tslib_1.__awaiter(this, void 0, void 0, function* () {
126
+ return (0, get_permission_holders_history_query_1.runGetPermissionHoldersHistoryQuery)(this.history, i, yield resolveSecurityReportFilterScope(this.permissions));
127
+ }), input);
128
+ }
129
+ };
130
+ exports.GetPermissionHoldersHistoryQueryHandler = GetPermissionHoldersHistoryQueryHandler;
131
+ exports.GetPermissionHoldersHistoryQueryHandler = GetPermissionHoldersHistoryQueryHandler = tslib_1.__decorate([
132
+ (0, common_1.Injectable)(),
133
+ (0, abstract_1.ServerQueryHandler)({
134
+ key: module_security_management_contracts_1.RootConfig.queries.reports.getPermissionHoldersHistory,
135
+ auth: 'session',
136
+ permissions: SECURITY_REPORT_PERMISSIONS,
137
+ }),
138
+ tslib_1.__metadata("design:paramtypes", [effective_access_history_service_1.EffectiveAccessHistoryService,
139
+ security_1.RuntimePermissionService])
140
+ ], GetPermissionHoldersHistoryQueryHandler);
141
+ let GetUserPasswordChangeHistoryQueryHandler = class GetUserPasswordChangeHistoryQueryHandler {
142
+ constructor(passwordChangeHistory, permissions) {
143
+ this.passwordChangeHistory = passwordChangeHistory;
144
+ this.permissions = permissions;
145
+ }
146
+ execute(input) {
147
+ return runReportCollection((i) => tslib_1.__awaiter(this, void 0, void 0, function* () {
148
+ return (0, get_user_password_change_history_query_1.runGetUserPasswordChangeHistoryQuery)(this.passwordChangeHistory, i, yield resolveSecurityReportFilterScope(this.permissions));
149
+ }), input);
150
+ }
151
+ };
152
+ exports.GetUserPasswordChangeHistoryQueryHandler = GetUserPasswordChangeHistoryQueryHandler;
153
+ exports.GetUserPasswordChangeHistoryQueryHandler = GetUserPasswordChangeHistoryQueryHandler = tslib_1.__decorate([
154
+ (0, common_1.Injectable)(),
155
+ (0, abstract_1.ServerQueryHandler)({
156
+ key: module_security_management_contracts_1.RootConfig.queries.reports.getUserPasswordChangeHistory,
157
+ auth: 'session',
158
+ permissions: SECURITY_REPORT_PERMISSIONS,
159
+ }),
160
+ tslib_1.__metadata("design:paramtypes", [password_change_history_service_1.PasswordChangeHistoryService,
161
+ security_1.RuntimePermissionService])
162
+ ], GetUserPasswordChangeHistoryQueryHandler);
163
+ //#endregion
164
+ //# sourceMappingURL=security-report.handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-report.handlers.js","sourceRoot":"","sources":["../../../../../../../libs/modules/security-management/server/src/lib/handlers/security-report.handlers.ts"],"names":[],"mappings":";;;;AAAA,2CAA4C;AAC5C,iEAAiF;AACjF,gFAAmH;AAEnH,yEAIoD;AACpD,iEAGgD;AAEhD,gHAG+D;AAC/D,mHAA6G;AAC7G,0GAAsG;AACtG,8FAA0F;AAC1F,0HAAqH;AACrH,8GAAyG;AACzG,8GAAyG;AAEzG,gGAA0F;AAC1F,gGAAsG;AAEtG,6BAA6B;AAE7B,MAAM,2BAA2B,GAAG,CAAC,sEAA+B,CAAC,qBAAqB,CAAC,CAAC;AAE5F,SAAe,mBAAmB,CAChC,GAIE,EACF,KAAuB;;QAEvB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,OAAO,IAAA,oCAA6B,EAAC;gBACnC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;aAC7D,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,IAAA,0BAAmB,EAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;CAAA;AAED,SAAe,gCAAgC,CAC7C,WAAqC;;QAErC,MAAM,OAAO,GAAG,qBAAqB,EAAE,CAAC;QACxC,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,SAAS,CACjD,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EACf,0EAAwC,CACzC,CAAC;QACF,OAAO;YACL,eAAe;YACf,eAAe,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ;YAClC,oBAAoB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa;SAC7C,CAAC;IACJ,CAAC;CAAA;AAED,SAAS,qBAAqB;IAC5B,MAAM,OAAO,GAAG,IAAA,8BAAuB,GAE1B,CAAC;IACd,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,8BAAmB,CAAC,CAAC;AACxC,CAAC;AAED,YAAY;AAEZ,oDAAoD;AAQ7C,IAAM,wCAAwC,GAA9C,MAAM,wCAAwC;IAGnD,YACmB,OAAsC,EACtC,WAAqC;QADrC,YAAO,GAAP,OAAO,CAA+B;QACtC,gBAAW,GAAX,WAAW,CAA0B;IACrD,CAAC;IAEJ,OAAO,CAAC,KAAuB;QAC7B,OAAO,mBAAmB,CACxB,CAAO,CAAC,EAAE,EAAE;YACV,OAAA,IAAA,6EAAoC,EAClC,IAAI,CAAC,OAAO,EACZ,CAAC,EACD,MAAM,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,CACzD,CAAA;UAAA,EACH,KAAK,CACN,CAAC;IACJ,CAAC;CACF,CAAA;AAnBY,4FAAwC;mDAAxC,wCAAwC;IANpD,IAAA,mBAAU,GAAE;IACZ,IAAA,6BAAkB,EAAC;QAClB,GAAG,EAAE,iDAAU,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B;QAC5D,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,2BAA2B;KACzC,CAAC;6CAK4B,gEAA6B;QACzB,mCAAwB;GAL7C,wCAAwC,CAmBpD;AAQM,IAAM,8CAA8C,GAApD,MAAM,8CAA8C;IAGzD,YACmB,OAAsC,EACtC,WAAqC;QADrC,YAAO,GAAP,OAAO,CAA+B;QACtC,gBAAW,GAAX,WAAW,CAA0B;IACrD,CAAC;IAEJ,OAAO,CAAC,KAAuB;QAC7B,OAAO,mBAAmB,CACxB,CAAO,CAAC,EAAE,EAAE;YACV,OAAA,IAAA,yFAA0C,EACxC,IAAI,CAAC,OAAO,EACZ,CAAC,EACD,MAAM,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,CACzD,CAAA;UAAA,EACH,KAAK,CACN,CAAC;IACJ,CAAC;CACF,CAAA;AAnBY,wGAA8C;yDAA9C,8CAA8C;IAN1D,IAAA,mBAAU,GAAE;IACZ,IAAA,6BAAkB,EAAC;QAClB,GAAG,EAAE,iDAAU,CAAC,OAAO,CAAC,OAAO,CAAC,kCAAkC;QAClE,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,2BAA2B;KACzC,CAAC;6CAK4B,gEAA6B;QACzB,mCAAwB;GAL7C,8CAA8C,CAmB1D;AAQM,IAAM,iCAAiC,GAAvC,MAAM,iCAAiC;IAG5C,YACmB,OAAsC,EACtC,WAAqC;QADrC,YAAO,GAAP,OAAO,CAA+B;QACtC,gBAAW,GAAX,WAAW,CAA0B;IACrD,CAAC;IAEJ,OAAO,CAAC,KAAuB;QAC7B,OAAO,mBAAmB,CACxB,CAAO,CAAC,EAAE,EAAE;YACV,OAAA,IAAA,8DAA6B,EAC3B,IAAI,CAAC,OAAO,EACZ,CAAC,EACD,MAAM,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,CACzD,CAAA;UAAA,EACH,KAAK,CACN,CAAC;IACJ,CAAC;CACF,CAAA;AAnBY,8EAAiC;4CAAjC,iCAAiC;IAN7C,IAAA,mBAAU,GAAE;IACZ,IAAA,6BAAkB,EAAC;QAClB,GAAG,EAAE,iDAAU,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB;QACrD,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,2BAA2B;KACzC,CAAC;6CAK4B,gEAA6B;QACzB,mCAAwB;GAL7C,iCAAiC,CAmB7C;AAQM,IAAM,uCAAuC,GAA7C,MAAM,uCAAuC;IAGlD,YACmB,OAAsC,EACtC,WAAqC;QADrC,YAAO,GAAP,OAAO,CAA+B;QACtC,gBAAW,GAAX,WAAW,CAA0B;IACrD,CAAC;IAEJ,OAAO,CAAC,KAAuB;QAC7B,OAAO,mBAAmB,CACxB,CAAO,CAAC,EAAE,EAAE;YACV,OAAA,IAAA,0EAAmC,EACjC,IAAI,CAAC,OAAO,EACZ,CAAC,EACD,MAAM,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,CACzD,CAAA;UAAA,EACH,KAAK,CACN,CAAC;IACJ,CAAC;CACF,CAAA;AAnBY,0FAAuC;kDAAvC,uCAAuC;IANnD,IAAA,mBAAU,GAAE;IACZ,IAAA,6BAAkB,EAAC;QAClB,GAAG,EAAE,iDAAU,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B;QAC3D,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,2BAA2B;KACzC,CAAC;6CAK4B,gEAA6B;QACzB,mCAAwB;GAL7C,uCAAuC,CAmBnD;AAQM,IAAM,wCAAwC,GAA9C,MAAM,wCAAwC;IAGnD,YACmB,qBAAmD,EACnD,WAAqC;QADrC,0BAAqB,GAArB,qBAAqB,CAA8B;QACnD,gBAAW,GAAX,WAAW,CAA0B;IACrD,CAAC;IAEJ,OAAO,CAAC,KAAuB;QAC7B,OAAO,mBAAmB,CACxB,CAAO,CAAC,EAAE,EAAE;YACV,OAAA,IAAA,6EAAoC,EAClC,IAAI,CAAC,qBAAqB,EAC1B,CAAC,EACD,MAAM,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,CACzD,CAAA;UAAA,EACH,KAAK,CACN,CAAC;IACJ,CAAC;CACF,CAAA;AAnBY,4FAAwC;mDAAxC,wCAAwC;IANpD,IAAA,mBAAU,GAAE;IACZ,IAAA,6BAAkB,EAAC;QAClB,GAAG,EAAE,iDAAU,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B;QAC5D,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,2BAA2B;KACzC,CAAC;6CAK0C,8DAA4B;QACtC,mCAAwB;GAL7C,wCAAwC,CAmBpD;AAED,YAAY"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Client ids allowed to use the platform OAuth broker (`/connect/*`).
3
+ * Redirect URI allowlists are app/env-owned (see `apps/demo-api/.../demo-api.auth-oauth-clients.ts`).
4
+ */
5
+ export declare const AUTH_OAUTH_SEEDED_CLIENT_IDS: readonly ["acorex", "spa-client", "backend-client"];
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ //#region ----- Allowed SPA / machine OAuth client ids -----
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AUTH_OAUTH_SEEDED_CLIENT_IDS = void 0;
5
+ /**
6
+ * Client ids allowed to use the platform OAuth broker (`/connect/*`).
7
+ * Redirect URI allowlists are app/env-owned (see `apps/demo-api/.../demo-api.auth-oauth-clients.ts`).
8
+ */
9
+ exports.AUTH_OAUTH_SEEDED_CLIENT_IDS = ['acorex', 'spa-client', 'backend-client'];
10
+ //#endregion
11
+ //# sourceMappingURL=auth-oauth-clients.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-oauth-clients.constants.js","sourceRoot":"","sources":["../../../../../../../libs/modules/security-management/server/src/lib/identity-provider/auth-oauth-clients.constants.ts"],"names":[],"mappings":";AAAA,4DAA4D;;;AAE5D;;;GAGG;AACU,QAAA,4BAA4B,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,gBAAgB,CAAU,CAAC;AAEhG,YAAY"}
@@ -0,0 +1,20 @@
1
+ import { EntityStorageMiddlewareService } from '@acorex-platform/framework-server/core';
2
+ import { AUTH_IDENTITY_PROVIDER_CATALOG, type AuthIdentityProviderBrokerConfig, type AuthIdentityProviderCatalog, type AuthIdentityProviderEnsureStubInput, type AuthIdentityProviderPublicDto } from '@acorex-platform/framework-server/security';
3
+ export declare class IdentityProviderCatalogService implements AuthIdentityProviderCatalog {
4
+ private readonly storage;
5
+ private readonly logger;
6
+ constructor(storage: EntityStorageMiddlewareService);
7
+ listEnabledForLogin(): Promise<AuthIdentityProviderPublicDto[]>;
8
+ getBrokerConfig(key: string): Promise<AuthIdentityProviderBrokerConfig | null>;
9
+ ensureStub(input: AuthIdentityProviderEnsureStubInput): Promise<void>;
10
+ private findByKey;
11
+ private toPublicDto;
12
+ /** Prefer `isDisabled` (disable plugin); fall back to legacy `enabled` seed rows. */
13
+ private isActiveForLogin;
14
+ /** Directory (LDAP/AD) rows use a separate login path — not OAuth ListProviders. */
15
+ private isOidcProtocol;
16
+ }
17
+ export declare function provideAuthIdentityProviderCatalog(): {
18
+ provide: typeof AUTH_IDENTITY_PROVIDER_CATALOG;
19
+ useExisting: typeof IdentityProviderCatalogService;
20
+ };
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ //#region ---- Imports ----
3
+ var IdentityProviderCatalogService_1;
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.IdentityProviderCatalogService = void 0;
6
+ exports.provideAuthIdentityProviderCatalog = provideAuthIdentityProviderCatalog;
7
+ const tslib_1 = require("tslib");
8
+ const core_1 = require("@acorex-platform/framework-server/core");
9
+ const security_1 = require("@acorex-platform/framework-server/security");
10
+ const module_security_management_contracts_1 = require("@acorex-platform/module-security-management-client/contracts");
11
+ const common_1 = require("@nestjs/common");
12
+ const abstract_1 = require("@acorex-platform/framework-server/jql/abstract");
13
+ const identity_provider_constants_1 = require("./identity-provider.constants");
14
+ const identity_provider_ids_constants_1 = require("./identity-provider-ids.constants");
15
+ //#endregion
16
+ //#region ---- Catalog service ----
17
+ let IdentityProviderCatalogService = IdentityProviderCatalogService_1 = class IdentityProviderCatalogService {
18
+ constructor(storage) {
19
+ this.storage = storage;
20
+ this.logger = new common_1.Logger(IdentityProviderCatalogService_1.name);
21
+ }
22
+ listEnabledForLogin() {
23
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
24
+ var _a;
25
+ try {
26
+ const result = yield this.storage.query(identity_provider_constants_1.IDENTITY_PROVIDER_ENTITY, {
27
+ skip: 0,
28
+ take: 200,
29
+ sort: [{ field: 'priority', dir: 'asc' }, { field: 'title', dir: 'asc' }],
30
+ });
31
+ const items = ((_a = result.items) !== null && _a !== void 0 ? _a : []);
32
+ return items
33
+ .filter((row) => this.isOidcProtocol(row) && this.isActiveForLogin(row))
34
+ .map((row) => this.toPublicDto(row));
35
+ }
36
+ catch (error) {
37
+ this.logger.warn(`listEnabledForLogin failed (entity may not be registered yet): ${error instanceof Error ? error.message : String(error)}`);
38
+ return [];
39
+ }
40
+ });
41
+ }
42
+ getBrokerConfig(key) {
43
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
44
+ var _a, _b, _c, _d, _e, _f, _g;
45
+ try {
46
+ const row = yield this.findByKey(key);
47
+ if (!row || !this.isOidcProtocol(row) || !this.isActiveForLogin(row)) {
48
+ return null;
49
+ }
50
+ const clientId = (_a = row.clientId) === null || _a === void 0 ? void 0 : _a.trim();
51
+ const clientSecret = (_b = row.clientSecret) === null || _b === void 0 ? void 0 : _b.trim();
52
+ const authorizationUrl = (_c = row.authorizationUrl) === null || _c === void 0 ? void 0 : _c.trim();
53
+ const tokenUrl = (_d = row.tokenUrl) === null || _d === void 0 ? void 0 : _d.trim();
54
+ if (!clientId || !clientSecret || !authorizationUrl || !tokenUrl) {
55
+ return null;
56
+ }
57
+ return {
58
+ key: row.key,
59
+ clientId,
60
+ clientSecret,
61
+ enabled: true,
62
+ authorizationUrl,
63
+ tokenUrl,
64
+ userInfoUrl: ((_e = row.userInfoUrl) === null || _e === void 0 ? void 0 : _e.trim()) || undefined,
65
+ issuerUrl: ((_f = row.issuerUrl) === null || _f === void 0 ? void 0 : _f.trim()) || undefined,
66
+ scopes: ((_g = row.scopes) === null || _g === void 0 ? void 0 : _g.trim()) || 'openid email profile',
67
+ };
68
+ }
69
+ catch (error) {
70
+ this.logger.warn(`getBrokerConfig(${key}) failed: ${error instanceof Error ? error.message : String(error)}`);
71
+ return null;
72
+ }
73
+ });
74
+ }
75
+ ensureStub(input) {
76
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
77
+ var _a, _b, _c, _d, _e, _f, _g;
78
+ try {
79
+ const existing = yield this.findByKey(input.key);
80
+ if (existing) {
81
+ return;
82
+ }
83
+ yield this.storage.insertOne(identity_provider_constants_1.IDENTITY_PROVIDER_ENTITY, {
84
+ id: identity_provider_ids_constants_1.IDENTITY_PROVIDER_STUB_IDS_BY_KEY[input.key],
85
+ key: input.key,
86
+ title: input.title,
87
+ icon: (_a = input.icon) !== null && _a !== void 0 ? _a : null,
88
+ protocol: module_security_management_contracts_1.AXM_IDENTITY_PROVIDER_PROTOCOL.Oidc,
89
+ isDisabled: true,
90
+ priority: (_b = input.priority) !== null && _b !== void 0 ? _b : 100,
91
+ clientId: null,
92
+ clientSecret: null,
93
+ authorizationUrl: (_c = input.authorizationUrl) !== null && _c !== void 0 ? _c : null,
94
+ tokenUrl: (_d = input.tokenUrl) !== null && _d !== void 0 ? _d : null,
95
+ userInfoUrl: (_e = input.userInfoUrl) !== null && _e !== void 0 ? _e : null,
96
+ scopes: (_f = input.scopes) !== null && _f !== void 0 ? _f : 'openid email profile',
97
+ issuerUrl: (_g = input.issuerUrl) !== null && _g !== void 0 ? _g : null,
98
+ directoryUrl: null,
99
+ directoryBaseDn: null,
100
+ directoryUserDnTemplate: null,
101
+ directoryUserSearchFilter: null,
102
+ directoryUseTls: null,
103
+ directoryTlsRejectUnauthorized: null,
104
+ });
105
+ this.logger.log(`Ensured IdentityProvider stub key=${input.key}`);
106
+ }
107
+ catch (error) {
108
+ const message = error instanceof Error ? error.message : String(error);
109
+ if ((0, abstract_1.isCliSeedProcess)() && /schema is not registered/i.test(message)) {
110
+ return;
111
+ }
112
+ this.logger.warn(`ensureStub(${input.key}) failed: ${message}`);
113
+ }
114
+ });
115
+ }
116
+ findByKey(key) {
117
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
118
+ var _a;
119
+ const result = yield this.storage.query(identity_provider_constants_1.IDENTITY_PROVIDER_ENTITY, {
120
+ skip: 0,
121
+ take: 1,
122
+ filter: {
123
+ logic: 'and',
124
+ filters: [{ field: 'key', operator: { type: 'equal' }, value: key }],
125
+ },
126
+ });
127
+ const row = ((_a = result.items) !== null && _a !== void 0 ? _a : [])[0];
128
+ return row !== null && row !== void 0 ? row : null;
129
+ });
130
+ }
131
+ toPublicDto(row) {
132
+ var _a;
133
+ return {
134
+ id: row.key,
135
+ title: row.title,
136
+ icon: (_a = row.icon) !== null && _a !== void 0 ? _a : undefined,
137
+ priority: typeof row.priority === 'number' ? row.priority : 100,
138
+ };
139
+ }
140
+ /** Prefer `isDisabled` (disable plugin); fall back to legacy `enabled` seed rows. */
141
+ isActiveForLogin(row) {
142
+ if (typeof row.isDisabled === 'boolean') {
143
+ return row.isDisabled !== true;
144
+ }
145
+ if (typeof row.enabled === 'boolean') {
146
+ return row.enabled === true;
147
+ }
148
+ return false;
149
+ }
150
+ /** Directory (LDAP/AD) rows use a separate login path — not OAuth ListProviders. */
151
+ isOidcProtocol(row) {
152
+ var _a;
153
+ const protocol = (_a = row.protocol) === null || _a === void 0 ? void 0 : _a.trim().toLowerCase();
154
+ return !protocol || protocol === module_security_management_contracts_1.AXM_IDENTITY_PROVIDER_PROTOCOL.Oidc;
155
+ }
156
+ };
157
+ exports.IdentityProviderCatalogService = IdentityProviderCatalogService;
158
+ exports.IdentityProviderCatalogService = IdentityProviderCatalogService = IdentityProviderCatalogService_1 = tslib_1.__decorate([
159
+ (0, common_1.Injectable)(),
160
+ tslib_1.__metadata("design:paramtypes", [core_1.EntityStorageMiddlewareService])
161
+ ], IdentityProviderCatalogService);
162
+ function provideAuthIdentityProviderCatalog() {
163
+ return {
164
+ provide: security_1.AUTH_IDENTITY_PROVIDER_CATALOG,
165
+ useExisting: IdentityProviderCatalogService,
166
+ };
167
+ }
168
+ //#endregion
169
+ //# sourceMappingURL=identity-provider-catalog.service.js.map