verben-authentication-ui 0.3.3 → 0.3.5

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 (292) hide show
  1. package/esm2022/lib/components/button/button.component.mjs +46 -0
  2. package/esm2022/lib/components/button/button.module.mjs +20 -0
  3. package/esm2022/lib/components/forgot-password/ForgotPasswordData.mjs +2 -0
  4. package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +89 -0
  5. package/esm2022/lib/components/forgot-password/forgot-password.module.mjs +34 -0
  6. package/esm2022/lib/components/mail/mail.component.mjs +69 -0
  7. package/esm2022/lib/components/mail/mail.module.mjs +21 -0
  8. package/esm2022/lib/components/mail-validation/mail-validation.component.mjs +108 -0
  9. package/esm2022/lib/components/mail-validation/mail-validation.module.mjs +34 -0
  10. package/esm2022/lib/components/o-auth/o-auth.component.mjs +123 -0
  11. package/esm2022/lib/components/o-auth/o-auth.module.mjs +19 -0
  12. package/esm2022/lib/components/otp-input/otp-input.component.mjs +75 -0
  13. package/esm2022/lib/components/otp-input/otp-input.module.mjs +23 -0
  14. package/esm2022/lib/components/reset-password/ResetPasswordData.mjs +2 -0
  15. package/esm2022/lib/components/reset-password/reset-password.component.mjs +107 -0
  16. package/esm2022/lib/components/reset-password/reset-password.module.mjs +34 -0
  17. package/esm2022/lib/components/sign-in/sign-in.component.mjs +240 -0
  18. package/esm2022/lib/components/sign-in/sign-in.module.mjs +24 -0
  19. package/esm2022/lib/components/sign-up/sign-up.component.mjs +223 -0
  20. package/esm2022/lib/components/sign-up/sign-up.module.mjs +24 -0
  21. package/esm2022/lib/components/sso/base-table-style.mjs +53 -0
  22. package/esm2022/lib/components/sso/helper.mjs +14 -0
  23. package/esm2022/lib/components/sso/sso-form/sso-form.component.mjs +74 -0
  24. package/esm2022/lib/components/sso/sso.columns.mjs +29 -0
  25. package/esm2022/lib/components/sso/sso.component.mjs +236 -0
  26. package/esm2022/lib/components/sso/sso.module.mjs +63 -0
  27. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.mjs +228 -0
  28. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.mjs +22 -0
  29. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.mjs +90 -0
  30. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.mjs +19 -0
  31. package/esm2022/lib/components/user-management/base-table-style.mjs +53 -0
  32. package/esm2022/lib/components/user-management/helper.mjs +26 -0
  33. package/esm2022/lib/components/user-management/useer-management.module.mjs +68 -0
  34. package/esm2022/lib/components/user-management/user-management-form/use-management-form.component.mjs +57 -0
  35. package/esm2022/lib/components/user-management/user-management.columns.mjs +43 -0
  36. package/esm2022/lib/components/user-management/user-management.component.mjs +323 -0
  37. package/esm2022/lib/components/user-request/user-request.component.mjs +206 -0
  38. package/esm2022/lib/components/user-request/user-request.module.mjs +34 -0
  39. package/esm2022/lib/components/user-request-approval/access-request.columns.mjs +24 -0
  40. package/esm2022/lib/components/user-request-approval/base-table-style.mjs +53 -0
  41. package/esm2022/lib/components/user-request-approval/facades/user-access-request.facade.mjs +128 -0
  42. package/esm2022/lib/components/user-request-approval/helper.mjs +35 -0
  43. package/esm2022/lib/components/user-request-approval/services/user-access-request.service.mjs +72 -0
  44. package/esm2022/lib/components/user-request-approval/states/user-access-request.state.mjs +59 -0
  45. package/esm2022/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.mjs +26 -0
  46. package/esm2022/lib/components/user-request-approval/user-request-approval.component.mjs +251 -0
  47. package/esm2022/lib/components/user-request-approval/user-request-approval.module.mjs +77 -0
  48. package/esm2022/lib/components/user-request-approval/user-request-approval.service.mjs +32 -0
  49. package/esm2022/lib/components/user-request-approval/user-request-form/use-request-form.component.mjs +64 -0
  50. package/esm2022/lib/models/ErrorResponse.mjs +11 -0
  51. package/esm2022/lib/models/PasswordRequestParam.mjs +2 -0
  52. package/esm2022/lib/models/ResponseKeyValue.mjs +2 -0
  53. package/esm2022/lib/models/UserRequest.mjs +2 -0
  54. package/esm2022/lib/models/auth-mechanism.mjs +8 -0
  55. package/esm2022/lib/models/base.mjs +2 -0
  56. package/esm2022/lib/models/log-in.mjs +2 -0
  57. package/esm2022/lib/models/mainUser.mjs +2 -0
  58. package/esm2022/lib/models/object-state.mjs +8 -0
  59. package/esm2022/lib/models/otpValue.mjs +2 -0
  60. package/esm2022/lib/models/paged.mjs +2 -0
  61. package/esm2022/lib/models/query-params.mjs +2 -0
  62. package/esm2022/lib/models/request-status.mjs +5 -0
  63. package/esm2022/lib/models/resend-otp-data.mjs +2 -0
  64. package/esm2022/lib/models/sign-up.mjs +2 -0
  65. package/esm2022/lib/models/single-sign-on.mjs +2 -0
  66. package/esm2022/lib/models/status.mjs +6 -0
  67. package/esm2022/lib/models/user-access-request-status.mjs +7 -0
  68. package/esm2022/lib/models/user-access-request.mjs +2 -0
  69. package/esm2022/lib/models/user.mjs +2 -0
  70. package/esm2022/lib/services/environment.service.mjs +26 -0
  71. package/esm2022/lib/services/http-web-request.service.mjs +82 -0
  72. package/esm2022/lib/services/util.service.mjs +32 -0
  73. package/esm2022/public-api.mjs +43 -0
  74. package/esm2022/verben-authentication-ui.mjs +5 -0
  75. package/fesm2022/verben-authentication-ui.mjs +3702 -0
  76. package/fesm2022/verben-authentication-ui.mjs.map +1 -0
  77. package/index.d.ts +5 -0
  78. package/lib/components/button/button.component.d.ts +17 -0
  79. package/lib/components/button/button.module.d.ts +10 -0
  80. package/{src/lib/components/forgot-password/ForgotPasswordData.ts → lib/components/forgot-password/ForgotPasswordData.d.ts} +1 -1
  81. package/lib/components/forgot-password/forgot-password.component.d.ts +29 -0
  82. package/lib/components/forgot-password/forgot-password.module.d.ts +10 -0
  83. package/lib/components/mail/mail.component.d.ts +32 -0
  84. package/lib/components/mail/mail.module.d.ts +11 -0
  85. package/lib/components/mail-validation/mail-validation.component.d.ts +42 -0
  86. package/lib/components/mail-validation/mail-validation.module.d.ts +10 -0
  87. package/lib/components/o-auth/o-auth.component.d.ts +27 -0
  88. package/lib/components/o-auth/o-auth.module.d.ts +9 -0
  89. package/lib/components/otp-input/otp-input.component.d.ts +20 -0
  90. package/lib/components/otp-input/otp-input.module.d.ts +13 -0
  91. package/lib/components/reset-password/ResetPasswordData.d.ts +5 -0
  92. package/lib/components/reset-password/reset-password.component.d.ts +30 -0
  93. package/lib/components/reset-password/reset-password.module.d.ts +10 -0
  94. package/lib/components/sign-in/sign-in.component.d.ts +81 -0
  95. package/lib/components/sign-in/sign-in.module.d.ts +13 -0
  96. package/lib/components/sign-up/sign-up.component.d.ts +66 -0
  97. package/lib/components/sign-up/sign-up.module.d.ts +13 -0
  98. package/lib/components/sso/base-table-style.d.ts +1 -0
  99. package/lib/components/sso/helper.d.ts +2 -0
  100. package/lib/components/sso/sso-form/sso-form.component.d.ts +21 -0
  101. package/lib/components/sso/sso.columns.d.ts +3 -0
  102. package/lib/components/sso/sso.component.d.ts +54 -0
  103. package/lib/components/sso/sso.module.d.ts +11 -0
  104. package/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.d.ts +67 -0
  105. package/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.d.ts +12 -0
  106. package/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.d.ts +39 -0
  107. package/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.d.ts +9 -0
  108. package/lib/components/user-management/base-table-style.d.ts +1 -0
  109. package/lib/components/user-management/helper.d.ts +2 -0
  110. package/lib/components/user-management/useer-management.module.d.ts +11 -0
  111. package/lib/components/user-management/user-management-form/use-management-form.component.d.ts +20 -0
  112. package/lib/components/user-management/user-management.columns.d.ts +3 -0
  113. package/lib/components/user-management/user-management.component.d.ts +60 -0
  114. package/lib/components/user-request/user-request.component.d.ts +60 -0
  115. package/lib/components/user-request/user-request.module.d.ts +10 -0
  116. package/lib/components/user-request-approval/access-request.columns.d.ts +3 -0
  117. package/lib/components/user-request-approval/base-table-style.d.ts +1 -0
  118. package/lib/components/user-request-approval/facades/user-access-request.facade.d.ts +23 -0
  119. package/lib/components/user-request-approval/helper.d.ts +6 -0
  120. package/lib/components/user-request-approval/services/user-access-request.service.d.ts +50 -0
  121. package/lib/components/user-request-approval/states/user-access-request.state.d.ts +21 -0
  122. package/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.d.ts +12 -0
  123. package/lib/components/user-request-approval/user-request-approval.component.d.ts +59 -0
  124. package/lib/components/user-request-approval/user-request-approval.module.d.ts +12 -0
  125. package/lib/components/user-request-approval/user-request-approval.service.d.ts +18 -0
  126. package/lib/components/user-request-approval/user-request-form/use-request-form.component.d.ts +21 -0
  127. package/lib/models/ErrorResponse.d.ts +6 -0
  128. package/lib/models/PasswordRequestParam.d.ts +5 -0
  129. package/lib/models/ResponseKeyValue.d.ts +5 -0
  130. package/lib/models/UserRequest.d.ts +24 -0
  131. package/lib/models/auth-mechanism.d.ts +13 -0
  132. package/lib/models/base.d.ts +10 -0
  133. package/lib/models/log-in.d.ts +7 -0
  134. package/{src/lib/models/mainUser.ts → lib/models/mainUser.d.ts} +2 -3
  135. package/lib/models/object-state.d.ts +6 -0
  136. package/{src/lib/models/otpValue.ts → lib/models/otpValue.d.ts} +1 -3
  137. package/lib/models/paged.d.ts +9 -0
  138. package/lib/models/query-params.d.ts +7 -0
  139. package/lib/models/request-status.d.ts +3 -0
  140. package/lib/models/resend-otp-data.d.ts +8 -0
  141. package/lib/models/sign-up.d.ts +9 -0
  142. package/lib/models/single-sign-on.d.ts +7 -0
  143. package/lib/models/status.d.ts +4 -0
  144. package/lib/models/user-access-request-status.d.ts +5 -0
  145. package/{src/lib/models/user-access-request.ts → lib/models/user-access-request.d.ts} +3 -4
  146. package/lib/models/user.d.ts +23 -0
  147. package/lib/services/environment.service.d.ts +16 -0
  148. package/lib/services/http-web-request.service.d.ts +23 -0
  149. package/lib/services/util.service.d.ts +8 -0
  150. package/package.json +14 -8
  151. package/{src/public-api.ts → public-api.d.ts} +0 -21
  152. package/ng-package.json +0 -8
  153. package/src/lib/components/button/button.component.css +0 -3
  154. package/src/lib/components/button/button.component.html +0 -13
  155. package/src/lib/components/button/button.component.spec.ts +0 -23
  156. package/src/lib/components/button/button.component.ts +0 -24
  157. package/src/lib/components/button/button.module.ts +0 -11
  158. package/src/lib/components/forgot-password/forgot-password.component.css +0 -29
  159. package/src/lib/components/forgot-password/forgot-password.component.html +0 -13
  160. package/src/lib/components/forgot-password/forgot-password.component.spec.ts +0 -23
  161. package/src/lib/components/forgot-password/forgot-password.component.ts +0 -86
  162. package/src/lib/components/forgot-password/forgot-password.module.ts +0 -18
  163. package/src/lib/components/mail/mail.component.css +0 -0
  164. package/src/lib/components/mail/mail.component.html +0 -11
  165. package/src/lib/components/mail/mail.component.spec.ts +0 -23
  166. package/src/lib/components/mail/mail.component.ts +0 -47
  167. package/src/lib/components/mail/mail.module.ts +0 -13
  168. package/src/lib/components/mail-validation/mail-validation.component.css +0 -59
  169. package/src/lib/components/mail-validation/mail-validation.component.html +0 -37
  170. package/src/lib/components/mail-validation/mail-validation.component.spec.ts +0 -23
  171. package/src/lib/components/mail-validation/mail-validation.component.ts +0 -66
  172. package/src/lib/components/mail-validation/mail-validation.module.ts +0 -18
  173. package/src/lib/components/o-auth/o-auth.component.css +0 -21
  174. package/src/lib/components/o-auth/o-auth.component.html +0 -60
  175. package/src/lib/components/o-auth/o-auth.component.spec.ts +0 -23
  176. package/src/lib/components/o-auth/o-auth.component.ts +0 -43
  177. package/src/lib/components/o-auth/o-auth.module.ts +0 -11
  178. package/src/lib/components/otp-input/otp-input.component.css +0 -19
  179. package/src/lib/components/otp-input/otp-input.component.html +0 -14
  180. package/src/lib/components/otp-input/otp-input.component.spec.ts +0 -23
  181. package/src/lib/components/otp-input/otp-input.component.ts +0 -73
  182. package/src/lib/components/otp-input/otp-input.module.ts +0 -15
  183. package/src/lib/components/reset-password/ResetPasswordData.ts +0 -5
  184. package/src/lib/components/reset-password/reset-password.component.css +0 -29
  185. package/src/lib/components/reset-password/reset-password.component.html +0 -22
  186. package/src/lib/components/reset-password/reset-password.component.spec.ts +0 -23
  187. package/src/lib/components/reset-password/reset-password.component.ts +0 -108
  188. package/src/lib/components/reset-password/reset-password.module.ts +0 -18
  189. package/src/lib/components/sign-in/sign-in.component.css +0 -21
  190. package/src/lib/components/sign-in/sign-in.component.html +0 -84
  191. package/src/lib/components/sign-in/sign-in.component.spec.ts +0 -23
  192. package/src/lib/components/sign-in/sign-in.component.ts +0 -184
  193. package/src/lib/components/sign-in/sign-in.module.ts +0 -17
  194. package/src/lib/components/sign-up/sign-up.component.css +0 -36
  195. package/src/lib/components/sign-up/sign-up.component.html +0 -132
  196. package/src/lib/components/sign-up/sign-up.component.spec.ts +0 -23
  197. package/src/lib/components/sign-up/sign-up.component.ts +0 -176
  198. package/src/lib/components/sign-up/sign-up.module.ts +0 -15
  199. package/src/lib/components/sso/base-table-style.ts +0 -52
  200. package/src/lib/components/sso/helper.ts +0 -15
  201. package/src/lib/components/sso/sso-form/sso-form.component.css +0 -13
  202. package/src/lib/components/sso/sso-form/sso-form.component.html +0 -109
  203. package/src/lib/components/sso/sso-form/sso-form.component.spec.ts +0 -23
  204. package/src/lib/components/sso/sso-form/sso-form.component.ts +0 -70
  205. package/src/lib/components/sso/sso.columns.ts +0 -32
  206. package/src/lib/components/sso/sso.component.css +0 -47
  207. package/src/lib/components/sso/sso.component.html +0 -208
  208. package/src/lib/components/sso/sso.component.spec.ts +0 -23
  209. package/src/lib/components/sso/sso.component.ts +0 -261
  210. package/src/lib/components/sso/sso.module.ts +0 -40
  211. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.css +0 -8
  212. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.html +0 -30
  213. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.spec.ts +0 -23
  214. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.ts +0 -183
  215. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.ts +0 -15
  216. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.css +0 -17
  217. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.html +0 -45
  218. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.spec.ts +0 -23
  219. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.ts +0 -57
  220. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.ts +0 -11
  221. package/src/lib/components/user-management/base-table-style.ts +0 -52
  222. package/src/lib/components/user-management/helper.ts +0 -29
  223. package/src/lib/components/user-management/index.ts +0 -4
  224. package/src/lib/components/user-management/useer-management.module.ts +0 -48
  225. package/src/lib/components/user-management/user-management-form/use-management-form.component.ts +0 -61
  226. package/src/lib/components/user-management/user-management-form/user-management-form.component.css +0 -0
  227. package/src/lib/components/user-management/user-management-form/user-management-form.component.html +0 -91
  228. package/src/lib/components/user-management/user-management-form/user-management-form.component.spec.ts +0 -23
  229. package/src/lib/components/user-management/user-management.columns.ts +0 -45
  230. package/src/lib/components/user-management/user-management.component.css +0 -26
  231. package/src/lib/components/user-management/user-management.component.html +0 -275
  232. package/src/lib/components/user-management/user-management.component.spec.ts +0 -23
  233. package/src/lib/components/user-management/user-management.component.ts +0 -380
  234. package/src/lib/components/user-management/user-management.service.ts +0 -42
  235. package/src/lib/components/user-request/user-request.component.css +0 -91
  236. package/src/lib/components/user-request/user-request.component.html +0 -165
  237. package/src/lib/components/user-request/user-request.component.spec.ts +0 -23
  238. package/src/lib/components/user-request/user-request.component.ts +0 -167
  239. package/src/lib/components/user-request/user-request.module.ts +0 -18
  240. package/src/lib/components/user-request-approval/access-request.columns.ts +0 -26
  241. package/src/lib/components/user-request-approval/base-table-style.ts +0 -52
  242. package/src/lib/components/user-request-approval/facades/user-access-request.facade.ts +0 -152
  243. package/src/lib/components/user-request-approval/helper.ts +0 -39
  244. package/src/lib/components/user-request-approval/services/user-access-request.service.spec.ts +0 -16
  245. package/src/lib/components/user-request-approval/services/user-access-request.service.ts +0 -87
  246. package/src/lib/components/user-request-approval/states/user-access-request.state.ts +0 -65
  247. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.css +0 -0
  248. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.html +0 -7
  249. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.spec.ts +0 -23
  250. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.ts +0 -22
  251. package/src/lib/components/user-request-approval/user-request-approval.component.css +0 -1
  252. package/src/lib/components/user-request-approval/user-request-approval.component.html +0 -218
  253. package/src/lib/components/user-request-approval/user-request-approval.component.spec.ts +0 -23
  254. package/src/lib/components/user-request-approval/user-request-approval.component.ts +0 -301
  255. package/src/lib/components/user-request-approval/user-request-approval.module.ts +0 -52
  256. package/src/lib/components/user-request-approval/user-request-approval.service.spec.ts +0 -16
  257. package/src/lib/components/user-request-approval/user-request-approval.service.ts +0 -58
  258. package/src/lib/components/user-request-approval/user-request-form/use-request-form.component.ts +0 -66
  259. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.css +0 -0
  260. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.html +0 -97
  261. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.spec.ts +0 -23
  262. package/src/lib/models/ErrorResponse.ts +0 -7
  263. package/src/lib/models/PasswordRequestParam.ts +0 -5
  264. package/src/lib/models/ResponseKeyValue.ts +0 -5
  265. package/src/lib/models/UserRequest.ts +0 -28
  266. package/src/lib/models/auth-mechanism.ts +0 -14
  267. package/src/lib/models/base.ts +0 -11
  268. package/src/lib/models/log-in.ts +0 -7
  269. package/src/lib/models/object-state.ts +0 -6
  270. package/src/lib/models/paged.ts +0 -9
  271. package/src/lib/models/query-params.ts +0 -7
  272. package/src/lib/models/request-status.ts +0 -4
  273. package/src/lib/models/resend-otp-data.ts +0 -8
  274. package/src/lib/models/resource.ts +0 -27
  275. package/src/lib/models/sign-up.ts +0 -11
  276. package/src/lib/models/single-sign-on.ts +0 -9
  277. package/src/lib/models/status.ts +0 -5
  278. package/src/lib/models/user-access-request-status.ts +0 -5
  279. package/src/lib/models/user.ts +0 -24
  280. package/src/lib/services/environment.service.spec.ts +0 -16
  281. package/src/lib/services/environment.service.ts +0 -23
  282. package/src/lib/services/http-web-request.service.spec.ts +0 -16
  283. package/src/lib/services/http-web-request.service.ts +0 -101
  284. package/src/lib/services/util.service.spec.ts +0 -16
  285. package/src/lib/services/util.service.ts +0 -28
  286. package/src/styles.css +0 -96
  287. package/src/theme/tailwind-setup.css +0 -3
  288. package/src/theme/tailwind.css +0 -980
  289. package/tailwind.config.js +0 -20
  290. package/tsconfig.lib.json +0 -15
  291. package/tsconfig.lib.prod.json +0 -11
  292. package/tsconfig.spec.json +0 -15
@@ -1,167 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import {
3
- AbstractControl,
4
- FormBuilder,
5
- FormGroup,
6
- ValidationErrors,
7
- Validators,
8
- } from '@angular/forms';
9
- import { HttpWebRequestService } from '../../services/http-web-request.service';
10
- import {UserRequestPayload } from '../../models/UserRequest';
11
- import { ObjectState } from '../../models/object-state';
12
- import { UtilService } from '../../services/util.service';
13
- import { ResponseKeyValue } from '../../models/ResponseKeyValue';
14
- import { ErrorResponse } from '../../models/ErrorResponse';
15
- import { Status } from '../../models/status';
16
- import { RequestStatus } from '../../models/request-status';
17
- import { EnvironmentService } from '../../services/environment.service';
18
- @Component({
19
- selector: 'lib-user-request',
20
- templateUrl: './user-request.component.html',
21
- styleUrls: ['./user-request.component.css'],
22
- })
23
- export class UserRequestComponent {
24
- @Input() width: string = '500px';
25
- @Input() headingTitle: string = 'Request an account';
26
- @Input() headingClass: string =
27
- 'font-medium text-[2rem] leading-[48px] text-[#333]';
28
- @Input() customClass: string = '';
29
- @Input() bgColor: string = '#fff';
30
- @Input() boxShadow: string = '4px 4px 4px rgba(0, 0, 0, 0.25)';
31
- @Input() border: string = '1px solid #66666680';
32
- @Input() borderRadius: string = '24px';
33
- @Input() textColor: string = '#333';
34
- @Input() height: string = 'auto';
35
- @Input() pd: string = '32px 48px';
36
- apiKey:string=''
37
- // Button Inputs
38
- @Input() text: string = 'Send Request';
39
- @Input() color: string = 'black';
40
- @Input() btnBorder: string = '1px solid #FFE681';
41
- @Input() btnBorderRadius: string = '40px';
42
- @Input() btnBgColor: string = '#FFE681';
43
- @Input() btnWidth: string = '100%';
44
- @Input() btnPd: string = '10px 20px';
45
- @Input() termsLink: string = '';
46
- @Input() privacyLink: string = '';
47
- @Input() routerLink: string = '';
48
- @Output() formSubmit = new EventEmitter<UserRequestPayload[]>();
49
- @Output() googleClick = new EventEmitter();
50
- @Output() onSubmitSuccess = new EventEmitter<any>();
51
- @Output() appleClick = new EventEmitter();
52
- @Output() onSubmitResponseEnd: EventEmitter<any> = new EventEmitter();
53
- userRequestForm: FormGroup;
54
-
55
- constructor(
56
- private fb: FormBuilder,
57
- private server: HttpWebRequestService,
58
- private utilService: UtilService,
59
- private envSvc: EnvironmentService,
60
- ) {
61
- this.apiKey = this.envSvc.environment.APIKey
62
- this.userRequestForm = this.fb.group(
63
- {
64
- FirstName: [null, [Validators.required]],
65
- LastName: [null, [Validators.required]],
66
- Email: [null, [Validators.required, Validators.email]],
67
- Password: [null, [Validators.required, Validators.minLength(8)]],
68
- ConfirmPassword: [null, [Validators.required]],
69
- },
70
- { validators: this.passwordMatchValidator }
71
- );
72
- }
73
- passwordMatchValidator(control: AbstractControl): ValidationErrors | null {
74
- const password = control.get('Password')?.value;
75
- const confirmPassword = control.get('ConfirmPassword')?.value;
76
-
77
- return password === confirmPassword ? null : { passwordMismatch: true };
78
- }
79
-
80
- get passwordMismatchError(): boolean {
81
- return this.userRequestForm.hasError('passwordMismatch');
82
- }
83
- get styles() {
84
- return {
85
- 'background-color': this.bgColor,
86
- 'box-shadow': this.boxShadow,
87
- border: this.border,
88
- 'border-radius': this.borderRadius,
89
- color: this.textColor,
90
- 'max-width': this.width,
91
- height: this.height,
92
- padding: this.pd,
93
- };
94
- }
95
- checkForm(): boolean {
96
- return this.userRequestForm.valid;
97
- }
98
- handleGoogleAuth() {
99
- this.googleClick.emit();
100
- }
101
- handleAppleAuth() {
102
- this.appleClick.emit();
103
- }
104
- async submitForm() {
105
- if (!this.checkForm()) {
106
- return;
107
- }
108
-
109
- const payload: UserRequestPayload[] = [
110
- {
111
- Code: '',
112
- FirstName: this.userRequestForm.controls['FirstName'].value,
113
- LastName: this.userRequestForm.controls['LastName'].value,
114
- MailAddress: this.userRequestForm.controls['Email'].value,
115
- Password: this.userRequestForm.controls['Password'].value,
116
- PhoneNumber: '',
117
- OtherName: '',
118
- Role: [],
119
- Tags: [],
120
- Status: Status.Active,
121
- RequestStatus: RequestStatus.Pending,
122
- UpdatedAt: new Date(),
123
- CreatedAt: new Date(),
124
- Id: '',
125
- DataState: ObjectState.New,
126
- TenantId: '',
127
- ServiceName: '',
128
- ActionBy: '',
129
- Comment: '',
130
- },
131
- ];
132
-
133
- // Emit payload if needed
134
- this.formSubmit.emit(payload);
135
-
136
- // Show loading indicator
137
- this.utilService.sendBI(true);
138
-
139
- try {
140
- // Make the API call
141
- const res = await this.server.post(`User/SaveUserAccessRequests`, payload);
142
-
143
- // Hide loading indicator
144
- this.utilService.sendBI(false);
145
-
146
- if (res instanceof ErrorResponse) {
147
- // Emit error response
148
- this.onSubmitResponseEnd.emit(res);
149
- console.log(res);
150
- } else {
151
- // Emit success response
152
- const result = res as ResponseKeyValue;
153
- this.onSubmitResponseEnd.emit(result);
154
-
155
- // Emit success event
156
- this.onSubmitSuccess.emit(result);
157
-
158
- }
159
- } catch (error) {
160
- // Handle unexpected errors
161
- this.utilService.sendBI(false);
162
- console.error('Unexpected error:', error);
163
- this.onSubmitResponseEnd.emit(error);
164
- }
165
- }
166
-
167
- }
@@ -1,18 +0,0 @@
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
-
7
- @NgModule({
8
- declarations: [UserRequestComponent],
9
- imports: [
10
- FormsModule,
11
- ReactiveFormsModule,
12
- VerbenaInputModule,
13
- VerbenaButtonModule,
14
- CommonModule,
15
- ],
16
- exports: [UserRequestComponent],
17
- })
18
- export class UserRequestModule {}
@@ -1,26 +0,0 @@
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: 'phone',
22
- header: 'Phone Number',
23
- accessorKey: 'PhoneNumber',
24
- },
25
- { id: 'actions', header: 'Actions', accessorKey: 'MailAddress' },
26
- ];
@@ -1,52 +0,0 @@
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
- };
@@ -1,152 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import {
3
- Observable,
4
- catchError,
5
- from,
6
- lastValueFrom,
7
- tap,
8
- throwError,
9
- } from 'rxjs';
10
- import { UserAccessRequestState } from '../states/user-access-request.state';
11
- import { UserAccessRequest } from '../../../models/user-access-request';
12
- import { QueryParams } from '../../../models/query-params';
13
- import { UserAccessRequestService } from '../services/user-access-request.service';
14
- import { UserAccessRequestStatus } from '../../../models/user-access-request-status';
15
-
16
- @Injectable({
17
- providedIn: 'root',
18
- })
19
- export class UserAccessRequestFacade {
20
- constructor(
21
- private userAccessRequestService: UserAccessRequestService,
22
- private userAccessRequestState: UserAccessRequestState
23
- ) {}
24
-
25
- isUpdating$(): Observable<boolean> {
26
- return this.userAccessRequestState.isUpdating$();
27
- }
28
-
29
- getRequests$(): Observable<UserAccessRequest[]> {
30
- return this.userAccessRequestState.getRequests$();
31
- }
32
-
33
- getQueryParams$(): Observable<QueryParams<UserAccessRequest>> {
34
- return this.userAccessRequestState.getQueryParams$();
35
- }
36
-
37
- async loadRequests(): Promise<void> {
38
- try {
39
- this.userAccessRequestState.setUpdating(true);
40
- const params = this.userAccessRequestState.getQueryParamsValue();
41
-
42
- const requests =
43
- await this.userAccessRequestService.getUserAccessRequests(
44
- params.skip,
45
- params.limit,
46
- params.sortParam || 'createdDate',
47
- params.sortOrder
48
- );
49
-
50
- this.userAccessRequestState.setRequests(requests.Result);
51
- } catch (error) {
52
- console.error('Failed to load requests:', error);
53
- throw error;
54
- } finally {
55
- this.userAccessRequestState.setUpdating(false);
56
- }
57
- }
58
-
59
- async loadRequestsWithParam(param: string): Promise<void> {
60
- try {
61
- this.userAccessRequestState.setUpdating(true);
62
- const params = this.userAccessRequestState.getQueryParamsValue();
63
-
64
- const requests =
65
- await this.userAccessRequestService.getUserAccessRequestWithParam(
66
- param,
67
- params.skip,
68
- params.limit,
69
- params.sortParam || 'createdDate',
70
- params.sortOrder
71
- );
72
-
73
- this.userAccessRequestState.setRequests(requests.Result);
74
- } catch (error) {
75
- console.error('Failed to load requests with param:', error);
76
- throw error;
77
- } finally {
78
- this.userAccessRequestState.setUpdating(false);
79
- }
80
- }
81
-
82
- updateQueryParams(params: Partial<QueryParams<UserAccessRequest>>): void {
83
- this.userAccessRequestState.updateQueryParams(params);
84
- this.loadRequests();
85
- }
86
-
87
- async addRequest(request: Partial<UserAccessRequest>): Promise<void> {
88
- try {
89
- this.userAccessRequestState.setUpdating(true);
90
- const newRequest = { ...request } as UserAccessRequest;
91
- this.userAccessRequestState.addRequest(newRequest);
92
-
93
- await this.userAccessRequestService.saveUserAccessRequests([newRequest]);
94
- await this.loadRequests(); // Reload to get server-side changes
95
- } catch (error) {
96
- console.error('Failed to add request:', error);
97
- this.userAccessRequestState.removeRequest(request.Id!);
98
- throw error;
99
- } finally {
100
- this.userAccessRequestState.setUpdating(false);
101
- }
102
- }
103
-
104
- async updateRequest(request: UserAccessRequest): Promise<void> {
105
- try {
106
- this.userAccessRequestState.setUpdating(true);
107
- await this.userAccessRequestService.saveUserAccessRequests([request]);
108
- this.userAccessRequestState.updateRequest(request);
109
- } catch (error) {
110
- console.error('Failed to update request:', error);
111
- throw error;
112
- } finally {
113
- this.userAccessRequestState.setUpdating(false);
114
- }
115
- }
116
-
117
- async deleteRequest(requestId: string): Promise<void> {
118
- try {
119
- this.userAccessRequestState.setUpdating(true);
120
- await lastValueFrom(
121
- this.userAccessRequestService.deleteUserAccessRequests([requestId])
122
- );
123
- this.userAccessRequestState.removeRequest(requestId);
124
- } catch (error) {
125
- console.error('Failed to delete request:', error);
126
- throw error;
127
- } finally {
128
- this.userAccessRequestState.setUpdating(false);
129
- }
130
- }
131
-
132
- async approveRequest(request: UserAccessRequest): Promise<void> {
133
- try {
134
- this.userAccessRequestState.setUpdating(true);
135
- const response =
136
- await this.userAccessRequestService.processUserAccessRequests(
137
- [request],
138
- true
139
- );
140
- // console.log(response);
141
- const data = (response as UserAccessRequest[])?.[0];
142
- if (data) {
143
- this.userAccessRequestState.updateRequest(data);
144
- }
145
- } catch (error) {
146
- console.error('Failed to update request:', error);
147
- throw error;
148
- } finally {
149
- this.userAccessRequestState.setUpdating(false);
150
- }
151
- }
152
- }
@@ -1,39 +0,0 @@
1
- import { ObjectState } from '../../models/object-state';
2
- import { UserAccessRequest } from '../../models/user-access-request';
3
- import { UserAccessRequestStatus } from '../../models/user-access-request-status';
4
-
5
- export const roles: { id: string; name: string }[] = [
6
- { id: 'admin', name: 'Admin' },
7
- { id: 'manager', name: 'Manager' },
8
- { id: 'staff', name: 'Staff' },
9
- ];
10
-
11
- export const mockData: UserAccessRequest[] = new Array(10)
12
- .fill(1)
13
- .map((id, i) => ({
14
- FirstName: `First ${id + i}`,
15
- LastName: `Last ${id + i}`,
16
- OtherName: `Other ${id + i}`,
17
- Id: id + i,
18
- id: (id + i).toString(),
19
- MailAddress: `user${id + i}@mail.com`,
20
- PhoneNumber: `+23480000000${id + i}`,
21
- RequestStatus: randomEnum(UserAccessRequestStatus),
22
- RoleID: roles[Math.floor(Math.random() * roles.length)].id,
23
- Password: '1234567',
24
- ExpireOn: new Date(),
25
- IsSeeded: false,
26
- OTPExpireOn: new Date(),
27
- Tenants: [],
28
-
29
- CreatedAt: new Date(),
30
- UpdatedAt: new Date(),
31
- DataState: ObjectState.New,
32
- Tenant: `Tenant${id + i}`,
33
- }));
34
-
35
- function randomEnum<T extends object>(anEnum: T): T[keyof T] {
36
- const enumValues = Object.values(anEnum) as unknown as T[keyof T][];
37
- const randomIndex = Math.floor(Math.random() * enumValues.length);
38
- return enumValues[randomIndex];
39
- }
@@ -1,16 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
-
3
- import { UserAccessRequestService } from './user-access-request.service';
4
-
5
- describe('UserAccessRequestService', () => {
6
- let service: UserAccessRequestService;
7
-
8
- beforeEach(() => {
9
- TestBed.configureTestingModule({});
10
- service = TestBed.inject(UserAccessRequestService);
11
- });
12
-
13
- it('should be created', () => {
14
- expect(service).toBeTruthy();
15
- });
16
- });
@@ -1,87 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
-
3
- import { Observable, from } from 'rxjs';
4
- import { HttpWebRequestService } from '../../../services/http-web-request.service';
5
- import { UserAccessRequest } from '../../../models/user-access-request';
6
- import { Paged } from '../../../models/paged';
7
-
8
- @Injectable({
9
- providedIn: 'root',
10
- })
11
- export class UserAccessRequestService {
12
- private readonly BASE_URL = 'User';
13
-
14
- constructor(private httpService: HttpWebRequestService) {}
15
-
16
- /**
17
- * Get user access requests with pagination and sorting
18
- * @param skip Number of records to skip
19
- * @param limit Number of records to take
20
- * @param sortParam Sort parameter
21
- * @param sortOrder Sort order ('asc' or 'desc')
22
- * @returns Promise containing the user access requests
23
- */
24
- getUserAccessRequests(
25
- skip: number,
26
- limit: number,
27
- sortParam: string,
28
- sortOrder: string
29
- ): Promise<Paged<UserAccessRequest>> {
30
- const url = `${this.BASE_URL}/GetUserAccessRequests/${skip}/${limit}/${sortParam}/${sortOrder}`;
31
- return this.httpService.get(url) as Promise<Paged<UserAccessRequest>>;
32
- }
33
-
34
- /**
35
- * Get user access requests with additional parameter, pagination and sorting
36
- * @param param Search parameter
37
- * @param skip Number of records to skip
38
- * @param limit Number of records to take
39
- * @param sortParam Sort parameter
40
- * @param sortOrder Sort order ('asc' or 'desc')
41
- * @returns Promise containing the filtered user access requests
42
- */
43
- getUserAccessRequestWithParam(
44
- param: string,
45
- skip: number,
46
- limit: number,
47
- sortParam: string,
48
- sortOrder: string
49
- ): Promise<Paged<UserAccessRequest>> {
50
- const url = `${this.BASE_URL}/GetUserAccessRequestWithParam/${param}/${skip}/${limit}/${sortParam}/${sortOrder}`;
51
- return this.httpService.get(url) as Promise<Paged<UserAccessRequest>>;
52
- }
53
-
54
- /**
55
- * Save multiple user access requests
56
- * @param requests Array of user access requests to save
57
- * @returns Promise containing the save operation result
58
- */
59
- saveUserAccessRequests(requests: UserAccessRequest[]): Promise<any> {
60
- const url = `${this.BASE_URL}/SaveUserAccessRequests`;
61
- return this.httpService.post(url, requests);
62
- }
63
-
64
- /**
65
- * Approve or reject multiple user access requests
66
- * @param requests Array of user access requests to save
67
- * @param isApproval True for approval, false for decline
68
- * @returns Promise containing the save operation result
69
- */
70
- processUserAccessRequests(
71
- requests: UserAccessRequest[],
72
- isApproval: boolean
73
- ): Promise<any> {
74
- const url = `${this.BASE_URL}/UserAccessRequestAction/${isApproval}`;
75
- return this.httpService.post(url, requests);
76
- }
77
-
78
- /**
79
- * Delete multiple user access requests
80
- * @param requestIds Array of request IDs to delete
81
- * @returns Observable containing the delete operation result
82
- */
83
- deleteUserAccessRequests(requestIds: string[]): Observable<any> {
84
- const url = `${this.BASE_URL}/DeleteUserAccessRequests`;
85
- return this.httpService.delete(`${url}?data=${requestIds.join(',')}`);
86
- }
87
- }
@@ -1,65 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject, Observable } from 'rxjs';
3
- import { QueryParams } from '../../../models/query-params';
4
- import { UserAccessRequest } from '../../../models/user-access-request';
5
-
6
- @Injectable({
7
- providedIn: 'root',
8
- })
9
- export class UserAccessRequestState {
10
- private updating$ = new BehaviorSubject<boolean>(false);
11
- private requests$ = new BehaviorSubject<UserAccessRequest[]>([]);
12
- private queryParams$ = new BehaviorSubject<QueryParams<UserAccessRequest>>({
13
- skip: 0,
14
- limit: 10,
15
- sortParam: 'CreatedAt',
16
- sortOrder: 'asc',
17
- });
18
-
19
- isUpdating$(): Observable<boolean> {
20
- return this.updating$.asObservable();
21
- }
22
-
23
- setUpdating(isUpdating: boolean): void {
24
- this.updating$.next(isUpdating);
25
- }
26
-
27
- getRequests$(): Observable<UserAccessRequest[]> {
28
- return this.requests$.asObservable();
29
- }
30
-
31
- setRequests(requests: UserAccessRequest[]): void {
32
- this.requests$.next(requests);
33
- }
34
-
35
- getQueryParams$(): Observable<QueryParams<UserAccessRequest>> {
36
- return this.queryParams$.asObservable();
37
- }
38
-
39
- getQueryParamsValue(): QueryParams<UserAccessRequest> {
40
- return this.queryParams$.getValue();
41
- }
42
-
43
- updateQueryParams(params: Partial<QueryParams<UserAccessRequest>>): void {
44
- this.queryParams$.next({ ...this.queryParams$.getValue(), ...params });
45
- }
46
-
47
- addRequest(request: UserAccessRequest): void {
48
- const currentValue = this.requests$.getValue();
49
- this.requests$.next([...currentValue, request]);
50
- }
51
-
52
- updateRequest(updatedRequest: UserAccessRequest): void {
53
- const requests = this.requests$.getValue();
54
- const index = requests.findIndex((r) => r.Id === updatedRequest.Id);
55
- if (index !== -1) {
56
- requests[index] = updatedRequest;
57
- this.requests$.next([...requests]);
58
- }
59
- }
60
-
61
- removeRequest(requestId: string): void {
62
- const currentValue = this.requests$.getValue();
63
- this.requests$.next(currentValue.filter((r) => r.Id !== requestId));
64
- }
65
- }
@@ -1,7 +0,0 @@
1
- <verbena-badge
2
- borderRadius="9px"
3
- [bgColor]="badgeConfig().bgColor"
4
- [textColor]="badgeConfig().textColor"
5
- fontSize="12px"
6
- [text]="badgeConfig().label"
7
- ></verbena-badge>
@@ -1,23 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
-
3
- import { UserAccessRequestStatusBadgeComponent } from './user-access-request-status-badge.component';
4
-
5
- describe('UserAccessRequestStatusBadgeComponent', () => {
6
- let component: UserAccessRequestStatusBadgeComponent;
7
- let fixture: ComponentFixture<UserAccessRequestStatusBadgeComponent>;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
- imports: [UserAccessRequestStatusBadgeComponent]
12
- })
13
- .compileComponents();
14
-
15
- fixture = TestBed.createComponent(UserAccessRequestStatusBadgeComponent);
16
- component = fixture.componentInstance;
17
- fixture.detectChanges();
18
- });
19
-
20
- it('should create', () => {
21
- expect(component).toBeTruthy();
22
- });
23
- });
@@ -1,22 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { UserAccessRequestStatus } from '../../../models/user-access-request-status';
3
-
4
- @Component({
5
- selector: 'lib-user-access-request-status-badge',
6
- templateUrl: './user-access-request-status-badge.component.html',
7
- styleUrl: './user-access-request-status-badge.component.css',
8
- })
9
- export class UserAccessRequestStatusBadgeComponent {
10
- @Input() status: UserAccessRequestStatus = UserAccessRequestStatus.Pending;
11
-
12
- badgeConfig() {
13
- switch (this.status) {
14
- case UserAccessRequestStatus.Approved:
15
- return { bgColor: '#CAE1CC', textColor: '#4ABB54', label: 'Approved' };
16
- case UserAccessRequestStatus.Declined:
17
- return { bgColor: '#FFDFDF', textColor: '#EB5757', label: 'Rejected' };
18
- default:
19
- return { bgColor: '#827C7C', textColor: '#C3C3C3', label: 'Pending' };
20
- }
21
- }
22
- }
@@ -1 +0,0 @@
1
- @import "../../../theme/tailwind.css";