@acorex-platform/module-security-management-server 0.0.15 → 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 +341 -283
  87. package/contracts/src/entities/users/users.entity.js.map +1 -1
  88. package/contracts/src/entities/users/users.types.d.ts +24 -1
  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 +13 -1
  124. package/contracts/src/index.js +13 -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.d.ts +10 -0
  145. package/contracts/src/resolve-user-effective-state.js +46 -0
  146. package/contracts/src/resolve-user-effective-state.js.map +1 -0
  147. package/contracts/src/root-config.d.ts +33 -0
  148. package/contracts/src/root-config.js +33 -0
  149. package/contracts/src/root-config.js.map +1 -1
  150. package/contracts/src/server-commands.d.ts +340 -0
  151. package/contracts/src/server-commands.js +88 -0
  152. package/contracts/src/server-commands.js.map +1 -0
  153. package/contracts/src/settings.keys.d.ts +16 -0
  154. package/contracts/src/settings.keys.js +21 -0
  155. package/contracts/src/settings.keys.js.map +1 -0
  156. package/contracts/src/user-access-state.js.map +1 -1
  157. package/contracts/src/user-effective-state.js.map +1 -1
  158. package/contracts/src/user-invitation.d.ts +41 -0
  159. package/contracts/src/user-invitation.js +18 -0
  160. package/contracts/src/user-invitation.js.map +1 -0
  161. package/contracts/src/user-password-reset.d.ts +9 -0
  162. package/contracts/src/user-password-reset.js +5 -0
  163. package/contracts/src/user-password-reset.js.map +1 -0
  164. package/package.json +16 -11
  165. package/server/src/index.d.ts +3 -0
  166. package/server/src/index.js +11 -0
  167. package/server/src/index.js.map +1 -0
  168. package/server/src/lib/effective-access-history/effective-access-history.service.d.ts +35 -0
  169. package/server/src/lib/effective-access-history/effective-access-history.service.js +486 -0
  170. package/server/src/lib/effective-access-history/effective-access-history.service.js.map +1 -0
  171. package/server/src/lib/effective-access-history/effective-access-history.types.d.ts +64 -0
  172. package/server/src/lib/effective-access-history/effective-access-history.types.js +5 -0
  173. package/server/src/lib/effective-access-history/effective-access-history.types.js.map +1 -0
  174. package/server/src/lib/effective-access-history/version-as-of.util.d.ts +37 -0
  175. package/server/src/lib/effective-access-history/version-as-of.util.js +167 -0
  176. package/server/src/lib/effective-access-history/version-as-of.util.js.map +1 -0
  177. package/server/src/lib/entities/index.d.ts +1 -0
  178. package/server/src/lib/entities/index.js +5 -0
  179. package/{src/lib/seed/tenant → server/src/lib/entities}/index.js.map +1 -1
  180. package/server/src/lib/entities/security-management.entity-catalog.d.ts +1 -0
  181. package/server/src/lib/entities/security-management.entity-catalog.js +12 -0
  182. package/server/src/lib/entities/security-management.entity-catalog.js.map +1 -0
  183. package/server/src/lib/handlers/security-report.handlers.d.ts +36 -0
  184. package/server/src/lib/handlers/security-report.handlers.js +164 -0
  185. package/server/src/lib/handlers/security-report.handlers.js.map +1 -0
  186. package/server/src/lib/identity-provider/auth-oauth-clients.constants.d.ts +5 -0
  187. package/server/src/lib/identity-provider/auth-oauth-clients.constants.js +11 -0
  188. package/server/src/lib/identity-provider/auth-oauth-clients.constants.js.map +1 -0
  189. package/server/src/lib/identity-provider/identity-provider-catalog.service.d.ts +20 -0
  190. package/server/src/lib/identity-provider/identity-provider-catalog.service.js +169 -0
  191. package/server/src/lib/identity-provider/identity-provider-catalog.service.js.map +1 -0
  192. package/server/src/lib/identity-provider/identity-provider-ids.constants.d.ts +8 -0
  193. package/server/src/lib/identity-provider/identity-provider-ids.constants.js +19 -0
  194. package/server/src/lib/identity-provider/identity-provider-ids.constants.js.map +1 -0
  195. package/server/src/lib/identity-provider/identity-provider-stub.bootstrap.d.ts +12 -0
  196. package/server/src/lib/identity-provider/identity-provider-stub.bootstrap.js +48 -0
  197. package/server/src/lib/identity-provider/identity-provider-stub.bootstrap.js.map +1 -0
  198. package/server/src/lib/identity-provider/identity-provider.constants.d.ts +1 -0
  199. package/server/src/lib/identity-provider/identity-provider.constants.js +7 -0
  200. package/server/src/lib/identity-provider/identity-provider.constants.js.map +1 -0
  201. package/server/src/lib/middlewares/device-sessions-active.middleware.d.ts +15 -0
  202. package/server/src/lib/middlewares/device-sessions-active.middleware.js +76 -0
  203. package/server/src/lib/middlewares/device-sessions-active.middleware.js.map +1 -0
  204. package/server/src/lib/middlewares/device-sessions-app-scope.middleware.d.ts +29 -0
  205. package/server/src/lib/middlewares/device-sessions-app-scope.middleware.js +137 -0
  206. package/server/src/lib/middlewares/device-sessions-app-scope.middleware.js.map +1 -0
  207. package/server/src/lib/middlewares/device-sessions-app-scope.util.d.ts +41 -0
  208. package/server/src/lib/middlewares/device-sessions-app-scope.util.js +69 -0
  209. package/server/src/lib/middlewares/device-sessions-app-scope.util.js.map +1 -0
  210. package/server/src/lib/middlewares/device-sessions-token-revoke.middleware.d.ts +18 -0
  211. package/server/src/lib/middlewares/device-sessions-token-revoke.middleware.js +90 -0
  212. package/server/src/lib/middlewares/device-sessions-token-revoke.middleware.js.map +1 -0
  213. package/server/src/lib/middlewares/user-assigned-roles.middleware.d.ts +36 -0
  214. package/server/src/lib/middlewares/user-assigned-roles.middleware.js +359 -0
  215. package/server/src/lib/middlewares/user-assigned-roles.middleware.js.map +1 -0
  216. package/server/src/lib/middlewares/user-effective-state.middleware.d.ts +13 -0
  217. package/server/src/lib/middlewares/user-effective-state.middleware.js +57 -0
  218. package/server/src/lib/middlewares/user-effective-state.middleware.js.map +1 -0
  219. package/server/src/lib/middlewares/user-invitation-list.middleware.d.ts +32 -0
  220. package/server/src/lib/middlewares/user-invitation-list.middleware.js +250 -0
  221. package/server/src/lib/middlewares/user-invitation-list.middleware.js.map +1 -0
  222. package/server/src/lib/middlewares/user-profile-write.middleware.d.ts +18 -0
  223. package/server/src/lib/middlewares/user-profile-write.middleware.js +206 -0
  224. package/server/src/lib/middlewares/user-profile-write.middleware.js.map +1 -0
  225. package/server/src/lib/password-reset/change-own-password.command.d.ts +8 -0
  226. package/server/src/lib/password-reset/change-own-password.command.js +38 -0
  227. package/server/src/lib/password-reset/change-own-password.command.js.map +1 -0
  228. package/server/src/lib/password-reset/complete-password-reset.command.d.ts +8 -0
  229. package/server/src/lib/password-reset/complete-password-reset.command.js +37 -0
  230. package/server/src/lib/password-reset/complete-password-reset.command.js.map +1 -0
  231. package/server/src/lib/password-reset/get-own-password-status.command.d.ts +8 -0
  232. package/server/src/lib/password-reset/get-own-password-status.command.js +31 -0
  233. package/server/src/lib/password-reset/get-own-password-status.command.js.map +1 -0
  234. package/server/src/lib/password-reset/send-password-reset-email.command.d.ts +20 -0
  235. package/server/src/lib/password-reset/send-password-reset-email.command.js +43 -0
  236. package/server/src/lib/password-reset/send-password-reset-email.command.js.map +1 -0
  237. package/server/src/lib/password-reset/user-change-password.service.d.ts +24 -0
  238. package/server/src/lib/password-reset/user-change-password.service.js +92 -0
  239. package/server/src/lib/password-reset/user-change-password.service.js.map +1 -0
  240. package/server/src/lib/password-reset/user-password-reset.service.d.ts +26 -0
  241. package/server/src/lib/password-reset/user-password-reset.service.js +221 -0
  242. package/server/src/lib/password-reset/user-password-reset.service.js.map +1 -0
  243. package/server/src/lib/queries/get-permission-holders-history.query.d.ts +4 -0
  244. package/server/src/lib/queries/get-permission-holders-history.query.definition.d.ts +5 -0
  245. package/server/src/lib/queries/get-permission-holders-history.query.definition.js +38 -0
  246. package/server/src/lib/queries/get-permission-holders-history.query.definition.js.map +1 -0
  247. package/server/src/lib/queries/get-permission-holders-history.query.js +25 -0
  248. package/server/src/lib/queries/get-permission-holders-history.query.js.map +1 -0
  249. package/server/src/lib/queries/get-role-holders-history.query.d.ts +4 -0
  250. package/server/src/lib/queries/get-role-holders-history.query.definition.d.ts +5 -0
  251. package/server/src/lib/queries/get-role-holders-history.query.definition.js +38 -0
  252. package/server/src/lib/queries/get-role-holders-history.query.definition.js.map +1 -0
  253. package/server/src/lib/queries/get-role-holders-history.query.js +25 -0
  254. package/server/src/lib/queries/get-role-holders-history.query.js.map +1 -0
  255. package/server/src/lib/queries/get-user-effective-permissions-history.query.d.ts +4 -0
  256. package/server/src/lib/queries/get-user-effective-permissions-history.query.definition.d.ts +5 -0
  257. package/server/src/lib/queries/get-user-effective-permissions-history.query.definition.js +35 -0
  258. package/server/src/lib/queries/get-user-effective-permissions-history.query.definition.js.map +1 -0
  259. package/server/src/lib/queries/get-user-effective-permissions-history.query.js +26 -0
  260. package/server/src/lib/queries/get-user-effective-permissions-history.query.js.map +1 -0
  261. package/server/src/lib/queries/get-user-effective-roles-history.query.d.ts +4 -0
  262. package/server/src/lib/queries/get-user-effective-roles-history.query.definition.d.ts +5 -0
  263. package/server/src/lib/queries/get-user-effective-roles-history.query.definition.js +36 -0
  264. package/server/src/lib/queries/get-user-effective-roles-history.query.definition.js.map +1 -0
  265. package/server/src/lib/queries/get-user-effective-roles-history.query.js +25 -0
  266. package/server/src/lib/queries/get-user-effective-roles-history.query.js.map +1 -0
  267. package/server/src/lib/queries/get-user-password-change-history.query.d.ts +4 -0
  268. package/server/src/lib/queries/get-user-password-change-history.query.definition.d.ts +5 -0
  269. package/server/src/lib/queries/get-user-password-change-history.query.definition.js +33 -0
  270. package/server/src/lib/queries/get-user-password-change-history.query.definition.js.map +1 -0
  271. package/server/src/lib/queries/get-user-password-change-history.query.js +23 -0
  272. package/server/src/lib/queries/get-user-password-change-history.query.js.map +1 -0
  273. package/server/src/lib/queries/security-query.helpers.d.ts +47 -0
  274. package/server/src/lib/queries/security-query.helpers.js +184 -0
  275. package/server/src/lib/queries/security-query.helpers.js.map +1 -0
  276. package/server/src/lib/reports/password-change-history.service.d.ts +14 -0
  277. package/server/src/lib/reports/password-change-history.service.js +74 -0
  278. package/server/src/lib/reports/password-change-history.service.js.map +1 -0
  279. package/server/src/lib/reports/permission-display-catalog.d.ts +7 -0
  280. package/server/src/lib/reports/permission-display-catalog.js +101 -0
  281. package/server/src/lib/reports/permission-display-catalog.js.map +1 -0
  282. package/server/src/lib/reports/security-report-definition.provider.d.ts +5 -0
  283. package/server/src/lib/reports/security-report-definition.provider.js +23 -0
  284. package/server/src/lib/reports/security-report-definition.provider.js.map +1 -0
  285. package/server/src/lib/reports/security-report-parameter-groups.d.ts +343 -0
  286. package/server/src/lib/reports/security-report-parameter-groups.js +167 -0
  287. package/server/src/lib/reports/security-report-parameter-groups.js.map +1 -0
  288. package/server/src/lib/reports/security-report-scope.constants.d.ts +5 -0
  289. package/server/src/lib/reports/security-report-scope.constants.js +11 -0
  290. package/server/src/lib/reports/security-report-scope.constants.js.map +1 -0
  291. package/server/src/lib/reports/security-report.definitions.d.ts +12 -0
  292. package/server/src/lib/reports/security-report.definitions.js +386 -0
  293. package/server/src/lib/reports/security-report.definitions.js.map +1 -0
  294. package/server/src/lib/security-management-entity-storage.bootstrap.d.ts +26 -0
  295. package/server/src/lib/security-management-entity-storage.bootstrap.js +56 -0
  296. package/server/src/lib/security-management-entity-storage.bootstrap.js.map +1 -0
  297. package/server/src/lib/security-management-server.module.d.ts +7 -0
  298. package/server/src/lib/security-management-server.module.js +190 -0
  299. package/server/src/lib/security-management-server.module.js.map +1 -0
  300. package/server/src/lib/two-factor/admin-reset-two-factor.command.d.ts +8 -0
  301. package/server/src/lib/two-factor/admin-reset-two-factor.command.js +35 -0
  302. package/server/src/lib/two-factor/admin-reset-two-factor.command.js.map +1 -0
  303. package/server/src/lib/two-factor/confirm-two-factor-enrollment.command.d.ts +8 -0
  304. package/server/src/lib/two-factor/confirm-two-factor-enrollment.command.js +34 -0
  305. package/server/src/lib/two-factor/confirm-two-factor-enrollment.command.js.map +1 -0
  306. package/server/src/lib/two-factor/disable-two-factor.command.d.ts +8 -0
  307. package/server/src/lib/two-factor/disable-two-factor.command.js +31 -0
  308. package/server/src/lib/two-factor/disable-two-factor.command.js.map +1 -0
  309. package/server/src/lib/two-factor/generate-two-factor-recovery-codes.command.d.ts +8 -0
  310. package/server/src/lib/two-factor/generate-two-factor-recovery-codes.command.js +34 -0
  311. package/server/src/lib/two-factor/generate-two-factor-recovery-codes.command.js.map +1 -0
  312. package/server/src/lib/two-factor/get-two-factor-status.command.d.ts +8 -0
  313. package/server/src/lib/two-factor/get-two-factor-status.command.js +31 -0
  314. package/server/src/lib/two-factor/get-two-factor-status.command.js.map +1 -0
  315. package/server/src/lib/two-factor/recovery-codes.util.d.ts +11 -0
  316. package/server/src/lib/two-factor/recovery-codes.util.js +73 -0
  317. package/server/src/lib/two-factor/recovery-codes.util.js.map +1 -0
  318. package/server/src/lib/two-factor/start-two-factor-enrollment.command.d.ts +8 -0
  319. package/server/src/lib/two-factor/start-two-factor-enrollment.command.js +31 -0
  320. package/server/src/lib/two-factor/start-two-factor-enrollment.command.js.map +1 -0
  321. package/server/src/lib/two-factor/totp.util.d.ts +32 -0
  322. package/server/src/lib/two-factor/totp.util.js +128 -0
  323. package/server/src/lib/two-factor/totp.util.js.map +1 -0
  324. package/server/src/lib/two-factor/two-factor-encryption.util.d.ts +25 -0
  325. package/server/src/lib/two-factor/two-factor-encryption.util.js +123 -0
  326. package/server/src/lib/two-factor/two-factor-encryption.util.js.map +1 -0
  327. package/server/src/lib/two-factor/two-factor-gate.bootstrap.d.ts +9 -0
  328. package/server/src/lib/two-factor/two-factor-gate.bootstrap.js +65 -0
  329. package/server/src/lib/two-factor/two-factor-gate.bootstrap.js.map +1 -0
  330. package/server/src/lib/two-factor/two-factor-redis.store.d.ts +63 -0
  331. package/server/src/lib/two-factor/two-factor-redis.store.js +321 -0
  332. package/server/src/lib/two-factor/two-factor-redis.store.js.map +1 -0
  333. package/server/src/lib/two-factor/user-two-factor.service.d.ts +62 -0
  334. package/server/src/lib/two-factor/user-two-factor.service.js +573 -0
  335. package/server/src/lib/two-factor/user-two-factor.service.js.map +1 -0
  336. package/server/src/lib/two-factor/verify-two-factor-login.command.d.ts +18 -0
  337. package/server/src/lib/two-factor/verify-two-factor-login.command.js +54 -0
  338. package/server/src/lib/two-factor/verify-two-factor-login.command.js.map +1 -0
  339. package/server/src/lib/user-invitation/accept-invitation.command.d.ts +8 -0
  340. package/server/src/lib/user-invitation/accept-invitation.command.js +41 -0
  341. package/server/src/lib/user-invitation/accept-invitation.command.js.map +1 -0
  342. package/server/src/lib/user-invitation/accept-my-invitation.command.d.ts +8 -0
  343. package/server/src/lib/user-invitation/accept-my-invitation.command.js +40 -0
  344. package/server/src/lib/user-invitation/accept-my-invitation.command.js.map +1 -0
  345. package/server/src/lib/user-invitation/approve-join-request.command.d.ts +8 -0
  346. package/server/src/lib/user-invitation/approve-join-request.command.js +41 -0
  347. package/server/src/lib/user-invitation/approve-join-request.command.js.map +1 -0
  348. package/server/src/lib/user-invitation/cancel-invitation.command.d.ts +8 -0
  349. package/server/src/lib/user-invitation/cancel-invitation.command.js +37 -0
  350. package/server/src/lib/user-invitation/cancel-invitation.command.js.map +1 -0
  351. package/server/src/lib/user-invitation/cancel-my-join-request.command.d.ts +8 -0
  352. package/server/src/lib/user-invitation/cancel-my-join-request.command.js +40 -0
  353. package/server/src/lib/user-invitation/cancel-my-join-request.command.js.map +1 -0
  354. package/server/src/lib/user-invitation/create-user-in-tenant.command.d.ts +8 -0
  355. package/server/src/lib/user-invitation/create-user-in-tenant.command.js +37 -0
  356. package/server/src/lib/user-invitation/create-user-in-tenant.command.js.map +1 -0
  357. package/server/src/lib/user-invitation/decline-invitation.command.d.ts +8 -0
  358. package/server/src/lib/user-invitation/decline-invitation.command.js +37 -0
  359. package/server/src/lib/user-invitation/decline-invitation.command.js.map +1 -0
  360. package/server/src/lib/user-invitation/invite-user.command.d.ts +8 -0
  361. package/server/src/lib/user-invitation/invite-user.command.js +37 -0
  362. package/server/src/lib/user-invitation/invite-user.command.js.map +1 -0
  363. package/server/src/lib/user-invitation/list-invite-assignable-roles.command.d.ts +8 -0
  364. package/server/src/lib/user-invitation/list-invite-assignable-roles.command.js +41 -0
  365. package/server/src/lib/user-invitation/list-invite-assignable-roles.command.js.map +1 -0
  366. package/server/src/lib/user-invitation/list-my-join-requests.command.d.ts +8 -0
  367. package/server/src/lib/user-invitation/list-my-join-requests.command.js +40 -0
  368. package/server/src/lib/user-invitation/list-my-join-requests.command.js.map +1 -0
  369. package/server/src/lib/user-invitation/list-my-pending-invitations.command.d.ts +8 -0
  370. package/server/src/lib/user-invitation/list-my-pending-invitations.command.js +37 -0
  371. package/server/src/lib/user-invitation/list-my-pending-invitations.command.js.map +1 -0
  372. package/server/src/lib/user-invitation/list-tenant-entitled-applications.command.d.ts +8 -0
  373. package/server/src/lib/user-invitation/list-tenant-entitled-applications.command.js +41 -0
  374. package/server/src/lib/user-invitation/list-tenant-entitled-applications.command.js.map +1 -0
  375. package/server/src/lib/user-invitation/lookup-tenant-by-unique-name.command.d.ts +8 -0
  376. package/server/src/lib/user-invitation/lookup-tenant-by-unique-name.command.js +40 -0
  377. package/server/src/lib/user-invitation/lookup-tenant-by-unique-name.command.js.map +1 -0
  378. package/server/src/lib/user-invitation/reject-join-request.command.d.ts +8 -0
  379. package/server/src/lib/user-invitation/reject-join-request.command.js +41 -0
  380. package/server/src/lib/user-invitation/reject-join-request.command.js.map +1 -0
  381. package/server/src/lib/user-invitation/request-tenant-membership.command.d.ts +8 -0
  382. package/server/src/lib/user-invitation/request-tenant-membership.command.js +40 -0
  383. package/server/src/lib/user-invitation/request-tenant-membership.command.js.map +1 -0
  384. package/server/src/lib/user-invitation/resend-invitation.command.d.ts +12 -0
  385. package/server/src/lib/user-invitation/resend-invitation.command.js +37 -0
  386. package/server/src/lib/user-invitation/resend-invitation.command.js.map +1 -0
  387. package/server/src/lib/user-invitation/user-invitation-application-access.util.d.ts +25 -0
  388. package/server/src/lib/user-invitation/user-invitation-application-access.util.js +121 -0
  389. package/server/src/lib/user-invitation/user-invitation-application-access.util.js.map +1 -0
  390. package/server/src/lib/user-invitation/user-invitation.service.d.ts +162 -0
  391. package/server/src/lib/user-invitation/user-invitation.service.js +1658 -0
  392. package/server/src/lib/user-invitation/user-invitation.service.js.map +1 -0
  393. package/contracts/src/datasource.keys.d.ts +0 -4
  394. package/contracts/src/datasource.keys.js +0 -10
  395. package/contracts/src/datasource.keys.js.map +0 -1
  396. package/src/index.d.ts +0 -5
  397. package/src/index.js +0 -13
  398. package/src/index.js.map +0 -1
  399. package/src/lib/security-management-server.module.d.ts +0 -2
  400. package/src/lib/security-management-server.module.js +0 -23
  401. package/src/lib/security-management-server.module.js.map +0 -1
  402. package/src/lib/seed/index.d.ts +0 -22
  403. package/src/lib/seed/index.js +0 -24
  404. package/src/lib/seed/index.js.map +0 -1
  405. package/src/lib/seed/policy/index.d.ts +0 -2
  406. package/src/lib/seed/policy/index.js +0 -6
  407. package/src/lib/seed/policy/index.js.map +0 -1
  408. package/src/lib/seed/policy/policy.mock.d.ts +0 -7
  409. package/src/lib/seed/policy/policy.mock.js +0 -40
  410. package/src/lib/seed/policy/policy.mock.js.map +0 -1
  411. package/src/lib/seed/policy/policy.seed.d.ts +0 -5
  412. package/src/lib/seed/policy/policy.seed.js +0 -31
  413. package/src/lib/seed/policy/policy.seed.js.map +0 -1
  414. package/src/lib/seed/role/index.d.ts +0 -4
  415. package/src/lib/seed/role/index.js +0 -8
  416. package/src/lib/seed/role/index.js.map +0 -1
  417. package/src/lib/seed/role/role-ids.constants.d.ts +0 -14
  418. package/src/lib/seed/role/role-ids.constants.js +0 -20
  419. package/src/lib/seed/role/role-ids.constants.js.map +0 -1
  420. package/src/lib/seed/role/role-permission-keys.constants.d.ts +0 -578
  421. package/src/lib/seed/role/role-permission-keys.constants.js +0 -620
  422. package/src/lib/seed/role/role-permission-keys.constants.js.map +0 -1
  423. package/src/lib/seed/role/role.mock.d.ts +0 -4
  424. package/src/lib/seed/role/role.mock.js +0 -321
  425. package/src/lib/seed/role/role.mock.js.map +0 -1
  426. package/src/lib/seed/role/role.seed.d.ts +0 -5
  427. package/src/lib/seed/role/role.seed.js +0 -31
  428. package/src/lib/seed/role/role.seed.js.map +0 -1
  429. package/src/lib/seed/security-management-seed.provider.d.ts +0 -4
  430. package/src/lib/seed/security-management-seed.provider.js +0 -18
  431. package/src/lib/seed/security-management-seed.provider.js.map +0 -1
  432. package/src/lib/seed/security-management-seed.tokens.d.ts +0 -1
  433. package/src/lib/seed/security-management-seed.tokens.js +0 -7
  434. package/src/lib/seed/security-management-seed.tokens.js.map +0 -1
  435. package/src/lib/seed/security-management.seed-catalog.d.ts +0 -2
  436. package/src/lib/seed/security-management.seed-catalog.js +0 -17
  437. package/src/lib/seed/security-management.seed-catalog.js.map +0 -1
  438. package/src/lib/seed/tenant/index.d.ts +0 -1
  439. package/src/lib/seed/tenant/tenant-ids.constants.d.ts +0 -11
  440. package/src/lib/seed/tenant/tenant-ids.constants.js +0 -17
  441. package/src/lib/seed/tenant/tenant-ids.constants.js.map +0 -1
  442. package/src/lib/seed/user/index.d.ts +0 -4
  443. package/src/lib/seed/user/index.js +0 -13
  444. package/src/lib/seed/user/index.js.map +0 -1
  445. package/src/lib/seed/user/resolve-user-effective-state.util.d.ts +0 -14
  446. package/src/lib/seed/user/resolve-user-effective-state.util.js +0 -61
  447. package/src/lib/seed/user/resolve-user-effective-state.util.js.map +0 -1
  448. package/src/lib/seed/user/user.mock.d.ts +0 -20
  449. package/src/lib/seed/user/user.mock.js +0 -332
  450. package/src/lib/seed/user/user.mock.js.map +0 -1
  451. package/src/lib/seed/user/user.seed.d.ts +0 -5
  452. package/src/lib/seed/user/user.seed.js +0 -31
  453. package/src/lib/seed/user/user.seed.js.map +0 -1
@@ -4,21 +4,42 @@ exports.usersFactory = usersFactory;
4
4
  const tslib_1 = require("tslib");
5
5
  const core_1 = require("@acorex-platform/framework-shared/core");
6
6
  const entity_1 = require("@acorex-platform/framework-shared/entity");
7
- const index_1 = require("../../index");
7
+ const AXM_USER_ACCESS_STATE_DEFINITION_KEY_1 = require("../../AXM_USER_ACCESS_STATE_DEFINITION_KEY");
8
+ const AXM_USER_EFFECTIVE_STATE_DEFINITION_KEY_1 = require("../../AXM_USER_EFFECTIVE_STATE_DEFINITION_KEY");
9
+ const server_commands_1 = require("../../server-commands");
10
+ const user_provisioning_list_actions_1 = require("./user-provisioning-list-actions");
11
+ const USER_ROLES_PAGE_COMPONENT_KEY_1 = require("../../USER_ROLES_PAGE_COMPONENT_KEY");
12
+ const root_config_1 = require("../../root-config");
8
13
  function usersFactory() {
9
14
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
- const i18n = index_1.RootConfig.config.i18n;
11
15
  const entityDef = {
12
- module: index_1.RootConfig.module.name,
13
- name: index_1.RootConfig.entities.users.name,
14
- title: index_1.RootConfig.entities.users.title,
15
- icon: index_1.RootConfig.entities.users.icon,
16
+ module: root_config_1.RootConfig.module.name,
17
+ name: root_config_1.RootConfig.entities.users.name,
18
+ title: root_config_1.RootConfig.entities.users.title,
19
+ icon: root_config_1.RootConfig.entities.users.icon,
20
+ searchTags: [
21
+ 'user',
22
+ 'users',
23
+ 'account',
24
+ 'identity',
25
+ 'sign-in',
26
+ 'password',
27
+ 'access-state',
28
+ 'lifecycle',
29
+ 'authorization',
30
+ 'home-tenant',
31
+ 'کاربر',
32
+ 'کاربران',
33
+ 'رمز عبور',
34
+ 'ورود',
35
+ 'حساب کاربری',
36
+ ],
16
37
  formats: {
17
- individual: index_1.RootConfig.entities.users.title,
18
- plural: index_1.RootConfig.entities.users.titlePlural,
38
+ individual: root_config_1.RootConfig.entities.users.title,
39
+ plural: root_config_1.RootConfig.entities.users.titlePlural,
19
40
  searchResult: {
20
41
  title: '{{ displayName }}',
21
- description: `@security-management:users.entities.user.search-result-description`,
42
+ description: '{{ context.eval("lastSignInAt", { pipes: ["timeleft"] }) || "@security-management:users.entities.user.fields.last-sign-in-at.never" }}',
22
43
  },
23
44
  },
24
45
  plugins: [
@@ -38,12 +59,14 @@ function usersFactory() {
38
59
  name: 'status',
39
60
  options: {
40
61
  field: 'accessState',
41
- definition: index_1.AXM_USER_ACCESS_STATE_DEFINITION_KEY,
62
+ definition: AXM_USER_ACCESS_STATE_DEFINITION_KEY_1.AXM_USER_ACCESS_STATE_DEFINITION_KEY,
42
63
  isPrimary: false,
43
64
  groupId: 'user-account-access',
44
65
  title: '@security-management:users.entities.user.fields.access-state.title',
45
66
  showInCreate: false,
46
- readonly: false,
67
+ // Platform-scoped sign-in gate: display-only on User detail (tenant must not change).
68
+ // Platform mutations should go through a dedicated ops path once client isPlatform is available.
69
+ readonly: true,
47
70
  generate: { views: { enabled: false } },
48
71
  },
49
72
  },
@@ -51,7 +74,7 @@ function usersFactory() {
51
74
  name: 'status',
52
75
  options: {
53
76
  field: 'effectiveState',
54
- definition: index_1.AXM_USER_EFFECTIVE_STATE_DEFINITION_KEY,
77
+ definition: AXM_USER_EFFECTIVE_STATE_DEFINITION_KEY_1.AXM_USER_EFFECTIVE_STATE_DEFINITION_KEY,
55
78
  isPrimary: true,
56
79
  groupId: 'user-account-access',
57
80
  title: '@security-management:users.entities.user.fields.effective-state.title',
@@ -60,11 +83,21 @@ function usersFactory() {
60
83
  generate: { views: { enabled: true } },
61
84
  },
62
85
  },
86
+ { name: 'unique-fields', options: { fields: 'email', scope: 'global' } },
63
87
  { name: 'history' },
64
88
  { name: 'lock' },
65
89
  { name: 'compare' },
90
+ { name: 'reports' },
91
+ ],
92
+ pages: [
93
+ {
94
+ componentKey: USER_ROLES_PAGE_COMPONENT_KEY_1.USER_ROLES_PAGE_COMPONENT_KEY,
95
+ title: '@security-management:users.entities.user.pages.roles.title',
96
+ icon: 'fa-light fa-user-tag',
97
+ layout: { order: 1, position: 'after' },
98
+ appearOn: { create: true, update: true },
99
+ },
66
100
  ],
67
- pages: [],
68
101
  groups: [
69
102
  {
70
103
  id: 'basic-info',
@@ -75,10 +108,6 @@ function usersFactory() {
75
108
  title: '@general:terms.common.avatar',
76
109
  icon: 'fa-light fa-image',
77
110
  },
78
- {
79
- id: 'authorizations',
80
- title: `@${i18n}:users.entities.user.groups.authorizations`,
81
- },
82
111
  {
83
112
  id: 'user-account-access',
84
113
  title: '@security-management:users.entities.user.groups.account-access',
@@ -104,6 +133,7 @@ function usersFactory() {
104
133
  },
105
134
  schema: {
106
135
  dataType: 'string',
136
+ readonly: '{{ !!context.eval("id") }}',
107
137
  interface: {
108
138
  type: core_1.AXPWidgetsCatalog.text,
109
139
  options: {},
@@ -144,12 +174,132 @@ function usersFactory() {
144
174
  },
145
175
  ],
146
176
  },
177
+ {
178
+ name: 'email',
179
+ title: '@general:terms.communication.email',
180
+ groupId: 'basic-info',
181
+ options: {
182
+ filter: {
183
+ advance: { enabled: true },
184
+ inline: { enabled: true },
185
+ },
186
+ sort: { enabled: true },
187
+ },
188
+ schema: {
189
+ dataType: 'string',
190
+ interface: {
191
+ type: core_1.AXPWidgetsCatalog.text,
192
+ options: {},
193
+ },
194
+ },
195
+ validations: [{ rule: 'required' }],
196
+ },
197
+ {
198
+ name: 'rolesList',
199
+ title: '@security-management:users.entities.user.fields.roles.title',
200
+ groupId: 'basic-info',
201
+ schema: {
202
+ dataType: 'array',
203
+ /**
204
+ * Display-only Role snapshots. Not a stored FK — source of truth is
205
+ * scoped SecurityManagement.UserRole. Name must not end in Id/Ids so
206
+ * the query planner does not join Role from this User document.
207
+ */
208
+ readonly: true,
209
+ visible: false,
210
+ interface: {
211
+ type: core_1.AXPWidgetsList.Editors.LookupBox,
212
+ options: {
213
+ entity: `${root_config_1.RootConfig.module.name}.${root_config_1.RootConfig.entities.roles.name}`,
214
+ textField: 'title',
215
+ valueField: 'id',
216
+ multiple: true,
217
+ look: 'select',
218
+ },
219
+ },
220
+ },
221
+ },
222
+ {
223
+ /**
224
+ * Display-only (like rolesList). Never persisted on User documents.
225
+ * Hydrated from session-tenant TenantUser.statusId (+ acceptedAt → accepted).
226
+ */
227
+ name: 'membershipStatusId',
228
+ title: '@security-management:users.entities.user.fields.membership-status.title',
229
+ groupId: 'user-account-access',
230
+ schema: {
231
+ dataType: 'string',
232
+ readonly: true,
233
+ nullable: true,
234
+ visible: false,
235
+ interface: {
236
+ type: core_1.AXPWidgetsList.Advanced.Status,
237
+ options: {
238
+ definitionKey: 'security-management.status.user-invitation',
239
+ },
240
+ },
241
+ },
242
+ },
243
+ {
244
+ /**
245
+ * Hidden view filter marker only; rewritten server-side to TenantUser
246
+ * invitation.source invite or join-request. Never persisted on User documents.
247
+ */
248
+ name: 'membershipInviteScope',
249
+ title: '@security-management:users.entities.user.fields.membership-invite-scope.title',
250
+ groupId: 'user-account-access',
251
+ schema: {
252
+ dataType: 'string',
253
+ readonly: true,
254
+ visible: false,
255
+ nullable: true,
256
+ interface: {
257
+ type: core_1.AXPWidgetsCatalog.text,
258
+ options: {},
259
+ },
260
+ },
261
+ },
262
+ {
263
+ /**
264
+ * Display-only. Hydrated from session-tenant TenantUser.invitation.source.
265
+ * Used to show Approve/Reject only for pending join-requests.
266
+ */
267
+ name: 'membershipInvitationSource',
268
+ title: '@security-management:users.entities.user.fields.membership-invitation-source.title',
269
+ groupId: 'user-account-access',
270
+ schema: {
271
+ dataType: 'string',
272
+ readonly: true,
273
+ visible: false,
274
+ nullable: true,
275
+ interface: {
276
+ type: core_1.AXPWidgetsCatalog.text,
277
+ options: {},
278
+ },
279
+ },
280
+ },
281
+ {
282
+ name: 'homeTenantId',
283
+ title: '@security-management:users.entities.user.fields.home-tenant.title',
284
+ groupId: 'basic-info',
285
+ schema: {
286
+ dataType: 'string',
287
+ /** Stamped on create from session; not shown on User forms. */
288
+ readonly: true,
289
+ visible: false,
290
+ interface: {
291
+ type: core_1.AXPWidgetsCatalog.text,
292
+ options: {},
293
+ },
294
+ },
295
+ },
147
296
  {
148
297
  name: 'password',
149
298
  title: '@security-management:users.entities.user.fields.password.title',
150
- groupId: 'authorizations',
299
+ groupId: 'basic-info',
151
300
  schema: {
152
301
  dataType: 'string',
302
+ visible: false,
153
303
  interface: {
154
304
  type: core_1.AXPWidgetsCatalog.text,
155
305
  },
@@ -173,7 +323,7 @@ function usersFactory() {
173
323
  {
174
324
  name: 'pinCode',
175
325
  title: '@security-management:users.entities.user.fields.pin-code.title',
176
- groupId: 'authorizations',
326
+ groupId: 'basic-info',
177
327
  schema: {
178
328
  dataType: 'string',
179
329
  readonly: true,
@@ -184,39 +334,70 @@ function usersFactory() {
184
334
  },
185
335
  },
186
336
  {
187
- name: 'roleIds',
188
- title: '@security-management:users.entities.user.fields.roles.title',
189
- groupId: 'authorizations',
337
+ name: 'passwordChangedAt',
338
+ title: '@security-management:users.entities.user.fields.password-changed-at.title',
339
+ groupId: 'user-account-access',
190
340
  schema: {
191
- dataType: 'object',
341
+ dataType: 'date',
342
+ readonly: true,
343
+ visible: false,
344
+ nullable: true,
192
345
  interface: {
193
- type: core_1.AXPWidgetsCatalog.lookup,
194
- options: {
195
- entity: 'SecurityManagement.Role',
196
- multiple: true,
197
- look: 'select',
198
- expose: [
199
- { source: 'id', target: 'roles.{id}' },
200
- { source: 'title', target: 'roles.{title}' },
201
- ],
202
- // columnResolve: {
203
- // strategy: 'countOnly',
204
- // countFieldPath: 'roles.length',
205
- // queryKey: 'SecurityManagement:User:RolesForListColumn',
206
- // queryParams: { userId: 'id' },
207
- // queryResultItemsPath: 'items',
208
- // },
209
- },
346
+ type: core_1.AXPWidgetsCatalog.dateTime,
210
347
  },
211
348
  },
212
- validations: [
213
- {
214
- rule: 'required',
349
+ },
350
+ {
351
+ name: 'pinChangedAt',
352
+ title: '@security-management:users.entities.user.fields.pin-changed-at.title',
353
+ groupId: 'user-account-access',
354
+ schema: {
355
+ dataType: 'date',
356
+ readonly: true,
357
+ visible: false,
358
+ nullable: true,
359
+ interface: {
360
+ type: core_1.AXPWidgetsCatalog.dateTime,
215
361
  },
216
- ],
362
+ },
363
+ },
364
+ {
365
+ name: 'lastSignInAt',
366
+ title: '@security-management:users.entities.user.fields.last-sign-in-at.title',
367
+ groupId: 'user-account-access',
368
+ schema: {
369
+ dataType: 'date',
370
+ readonly: true,
371
+ visible: false,
372
+ nullable: true,
373
+ interface: {
374
+ type: core_1.AXPWidgetsCatalog.dateTime,
375
+ },
376
+ },
377
+ },
378
+ {
379
+ name: 'passwordReset',
380
+ title: '@security-management:users.entities.user.fields.password-reset.title',
381
+ groupId: 'user-account-access',
382
+ schema: {
383
+ dataType: 'object',
384
+ readonly: true,
385
+ visible: false,
386
+ nullable: true,
387
+ interface: {
388
+ type: core_1.AXPWidgetsCatalog.text,
389
+ },
390
+ },
217
391
  },
218
392
  ],
219
- columns: [{ name: 'username' }, { name: 'displayName' }, { name: 'roleIds', options: { dataPath: 'roles' } }],
393
+ columns: [
394
+ { name: 'username' },
395
+ { name: 'displayName' },
396
+ { name: 'email' },
397
+ { name: 'rolesList' },
398
+ { name: 'membershipStatusId', options: { visible: false } },
399
+ { name: 'lastSignInAt', options: { visible: false } },
400
+ ],
220
401
  interfaces: {
221
402
  master: {
222
403
  create: {
@@ -231,62 +412,25 @@ function usersFactory() {
231
412
  order: 2,
232
413
  layout: { positions: { lg: { colSpan: 4, colStart: 9 } } },
233
414
  },
234
- {
235
- id: 'authorizations',
236
- order: 3,
237
- },
238
415
  ],
239
416
  properties: [
240
417
  {
241
418
  name: 'username',
242
- layout: {
243
- positions: {
244
- lg: {
245
- colSpan: 6,
246
- },
247
- },
248
- },
419
+ layout: { positions: { lg: { colSpan: 6 } } },
249
420
  },
250
421
  {
251
422
  name: 'displayName',
252
- layout: {
253
- positions: {
254
- lg: {
255
- colSpan: 6,
256
- },
257
- },
258
- },
423
+ layout: { positions: { lg: { colSpan: 6 } } },
259
424
  },
260
425
  {
261
- name: 'avatar',
262
- layout: {
263
- label: { visible: false },
264
- positions: {
265
- lg: {
266
- colSpan: 12,
267
- order: 1,
268
- },
269
- },
270
- },
426
+ name: 'email',
427
+ layout: { positions: { lg: { colSpan: 12 } } },
271
428
  },
272
429
  {
273
- name: 'roleIds',
274
- layout: {
275
- positions: {
276
- lg: {
277
- colSpan: 12,
278
- },
279
- },
280
- },
281
- },
282
- {
283
- name: 'password',
430
+ name: 'avatar',
284
431
  layout: {
285
- positions: {
286
- lg: {
287
- colSpan: 12,
288
- },
289
- },
432
+ label: { visible: false },
433
+ positions: { lg: { colSpan: 12, order: 1 } },
290
434
  },
291
435
  },
292
436
  ],
@@ -303,104 +447,31 @@ function usersFactory() {
303
447
  order: 2,
304
448
  layout: { positions: { lg: { colSpan: 4, colStart: 9 } } },
305
449
  },
306
- {
307
- id: 'authorizations',
308
- order: 3,
309
- layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },
310
- },
311
450
  {
312
451
  id: 'user-account-access',
313
- order: 4,
452
+ order: 3,
314
453
  layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },
315
454
  },
316
455
  ],
317
456
  properties: [
318
- {
319
- name: 'username',
320
- layout: {
321
- positions: {
322
- lg: {
323
- colSpan: 6,
324
- },
325
- },
326
- },
327
- },
328
- {
329
- name: 'displayName',
330
- layout: {
331
- positions: {
332
- lg: {
333
- colSpan: 6,
334
- },
335
- },
336
- },
337
- },
457
+ { name: 'username', layout: { positions: { lg: { colSpan: 6 } } } },
458
+ { name: 'displayName', layout: { positions: { lg: { colSpan: 6 } } } },
459
+ { name: 'email', layout: { positions: { lg: { colSpan: 6 } } } },
338
460
  {
339
461
  name: 'avatar',
340
462
  layout: {
341
463
  label: { visible: false },
342
- positions: {
343
- lg: {
344
- colSpan: 12,
345
- order: 1,
346
- },
347
- },
348
- },
349
- },
350
- {
351
- name: 'roleIds',
352
- layout: {
353
- positions: {
354
- lg: {
355
- colSpan: 12,
356
- },
357
- },
358
- },
359
- },
360
- {
361
- name: 'password',
362
- layout: {
363
- positions: {
364
- lg: {
365
- colSpan: 12,
366
- },
367
- },
368
- },
369
- },
370
- {
371
- name: 'accountState',
372
- layout: {
373
- positions: {
374
- lg: {
375
- colSpan: 4,
376
- },
377
- },
378
- },
379
- },
380
- {
381
- name: 'accessState',
382
- layout: {
383
- positions: {
384
- lg: {
385
- colSpan: 4,
386
- },
387
- },
388
- },
389
- },
390
- {
391
- name: 'effectiveState',
392
- layout: {
393
- positions: {
394
- lg: {
395
- colSpan: 4,
396
- },
397
- },
464
+ positions: { lg: { colSpan: 12, order: 1 } },
398
465
  },
399
466
  },
467
+ { name: 'accountState', layout: { positions: { lg: { colSpan: 4 } } } },
468
+ { name: 'accessState', layout: { positions: { lg: { colSpan: 4 } } } },
469
+ { name: 'effectiveState', layout: { positions: { lg: { colSpan: 4 } } } },
400
470
  ],
401
471
  },
402
472
  single: {
403
473
  title: '{{ context.eval("displayName") ?? context.eval("username") }}',
474
+ description: '{{ context.eval("lastSignInAt", { pipes: ["timeleft"] }) || "@security-management:users.entities.user.fields.last-sign-in-at.never" }}',
404
475
  sections: [
405
476
  {
406
477
  id: 'basic-info',
@@ -412,140 +483,127 @@ function usersFactory() {
412
483
  order: 2,
413
484
  layout: { positions: { lg: { colSpan: 4, colStart: 9 } } },
414
485
  },
415
- {
416
- id: 'authorizations',
417
- order: 3,
418
- layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },
419
- },
420
486
  {
421
487
  id: 'user-account-access',
422
- order: 4,
488
+ order: 3,
423
489
  layout: { positions: { lg: { colSpan: 12, colStart: 1 } } },
424
490
  },
425
491
  ],
426
492
  properties: [
427
- {
428
- name: 'username',
429
- layout: {
430
- positions: {
431
- lg: {
432
- colSpan: 6,
433
- },
434
- },
435
- },
436
- },
437
- {
438
- name: 'displayName',
439
- layout: {
440
- positions: {
441
- lg: {
442
- colSpan: 6,
443
- },
444
- },
445
- },
446
- },
493
+ { name: 'username', layout: { positions: { lg: { colSpan: 6 } } } },
494
+ { name: 'displayName', layout: { positions: { lg: { colSpan: 6 } } } },
495
+ { name: 'email', layout: { positions: { lg: { colSpan: 6 } } } },
447
496
  {
448
497
  name: 'avatar',
449
498
  layout: {
450
499
  label: { visible: false },
451
- positions: {
452
- lg: {
453
- colSpan: 12,
454
- order: 1,
455
- },
456
- },
457
- },
458
- },
459
- {
460
- name: 'password',
461
- layout: {
462
- positions: {
463
- lg: {
464
- colSpan: 12,
465
- },
466
- },
467
- },
468
- },
469
- {
470
- name: 'roleIds',
471
- layout: {
472
- positions: {
473
- lg: {
474
- colSpan: 12,
475
- },
476
- },
477
- },
478
- },
479
- {
480
- name: 'accountState',
481
- layout: {
482
- positions: {
483
- lg: {
484
- colSpan: 4,
485
- },
486
- },
487
- },
488
- },
489
- {
490
- name: 'accessState',
491
- layout: {
492
- positions: {
493
- lg: {
494
- colSpan: 4,
495
- },
496
- },
497
- },
498
- },
499
- {
500
- name: 'effectiveState',
501
- layout: {
502
- positions: {
503
- lg: {
504
- colSpan: 4,
505
- },
506
- },
500
+ positions: { lg: { colSpan: 12, order: 1 } },
507
501
  },
508
502
  },
503
+ { name: 'accountState', layout: { positions: { lg: { colSpan: 4 } } } },
504
+ { name: 'accessState', layout: { positions: { lg: { colSpan: 4 } } } },
505
+ { name: 'effectiveState', layout: { positions: { lg: { colSpan: 4 } } } },
506
+ ],
507
+ actions: [
508
+ {
509
+ title: '@security-management:users.entities.user.actions.send-password-reset.title',
510
+ icon: 'fa-light fa-envelope',
511
+ command: server_commands_1.AXM_USER_SEND_PASSWORD_RESET_COMMAND,
512
+ priority: 'secondary',
513
+ type: 'view',
514
+ scope: entity_1.AXPEntityCommandScope.Individual,
515
+ },
516
+ {
517
+ title: '@security-management:users.entities.user.actions.reset-two-factor.title',
518
+ icon: 'fa-light fa-shield-keyhole',
519
+ command: server_commands_1.AXM_USER_RESET_TWO_FACTOR_COMMAND,
520
+ priority: 'secondary',
521
+ type: 'view',
522
+ scope: entity_1.AXPEntityCommandScope.Individual,
523
+ },
524
+ {
525
+ title: '@security-management:users.entities.user.actions.resend-invitation.title',
526
+ icon: 'fa-light fa-paper-plane',
527
+ command: server_commands_1.AXM_USER_RESEND_INVITATION_COMMAND,
528
+ priority: 'secondary',
529
+ type: 'view',
530
+ scope: entity_1.AXPEntityCommandScope.Individual,
531
+ hidden: '{{ context.eval("membershipStatusId") !== "pending" || context.eval("membershipInvitationSource") !== "invite" }}',
532
+ },
533
+ {
534
+ title: '@security-management:users.entities.user.actions.cancel-invitation.title',
535
+ icon: 'fa-light fa-user-xmark',
536
+ command: server_commands_1.AXM_USER_CANCEL_INVITATION_COMMAND,
537
+ priority: 'secondary',
538
+ type: 'view',
539
+ scope: entity_1.AXPEntityCommandScope.Individual,
540
+ hidden: '{{ context.eval("membershipStatusId") !== "pending" || context.eval("membershipInvitationSource") !== "invite" }}',
541
+ },
542
+ {
543
+ title: '@security-management:users.entities.user.actions.approve-join-request.title',
544
+ icon: 'fa-light fa-user-check',
545
+ command: server_commands_1.AXM_USER_APPROVE_JOIN_REQUEST_COMMAND,
546
+ color: 'success',
547
+ priority: 'primary',
548
+ type: 'view',
549
+ scope: entity_1.AXPEntityCommandScope.Individual,
550
+ hidden: '{{ context.eval("membershipStatusId") !== "pending" || context.eval("membershipInvitationSource") !== "join-request" }}',
551
+ },
552
+ {
553
+ title: '@security-management:users.entities.user.actions.reject-join-request.title',
554
+ icon: 'fa-light fa-user-xmark',
555
+ command: server_commands_1.AXM_USER_REJECT_JOIN_REQUEST_COMMAND,
556
+ color: 'warning',
557
+ priority: 'primary',
558
+ type: 'view',
559
+ scope: entity_1.AXPEntityCommandScope.Individual,
560
+ hidden: '{{ context.eval("membershipStatusId") !== "pending" || context.eval("membershipInvitationSource") !== "join-request" }}',
561
+ },
562
+ ...(0, entity_1.entityMasterRecordActions)(),
509
563
  ],
510
- actions: [...(0, entity_1.entityMasterRecordActions)()],
511
564
  },
512
565
  list: {
513
- actions: [...(0, entity_1.entityMasterCrudActions)()],
514
- layouts: {
515
- card: {
516
- enabled: true,
517
- header: {
518
- title: 'displayName',
519
- description: 'description',
520
- icon: 'icon',
521
- },
522
- fields: [
523
- {
524
- name: 'displayName',
525
- title: 'Display Name',
526
- showAs: {
527
- type: core_1.AXPWidgetsCatalog.text,
528
- },
529
- },
530
- {
531
- name: 'roleIds',
532
- },
566
+ actions: [
567
+ ...(0, user_provisioning_list_actions_1.userProvisioningListActions)(),
568
+ ...(0, entity_1.entityMasterCrudActions)({ create: false }),
569
+ ],
570
+ views: [
571
+ (0, entity_1.createAllQueryView)({
572
+ sorts: [{ name: 'displayName', dir: 'asc' }],
573
+ }),
574
+ (0, entity_1.createQueryView)('invitations', '@security-management:users.entities.user.views.invitations.title', true, {
575
+ conditions: [
533
576
  {
534
- name: 'username',
577
+ name: 'membershipInviteScope',
578
+ operator: { type: 'equal' },
579
+ value: 'lifecycle',
580
+ hidden: true,
535
581
  },
536
582
  ],
537
- },
538
- table: {
539
- enabled: true,
540
- columns: [],
541
- },
542
- },
543
- views: [
544
- (0, entity_1.createAllQueryView)({
583
+ columns: [
584
+ 'username',
585
+ 'displayName',
586
+ 'email',
587
+ 'membershipStatusId',
588
+ 'rolesList',
589
+ ],
545
590
  sorts: [{ name: 'displayName', dir: 'asc' }],
546
591
  }),
547
592
  ],
548
593
  },
594
+ card: {
595
+ enabled: true,
596
+ header: {
597
+ title: 'displayName',
598
+ description: '{{ context.eval("lastSignInAt", { pipes: ["timeleft"] }) || "@security-management:users.entities.user.fields.last-sign-in-at.never" }}',
599
+ avatar: 'avatar',
600
+ },
601
+ fields: [
602
+ { name: 'username', display: 'meta' },
603
+ { name: 'email', display: 'meta' },
604
+ { name: 'rolesList', display: 'simple' },
605
+ ],
606
+ },
549
607
  },
550
608
  },
551
609
  };