verben-authentication-ui 1.0.2 → 1.0.3

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 (434) hide show
  1. package/ng-package.json +8 -0
  2. package/package.json +10 -15
  3. package/src/lib/base/base-data.component.ts +86 -0
  4. package/src/lib/base/base-data.facade.ts +157 -0
  5. package/src/lib/base/base-data.service.ts +49 -0
  6. package/src/lib/base/base-data.state.ts +94 -0
  7. package/src/lib/base/models.ts +14 -0
  8. package/src/lib/components/auth-callback/auth-callback.component.css +30 -0
  9. package/src/lib/components/auth-callback/auth-callback.component.html +6 -0
  10. package/src/lib/components/auth-callback/auth-callback.component.spec.ts +23 -0
  11. package/src/lib/components/auth-callback/auth-callback.component.ts +56 -0
  12. package/src/lib/components/auth-callback/auth-callback.module.ts +10 -0
  13. package/src/lib/components/button/button.component.css +3 -0
  14. package/src/lib/components/button/button.component.html +13 -0
  15. package/src/lib/components/button/button.component.spec.ts +23 -0
  16. package/src/lib/components/button/button.component.ts +24 -0
  17. package/src/lib/components/button/button.module.ts +11 -0
  18. package/{lib/components/forgot-password/ForgotPasswordData.d.ts → src/lib/components/forgot-password/ForgotPasswordData.ts} +1 -1
  19. package/src/lib/components/forgot-password/forgot-password.component.css +46 -0
  20. package/src/lib/components/forgot-password/forgot-password.component.html +19 -0
  21. package/src/lib/components/forgot-password/forgot-password.component.spec.ts +23 -0
  22. package/src/lib/components/forgot-password/forgot-password.component.ts +88 -0
  23. package/src/lib/components/forgot-password/forgot-password.module.ts +18 -0
  24. package/src/lib/components/mail/mail.component.css +0 -0
  25. package/src/lib/components/mail/mail.component.html +11 -0
  26. package/src/lib/components/mail/mail.component.spec.ts +23 -0
  27. package/src/lib/components/mail/mail.component.ts +47 -0
  28. package/src/lib/components/mail/mail.module.ts +13 -0
  29. package/src/lib/components/mail-validation/mail-validation.component.css +59 -0
  30. package/src/lib/components/mail-validation/mail-validation.component.html +37 -0
  31. package/src/lib/components/mail-validation/mail-validation.component.spec.ts +23 -0
  32. package/src/lib/components/mail-validation/mail-validation.component.ts +66 -0
  33. package/src/lib/components/mail-validation/mail-validation.module.ts +18 -0
  34. package/src/lib/components/o-auth/o-auth.component.css +26 -0
  35. package/src/lib/components/o-auth/o-auth.component.html +26 -0
  36. package/src/lib/components/o-auth/o-auth.component.spec.ts +23 -0
  37. package/src/lib/components/o-auth/o-auth.component.ts +115 -0
  38. package/src/lib/components/o-auth/o-auth.module.ts +11 -0
  39. package/src/lib/components/otp-input/otp-input.component.css +19 -0
  40. package/src/lib/components/otp-input/otp-input.component.html +15 -0
  41. package/src/lib/components/otp-input/otp-input.component.spec.ts +23 -0
  42. package/src/lib/components/otp-input/otp-input.component.ts +88 -0
  43. package/src/lib/components/otp-input/otp-input.module.ts +15 -0
  44. package/src/lib/components/reset-password/ResetPasswordData.ts +5 -0
  45. package/src/lib/components/reset-password/reset-password.component.css +29 -0
  46. package/src/lib/components/reset-password/reset-password.component.html +24 -0
  47. package/src/lib/components/reset-password/reset-password.component.spec.ts +23 -0
  48. package/src/lib/components/reset-password/reset-password.component.ts +108 -0
  49. package/src/lib/components/reset-password/reset-password.module.ts +18 -0
  50. package/src/lib/components/role-control/ChildrenType.ts +4 -0
  51. package/{lib/components/role-control/MappedRole.d.ts → src/lib/components/role-control/MappedRole.ts} +3 -2
  52. package/{lib/components/role-control/MappedRoleAction.d.ts → src/lib/components/role-control/MappedRoleAction.ts} +2 -1
  53. package/{lib/components/role-control/MappedRoleContext.d.ts → src/lib/components/role-control/MappedRoleContext.ts} +4 -3
  54. package/src/lib/components/role-control/UIActions.ts +5 -0
  55. package/src/lib/components/role-control/UIs.ts +38 -0
  56. package/src/lib/components/role-control/base-table-style.ts +52 -0
  57. package/src/lib/components/role-control/role-control.component.css +55 -0
  58. package/src/lib/components/role-control/role-control.component.html +571 -0
  59. package/src/lib/components/role-control/role-control.component.spec.ts +23 -0
  60. package/src/lib/components/role-control/role-control.component.ts +1817 -0
  61. package/src/lib/components/role-control/role-control.module.ts +10 -0
  62. package/src/lib/components/role-control/role-control.service.spec.ts +16 -0
  63. package/src/lib/components/role-control/role-control.service.ts +53 -0
  64. package/src/lib/components/sign-in/sign-in.component.css +21 -0
  65. package/src/lib/components/sign-in/sign-in.component.html +83 -0
  66. package/src/lib/components/sign-in/sign-in.component.spec.ts +23 -0
  67. package/src/lib/components/sign-in/sign-in.component.ts +267 -0
  68. package/src/lib/components/sign-in/sign-in.module.ts +17 -0
  69. package/src/lib/components/sign-up/sign-up.component.css +36 -0
  70. package/src/lib/components/sign-up/sign-up.component.html +132 -0
  71. package/src/lib/components/sign-up/sign-up.component.spec.ts +23 -0
  72. package/src/lib/components/sign-up/sign-up.component.ts +180 -0
  73. package/src/lib/components/sign-up/sign-up.module.ts +15 -0
  74. package/src/lib/components/sso/base-table-style.ts +52 -0
  75. package/src/lib/components/sso/helper.ts +17 -0
  76. package/src/lib/components/sso/sso-form/sso-form.component.css +13 -0
  77. package/src/lib/components/sso/sso-form/sso-form.component.html +109 -0
  78. package/src/lib/components/sso/sso-form/sso-form.component.spec.ts +23 -0
  79. package/src/lib/components/sso/sso-form/sso-form.component.ts +70 -0
  80. package/src/lib/components/sso/sso.columns.ts +32 -0
  81. package/src/lib/components/sso/sso.component.css +47 -0
  82. package/src/lib/components/sso/sso.component.html +208 -0
  83. package/src/lib/components/sso/sso.component.spec.ts +23 -0
  84. package/src/lib/components/sso/sso.component.ts +261 -0
  85. package/src/lib/components/sso/sso.module.ts +40 -0
  86. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.css +8 -0
  87. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.html +30 -0
  88. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.spec.ts +23 -0
  89. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.ts +155 -0
  90. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.ts +15 -0
  91. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.css +17 -0
  92. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.html +45 -0
  93. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.spec.ts +23 -0
  94. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.ts +57 -0
  95. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.ts +11 -0
  96. package/src/lib/components/user-management/base-table-style.ts +52 -0
  97. package/src/lib/components/user-management/facades/user-management.facades.ts +133 -0
  98. package/src/lib/components/user-management/helper.ts +38 -0
  99. package/src/lib/components/user-management/index.ts +4 -0
  100. package/src/lib/components/user-management/services/user-management.service.spec.ts +16 -0
  101. package/src/lib/components/user-management/services/user-management.service.ts +111 -0
  102. package/src/lib/components/user-management/states/user-management.state.ts +65 -0
  103. package/src/lib/components/user-management/user-management-form/use-management-form.component.ts +73 -0
  104. package/src/lib/components/user-management/user-management-form/user-management-form.component.css +0 -0
  105. package/src/lib/components/user-management/user-management-form/user-management-form.component.html +80 -0
  106. package/src/lib/components/user-management/user-management-form/user-management-form.component.spec.ts +23 -0
  107. package/src/lib/components/user-management/user-management.columns.ts +51 -0
  108. package/src/lib/components/user-management/user-management.component.css +31 -0
  109. package/src/lib/components/user-management/user-management.component.html +319 -0
  110. package/src/lib/components/user-management/user-management.component.spec.ts +23 -0
  111. package/src/lib/components/user-management/user-management.component.ts +604 -0
  112. package/src/lib/components/user-management/user-management.module.ts +56 -0
  113. package/src/lib/components/user-management/user-status-badge/user-status-badge.component.css +0 -0
  114. package/src/lib/components/user-management/user-status-badge/user-status-badge.component.html +8 -0
  115. package/src/lib/components/user-management/user-status-badge/user-status-badge.component.spec.ts +22 -0
  116. package/src/lib/components/user-management/user-status-badge/user-status-badge.component.ts +22 -0
  117. package/src/lib/components/user-request/user-request.component.css +91 -0
  118. package/src/lib/components/user-request/user-request.component.html +137 -0
  119. package/src/lib/components/user-request/user-request.component.spec.ts +23 -0
  120. package/src/lib/components/user-request/user-request.component.ts +306 -0
  121. package/src/lib/components/user-request/user-request.module.ts +20 -0
  122. package/src/lib/components/user-request-approval/access-request.columns.ts +31 -0
  123. package/src/lib/components/user-request-approval/base-table-style.ts +52 -0
  124. package/src/lib/components/user-request-approval/facades/user-access-request.facade.ts +324 -0
  125. package/src/lib/components/user-request-approval/helper.ts +61 -0
  126. package/src/lib/components/user-request-approval/services/user-access-request.service.spec.ts +16 -0
  127. package/src/lib/components/user-request-approval/services/user-access-request.service.ts +122 -0
  128. package/src/lib/components/user-request-approval/states/user-access-request.state.ts +109 -0
  129. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.css +0 -0
  130. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.html +8 -0
  131. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.spec.ts +23 -0
  132. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.ts +22 -0
  133. package/src/lib/components/user-request-approval/user-request-approval.component.css +6 -0
  134. package/src/lib/components/user-request-approval/user-request-approval.component.html +269 -0
  135. package/src/lib/components/user-request-approval/user-request-approval.component.spec.ts +23 -0
  136. package/src/lib/components/user-request-approval/user-request-approval.component.ts +326 -0
  137. package/src/lib/components/user-request-approval/user-request-approval.module.ts +54 -0
  138. package/src/lib/components/user-request-approval/user-request-form/use-request-form.component.ts +98 -0
  139. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.css +0 -0
  140. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.html +94 -0
  141. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.spec.ts +23 -0
  142. package/src/lib/components/user-request-process/user-request-process.component.css +0 -0
  143. package/src/lib/components/user-request-process/user-request-process.component.html +1 -0
  144. package/src/lib/components/user-request-process/user-request-process.component.spec.ts +23 -0
  145. package/src/lib/components/user-request-process/user-request-process.component.ts +12 -0
  146. package/src/lib/components/user-request-process/user-request-process.module.ts +12 -0
  147. package/src/lib/models/ApplicationRoleAction.ts +10 -0
  148. package/{lib/models/ApplicationRoleContext.d.ts → src/lib/models/ApplicationRoleContext copy.ts } +6 -5
  149. package/src/lib/models/ApplicationRoleContext.ts +10 -0
  150. package/src/lib/models/ErrorResponse.ts +7 -0
  151. package/src/lib/models/FilterTypes.ts +8 -0
  152. package/src/lib/models/MailConfig.ts +13 -0
  153. package/src/lib/models/MessageConfig.ts +5 -0
  154. package/src/lib/models/MessageMedium.ts +4 -0
  155. package/src/lib/models/OAuthParam.ts +10 -0
  156. package/src/lib/models/OAuthType.ts +7 -0
  157. package/src/lib/models/PagedResult.ts +9 -0
  158. package/src/lib/models/PasswordRequestParam.ts +5 -0
  159. package/src/lib/models/PeriodMode.ts +10 -0
  160. package/{lib/models/PermissionConfig.d.ts → src/lib/models/PermissionConfig.ts} +4 -3
  161. package/src/lib/models/ReportSchedule.ts +23 -0
  162. package/src/lib/models/ReportType.ts +5 -0
  163. package/src/lib/models/ResponseKeyValue.ts +5 -0
  164. package/{lib/models/Role.d.ts → src/lib/models/Role.ts} +6 -5
  165. package/src/lib/models/RoleAction.ts +11 -0
  166. package/src/lib/models/RoleContext.ts +11 -0
  167. package/src/lib/models/SMSConfig.ts +11 -0
  168. package/{lib/models/SearchDynamicWrapper.d.ts → src/lib/models/SearchDynamicWrapper.ts} +3 -2
  169. package/src/lib/models/SearchOperator.ts +4 -0
  170. package/src/lib/models/SearchPropertySign.ts +9 -0
  171. package/{lib/models/SearchPropertyValue.d.ts → src/lib/models/SearchPropertyValue.ts} +7 -6
  172. package/src/lib/models/SearchPropertyValueType.ts +9 -0
  173. package/src/lib/models/SortDirection.ts +5 -0
  174. package/{lib/models/Tag.d.ts → src/lib/models/Tag.ts} +4 -3
  175. package/src/lib/models/TaskNotification.ts +14 -0
  176. package/src/lib/models/TaskNotificationMessageType.ts +4 -0
  177. package/src/lib/models/TaskNotificationType.ts +4 -0
  178. package/src/lib/models/Tenant.ts +22 -0
  179. package/src/lib/models/TenantConfig.ts +19 -0
  180. package/src/lib/models/UserRequest.ts +38 -0
  181. package/src/lib/models/auth-mechanism.ts +15 -0
  182. package/src/lib/models/base.ts +13 -0
  183. package/src/lib/models/conditions.ts +11 -0
  184. package/src/lib/models/log-in.ts +8 -0
  185. package/{lib/models/mainUser.d.ts → src/lib/models/mainUser.ts} +3 -2
  186. package/src/lib/models/oauth-resp.ts +6 -0
  187. package/{lib/models/oauth-response.d.ts → src/lib/models/oauth-response.ts} +1 -1
  188. package/src/lib/models/object-state.ts +6 -0
  189. package/{lib/models/otpValue.d.ts → src/lib/models/otpValue.ts} +4 -2
  190. package/src/lib/models/paged.ts +9 -0
  191. package/src/lib/models/query-params.ts +9 -0
  192. package/src/lib/models/request-status.ts +4 -0
  193. package/src/lib/models/resend-otp-data.ts +8 -0
  194. package/src/lib/models/resource.ts +27 -0
  195. package/src/lib/models/sign-up.ts +11 -0
  196. package/src/lib/models/single-sign-on.ts +9 -0
  197. package/src/lib/models/status.ts +5 -0
  198. package/src/lib/models/user-access-request-status.ts +5 -0
  199. package/{lib/models/user-access-request.d.ts → src/lib/models/user-access-request.ts} +5 -4
  200. package/src/lib/models/user-object-state.ts +6 -0
  201. package/src/lib/models/user.ts +19 -0
  202. package/src/lib/pipes/async-label.pipe.spec.ts +8 -0
  203. package/src/lib/pipes/async-label.pipe.ts +20 -0
  204. package/src/lib/services/authorization.service.spec.ts +16 -0
  205. package/src/lib/services/authorization.service.ts +24 -0
  206. package/src/lib/services/encryption.service.ts +57 -0
  207. package/src/lib/services/environment.service.spec.ts +16 -0
  208. package/src/lib/services/environment.service.ts +30 -0
  209. package/src/lib/services/http-web-request.service.spec.ts +16 -0
  210. package/src/lib/services/http-web-request.service.ts +114 -0
  211. package/src/lib/services/label.service.spec.ts +16 -0
  212. package/src/lib/services/label.service.ts +177 -0
  213. package/src/lib/services/util.service.spec.ts +16 -0
  214. package/src/lib/services/util.service.ts +49 -0
  215. package/src/lib/shared/shared.module.ts +55 -0
  216. package/{public-api.d.ts → src/public-api.ts} +24 -0
  217. package/src/styles.css +96 -0
  218. package/src/theme/tailwind-setup.css +3 -0
  219. package/src/theme/tailwind.css +1030 -0
  220. package/src/utils/components/base-data-view.component.ts +131 -0
  221. package/src/utils/models/DataViewConfig.ts +19 -0
  222. package/tailwind.config.js +20 -0
  223. package/tsconfig.lib.json +15 -0
  224. package/tsconfig.lib.prod.json +11 -0
  225. package/tsconfig.spec.json +15 -0
  226. package/esm2022/lib/components/auth-callback/auth-callback.component.mjs +0 -57
  227. package/esm2022/lib/components/auth-callback/auth-callback.module.mjs +0 -18
  228. package/esm2022/lib/components/button/button.component.mjs +0 -46
  229. package/esm2022/lib/components/button/button.module.mjs +0 -20
  230. package/esm2022/lib/components/forgot-password/ForgotPasswordData.mjs +0 -2
  231. package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +0 -89
  232. package/esm2022/lib/components/forgot-password/forgot-password.module.mjs +0 -34
  233. package/esm2022/lib/components/mail/mail.component.mjs +0 -69
  234. package/esm2022/lib/components/mail/mail.module.mjs +0 -21
  235. package/esm2022/lib/components/mail-validation/mail-validation.component.mjs +0 -108
  236. package/esm2022/lib/components/mail-validation/mail-validation.module.mjs +0 -34
  237. package/esm2022/lib/components/o-auth/o-auth.component.mjs +0 -107
  238. package/esm2022/lib/components/o-auth/o-auth.module.mjs +0 -19
  239. package/esm2022/lib/components/otp-input/otp-input.component.mjs +0 -86
  240. package/esm2022/lib/components/otp-input/otp-input.module.mjs +0 -23
  241. package/esm2022/lib/components/reset-password/ResetPasswordData.mjs +0 -2
  242. package/esm2022/lib/components/reset-password/reset-password.component.mjs +0 -108
  243. package/esm2022/lib/components/reset-password/reset-password.module.mjs +0 -34
  244. package/esm2022/lib/components/role-control/ChildrenType.mjs +0 -6
  245. package/esm2022/lib/components/role-control/MappedRole.mjs +0 -2
  246. package/esm2022/lib/components/role-control/MappedRoleAction.mjs +0 -2
  247. package/esm2022/lib/components/role-control/MappedRoleContext.mjs +0 -2
  248. package/esm2022/lib/components/role-control/UIActions.mjs +0 -7
  249. package/esm2022/lib/components/role-control/UIs.mjs +0 -40
  250. package/esm2022/lib/components/role-control/base-table-style.mjs +0 -53
  251. package/esm2022/lib/components/role-control/role-control.component.mjs +0 -1364
  252. package/esm2022/lib/components/role-control/role-control.module.mjs +0 -18
  253. package/esm2022/lib/components/role-control/role-control.service.mjs +0 -54
  254. package/esm2022/lib/components/sign-in/sign-in.component.mjs +0 -318
  255. package/esm2022/lib/components/sign-in/sign-in.module.mjs +0 -24
  256. package/esm2022/lib/components/sign-up/sign-up.component.mjs +0 -229
  257. package/esm2022/lib/components/sign-up/sign-up.module.mjs +0 -24
  258. package/esm2022/lib/components/sso/base-table-style.mjs +0 -53
  259. package/esm2022/lib/components/sso/helper.mjs +0 -16
  260. package/esm2022/lib/components/sso/sso-form/sso-form.component.mjs +0 -74
  261. package/esm2022/lib/components/sso/sso.columns.mjs +0 -29
  262. package/esm2022/lib/components/sso/sso.component.mjs +0 -236
  263. package/esm2022/lib/components/sso/sso.module.mjs +0 -63
  264. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.mjs +0 -209
  265. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.mjs +0 -22
  266. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.mjs +0 -90
  267. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.mjs +0 -19
  268. package/esm2022/lib/components/user-management/base-table-style.mjs +0 -53
  269. package/esm2022/lib/components/user-management/services/user-management.service.mjs +0 -88
  270. package/esm2022/lib/components/user-management/user-management-form/use-management-form.component.mjs +0 -71
  271. package/esm2022/lib/components/user-management/user-management.columns.mjs +0 -47
  272. package/esm2022/lib/components/user-management/user-management.component.mjs +0 -475
  273. package/esm2022/lib/components/user-management/user-management.module.mjs +0 -79
  274. package/esm2022/lib/components/user-management/user-status-badge/user-status-badge.component.mjs +0 -26
  275. package/esm2022/lib/components/user-request/user-request.component.mjs +0 -320
  276. package/esm2022/lib/components/user-request/user-request.module.mjs +0 -38
  277. package/esm2022/lib/components/user-request-approval/access-request.columns.mjs +0 -29
  278. package/esm2022/lib/components/user-request-approval/base-table-style.mjs +0 -53
  279. package/esm2022/lib/components/user-request-approval/facades/user-access-request.facade.mjs +0 -260
  280. package/esm2022/lib/components/user-request-approval/helper.mjs +0 -56
  281. package/esm2022/lib/components/user-request-approval/services/user-access-request.service.mjs +0 -93
  282. package/esm2022/lib/components/user-request-approval/states/user-access-request.state.mjs +0 -92
  283. package/esm2022/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.mjs +0 -26
  284. package/esm2022/lib/components/user-request-approval/user-request-approval.component.mjs +0 -270
  285. package/esm2022/lib/components/user-request-approval/user-request-approval.module.mjs +0 -80
  286. package/esm2022/lib/components/user-request-approval/user-request-form/use-request-form.component.mjs +0 -86
  287. package/esm2022/lib/models/ApplicationRoleAction.mjs +0 -2
  288. package/esm2022/lib/models/ApplicationRoleContext.mjs +0 -2
  289. package/esm2022/lib/models/ErrorResponse.mjs +0 -11
  290. package/esm2022/lib/models/OAuthParam.mjs +0 -2
  291. package/esm2022/lib/models/OAuthType.mjs +0 -9
  292. package/esm2022/lib/models/PagedResult.mjs +0 -2
  293. package/esm2022/lib/models/PasswordRequestParam.mjs +0 -2
  294. package/esm2022/lib/models/PermissionConfig.mjs +0 -2
  295. package/esm2022/lib/models/ResponseKeyValue.mjs +0 -2
  296. package/esm2022/lib/models/Role.mjs +0 -2
  297. package/esm2022/lib/models/RoleAction.mjs +0 -2
  298. package/esm2022/lib/models/RoleContext.mjs +0 -2
  299. package/esm2022/lib/models/SearchDynamicWrapper.mjs +0 -2
  300. package/esm2022/lib/models/SearchOperator.mjs +0 -6
  301. package/esm2022/lib/models/SearchPropertySign.mjs +0 -11
  302. package/esm2022/lib/models/SearchPropertyValue.mjs +0 -2
  303. package/esm2022/lib/models/SearchPropertyValueType.mjs +0 -11
  304. package/esm2022/lib/models/SortDirection.mjs +0 -7
  305. package/esm2022/lib/models/Tag.mjs +0 -2
  306. package/esm2022/lib/models/TenantConfig.mjs +0 -2
  307. package/esm2022/lib/models/UserRequest.mjs +0 -2
  308. package/esm2022/lib/models/auth-mechanism.mjs +0 -8
  309. package/esm2022/lib/models/base.mjs +0 -2
  310. package/esm2022/lib/models/conditions.mjs +0 -13
  311. package/esm2022/lib/models/log-in.mjs +0 -2
  312. package/esm2022/lib/models/mainUser.mjs +0 -2
  313. package/esm2022/lib/models/oauth-resp.mjs +0 -2
  314. package/esm2022/lib/models/oauth-response.mjs +0 -2
  315. package/esm2022/lib/models/object-state.mjs +0 -8
  316. package/esm2022/lib/models/otpValue.mjs +0 -2
  317. package/esm2022/lib/models/paged.mjs +0 -2
  318. package/esm2022/lib/models/query-params.mjs +0 -2
  319. package/esm2022/lib/models/request-status.mjs +0 -5
  320. package/esm2022/lib/models/resend-otp-data.mjs +0 -2
  321. package/esm2022/lib/models/sign-up.mjs +0 -2
  322. package/esm2022/lib/models/single-sign-on.mjs +0 -2
  323. package/esm2022/lib/models/status.mjs +0 -6
  324. package/esm2022/lib/models/user-access-request-status.mjs +0 -7
  325. package/esm2022/lib/models/user-access-request.mjs +0 -2
  326. package/esm2022/lib/models/user.mjs +0 -2
  327. package/esm2022/lib/pipes/async-label.pipe.mjs +0 -25
  328. package/esm2022/lib/services/authorization.service.mjs +0 -26
  329. package/esm2022/lib/services/encryption.service.mjs +0 -52
  330. package/esm2022/lib/services/environment.service.mjs +0 -26
  331. package/esm2022/lib/services/http-web-request.service.mjs +0 -85
  332. package/esm2022/lib/services/label.service.mjs +0 -134
  333. package/esm2022/lib/services/util.service.mjs +0 -55
  334. package/esm2022/lib/shared/shared.module.mjs +0 -84
  335. package/esm2022/public-api.mjs +0 -48
  336. package/esm2022/verben-authentication-ui.mjs +0 -5
  337. package/fesm2022/verben-authentication-ui.mjs +0 -6299
  338. package/fesm2022/verben-authentication-ui.mjs.map +0 -1
  339. package/index.d.ts +0 -5
  340. package/lib/components/auth-callback/auth-callback.component.d.ts +0 -17
  341. package/lib/components/auth-callback/auth-callback.module.d.ts +0 -8
  342. package/lib/components/button/button.component.d.ts +0 -17
  343. package/lib/components/button/button.module.d.ts +0 -10
  344. package/lib/components/forgot-password/forgot-password.component.d.ts +0 -29
  345. package/lib/components/forgot-password/forgot-password.module.d.ts +0 -10
  346. package/lib/components/mail/mail.component.d.ts +0 -32
  347. package/lib/components/mail/mail.module.d.ts +0 -11
  348. package/lib/components/mail-validation/mail-validation.component.d.ts +0 -42
  349. package/lib/components/mail-validation/mail-validation.module.d.ts +0 -10
  350. package/lib/components/o-auth/o-auth.component.d.ts +0 -30
  351. package/lib/components/o-auth/o-auth.module.d.ts +0 -9
  352. package/lib/components/otp-input/otp-input.component.d.ts +0 -21
  353. package/lib/components/otp-input/otp-input.module.d.ts +0 -13
  354. package/lib/components/reset-password/ResetPasswordData.d.ts +0 -5
  355. package/lib/components/reset-password/reset-password.component.d.ts +0 -30
  356. package/lib/components/reset-password/reset-password.module.d.ts +0 -10
  357. package/lib/components/role-control/ChildrenType.d.ts +0 -4
  358. package/lib/components/role-control/UIActions.d.ts +0 -5
  359. package/lib/components/role-control/UIs.d.ts +0 -38
  360. package/lib/components/role-control/base-table-style.d.ts +0 -1
  361. package/lib/components/role-control/role-control.component.d.ts +0 -121
  362. package/lib/components/role-control/role-control.module.d.ts +0 -8
  363. package/lib/components/role-control/role-control.service.d.ts +0 -9
  364. package/lib/components/sign-in/sign-in.component.d.ts +0 -95
  365. package/lib/components/sign-in/sign-in.module.d.ts +0 -13
  366. package/lib/components/sign-up/sign-up.component.d.ts +0 -68
  367. package/lib/components/sign-up/sign-up.module.d.ts +0 -13
  368. package/lib/components/sso/base-table-style.d.ts +0 -1
  369. package/lib/components/sso/helper.d.ts +0 -2
  370. package/lib/components/sso/sso-form/sso-form.component.d.ts +0 -21
  371. package/lib/components/sso/sso.columns.d.ts +0 -3
  372. package/lib/components/sso/sso.component.d.ts +0 -54
  373. package/lib/components/sso/sso.module.d.ts +0 -11
  374. package/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.d.ts +0 -67
  375. package/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.d.ts +0 -12
  376. package/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.d.ts +0 -39
  377. package/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.d.ts +0 -9
  378. package/lib/components/user-management/base-table-style.d.ts +0 -1
  379. package/lib/components/user-management/services/user-management.service.d.ts +0 -44
  380. package/lib/components/user-management/user-management-form/use-management-form.component.d.ts +0 -22
  381. package/lib/components/user-management/user-management.columns.d.ts +0 -3
  382. package/lib/components/user-management/user-management.component.d.ts +0 -123
  383. package/lib/components/user-management/user-management.module.d.ts +0 -14
  384. package/lib/components/user-management/user-status-badge/user-status-badge.component.d.ts +0 -12
  385. package/lib/components/user-request/user-request.component.d.ts +0 -80
  386. package/lib/components/user-request/user-request.module.d.ts +0 -11
  387. package/lib/components/user-request-approval/access-request.columns.d.ts +0 -3
  388. package/lib/components/user-request-approval/base-table-style.d.ts +0 -1
  389. package/lib/components/user-request-approval/facades/user-access-request.facade.d.ts +0 -39
  390. package/lib/components/user-request-approval/helper.d.ts +0 -7
  391. package/lib/components/user-request-approval/services/user-access-request.service.d.ts +0 -65
  392. package/lib/components/user-request-approval/states/user-access-request.state.d.ts +0 -35
  393. package/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.d.ts +0 -12
  394. package/lib/components/user-request-approval/user-request-approval.component.d.ts +0 -69
  395. package/lib/components/user-request-approval/user-request-approval.module.d.ts +0 -12
  396. package/lib/components/user-request-approval/user-request-form/use-request-form.component.d.ts +0 -25
  397. package/lib/models/ApplicationRoleAction.d.ts +0 -9
  398. package/lib/models/ErrorResponse.d.ts +0 -6
  399. package/lib/models/OAuthParam.d.ts +0 -9
  400. package/lib/models/OAuthType.d.ts +0 -7
  401. package/lib/models/PagedResult.d.ts +0 -9
  402. package/lib/models/PasswordRequestParam.d.ts +0 -5
  403. package/lib/models/ResponseKeyValue.d.ts +0 -5
  404. package/lib/models/RoleAction.d.ts +0 -10
  405. package/lib/models/RoleContext.d.ts +0 -10
  406. package/lib/models/SearchOperator.d.ts +0 -4
  407. package/lib/models/SearchPropertySign.d.ts +0 -9
  408. package/lib/models/SearchPropertyValueType.d.ts +0 -9
  409. package/lib/models/SortDirection.d.ts +0 -5
  410. package/lib/models/TenantConfig.d.ts +0 -18
  411. package/lib/models/UserRequest.d.ts +0 -32
  412. package/lib/models/auth-mechanism.d.ts +0 -14
  413. package/lib/models/base.d.ts +0 -12
  414. package/lib/models/conditions.d.ts +0 -11
  415. package/lib/models/log-in.d.ts +0 -8
  416. package/lib/models/oauth-resp.d.ts +0 -6
  417. package/lib/models/object-state.d.ts +0 -6
  418. package/lib/models/paged.d.ts +0 -9
  419. package/lib/models/query-params.d.ts +0 -8
  420. package/lib/models/request-status.d.ts +0 -3
  421. package/lib/models/resend-otp-data.d.ts +0 -8
  422. package/lib/models/sign-up.d.ts +0 -9
  423. package/lib/models/single-sign-on.d.ts +0 -7
  424. package/lib/models/status.d.ts +0 -4
  425. package/lib/models/user-access-request-status.d.ts +0 -5
  426. package/lib/models/user.d.ts +0 -18
  427. package/lib/pipes/async-label.pipe.d.ts +0 -11
  428. package/lib/services/authorization.service.d.ts +0 -14
  429. package/lib/services/encryption.service.d.ts +0 -13
  430. package/lib/services/environment.service.d.ts +0 -22
  431. package/lib/services/http-web-request.service.d.ts +0 -23
  432. package/lib/services/label.service.d.ts +0 -15
  433. package/lib/services/util.service.d.ts +0 -11
  434. package/lib/shared/shared.module.d.ts +0 -10
@@ -0,0 +1,22 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { Status } from '../../../models/status';
3
+
4
+ @Component({
5
+ selector: 'lib-user-status-badge',
6
+ templateUrl: './user-status-badge.component.html',
7
+ styleUrl: './user-status-badge.component.css',
8
+ })
9
+ export class UserStatusBadgeComponent {
10
+ @Input() status: Status = Status.Active;
11
+
12
+ badgeConfig() {
13
+ switch (this.status) {
14
+ case Status.Active:
15
+ return { bgColor: '#CAE1CC', textColor: '#4ABB54', label: 'Active' };
16
+ case Status.InActive:
17
+ return { bgColor: '#FFDFDF', textColor: '#EB5757', label: 'InActive' };
18
+ default:
19
+ return { bgColor: '#827C7C', textColor: '#C3C3C3', label: 'Unknown' };
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,91 @@
1
+ /* Container Styles */
2
+ .flex {
3
+ display: flex;
4
+ }
5
+ .items-center{
6
+ align-items: center;
7
+ }
8
+ .overflow-hidden {
9
+ overflow: hidden;
10
+ }
11
+ .justify-center{
12
+ justify-content: center;
13
+ }
14
+ .h-full {
15
+ height: 100%;
16
+ }
17
+
18
+ .text-center{
19
+ text-align: center;
20
+ }
21
+ .underline {
22
+ text-decoration: underline;
23
+ }
24
+ .gap-5{
25
+ gap: 20px;
26
+ }
27
+ /* Space and Gap Utilities */
28
+ .mt-4 {
29
+ margin-top: 1rem;
30
+ }
31
+ .space-y-4 > :not([hidden]) ~ :not([hidden]) {
32
+ margin-top: 1rem;
33
+ }
34
+ .gap-1 > :not([hidden]) ~ :not([hidden]) {
35
+ gap: 0.25rem;
36
+ }
37
+ .pt-3 {
38
+ padding-top: 0.75rem;
39
+ }
40
+ .mt-5 {
41
+ margin-top: 1.25rem;
42
+ }
43
+
44
+ /* Form and Input Styles */
45
+ .border {
46
+ border-width: 1px;
47
+ }
48
+
49
+ .rounded-xl {
50
+ border-radius: 0.75rem;
51
+ }
52
+ .px-3 {
53
+ padding-left: 0.75rem;
54
+ padding-right: 0.75rem;
55
+ }
56
+ .py-3 {
57
+ padding-top: 0.75rem;
58
+ padding-bottom: 0.75rem;
59
+ }
60
+ .flex-col {
61
+ flex-direction: column;
62
+ }
63
+ .w-full {
64
+ width: 100%;
65
+ }
66
+
67
+ .object-cover {
68
+ object-fit: cover;
69
+ }
70
+ .w-full {
71
+ width: 100%;
72
+ }
73
+
74
+ .cursor-not-allowed{
75
+ cursor: not-allowed !important;
76
+ }
77
+ .accent {
78
+ accent-color: #000;
79
+ }
80
+
81
+ .OR{
82
+
83
+ color:#666666;
84
+ gap: 6px;
85
+ }
86
+ .OR span{
87
+ width: 150px;
88
+ border-top: 2px solid #6666663d;
89
+ display: block;
90
+ }
91
+
@@ -0,0 +1,137 @@
1
+ <section [ngStyle]="styles" class="{{ customClass }}">
2
+ <h2 class="{{ headingClass }}">
3
+ {{ headingTitle }}
4
+ </h2>
5
+
6
+ <form
7
+ [formGroup]="userRequestForm"
8
+ (ngSubmit)="submitForm()"
9
+ class="flex flex-col gap-5 mt-3"
10
+ >
11
+ <verbena-input
12
+ [label]="'First Name'"
13
+ [labelColor]="'#666'"
14
+ [placeHolder]="''"
15
+ [required]="true"
16
+ [type]="'text'"
17
+ formControlName="FirstName"
18
+ [showBorder]="true"
19
+ [bgColor]="'white'"
20
+ [border]="'1px solid #66666659'"
21
+ [borderRadius]="'12px'"
22
+ [showErrorMessage]="true"
23
+ [errorMessageColor]="'red'"
24
+ [errorBorderColor]="'red'"
25
+ [errorPosition]="'bottom'"
26
+ class="outline-none focus-none"
27
+ ></verbena-input>
28
+ <verbena-input
29
+ [label]="'Last Name'"
30
+ [labelColor]="'#666'"
31
+ [placeHolder]="''"
32
+ [required]="true"
33
+ [type]="'text'"
34
+ formControlName="LastName"
35
+ [showBorder]="true"
36
+ [bgColor]="'white'"
37
+ [border]="'1px solid #66666659'"
38
+ [borderRadius]="'12px'"
39
+ [showErrorMessage]="true"
40
+ [errorMessageColor]="'red'"
41
+ [errorBorderColor]="'red'"
42
+ [errorPosition]="'bottom'"
43
+ class="outline-none focus-none"
44
+ ></verbena-input>
45
+ <verbena-input
46
+ [label]="'E-mail Address'"
47
+ [labelColor]="'#666'"
48
+ [placeHolder]="''"
49
+ [required]="true"
50
+ [type]="'email'"
51
+ formControlName="MailAddress"
52
+ [showBorder]="true"
53
+ [bgColor]="'white'"
54
+ [border]="'1px solid #66666659'"
55
+ [borderRadius]="'12px'"
56
+ [showErrorMessage]="true"
57
+ [customErrorMessages]="{
58
+ required: 'Email address is required',
59
+ email: 'Email address must be valid'
60
+ }"
61
+ [errorMessageColor]="'red'"
62
+ [errorBorderColor]="'red'"
63
+ [errorPosition]="'bottom'"
64
+ class="outline-none focus-none"
65
+ ></verbena-input>
66
+
67
+ <verbena-input
68
+ *ngIf="!hidePassword"
69
+ [label]="'Password'"
70
+ [labelColor]="'#666'"
71
+ [placeHolder]="''"
72
+ [passwordToggle]="true"
73
+ formControlName="Password"
74
+ [required]="true"
75
+ [type]="'password'"
76
+ [showBorder]="true"
77
+ [bgColor]="'white'"
78
+ [border]="'1px solid #66666659'"
79
+ [borderRadius]="'12px'"
80
+ [showErrorMessage]="true"
81
+ [errorMessageColor]="'red'"
82
+ [errorBorderColor]="'red'"
83
+ [errorPosition]="'bottom'"
84
+ class="outline-none focus-none"
85
+ ></verbena-input>
86
+
87
+ <verbena-input
88
+ *ngIf="!hidePassword"
89
+ [label]="'Confirm Password'"
90
+ [labelColor]="'#666'"
91
+ [placeHolder]="''"
92
+ [required]="true"
93
+ [type]="'password'"
94
+ formControlName="ConfirmPassword"
95
+ [showBorder]="true"
96
+ [passwordToggle]="true"
97
+ [bgColor]="'white'"
98
+ [minLength]="userRequestForm.controls['Password'].value?.length"
99
+ [border]="'1px solid #66666659'"
100
+ [borderRadius]="'12px'"
101
+ [showErrorMessage]="true"
102
+ [errorMessageColor]="'red'"
103
+ [customErrorMessages]="{
104
+ minLength:'Confirm Password must match password',
105
+ required: 'Confirm Password is required and must match password',
106
+ password: 'Password does not match',
107
+ }"
108
+ [errorBorderColor]="'red'"
109
+ [errorPosition]="'bottom'"
110
+ class="outline-none focus-none"
111
+ ></verbena-input>
112
+
113
+ <verbena-button
114
+ [class]="'mt-6'"
115
+ [disable]="!this.checkForm()"
116
+ [text]="text"
117
+ [bgColor]="btnBgColor"
118
+ [textColor]="color"
119
+ [buttonClass]="'cursor-not-allowed'"
120
+ [border]="btnBorder"
121
+ [borderRadius]="btnBorderRadius"
122
+ [pd]="btnPd"
123
+ [ngClass]="{
124
+ 'cursor-not-allowed':!checkForm()
125
+ }"
126
+ [width]="btnWidth"
127
+ buttonClass="font-medium text-[22px] leading-[33px]"
128
+ ></verbena-button>
129
+ </form>
130
+
131
+ <div class="mt-2" *ngIf="AuthMechanisms !== null">
132
+ <verben-o-auth
133
+ [authMechanisms]="AuthMechanisms"
134
+ ></verben-o-auth>
135
+ </div>
136
+ </section>
137
+
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { UserRequestComponent } from './user-request.component';
4
+
5
+ describe('UserRequestComponent', () => {
6
+ let component: UserRequestComponent;
7
+ let fixture: ComponentFixture<UserRequestComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ imports: [UserRequestComponent]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(UserRequestComponent);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });
@@ -0,0 +1,306 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import {
3
+ AbstractControl,
4
+ FormBuilder,
5
+ FormControl,
6
+ FormGroup,
7
+ ValidationErrors,
8
+ Validators,
9
+ } from '@angular/forms';
10
+ import { HttpWebRequestService } from '../../services/http-web-request.service';
11
+ import { UserRequestPayload } from '../../models/UserRequest';
12
+ import { ObjectState } from '../../models/object-state';
13
+ import { UtilService } from '../../services/util.service';
14
+ import { ResponseKeyValue } from '../../models/ResponseKeyValue';
15
+ import { ErrorResponse } from '../../models/ErrorResponse';
16
+ import { Status } from '../../models/status';
17
+ import { RequestStatus } from '../../models/request-status';
18
+ import { EnvironmentService } from '../../services/environment.service';
19
+ import { AuthMechanism, MechanismType } from '../../models/auth-mechanism';
20
+ import { ActivatedRoute } from '@angular/router';
21
+ import { OAuthResponse } from '../../models/oauth-response';
22
+ import { Role } from '../../models/Role';
23
+ import CryptoJS from 'crypto-js';
24
+ @Component({
25
+ selector: 'lib-user-request',
26
+ templateUrl: './user-request.component.html',
27
+ styleUrls: ['./user-request.component.css'],
28
+ })
29
+ export class UserRequestComponent {
30
+ @Input() width: string = '500px';
31
+ @Input() headingTitle: string = 'Request an account';
32
+ @Input() headingClass: string =
33
+ 'font-medium text-[2rem] leading-[48px] text-[#333]';
34
+ @Input() customClass: string = '';
35
+ @Input() bgColor: string = '#fff';
36
+ @Input() boxShadow: string = '4px 4px 4px rgba(0, 0, 0, 0.25)';
37
+ @Input() border: string = '1px solid #66666680';
38
+ @Input() borderRadius: string = '24px';
39
+ @Input() textColor: string = '#333';
40
+ @Input() height: string = 'auto';
41
+ @Input() pd: string = '32px 48px';
42
+ isFormEditable: boolean = true;
43
+ tenant: string;
44
+ secret: string;
45
+ hidePassword: boolean = false;
46
+ isCode: boolean = false;
47
+ @Input() text: string = 'Send Request';
48
+ @Input() color: string = 'black';
49
+ @Input() btnBorder: string = '1px solid #FFE681';
50
+ @Input() btnBorderRadius: string = '40px';
51
+ @Input() btnBgColor: string = '#FFE681';
52
+ @Input() btnWidth: string = '100%';
53
+ @Input() btnPd: string = '10px 20px';
54
+ @Input() termsLink: string = '';
55
+ @Input() privacyLink: string = '';
56
+ @Input() routerLink: string = '';
57
+ @Output() formSubmit = new EventEmitter<UserRequestPayload[]>();
58
+ @Output() googleClick = new EventEmitter();
59
+ @Output() onSubmitSuccess = new EventEmitter<any>();
60
+ @Output() appleClick = new EventEmitter();
61
+ @Output() microsoftClick = new EventEmitter();
62
+ @Output() onSubmitGoogleAuth: EventEmitter<ResponseKeyValue | ErrorResponse> =
63
+ new EventEmitter();
64
+ @Output() onSubmitResponseEnd: EventEmitter<any> = new EventEmitter();
65
+ userRequestForm: FormGroup;
66
+ tenantDetails: any | null = null;
67
+ AuthMechanisms: AuthMechanism[] | null = null;
68
+ showform: boolean = false;
69
+ code: string = '';
70
+ type: string = '';
71
+ constructor(
72
+ private fb: FormBuilder,
73
+ private server: HttpWebRequestService,
74
+ private utilService: UtilService,
75
+ private envSvc: EnvironmentService,
76
+ private route: ActivatedRoute
77
+ ) {
78
+ this.tenant = this.envSvc.environment.Tenant;
79
+ this.secret = this.envSvc.environment.Secret;
80
+ this.userRequestForm = this.fb.group<{
81
+ [K in keyof UserRequestPayload]: FormControl<UserRequestPayload[K]>;
82
+ }>(
83
+ {
84
+ Code: new FormControl('', { nonNullable: true }),
85
+ FirstName: new FormControl('', {
86
+ nonNullable: true,
87
+ validators: [Validators.required],
88
+ }),
89
+ LastName: new FormControl('', {
90
+ nonNullable: true,
91
+ validators: [Validators.required],
92
+ }),
93
+ MailAddress: new FormControl('', {
94
+ nonNullable: true,
95
+ validators: [Validators.required, Validators.email],
96
+ }),
97
+ Password: new FormControl('', {
98
+ nonNullable: true,
99
+ validators: [Validators.required, Validators.minLength(8)],
100
+ }),
101
+ PhoneNumber: new FormControl('', { nonNullable: true }),
102
+ OtherName: new FormControl('', { nonNullable: true }),
103
+ Role: new FormControl<Role>(
104
+ {
105
+ Name: '',
106
+ Description: '',
107
+ Application: '',
108
+ RoleContexts: [],
109
+ APIKey: '',
110
+ Id: '',
111
+ id: '',
112
+ ServiceName: '',
113
+ CreatedAt: new Date(),
114
+ UpdatedAt: new Date(),
115
+ DataState: ObjectState.New,
116
+ TenantId: '',
117
+ Code: '',
118
+ },
119
+ { nonNullable: true }
120
+ ),
121
+ Tags: new FormControl<[]>([], { nonNullable: true }),
122
+ Status: new FormControl<Status>(Status.Active, { nonNullable: true }),
123
+ RequestStatus: new FormControl<RequestStatus>(RequestStatus.Pending, {
124
+ nonNullable: true,
125
+ }),
126
+ UpdatedAt: new FormControl(new Date(), { nonNullable: true }),
127
+ CreatedAt: new FormControl(new Date(), { nonNullable: true }),
128
+ Id: new FormControl('', { nonNullable: true }),
129
+ DataState: new FormControl<ObjectState>(ObjectState.New, {
130
+ nonNullable: true,
131
+ }),
132
+ TenantId: new FormControl('', { nonNullable: true }),
133
+ Token: new FormControl('', { nonNullable: true }),
134
+ SignUpType: new FormControl(MechanismType.InApp, { nonNullable: true }),
135
+ ServiceName: new FormControl('', { nonNullable: true }),
136
+ ActionBy: new FormControl('', { nonNullable: true }),
137
+ Comment: new FormControl('', { nonNullable: true }),
138
+ },
139
+ { validators: this.passwordMatchValidator }
140
+ );
141
+ }
142
+ passwordMatchValidator(control: AbstractControl): ValidationErrors | null {
143
+ const password = control.get('Password')?.value;
144
+ const confirmPassword = control.get('ConfirmPassword')?.value;
145
+
146
+ return password === confirmPassword ? null : { passwordMismatch: true };
147
+ }
148
+
149
+ get passwordMismatchError(): boolean {
150
+ return this.userRequestForm.hasError('passwordMismatch');
151
+ }
152
+
153
+ get styles() {
154
+ return {
155
+ 'background-color': this.bgColor,
156
+ 'box-shadow': this.boxShadow,
157
+ border: this.border,
158
+ 'border-radius': this.borderRadius,
159
+ color: this.textColor,
160
+ 'max-width': this.width,
161
+ height: this.height,
162
+ padding: this.pd,
163
+ };
164
+ }
165
+ async ngOnInit() {
166
+ await this.getTenantConfig();
167
+ this.route.queryParams.subscribe((params) => {
168
+ this.code = params['code'];
169
+ this.type = params['type'];
170
+ if (this.code) {
171
+ this.verifyUserDetails();
172
+ }
173
+ });
174
+ }
175
+
176
+ async getTenantConfig() {
177
+ this.userRequestForm.addControl(
178
+ 'ConfirmPassword',
179
+ new FormControl('', Validators.required)
180
+ );
181
+ const isLocalhost = window?.location?.hostname === 'localhost';
182
+ const payload = isLocalhost
183
+ ? {
184
+ Key: "UrlKey",
185
+ Value:'https://bovas.white360.net'
186
+ }
187
+ : undefined;
188
+ const res = await this.server.post(
189
+ `Tenant/GetTenantConfigByUrlKey`,
190
+ payload
191
+ );
192
+ this.tenantDetails = res;
193
+ this.AuthMechanisms = this.tenantDetails?.AuthMechanisms;
194
+ if (
195
+ !this.tenantDetails?.AuthMechanism &&
196
+ this.tenantDetails?.AuthMechanism !== MechanismType.InApp
197
+ ) {
198
+ this.showform = false;
199
+ } else if (this.tenantDetails?.AuthMechanism === MechanismType.InApp) {
200
+ this.showform = true;
201
+ } else if (this.AuthMechanisms !== null) {
202
+ this.showform = this.AuthMechanisms.some((item) =>
203
+ item.AuthMechanism.includes(MechanismType.InApp)
204
+ );
205
+ }
206
+ }
207
+ checkForm(): boolean {
208
+ return this.userRequestForm.valid;
209
+ }
210
+ handleGoogleAuth() {
211
+ if (this.AuthMechanisms !== null) {
212
+ const data = this.AuthMechanisms.filter(
213
+ (item) => item.AuthMechanism === MechanismType.Google
214
+ );
215
+ this.googleClick.emit();
216
+ }
217
+ }
218
+ handleAppleAuth() {
219
+ this.appleClick.emit();
220
+ }
221
+ handleMicrosoft() {
222
+ if (this.AuthMechanisms !== null) {
223
+ const data = this.AuthMechanisms.filter(
224
+ (item) => item.AuthMechanism === MechanismType.MicrosoftAD
225
+ );
226
+ this.microsoftClick.emit();
227
+ }
228
+ }
229
+
230
+ async submitForm() {
231
+ if (!this.checkForm()) {
232
+ return;
233
+ }
234
+
235
+ const formValue = this.userRequestForm.getRawValue();
236
+ const hashedPassword = CryptoJS.MD5(this.userRequestForm.controls['Password'].value).toString();
237
+ const { ConfirmPassword, TenantId, ...rest } = formValue;
238
+ const payload = {
239
+ ...rest,
240
+ TenantId: this.tenantDetails.TenantId,
241
+ Password:hashedPassword
242
+ };
243
+
244
+
245
+ const payloadToSubmit: UserRequestPayload[] = [payload];
246
+
247
+ this.formSubmit.emit(payloadToSubmit);
248
+ this.utilService.sendBI(true);
249
+
250
+ try {
251
+ const res = await this.server.post(
252
+ `User/SaveUserAccessRequests`,
253
+ payloadToSubmit
254
+ );
255
+
256
+ this.utilService.sendBI(false);
257
+
258
+ if (res instanceof ErrorResponse) {
259
+ this.onSubmitResponseEnd.emit(res);
260
+ } else {
261
+ const result = res as ResponseKeyValue;
262
+ this.onSubmitResponseEnd.emit(result);
263
+ this.onSubmitSuccess.emit(result);
264
+ }
265
+ } catch (error) {
266
+ this.utilService.sendBI(false);
267
+ console.error('Unexpected error:', error);
268
+ this.onSubmitResponseEnd.emit(error);
269
+ }
270
+ }
271
+ async verifyUserDetails() {
272
+ if (this.AuthMechanisms !== null && this.tenant) {
273
+ const data: any = this.AuthMechanisms.find((item) =>
274
+ item.AuthMechanism.includes(this.type)
275
+ );
276
+ const payload = {
277
+ AuthCode: this.code,
278
+ Tenant: this.tenant,
279
+ AuthMechanism: data.AuthMechanism,
280
+ };
281
+
282
+ this.utilService.sendBI(true);
283
+ const res: OAuthResponse = await this.server.post(
284
+ `Authentication/GetUserDetails`,
285
+ payload
286
+ );
287
+ this.utilService.sendBI(false);
288
+ if (res instanceof ErrorResponse) {
289
+ this.onSubmitGoogleAuth.emit(res);
290
+ } else {
291
+ this.userRequestForm.controls['FirstName'].setValue(res.FirstName);
292
+ this.userRequestForm.controls['LastName'].setValue(res.LastName);
293
+ this.userRequestForm.controls['MailAddress'].setValue(res.Email);
294
+ this.userRequestForm.controls['Token'].setValue(res.AccessToken);
295
+ this.userRequestForm.controls['SignUpType'].setValue(this.type);
296
+ this.userRequestForm.controls['Password'].clearValidators();
297
+ this.userRequestForm.controls['Password'].updateValueAndValidity();
298
+ this.userRequestForm.controls['ConfirmPassword'].clearValidators();
299
+ this.userRequestForm.controls[
300
+ 'ConfirmPassword'
301
+ ].updateValueAndValidity();
302
+ this.hidePassword = true;
303
+ }
304
+ }
305
+ }
306
+ }
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
3
+ import { VerbenaButtonModule, VerbenaInputModule } from 'verben-ng-ui';
4
+ import { CommonModule } from '@angular/common';
5
+ import { UserRequestComponent } from './user-request.component';
6
+ import { OAuthModule } from '../o-auth/o-auth.module';
7
+
8
+ @NgModule({
9
+ declarations: [UserRequestComponent],
10
+ imports: [
11
+ FormsModule,
12
+ ReactiveFormsModule,
13
+ VerbenaInputModule,
14
+ VerbenaButtonModule,
15
+ CommonModule,
16
+ OAuthModule
17
+ ],
18
+ exports: [UserRequestComponent],
19
+ })
20
+ export class UserRequestModule {}
@@ -0,0 +1,31 @@
1
+ import { ColumnDefinition } from 'verben-ng-ui';
2
+ import { UserAccessRequest } from '../../models/user-access-request';
3
+
4
+ export const columns: ColumnDefinition<UserAccessRequest>[] = [
5
+ {
6
+ id: 'createdAt',
7
+ header: 'CREATED',
8
+ accessorKey: 'CreatedAt',
9
+ },
10
+ {
11
+ id: 'user',
12
+ header: 'NAME',
13
+ accessorFn: (row) => `${row.FirstName} ${row.LastName}`,
14
+ },
15
+ {
16
+ id: 'mail',
17
+ header: 'E-MAIL',
18
+ accessorKey: 'MailAddress',
19
+ },
20
+ {
21
+ id: 'role',
22
+ header: 'ROLE',
23
+ accessorFn: (row) => row.Role?.Name,
24
+ },
25
+ {
26
+ id: 'status',
27
+ header: 'STATUS',
28
+ accessorKey: 'RequestStatus',
29
+ },
30
+ { id: 'actions', header: 'Actions', accessorKey: 'MailAddress' },
31
+ ];
@@ -0,0 +1,52 @@
1
+ export const baseStyle: any = {
2
+ width: '100%',
3
+ fontFamily: '"Fraunces", serif',
4
+ fontSize: '125%',
5
+ whiteSpace: 'nowrap',
6
+ margin: '0',
7
+ border: '1px solid #D4A007',
8
+ borderRadius: '16px',
9
+ borderCollapse: 'separate',
10
+ borderSpacing: '0',
11
+ // tableLayout: 'fixed',
12
+ overflow: 'hidden',
13
+ rows: {
14
+ even: {
15
+ backgroundColor: '#FDFDFD',
16
+ },
17
+ odd: {
18
+ backgroundColor: '#F1F4FB',
19
+ },
20
+ height: '68px',
21
+ },
22
+ cells: {
23
+ padding: '0.5rem 1rem',
24
+ },
25
+ header: {
26
+ // stickyTop: true,
27
+ // zIndex: 2,
28
+ backgroundColor: '#EFF2FB',
29
+ fontWeight: 'bold',
30
+ textAlign: 'left',
31
+ padding: '12px 16px',
32
+ height: '40px',
33
+ },
34
+ footer: {
35
+ // stickyBottom: true,
36
+ // zIndex: 2,
37
+ padding: '3px',
38
+ },
39
+ // body: {
40
+ // background: '#fff',
41
+ // padding: '4px 5px',
42
+ // textAlign: 'center',
43
+ // },
44
+ // firstColumn: {
45
+ // stickyLeft: true,
46
+ // zIndex: 1,
47
+ // },
48
+ lastColumn: {
49
+ // stickyRight: true,
50
+ // zIndex: 1,
51
+ },
52
+ };