verben-authentication-ui 0.3.2 → 0.3.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 (288) hide show
  1. package/ng-package.json +8 -0
  2. package/package.json +8 -14
  3. package/src/lib/components/button/button.component.css +3 -0
  4. package/src/lib/components/button/button.component.html +13 -0
  5. package/src/lib/components/button/button.component.spec.ts +23 -0
  6. package/src/lib/components/button/button.component.ts +24 -0
  7. package/src/lib/components/button/button.module.ts +11 -0
  8. package/{lib/components/forgot-password/ForgotPasswordData.d.ts → src/lib/components/forgot-password/ForgotPasswordData.ts} +1 -1
  9. package/src/lib/components/forgot-password/forgot-password.component.css +29 -0
  10. package/src/lib/components/forgot-password/forgot-password.component.html +13 -0
  11. package/src/lib/components/forgot-password/forgot-password.component.spec.ts +23 -0
  12. package/src/lib/components/forgot-password/forgot-password.component.ts +86 -0
  13. package/src/lib/components/forgot-password/forgot-password.module.ts +18 -0
  14. package/src/lib/components/mail/mail.component.css +0 -0
  15. package/src/lib/components/mail/mail.component.html +11 -0
  16. package/src/lib/components/mail/mail.component.spec.ts +23 -0
  17. package/src/lib/components/mail/mail.component.ts +47 -0
  18. package/src/lib/components/mail/mail.module.ts +13 -0
  19. package/src/lib/components/mail-validation/mail-validation.component.css +59 -0
  20. package/src/lib/components/mail-validation/mail-validation.component.html +37 -0
  21. package/src/lib/components/mail-validation/mail-validation.component.spec.ts +23 -0
  22. package/src/lib/components/mail-validation/mail-validation.component.ts +66 -0
  23. package/src/lib/components/mail-validation/mail-validation.module.ts +18 -0
  24. package/src/lib/components/o-auth/o-auth.component.css +21 -0
  25. package/src/lib/components/o-auth/o-auth.component.html +60 -0
  26. package/src/lib/components/o-auth/o-auth.component.spec.ts +23 -0
  27. package/src/lib/components/o-auth/o-auth.component.ts +43 -0
  28. package/src/lib/components/o-auth/o-auth.module.ts +11 -0
  29. package/src/lib/components/otp-input/otp-input.component.css +19 -0
  30. package/src/lib/components/otp-input/otp-input.component.html +14 -0
  31. package/src/lib/components/otp-input/otp-input.component.spec.ts +23 -0
  32. package/src/lib/components/otp-input/otp-input.component.ts +73 -0
  33. package/src/lib/components/otp-input/otp-input.module.ts +15 -0
  34. package/src/lib/components/reset-password/ResetPasswordData.ts +5 -0
  35. package/src/lib/components/reset-password/reset-password.component.css +29 -0
  36. package/src/lib/components/reset-password/reset-password.component.html +22 -0
  37. package/src/lib/components/reset-password/reset-password.component.spec.ts +23 -0
  38. package/src/lib/components/reset-password/reset-password.component.ts +108 -0
  39. package/src/lib/components/reset-password/reset-password.module.ts +18 -0
  40. package/src/lib/components/sign-in/sign-in.component.css +21 -0
  41. package/src/lib/components/sign-in/sign-in.component.html +84 -0
  42. package/src/lib/components/sign-in/sign-in.component.spec.ts +23 -0
  43. package/src/lib/components/sign-in/sign-in.component.ts +184 -0
  44. package/src/lib/components/sign-in/sign-in.module.ts +17 -0
  45. package/src/lib/components/sign-up/sign-up.component.css +36 -0
  46. package/src/lib/components/sign-up/sign-up.component.html +132 -0
  47. package/src/lib/components/sign-up/sign-up.component.spec.ts +23 -0
  48. package/src/lib/components/sign-up/sign-up.component.ts +176 -0
  49. package/src/lib/components/sign-up/sign-up.module.ts +15 -0
  50. package/src/lib/components/sso/base-table-style.ts +52 -0
  51. package/src/lib/components/sso/helper.ts +15 -0
  52. package/src/lib/components/sso/sso-form/sso-form.component.css +13 -0
  53. package/src/lib/components/sso/sso-form/sso-form.component.html +109 -0
  54. package/src/lib/components/sso/sso-form/sso-form.component.spec.ts +23 -0
  55. package/src/lib/components/sso/sso-form/sso-form.component.ts +70 -0
  56. package/src/lib/components/sso/sso.columns.ts +32 -0
  57. package/src/lib/components/sso/sso.component.css +47 -0
  58. package/src/lib/components/sso/sso.component.html +208 -0
  59. package/src/lib/components/sso/sso.component.spec.ts +23 -0
  60. package/src/lib/components/sso/sso.component.ts +261 -0
  61. package/src/lib/components/sso/sso.module.ts +40 -0
  62. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.css +8 -0
  63. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.html +30 -0
  64. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.spec.ts +23 -0
  65. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.ts +183 -0
  66. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.ts +15 -0
  67. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.css +17 -0
  68. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.html +45 -0
  69. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.spec.ts +23 -0
  70. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.ts +57 -0
  71. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.ts +11 -0
  72. package/src/lib/components/user-management/base-table-style.ts +52 -0
  73. package/src/lib/components/user-management/helper.ts +29 -0
  74. package/src/lib/components/user-management/index.ts +4 -0
  75. package/src/lib/components/user-management/useer-management.module.ts +48 -0
  76. package/src/lib/components/user-management/user-management-form/use-management-form.component.ts +61 -0
  77. package/src/lib/components/user-management/user-management-form/user-management-form.component.css +0 -0
  78. package/src/lib/components/user-management/user-management-form/user-management-form.component.html +91 -0
  79. package/src/lib/components/user-management/user-management-form/user-management-form.component.spec.ts +23 -0
  80. package/src/lib/components/user-management/user-management.columns.ts +45 -0
  81. package/src/lib/components/user-management/user-management.component.css +26 -0
  82. package/src/lib/components/user-management/user-management.component.html +275 -0
  83. package/src/lib/components/user-management/user-management.component.spec.ts +23 -0
  84. package/src/lib/components/user-management/user-management.component.ts +380 -0
  85. package/src/lib/components/user-management/user-management.service.ts +42 -0
  86. package/src/lib/components/user-request/user-request.component.css +91 -0
  87. package/src/lib/components/user-request/user-request.component.html +165 -0
  88. package/src/lib/components/user-request/user-request.component.spec.ts +23 -0
  89. package/src/lib/components/user-request/user-request.component.ts +167 -0
  90. package/src/lib/components/user-request/user-request.module.ts +18 -0
  91. package/src/lib/components/user-request-approval/access-request.columns.ts +26 -0
  92. package/src/lib/components/user-request-approval/base-table-style.ts +52 -0
  93. package/src/lib/components/user-request-approval/facades/user-access-request.facade.ts +152 -0
  94. package/src/lib/components/user-request-approval/helper.ts +39 -0
  95. package/src/lib/components/user-request-approval/services/user-access-request.service.spec.ts +16 -0
  96. package/src/lib/components/user-request-approval/services/user-access-request.service.ts +87 -0
  97. package/src/lib/components/user-request-approval/states/user-access-request.state.ts +65 -0
  98. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.css +0 -0
  99. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.html +7 -0
  100. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.spec.ts +23 -0
  101. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.ts +22 -0
  102. package/src/lib/components/user-request-approval/user-request-approval.component.css +1 -0
  103. package/src/lib/components/user-request-approval/user-request-approval.component.html +218 -0
  104. package/src/lib/components/user-request-approval/user-request-approval.component.spec.ts +23 -0
  105. package/src/lib/components/user-request-approval/user-request-approval.component.ts +301 -0
  106. package/src/lib/components/user-request-approval/user-request-approval.module.ts +52 -0
  107. package/src/lib/components/user-request-approval/user-request-approval.service.spec.ts +16 -0
  108. package/src/lib/components/user-request-approval/user-request-approval.service.ts +58 -0
  109. package/src/lib/components/user-request-approval/user-request-form/use-request-form.component.ts +66 -0
  110. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.css +0 -0
  111. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.html +97 -0
  112. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.spec.ts +23 -0
  113. package/src/lib/models/ErrorResponse.ts +7 -0
  114. package/src/lib/models/PasswordRequestParam.ts +5 -0
  115. package/src/lib/models/ResponseKeyValue.ts +5 -0
  116. package/src/lib/models/UserRequest.ts +28 -0
  117. package/src/lib/models/auth-mechanism.ts +14 -0
  118. package/src/lib/models/base.ts +11 -0
  119. package/src/lib/models/log-in.ts +7 -0
  120. package/{lib/models/mainUser.d.ts → src/lib/models/mainUser.ts} +3 -2
  121. package/src/lib/models/object-state.ts +6 -0
  122. package/{lib/models/otpValue.d.ts → src/lib/models/otpValue.ts} +3 -1
  123. package/src/lib/models/paged.ts +9 -0
  124. package/src/lib/models/query-params.ts +7 -0
  125. package/src/lib/models/request-status.ts +4 -0
  126. package/src/lib/models/resend-otp-data.ts +8 -0
  127. package/src/lib/models/resource.ts +27 -0
  128. package/src/lib/models/sign-up.ts +11 -0
  129. package/src/lib/models/single-sign-on.ts +9 -0
  130. package/src/lib/models/status.ts +5 -0
  131. package/src/lib/models/user-access-request-status.ts +5 -0
  132. package/{lib/models/user-access-request.d.ts → src/lib/models/user-access-request.ts} +4 -3
  133. package/src/lib/models/user.ts +24 -0
  134. package/src/lib/services/environment.service.spec.ts +16 -0
  135. package/src/lib/services/environment.service.ts +23 -0
  136. package/src/lib/services/http-web-request.service.spec.ts +16 -0
  137. package/src/lib/services/http-web-request.service.ts +101 -0
  138. package/src/lib/services/util.service.spec.ts +16 -0
  139. package/src/lib/services/util.service.ts +28 -0
  140. package/{public-api.d.ts → src/public-api.ts} +21 -0
  141. package/src/styles.css +96 -0
  142. package/src/theme/tailwind-setup.css +3 -0
  143. package/src/theme/tailwind.css +980 -0
  144. package/tailwind.config.js +20 -0
  145. package/tsconfig.lib.json +15 -0
  146. package/tsconfig.lib.prod.json +11 -0
  147. package/tsconfig.spec.json +15 -0
  148. package/esm2022/lib/components/button/button.component.mjs +0 -46
  149. package/esm2022/lib/components/button/button.module.mjs +0 -20
  150. package/esm2022/lib/components/forgot-password/ForgotPasswordData.mjs +0 -2
  151. package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +0 -86
  152. package/esm2022/lib/components/forgot-password/forgot-password.module.mjs +0 -34
  153. package/esm2022/lib/components/mail/mail.component.mjs +0 -69
  154. package/esm2022/lib/components/mail/mail.module.mjs +0 -21
  155. package/esm2022/lib/components/mail-validation/mail-validation.component.mjs +0 -108
  156. package/esm2022/lib/components/mail-validation/mail-validation.module.mjs +0 -34
  157. package/esm2022/lib/components/o-auth/o-auth.component.mjs +0 -25
  158. package/esm2022/lib/components/o-auth/o-auth.module.mjs +0 -19
  159. package/esm2022/lib/components/otp-input/otp-input.component.mjs +0 -75
  160. package/esm2022/lib/components/otp-input/otp-input.module.mjs +0 -23
  161. package/esm2022/lib/components/reset-password/ResetPasswordData.mjs +0 -2
  162. package/esm2022/lib/components/reset-password/reset-password.component.mjs +0 -107
  163. package/esm2022/lib/components/reset-password/reset-password.module.mjs +0 -34
  164. package/esm2022/lib/components/sign-in/sign-in.component.mjs +0 -214
  165. package/esm2022/lib/components/sign-in/sign-in.module.mjs +0 -24
  166. package/esm2022/lib/components/sign-up/sign-up.component.mjs +0 -223
  167. package/esm2022/lib/components/sign-up/sign-up.module.mjs +0 -24
  168. package/esm2022/lib/components/sso/base-table-style.mjs +0 -53
  169. package/esm2022/lib/components/sso/helper.mjs +0 -14
  170. package/esm2022/lib/components/sso/sso-form/sso-form.component.mjs +0 -74
  171. package/esm2022/lib/components/sso/sso.columns.mjs +0 -29
  172. package/esm2022/lib/components/sso/sso.component.mjs +0 -236
  173. package/esm2022/lib/components/sso/sso.module.mjs +0 -63
  174. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.mjs +0 -201
  175. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.mjs +0 -22
  176. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.mjs +0 -90
  177. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.mjs +0 -19
  178. package/esm2022/lib/components/user-management/base-table-style.mjs +0 -53
  179. package/esm2022/lib/components/user-management/helper.mjs +0 -26
  180. package/esm2022/lib/components/user-management/useer-management.module.mjs +0 -68
  181. package/esm2022/lib/components/user-management/user-management-form/use-management-form.component.mjs +0 -57
  182. package/esm2022/lib/components/user-management/user-management.columns.mjs +0 -43
  183. package/esm2022/lib/components/user-management/user-management.component.mjs +0 -323
  184. package/esm2022/lib/components/user-request/user-request.component.mjs +0 -206
  185. package/esm2022/lib/components/user-request/user-request.module.mjs +0 -34
  186. package/esm2022/lib/components/user-request-approval/access-request.columns.mjs +0 -24
  187. package/esm2022/lib/components/user-request-approval/base-table-style.mjs +0 -53
  188. package/esm2022/lib/components/user-request-approval/facades/user-access-request.facade.mjs +0 -128
  189. package/esm2022/lib/components/user-request-approval/helper.mjs +0 -35
  190. package/esm2022/lib/components/user-request-approval/services/user-access-request.service.mjs +0 -72
  191. package/esm2022/lib/components/user-request-approval/states/user-access-request.state.mjs +0 -59
  192. package/esm2022/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.mjs +0 -26
  193. package/esm2022/lib/components/user-request-approval/user-request-approval.component.mjs +0 -251
  194. package/esm2022/lib/components/user-request-approval/user-request-approval.module.mjs +0 -77
  195. package/esm2022/lib/components/user-request-approval/user-request-approval.service.mjs +0 -32
  196. package/esm2022/lib/components/user-request-approval/user-request-form/use-request-form.component.mjs +0 -64
  197. package/esm2022/lib/models/ErrorResponse.mjs +0 -11
  198. package/esm2022/lib/models/PasswordRequestParam.mjs +0 -2
  199. package/esm2022/lib/models/ResponseKeyValue.mjs +0 -2
  200. package/esm2022/lib/models/UserRequest.mjs +0 -2
  201. package/esm2022/lib/models/base.mjs +0 -2
  202. package/esm2022/lib/models/log-in.mjs +0 -2
  203. package/esm2022/lib/models/mainUser.mjs +0 -2
  204. package/esm2022/lib/models/object-state.mjs +0 -8
  205. package/esm2022/lib/models/otpValue.mjs +0 -2
  206. package/esm2022/lib/models/paged.mjs +0 -2
  207. package/esm2022/lib/models/query-params.mjs +0 -2
  208. package/esm2022/lib/models/request-status.mjs +0 -5
  209. package/esm2022/lib/models/sign-up.mjs +0 -2
  210. package/esm2022/lib/models/single-sign-on.mjs +0 -2
  211. package/esm2022/lib/models/status.mjs +0 -6
  212. package/esm2022/lib/models/user-access-request-status.mjs +0 -7
  213. package/esm2022/lib/models/user-access-request.mjs +0 -2
  214. package/esm2022/lib/models/user.mjs +0 -2
  215. package/esm2022/lib/services/environment.service.mjs +0 -26
  216. package/esm2022/lib/services/http-web-request.service.mjs +0 -83
  217. package/esm2022/lib/services/util.service.mjs +0 -32
  218. package/esm2022/public-api.mjs +0 -43
  219. package/esm2022/verben-authentication-ui.mjs +0 -5
  220. package/fesm2022/verben-authentication-ui.mjs +0 -3545
  221. package/fesm2022/verben-authentication-ui.mjs.map +0 -1
  222. package/index.d.ts +0 -5
  223. package/lib/components/button/button.component.d.ts +0 -17
  224. package/lib/components/button/button.module.d.ts +0 -10
  225. package/lib/components/forgot-password/forgot-password.component.d.ts +0 -28
  226. package/lib/components/forgot-password/forgot-password.module.d.ts +0 -10
  227. package/lib/components/mail/mail.component.d.ts +0 -32
  228. package/lib/components/mail/mail.module.d.ts +0 -11
  229. package/lib/components/mail-validation/mail-validation.component.d.ts +0 -42
  230. package/lib/components/mail-validation/mail-validation.module.d.ts +0 -10
  231. package/lib/components/o-auth/o-auth.component.d.ts +0 -10
  232. package/lib/components/o-auth/o-auth.module.d.ts +0 -9
  233. package/lib/components/otp-input/otp-input.component.d.ts +0 -20
  234. package/lib/components/otp-input/otp-input.module.d.ts +0 -13
  235. package/lib/components/reset-password/ResetPasswordData.d.ts +0 -5
  236. package/lib/components/reset-password/reset-password.component.d.ts +0 -30
  237. package/lib/components/reset-password/reset-password.module.d.ts +0 -10
  238. package/lib/components/sign-in/sign-in.component.d.ts +0 -77
  239. package/lib/components/sign-in/sign-in.module.d.ts +0 -13
  240. package/lib/components/sign-up/sign-up.component.d.ts +0 -66
  241. package/lib/components/sign-up/sign-up.module.d.ts +0 -13
  242. package/lib/components/sso/base-table-style.d.ts +0 -1
  243. package/lib/components/sso/helper.d.ts +0 -2
  244. package/lib/components/sso/sso-form/sso-form.component.d.ts +0 -21
  245. package/lib/components/sso/sso.columns.d.ts +0 -3
  246. package/lib/components/sso/sso.component.d.ts +0 -54
  247. package/lib/components/sso/sso.module.d.ts +0 -11
  248. package/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.d.ts +0 -65
  249. package/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.d.ts +0 -12
  250. package/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.d.ts +0 -39
  251. package/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.d.ts +0 -9
  252. package/lib/components/user-management/base-table-style.d.ts +0 -1
  253. package/lib/components/user-management/helper.d.ts +0 -2
  254. package/lib/components/user-management/useer-management.module.d.ts +0 -11
  255. package/lib/components/user-management/user-management-form/use-management-form.component.d.ts +0 -20
  256. package/lib/components/user-management/user-management.columns.d.ts +0 -3
  257. package/lib/components/user-management/user-management.component.d.ts +0 -60
  258. package/lib/components/user-request/user-request.component.d.ts +0 -60
  259. package/lib/components/user-request/user-request.module.d.ts +0 -10
  260. package/lib/components/user-request-approval/access-request.columns.d.ts +0 -3
  261. package/lib/components/user-request-approval/base-table-style.d.ts +0 -1
  262. package/lib/components/user-request-approval/facades/user-access-request.facade.d.ts +0 -23
  263. package/lib/components/user-request-approval/helper.d.ts +0 -6
  264. package/lib/components/user-request-approval/services/user-access-request.service.d.ts +0 -50
  265. package/lib/components/user-request-approval/states/user-access-request.state.d.ts +0 -21
  266. package/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.d.ts +0 -12
  267. package/lib/components/user-request-approval/user-request-approval.component.d.ts +0 -59
  268. package/lib/components/user-request-approval/user-request-approval.module.d.ts +0 -12
  269. package/lib/components/user-request-approval/user-request-approval.service.d.ts +0 -18
  270. package/lib/components/user-request-approval/user-request-form/use-request-form.component.d.ts +0 -21
  271. package/lib/models/ErrorResponse.d.ts +0 -6
  272. package/lib/models/PasswordRequestParam.d.ts +0 -5
  273. package/lib/models/ResponseKeyValue.d.ts +0 -5
  274. package/lib/models/UserRequest.d.ts +0 -24
  275. package/lib/models/base.d.ts +0 -10
  276. package/lib/models/log-in.d.ts +0 -7
  277. package/lib/models/object-state.d.ts +0 -6
  278. package/lib/models/paged.d.ts +0 -9
  279. package/lib/models/query-params.d.ts +0 -7
  280. package/lib/models/request-status.d.ts +0 -3
  281. package/lib/models/sign-up.d.ts +0 -9
  282. package/lib/models/single-sign-on.d.ts +0 -7
  283. package/lib/models/status.d.ts +0 -4
  284. package/lib/models/user-access-request-status.d.ts +0 -5
  285. package/lib/models/user.d.ts +0 -23
  286. package/lib/services/environment.service.d.ts +0 -16
  287. package/lib/services/http-web-request.service.d.ts +0 -23
  288. package/lib/services/util.service.d.ts +0 -8
@@ -1,206 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { Validators, } from '@angular/forms';
3
- import { ObjectState } from '../../models/object-state';
4
- import { ErrorResponse } from '../../models/ErrorResponse';
5
- import { Status } from '../../models/status';
6
- import { RequestStatus } from '../../models/request-status';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/forms";
9
- import * as i2 from "../../services/http-web-request.service";
10
- import * as i3 from "../../services/util.service";
11
- import * as i4 from "../../services/environment.service";
12
- import * as i5 from "verben-ng-ui";
13
- import * as i6 from "@angular/common";
14
- export class UserRequestComponent {
15
- fb;
16
- server;
17
- utilService;
18
- envSvc;
19
- width = '500px';
20
- headingTitle = 'Request an account';
21
- headingClass = 'font-medium text-[2rem] leading-[48px] text-[#333]';
22
- customClass = '';
23
- bgColor = '#fff';
24
- boxShadow = '4px 4px 4px rgba(0, 0, 0, 0.25)';
25
- border = '1px solid #66666680';
26
- borderRadius = '24px';
27
- textColor = '#333';
28
- height = 'auto';
29
- pd = '32px 48px';
30
- apiKey = '';
31
- // Button Inputs
32
- text = 'Send Request';
33
- color = 'black';
34
- btnBorder = '1px solid #FFE681';
35
- btnBorderRadius = '40px';
36
- btnBgColor = '#FFE681';
37
- btnWidth = '100%';
38
- btnPd = '10px 20px';
39
- termsLink = '';
40
- privacyLink = '';
41
- routerLink = '';
42
- formSubmit = new EventEmitter();
43
- googleClick = new EventEmitter();
44
- onSubmitSuccess = new EventEmitter();
45
- appleClick = new EventEmitter();
46
- onSubmitResponseEnd = new EventEmitter();
47
- userRequestForm;
48
- constructor(fb, server, utilService, envSvc) {
49
- this.fb = fb;
50
- this.server = server;
51
- this.utilService = utilService;
52
- this.envSvc = envSvc;
53
- this.apiKey = this.envSvc.environment.APIKey;
54
- this.userRequestForm = this.fb.group({
55
- FirstName: [null, [Validators.required]],
56
- LastName: [null, [Validators.required]],
57
- Email: [null, [Validators.required, Validators.email]],
58
- Password: [null, [Validators.required, Validators.minLength(8)]],
59
- ConfirmPassword: [null, [Validators.required]],
60
- }, { validators: this.passwordMatchValidator });
61
- }
62
- passwordMatchValidator(control) {
63
- const password = control.get('Password')?.value;
64
- const confirmPassword = control.get('ConfirmPassword')?.value;
65
- return password === confirmPassword ? null : { passwordMismatch: true };
66
- }
67
- get passwordMismatchError() {
68
- return this.userRequestForm.hasError('passwordMismatch');
69
- }
70
- get styles() {
71
- return {
72
- 'background-color': this.bgColor,
73
- 'box-shadow': this.boxShadow,
74
- border: this.border,
75
- 'border-radius': this.borderRadius,
76
- color: this.textColor,
77
- 'max-width': this.width,
78
- height: this.height,
79
- padding: this.pd,
80
- };
81
- }
82
- checkForm() {
83
- return this.userRequestForm.valid;
84
- }
85
- handleGoogleAuth() {
86
- this.googleClick.emit();
87
- }
88
- handleAppleAuth() {
89
- this.appleClick.emit();
90
- }
91
- async submitForm() {
92
- if (!this.checkForm()) {
93
- return;
94
- }
95
- const payload = [
96
- {
97
- Code: '',
98
- FirstName: this.userRequestForm.controls['FirstName'].value,
99
- LastName: this.userRequestForm.controls['LastName'].value,
100
- MailAddress: this.userRequestForm.controls['Email'].value,
101
- Password: this.userRequestForm.controls['Password'].value,
102
- PhoneNumber: '',
103
- OtherName: '',
104
- Role: [],
105
- Tags: [],
106
- Status: Status.Active,
107
- RequestStatus: RequestStatus.Pending,
108
- UpdatedAt: new Date(),
109
- CreatedAt: new Date(),
110
- Id: '',
111
- DataState: ObjectState.New,
112
- TenantId: '',
113
- ServiceName: '',
114
- ActionBy: '',
115
- Comment: '',
116
- },
117
- ];
118
- // Emit payload if needed
119
- this.formSubmit.emit(payload);
120
- // Show loading indicator
121
- this.utilService.sendBI(true);
122
- try {
123
- // Make the API call
124
- const res = await this.server.post(`User/SaveUserAccessRequests`, payload);
125
- // Hide loading indicator
126
- this.utilService.sendBI(false);
127
- if (res instanceof ErrorResponse) {
128
- // Emit error response
129
- this.onSubmitResponseEnd.emit(res);
130
- console.log(res);
131
- }
132
- else {
133
- // Emit success response
134
- const result = res;
135
- this.onSubmitResponseEnd.emit(result);
136
- // Emit success event
137
- this.onSubmitSuccess.emit(result);
138
- }
139
- }
140
- catch (error) {
141
- // Handle unexpected errors
142
- this.utilService.sendBI(false);
143
- console.error('Unexpected error:', error);
144
- this.onSubmitResponseEnd.emit(error);
145
- }
146
- }
147
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestComponent, deps: [{ token: i1.FormBuilder }, { token: i2.HttpWebRequestService }, { token: i3.UtilService }, { token: i4.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component });
148
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserRequestComponent, selector: "lib-user-request", inputs: { width: "width", headingTitle: "headingTitle", headingClass: "headingClass", customClass: "customClass", bgColor: "bgColor", boxShadow: "boxShadow", border: "border", borderRadius: "borderRadius", textColor: "textColor", height: "height", pd: "pd", text: "text", color: "color", btnBorder: "btnBorder", btnBorderRadius: "btnBorderRadius", btnBgColor: "btnBgColor", btnWidth: "btnWidth", btnPd: "btnPd", termsLink: "termsLink", privacyLink: "privacyLink", routerLink: "routerLink" }, outputs: { formSubmit: "formSubmit", googleClick: "googleClick", onSubmitSuccess: "onSubmitSuccess", appleClick: "appleClick", onSubmitResponseEnd: "onSubmitResponseEnd" }, ngImport: i0, template: "<section [ngStyle]=\"styles\" class=\"{{ customClass }}\">\n <h2 class=\"{{ headingClass }}\">\n {{ headingTitle }}\n </h2>\n\n <form\n [formGroup]=\"userRequestForm\"\n (ngSubmit)=\"submitForm()\"\n class=\"flex flex-col gap-5 mt-3\"\n >\n <verbena-input\n [label]=\"'First Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"FirstName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'Last Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"LastName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'E-mail Address'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"Email\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [customErrorMessages]=\"{\n required: 'Email address is required',\n email: 'Email address must be valid'\n }\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n [label]=\"'Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n formControlName=\"Password\"\n [required]=\"true\"\n [type]=\"'password'\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n [label]=\"'Confirm Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"ConfirmPassword\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [minLength]=\"userRequestForm.controls['Password'].value?.length\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [customErrorMessages]=\"{\n minLength:'Confirm Password must match password',\n required: 'Confirm Password is required and must match password',\n password: 'Password does not match',\n }\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-button\n [class]=\"'mt-6'\"\n [disable]=\"!this.checkForm()\"\n [text]=\"text\"\n [bgColor]=\"btnBgColor\"\n [textColor]=\"color\"\n [buttonClass]=\"'cursor-not-allowed'\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [pd]=\"btnPd\"\n [ngClass]=\"{\n 'cursor-not-allowed':!checkForm()\n }\"\n [width]=\"btnWidth\"\n buttonClass=\"font-medium text-[22px] leading-[33px]\"\n ></verbena-button>\n <div class=\"flex justify-center items-center OR\">\n <span></span>\n OR\n <span></span>\n </div>\n\n <verbena-button\n svg=\"google-logo\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n (click)=\"handleGoogleAuth()\"\n text=\"Continue with Google\"\n bgColor=\"white\"\n textColor=\"black\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333]\"\n ></verbena-button>\n\n <verbena-button\n svg=\"apple-logo\"\n (click)=\"handleAppleAuth()\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n text=\"Continue with Apple\"\n bgColor=\"white\"\n textColor=\"black\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333] mt-2\"\n ></verbena-button>\n </form>\n</section>\n", styles: [".flex{display:flex}.items-center{align-items:center}.overflow-hidden{overflow:hidden}.justify-center{justify-content:center}.h-full{height:100%}.text-center{text-align:center}.underline{text-decoration:underline}.gap-5{gap:20px}.mt-4{margin-top:1rem}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.gap-1>:not([hidden])~:not([hidden]){gap:.25rem}.pt-3{padding-top:.75rem}.mt-5{margin-top:1.25rem}.border{border-width:1px}.rounded-xl{border-radius:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.flex-col{flex-direction:column}.object-cover{object-fit:cover}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed!important}.accent{accent-color:#000}.OR{color:#666;gap:6px}.OR span{width:150px;border-top:2px solid #6666663d;display:block}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "component", type: i5.VerbenaButtonComponent, selector: "verbena-button", inputs: ["text", "icon", "svgPosition", "bgColor", "textColor", "border", "borderRadius", "pd", "width", "height", "fontSize", "fontWeight", "disable", "styleType", "svg", "svgWidth", "svgHeight", "svgColor", "buttonClass", "buttonTextClass", "isLoading", "spinnerSize", "spinnerColor"] }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
149
- }
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestComponent, decorators: [{
151
- type: Component,
152
- args: [{ selector: 'lib-user-request', template: "<section [ngStyle]=\"styles\" class=\"{{ customClass }}\">\n <h2 class=\"{{ headingClass }}\">\n {{ headingTitle }}\n </h2>\n\n <form\n [formGroup]=\"userRequestForm\"\n (ngSubmit)=\"submitForm()\"\n class=\"flex flex-col gap-5 mt-3\"\n >\n <verbena-input\n [label]=\"'First Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"FirstName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'Last Name'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'text'\"\n formControlName=\"LastName\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <verbena-input\n [label]=\"'E-mail Address'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"Email\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [customErrorMessages]=\"{\n required: 'Email address is required',\n email: 'Email address must be valid'\n }\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n [label]=\"'Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n formControlName=\"Password\"\n [required]=\"true\"\n [type]=\"'password'\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-input\n [label]=\"'Confirm Password'\"\n [labelColor]=\"'#666'\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"ConfirmPassword\"\n [showBorder]=\"true\"\n [bgColor]=\"'white'\"\n [minLength]=\"userRequestForm.controls['Password'].value?.length\"\n [border]=\"'1px solid #66666659'\"\n [borderRadius]=\"'12px'\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [customErrorMessages]=\"{\n minLength:'Confirm Password must match password',\n required: 'Confirm Password is required and must match password',\n password: 'Password does not match',\n }\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n\n <verbena-button\n [class]=\"'mt-6'\"\n [disable]=\"!this.checkForm()\"\n [text]=\"text\"\n [bgColor]=\"btnBgColor\"\n [textColor]=\"color\"\n [buttonClass]=\"'cursor-not-allowed'\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [pd]=\"btnPd\"\n [ngClass]=\"{\n 'cursor-not-allowed':!checkForm()\n }\"\n [width]=\"btnWidth\"\n buttonClass=\"font-medium text-[22px] leading-[33px]\"\n ></verbena-button>\n <div class=\"flex justify-center items-center OR\">\n <span></span>\n OR\n <span></span>\n </div>\n\n <verbena-button\n svg=\"google-logo\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n (click)=\"handleGoogleAuth()\"\n text=\"Continue with Google\"\n bgColor=\"white\"\n textColor=\"black\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333]\"\n ></verbena-button>\n\n <verbena-button\n svg=\"apple-logo\"\n (click)=\"handleAppleAuth()\"\n [svgHeight]=\"24\"\n [svgWidth]=\"24\"\n text=\"Continue with Apple\"\n bgColor=\"white\"\n textColor=\"black\"\n border=\"1px solid #333\"\n borderRadius=\"40px\"\n pd=\"10px 20px\"\n width=\"100%\"\n svgPosition=\"left\"\n buttonClass=\"font-normal text-[24px] leading-[29.05px] text-[#333] mt-2\"\n ></verbena-button>\n </form>\n</section>\n", styles: [".flex{display:flex}.items-center{align-items:center}.overflow-hidden{overflow:hidden}.justify-center{justify-content:center}.h-full{height:100%}.text-center{text-align:center}.underline{text-decoration:underline}.gap-5{gap:20px}.mt-4{margin-top:1rem}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.gap-1>:not([hidden])~:not([hidden]){gap:.25rem}.pt-3{padding-top:.75rem}.mt-5{margin-top:1.25rem}.border{border-width:1px}.rounded-xl{border-radius:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.flex-col{flex-direction:column}.object-cover{object-fit:cover}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed!important}.accent{accent-color:#000}.OR{color:#666;gap:6px}.OR span{width:150px;border-top:2px solid #6666663d;display:block}\n"] }]
153
- }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.HttpWebRequestService }, { type: i3.UtilService }, { type: i4.EnvironmentService }], propDecorators: { width: [{
154
- type: Input
155
- }], headingTitle: [{
156
- type: Input
157
- }], headingClass: [{
158
- type: Input
159
- }], customClass: [{
160
- type: Input
161
- }], bgColor: [{
162
- type: Input
163
- }], boxShadow: [{
164
- type: Input
165
- }], border: [{
166
- type: Input
167
- }], borderRadius: [{
168
- type: Input
169
- }], textColor: [{
170
- type: Input
171
- }], height: [{
172
- type: Input
173
- }], pd: [{
174
- type: Input
175
- }], text: [{
176
- type: Input
177
- }], color: [{
178
- type: Input
179
- }], btnBorder: [{
180
- type: Input
181
- }], btnBorderRadius: [{
182
- type: Input
183
- }], btnBgColor: [{
184
- type: Input
185
- }], btnWidth: [{
186
- type: Input
187
- }], btnPd: [{
188
- type: Input
189
- }], termsLink: [{
190
- type: Input
191
- }], privacyLink: [{
192
- type: Input
193
- }], routerLink: [{
194
- type: Input
195
- }], formSubmit: [{
196
- type: Output
197
- }], googleClick: [{
198
- type: Output
199
- }], onSubmitSuccess: [{
200
- type: Output
201
- }], appleClick: [{
202
- type: Output
203
- }], onSubmitResponseEnd: [{
204
- type: Output
205
- }] } });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZXF1ZXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1yZXF1ZXN0L3VzZXItcmVxdWVzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItcmVxdWVzdC91c2VyLXJlcXVlc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBS0wsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7OztBQU81RCxNQUFNLE9BQU8sb0JBQW9CO0lBaUNyQjtJQUNBO0lBQ0E7SUFDQTtJQW5DRCxLQUFLLEdBQVcsT0FBTyxDQUFDO0lBQ3hCLFlBQVksR0FBVyxvQkFBb0IsQ0FBQztJQUM1QyxZQUFZLEdBQ25CLG9EQUFvRCxDQUFDO0lBQzlDLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsT0FBTyxHQUFXLE1BQU0sQ0FBQztJQUN6QixTQUFTLEdBQVcsaUNBQWlDLENBQUM7SUFDdEQsTUFBTSxHQUFXLHFCQUFxQixDQUFDO0lBQ3ZDLFlBQVksR0FBVyxNQUFNLENBQUM7SUFDOUIsU0FBUyxHQUFXLE1BQU0s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QztZQUMvQixPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7d0dBOUlVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLGl0QkN0QmpDLCszSkFtS0E7OzRGRDdJYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCOytLQUtuQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQnVpbGRlcixcbiAgRm9ybUdyb3VwLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBIdHRwV2ViUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwLXdlYi1yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHtVc2VyUmVxdWVzdFBheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbHMvVXNlclJlcXVlc3QnO1xuaW1wb3J0IHsgT2JqZWN0U3RhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvb2JqZWN0LXN0YXRlJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc3BvbnNlS2V5VmFsdWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvUmVzcG9uc2VLZXlWYWx1ZSc7XG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0Vycm9yUmVzcG9uc2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3N0YXR1cyc7XG5pbXBvcnQgeyBSZXF1ZXN0U3RhdHVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JlcXVlc3Qtc3RhdHVzJztcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXVzZXItcmVxdWVzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLXJlcXVlc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91c2VyLXJlcXVlc3QuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBVc2VyUmVxdWVzdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnNTAwcHgnO1xuICBASW5wdXQoKSBoZWFkaW5nVGl0bGU6IHN0cmluZyA9ICdSZXF1ZXN0IGFuIGFjY291bnQnO1xuICBASW5wdXQoKSBoZWFkaW5nQ2xhc3M6IHN0cmluZyA9XG4gICAgJ2ZvbnQtbWVkaXVtIHRleHQtWzJyZW1dIGxlYWRpbmctWzQ4cHhdIHRleHQtWyMzMzNdJztcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBiZ0NvbG9yOiBzdHJpbmcgPSAnI2ZmZic7XG4gIEBJbnB1dCgpIGJveFNoYWRvdzogc3RyaW5nID0gJzRweCA0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSknO1xuICBASW5wdXQoKSBib3JkZXI6IHN0cmluZyA9ICcxcHggc29saWQgIzY2NjY2NjgwJztcbiAgQElucHV0KCkgYm9yZGVyUmFkaXVzOiBzdHJpbmcgPSAnMjRweCc7XG4gIEBJbnB1dCgpIHRleHRDb2xvcjogc3RyaW5nID0gJyMzMzMnO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9ICdhdXRvJztcbiAgQElucHV0KCkgcGQ6IHN0cmluZyA9ICczMnB4IDQ4cHgnO1xuYXBpS2V5OnN0cmluZz0nJ1xuICAvLyBCdXR0b24gSW5wdXRzXG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZyA9ICdTZW5kIFJlcXVlc3QnO1xuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nID0gJ2JsYWNrJztcbiAgQElucHV0KCkgYnRuQm9yZGVyOiBzdHJpbmcgPSAnMXB4IHNvbGlkICNGRkU2ODEnO1xuICBASW5wdXQoKSBidG5Cb3JkZXJSYWRpdXM6IHN0cmluZyA9ICc0MHB4JztcbiAgQElucHV0KCkgYnRuQmdDb2xvcjogc3RyaW5nID0gJyNGRkU2ODEnO1xuICBASW5wdXQoKSBidG5XaWR0aDogc3RyaW5nID0gJzEwMCUnO1xuICBASW5wdXQoKSBidG5QZDogc3RyaW5nID0gJzEwcHggMjBweCc7XG4gIEBJbnB1dCgpIHRlcm1zTGluazogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHByaXZhY3lMaW5rOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcm91dGVyTGluazogc3RyaW5nID0gJyc7XG4gIEBPdXRwdXQoKSBmb3JtU3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxVc2VyUmVxdWVzdFBheWxvYWRbXT4oKTtcbiAgQE91dHB1dCgpIGdvb2dsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25TdWJtaXRTdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBhcHBsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25TdWJtaXRSZXNwb25zZUVuZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHVzZXJSZXF1ZXN0Rm9ybTogRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgc2VydmVyOiBIdHRwV2ViUmVxdWVzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1dGlsU2VydmljZTogVXRpbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbnZTdmM6IEVudmlyb25tZW50U2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5hcGlLZXkgPSAgdGhpcy5lbnZTdmMuZW52aXJvbm1lbnQuQVBJS2V5XG4gICAgdGhpcy51c2VyUmVxdWVzdEZvcm0gPSB0aGlzLmZiLmdyb3VwKFxuICAgICAge1xuICAgICAgICBGaXJzdE5hbWU6IFtudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgICBMYXN0TmFtZTogW251bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICAgIEVtYWlsOiBbbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdXSxcbiAgICAgICAgUGFzc3dvcmQ6IFtudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoOCldXSxcbiAgICAgICAgQ29uZmlybVBhc3N3b3JkOiBbbnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIH0sXG4gICAgICB7IHZhbGlkYXRvcnM6IHRoaXMucGFzc3dvcmRNYXRjaFZhbGlkYXRvciB9XG4gICAgKTtcbiAgfVxuICBwYXNzd29yZE1hdGNoVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCBwYXNzd29yZCA9IGNvbnRyb2wuZ2V0KCdQYXNzd29yZCcpPy52YWx1ZTtcbiAgICBjb25zdCBjb25maXJtUGFzc3dvcmQgPSBjb250cm9sLmdldCgnQ29uZmlybVBhc3N3b3JkJyk/LnZhbHVlO1xuXG4gICAgcmV0dXJuIHBhc3N3b3JkID09PSBjb25maXJtUGFzc3dvcmQgPyBudWxsIDogeyBwYXNzd29yZE1pc21hdGNoOiB0cnVlIH07XG4gIH1cblxuICBnZXQgcGFzc3dvcmRNaXNtYXRjaEVycm9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS5oYXNFcnJvcigncGFzc3dvcmRNaXNtYXRjaCcpO1xuICB9XG4gIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogdGhpcy5iZ0NvbG9yLFxuICAgICAgJ2JveC1zaGFkb3cnOiB0aGlzLmJveFNoYWRvdyxcbiAgICAgIGJvcmRlcjogdGhpcy5ib3JkZXIsXG4gICAgICAnYm9yZGVyLXJhZGl1cyc6IHRoaXMuYm9yZGVyUmFkaXVzLFxuICAgICAgY29sb3I6IHRoaXMudGV4dENvbG9yLFxuICAgICAgJ21heC13aWR0aCc6IHRoaXMud2lkdGgsXG4gICAgICBoZWlnaHQ6IHRoaXMuaGVpZ2h0LFxuICAgICAgcGFkZGluZzogdGhpcy5wZCxcbiAgICB9O1xuICB9XG4gIGNoZWNrRm9ybSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy51c2VyUmVxdWVzdEZvcm0udmFsaWQ7XG4gIH1cbiAgaGFuZGxlR29vZ2xlQXV0aCgpIHtcbiAgICB0aGlzLmdvb2dsZUNsaWNrLmVtaXQoKTtcbiAgfVxuICBoYW5kbGVBcHBsZUF1dGgoKSB7XG4gICAgdGhpcy5hcHBsZUNsaWNrLmVtaXQoKTtcbiAgfVxuICBhc3luYyBzdWJtaXRGb3JtKCkge1xuICAgIGlmICghdGhpcy5jaGVja0Zvcm0oKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgXG4gICAgY29uc3QgcGF5bG9hZDogVXNlclJlcXVlc3RQYXlsb2FkW10gPSBbXG4gICAgICB7XG4gICAgICAgIENvZGU6ICcnLFxuICAgICAgICBGaXJzdE5hbWU6IHRoaXMudXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzWydGaXJzdE5hbWUnXS52YWx1ZSxcbiAgICAgICAgTGFzdE5hbWU6IHRoaXMudXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzWydMYXN0TmFtZSddLnZhbHVlLFxuICAgICAgICBNYWlsQWRkcmVzczogdGhpcy51c2VyUmVxdWVzdEZvcm0uY29udHJvbHNbJ0VtYWlsJ10udmFsdWUsXG4gICAgICAgIFBhc3N3b3JkOiB0aGlzLnVzZXJSZXF1ZXN0Rm9ybS5jb250cm9sc1snUGFzc3dvcmQnXS52YWx1ZSxcbiAgICAgICAgUGhvbmVOdW1iZXI6ICcnLFxuICAgICAgICBPdGhlck5hbWU6ICcnLFxuICAgICAgICBSb2xlOiBbXSxcbiAgICAgICAgVGFnczogW10sXG4gICAgICAgIFN0YXR1czogU3RhdHVzLkFjdGl2ZSxcbiAgICAgICAgUmVxdWVzdFN0YXR1czogUmVxdWVzdFN0YXR1cy5QZW5kaW5nLFxuICAgICAgICBVcGRhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgICAgIENyZWF0ZWRBdDogbmV3IERhdGUoKSxcbiAgICAgICAgSWQ6ICcnLFxuICAgICAgICBEYXRhU3RhdGU6IE9iamVjdFN0YXRlLk5ldyxcbiAgICAgICAgVGVuYW50SWQ6ICcnLFxuICAgICAgICBTZXJ2aWNlTmFtZTogJycsXG4gICAgICAgIEFjdGlvbkJ5OiAnJyxcbiAgICAgICAgQ29tbWVudDogJycsXG4gICAgICB9LFxuICAgIF07XG4gIFxuICAgIC8vIEVtaXQgcGF5bG9hZCBpZiBuZWVkZWRcbiAgICB0aGlzLmZvcm1TdWJtaXQuZW1pdChwYXlsb2FkKTtcbiAgXG4gICAgLy8gU2hvdyBsb2FkaW5nIGluZGljYXRvclxuICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKHRydWUpO1xuICBcbiAgICB0cnkge1xuICAgICAgLy8gTWFrZSB0aGUgQVBJIGNhbGxcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuc2VydmVyLnBvc3QoYFVzZXIvU2F2ZVVzZXJBY2Nlc3NSZXF1ZXN0c2AsIHBheWxvYWQpO1xuICBcbiAgICAgIC8vIEhpZGUgbG9hZGluZyBpbmRpY2F0b3JcbiAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKGZhbHNlKTtcbiAgXG4gICAgICBpZiAocmVzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAvLyBFbWl0IGVycm9yIHJlc3BvbnNlXG4gICAgICAgIHRoaXMub25TdWJtaXRSZXNwb25zZUVuZC5lbWl0KHJlcyk7XG4gICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBFbWl0IHN1Y2Nlc3MgcmVzcG9uc2VcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVzIGFzIFJlc3BvbnNlS2V5VmFsdWU7XG4gICAgICAgIHRoaXMub25TdWJtaXRSZXNwb25zZUVuZC5lbWl0KHJlc3VsdCk7XG4gIFxuICAgICAgICAvLyBFbWl0IHN1Y2Nlc3MgZXZlbnRcbiAgICAgICAgdGhpcy5vblN1Ym1pdFN1Y2Nlc3MuZW1pdChyZXN1bHQpO1xuXG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIEhhbmRsZSB1bmV4cGVjdGVkIGVycm9yc1xuICAgICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkoZmFsc2UpO1xuICAgICAgY29uc29sZS5lcnJvcignVW5leHBlY3RlZCBlcnJvcjonLCBlcnJvcik7XG4gICAgICB0aGlzLm9uU3VibWl0UmVzcG9uc2VFbmQuZW1pdChlcnJvcik7XG4gICAgfVxuICB9XG4gIFxufVxuIiwiPHNlY3Rpb24gW25nU3R5bGVdPVwic3R5bGVzXCIgY2xhc3M9XCJ7eyBjdXN0b21DbGFzcyB9fVwiPlxuICA8aDIgY2xhc3M9XCJ7eyBoZWFkaW5nQ2xhc3MgfX1cIj5cbiAgICB7eyBoZWFkaW5nVGl0bGUgfX1cbiAgPC9oMj5cblxuICA8Zm9ybVxuICAgIFtmb3JtR3JvdXBdPVwidXNlclJlcXVlc3RGb3JtXCJcbiAgICAobmdTdWJtaXQpPVwic3VibWl0Rm9ybSgpXCJcbiAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTUgbXQtM1wiXG4gID5cbiAgICA8dmVyYmVuYS1pbnB1dFxuICAgICAgW2xhYmVsXT1cIidGaXJzdCBOYW1lJ1wiXG4gICAgICBbbGFiZWxDb2xvcl09XCInIzY2NidcIlxuICAgICAgW3BsYWNlSG9sZGVyXT1cIicnXCJcbiAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJGaXJzdE5hbWVcIlxuICAgICAgW3Nob3dCb3JkZXJdPVwidHJ1ZVwiXG4gICAgICBbYmdDb2xvcl09XCInd2hpdGUnXCJcbiAgICAgIFtib3JkZXJdPVwiJzFweCBzb2xpZCAjNjY2NjY2NTknXCJcbiAgICAgIFtib3JkZXJSYWRpdXNdPVwiJzEycHgnXCJcbiAgICAgIFtzaG93RXJyb3JNZXNzYWdlXT1cInRydWVcIlxuICAgICAgW2Vycm9yTWVzc2FnZUNvbG9yXT1cIidyZWQnXCJcbiAgICAgIFtlcnJvckJvcmRlckNvbG9yXT1cIidyZWQnXCJcbiAgICAgIFtlcnJvclBvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICAgIGNsYXNzPVwib3V0bGluZS1ub25lIGZvY3VzLW5vbmVcIlxuICAgID48L3ZlcmJlbmEtaW5wdXQ+XG4gICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgIFtsYWJlbF09XCInTGFzdCBOYW1lJ1wiXG4gICAgICBbbGFiZWxDb2xvcl09XCInIzY2NidcIlxuICAgICAgW3BsYWNlSG9sZGVyXT1cIicnXCJcbiAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJMYXN0TmFtZVwiXG4gICAgICBbc2hvd0JvcmRlcl09XCJ0cnVlXCJcbiAgICAgIFtiZ0NvbG9yXT1cIid3aGl0ZSdcIlxuICAgICAgW2JvcmRlcl09XCInMXB4IHNvbGlkICM2NjY2NjY1OSdcIlxuICAgICAgW2JvcmRlclJhZGl1c109XCInMTJweCdcIlxuICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgICBbZXJyb3JNZXNzYWdlQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgW2Vycm9yQm9yZGVyQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgW2Vycm9yUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxuICAgICAgY2xhc3M9XCJvdXRsaW5lLW5vbmUgZm9jdXMtbm9uZVwiXG4gICAgPjwvdmVyYmVuYS1pbnB1dD5cbiAgICA8dmVyYmVuYS1pbnB1dFxuICAgICAgW2xhYmVsXT1cIidFLW1haWwgQWRkcmVzcydcIlxuICAgICAgW2xhYmVsQ29sb3JdPVwiJyM2NjYnXCJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInJ1wiXG4gICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICBbdHlwZV09XCInZW1haWwnXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIkVtYWlsXCJcbiAgICAgIFtzaG93Qm9yZGVyXT1cInRydWVcIlxuICAgICAgW2JnQ29sb3JdPVwiJ3doaXRlJ1wiXG4gICAgICBbYm9yZGVyXT1cIicxcHggc29saWQgIzY2NjY2NjU5J1wiXG4gICAgICBbYm9yZGVyUmFkaXVzXT1cIicxMnB4J1wiXG4gICAgICBbc2hvd0Vycm9yTWVzc2FnZV09XCJ0cnVlXCJcbiAgICAgIFtjdXN0b21FcnJvck1lc3NhZ2VzXT1cIntcbiAgICAgICAgcmVxdWlyZWQ6ICdFbWFpbCBhZGRyZXNzIGlzIHJlcXVpcmVkJyxcbiAgICAgICAgZW1haWw6ICdFbWFpbCBhZGRyZXNzIG11c3QgYmUgdmFsaWQnXG4gICAgICB9XCJcbiAgICAgIFtlcnJvck1lc3NhZ2VDb2xvcl09XCIncmVkJ1wiXG4gICAgICBbZXJyb3JCb3JkZXJDb2xvcl09XCIncmVkJ1wiXG4gICAgICBbZXJyb3JQb3NpdGlvbl09XCInYm90dG9tJ1wiXG4gICAgICBjbGFzcz1cIm91dGxpbmUtbm9uZSBmb2N1cy1ub25lXCJcbiAgICA+PC92ZXJiZW5hLWlucHV0PlxuXG4gICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgIFtsYWJlbF09XCInUGFzc3dvcmQnXCJcbiAgICAgIFtsYWJlbENvbG9yXT1cIicjNjY2J1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJydcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiUGFzc3dvcmRcIlxuICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgW3R5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICBbc2hvd0JvcmRlcl09XCJ0cnVlXCJcbiAgICAgIFtiZ0NvbG9yXT1cIid3aGl0ZSdcIlxuICAgICAgW2JvcmRlcl09XCInMXB4IHNvbGlkICM2NjY2NjY1OSdcIlxuICAgICAgW2JvcmRlclJhZGl1c109XCInMTJweCdcIlxuICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgICBbZXJyb3JNZXNzYWdlQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgW2Vycm9yQm9yZGVyQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgW2Vycm9yUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxuICAgICAgY2xhc3M9XCJvdXRsaW5lLW5vbmUgZm9jdXMtbm9uZVwiXG4gICAgPjwvdmVyYmVuYS1pbnB1dD5cblxuICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICBbbGFiZWxdPVwiJ0NvbmZpcm0gUGFzc3dvcmQnXCJcbiAgICAgIFtsYWJlbENvbG9yXT1cIicjNjY2J1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJydcIlxuICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgW3R5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJDb25maXJtUGFzc3dvcmRcIlxuICAgICAgW3Nob3dCb3JkZXJdPVwidHJ1ZVwiXG4gICAgICBbYmdDb2xvcl09XCInd2hpdGUnXCJcbiAgICAgIFttaW5MZW5ndGhdPVwidXNlclJlcXVlc3RGb3JtLmNvbnRyb2xzWydQYXNzd29yZCddLnZhbHVlPy5sZW5ndGhcIlxuICAgICAgW2JvcmRlcl09XCInMXB4IHNvbGlkICM2NjY2NjY1OSdcIlxuICAgICAgW2JvcmRlclJhZGl1c109XCInMTJweCdcIlxuICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgICBbZXJyb3JNZXNzYWdlQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgW2N1c3RvbUVycm9yTWVzc2FnZXNdPVwie1xuICAgICAgICBtaW5MZW5ndGg6J0NvbmZpcm0gUGFzc3dvcmQgbXVzdCBtYXRjaCBwYXNzd29yZCcsXG4gICAgICAgIHJlcXVpcmVkOiAnQ29uZmlybSBQYXNzd29yZCBpcyByZXF1aXJlZCBhbmQgbXVzdCBtYXRjaCBwYXNzd29yZCcsXG4gICAgICAgIHBhc3N3b3JkOiAnUGFzc3dvcmQgZG9lcyBub3QgbWF0Y2gnLFxuICAgICAgfVwiXG4gICAgICBbZXJyb3JCb3JkZXJDb2xvcl09XCIncmVkJ1wiXG4gICAgICBbZXJyb3JQb3NpdGlvbl09XCInYm90dG9tJ1wiXG4gICAgICBjbGFzcz1cIm91dGxpbmUtbm9uZSBmb2N1cy1ub25lXCJcbiAgICA+PC92ZXJiZW5hLWlucHV0PlxuXG4gICAgPHZlcmJlbmEtYnV0dG9uXG4gICAgW2NsYXNzXT1cIidtdC02J1wiXG4gICAgICBbZGlzYWJsZV09XCIhdGhpcy5jaGVja0Zvcm0oKVwiXG4gICAgICBbdGV4dF09XCJ0ZXh0XCJcbiAgICAgIFtiZ0NvbG9yXT1cImJ0bkJnQ29sb3JcIlxuICAgICAgW3RleHRDb2xvcl09XCJjb2xvclwiXG4gICAgICBbYnV0dG9uQ2xhc3NdPVwiJ2N1cnNvci1ub3QtYWxsb3dlZCdcIlxuICAgICAgW2JvcmRlcl09XCJidG5Cb3JkZXJcIlxuICAgICAgW2JvcmRlclJhZGl1c109XCJidG5Cb3JkZXJSYWRpdXNcIlxuICAgICAgW3BkXT1cImJ0blBkXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAnY3Vyc29yLW5vdC1hbGxvd2VkJzohY2hlY2tGb3JtKClcbiAgICAgIH1cIlxuICAgICAgW3dpZHRoXT1cImJ0bldpZHRoXCJcbiAgICAgIGJ1dHRvbkNsYXNzPVwiZm9udC1tZWRpdW0gdGV4dC1bMjJweF0gbGVhZGluZy1bMzNweF1cIlxuICAgID48L3ZlcmJlbmEtYnV0dG9uPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBPUlwiPlxuICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgT1JcbiAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgICA8dmVyYmVuYS1idXR0b25cbiAgICAgIHN2Zz1cImdvb2dsZS1sb2dvXCJcbiAgICAgIFtzdmdIZWlnaHRdPVwiMjRcIlxuICAgICAgW3N2Z1dpZHRoXT1cIjI0XCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVHb29nbGVBdXRoKClcIlxuICAgICAgdGV4dD1cIkNvbnRpbnVlIHdpdGggR29vZ2xlXCJcbiAgICAgIGJnQ29sb3I9XCJ3aGl0ZVwiXG4gICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICBib3JkZXI9XCIxcHggc29saWQgIzMzM1wiXG4gICAgICBib3JkZXJSYWRpdXM9XCI0MHB4XCJcbiAgICAgIHBkPVwiMTBweCAyMHB4XCJcbiAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICBzdmdQb3NpdGlvbj1cImxlZnRcIlxuICAgICAgYnV0dG9uQ2xhc3M9XCJmb250LW5vcm1hbCB0ZXh0LVsyNHB4XSBsZWFkaW5nLVsyOS4wNXB4XSB0ZXh0LVsjMzMzXVwiXG4gICAgPjwvdmVyYmVuYS1idXR0b24+XG5cbiAgICA8dmVyYmVuYS1idXR0b25cbiAgICAgIHN2Zz1cImFwcGxlLWxvZ29cIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZUFwcGxlQXV0aCgpXCJcbiAgICAgIFtzdmdIZWlnaHRdPVwiMjRcIlxuICAgICAgW3N2Z1dpZHRoXT1cIjI0XCJcbiAgICAgIHRleHQ9XCJDb250aW51ZSB3aXRoIEFwcGxlXCJcbiAgICAgIGJnQ29sb3I9XCJ3aGl0ZVwiXG4gICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICBib3JkZXI9XCIxcHggc29saWQgIzMzM1wiXG4gICAgICBib3JkZXJSYWRpdXM9XCI0MHB4XCJcbiAgICAgIHBkPVwiMTBweCAyMHB4XCJcbiAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICBzdmdQb3NpdGlvbj1cImxlZnRcIlxuICAgICAgYnV0dG9uQ2xhc3M9XCJmb250LW5vcm1hbCB0ZXh0LVsyNHB4XSBsZWFkaW5nLVsyOS4wNXB4XSB0ZXh0LVsjMzMzXSBtdC0yXCJcbiAgICA+PC92ZXJiZW5hLWJ1dHRvbj5cbiAgPC9mb3JtPlxuPC9zZWN0aW9uPlxuIl19
@@ -1,34 +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
- import * as i0 from "@angular/core";
7
- export class UserRequestModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UserRequestModule, declarations: [UserRequestComponent], imports: [FormsModule,
10
- ReactiveFormsModule,
11
- VerbenaInputModule,
12
- VerbenaButtonModule,
13
- CommonModule], exports: [UserRequestComponent] });
14
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestModule, imports: [FormsModule,
15
- ReactiveFormsModule,
16
- VerbenaInputModule,
17
- VerbenaButtonModule,
18
- CommonModule] });
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRequestModule, decorators: [{
21
- type: NgModule,
22
- args: [{
23
- declarations: [UserRequestComponent],
24
- imports: [
25
- FormsModule,
26
- ReactiveFormsModule,
27
- VerbenaInputModule,
28
- VerbenaButtonModule,
29
- CommonModule,
30
- ],
31
- exports: [UserRequestComponent],
32
- }]
33
- }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yZXF1ZXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1yZXF1ZXN0L3VzZXItcmVxdWVzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFhaEUsTUFBTSxPQUFPLGlCQUFpQjt3R0FBakIsaUJBQWlCO3lHQUFqQixpQkFBaUIsaUJBVmIsb0JBQW9CLGFBRWpDLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQixZQUFZLGFBRUosb0JBQW9CO3lHQUVuQixpQkFBaUIsWUFSMUIsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLFlBQVk7OzRGQUlILGlCQUFpQjtrQkFYN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDcEMsT0FBTyxFQUFFO3dCQUNQLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBWZXJiZW5hQnV0dG9uTW9kdWxlLCBWZXJiZW5hSW5wdXRNb2R1bGUgfSBmcm9tICd2ZXJiZW4tbmctdWknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFVzZXJSZXF1ZXN0Q29tcG9uZW50IH0gZnJvbSAnLi91c2VyLXJlcXVlc3QuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbVXNlclJlcXVlc3RDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBWZXJiZW5hSW5wdXRNb2R1bGUsXG4gICAgVmVyYmVuYUJ1dHRvbk1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtVc2VyUmVxdWVzdENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJSZXF1ZXN0TW9kdWxlIHt9XG4iXX0=
@@ -1,24 +0,0 @@
1
- export const columns = [
2
- {
3
- id: 'createdAt',
4
- header: 'Created',
5
- accessorKey: 'CreatedAt',
6
- },
7
- {
8
- id: 'user',
9
- header: 'Name',
10
- accessorFn: (row) => `${row.FirstName} ${row.LastName}`,
11
- },
12
- {
13
- id: 'mail',
14
- header: 'E-Mail',
15
- accessorKey: 'MailAddress',
16
- },
17
- {
18
- id: 'phone',
19
- header: 'Phone Number',
20
- accessorKey: 'PhoneNumber',
21
- },
22
- { id: 'actions', header: 'Actions', accessorKey: 'MailAddress' },
23
- ];
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLXJlcXVlc3QuY29sdW1ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1yZXF1ZXN0LWFwcHJvdmFsL2FjY2Vzcy1yZXF1ZXN0LmNvbHVtbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUEwQztJQUM1RDtRQUNFLEVBQUUsRUFBRSxXQUFXO1FBQ2YsTUFBTSxFQUFFLFNBQVM7UUFDakIsV0FBVyxFQUFFLFdBQVc7S0FDekI7SUFDRDtRQUNFLEVBQUUsRUFBRSxNQUFNO1FBQ1YsTUFBTSxFQUFFLE1BQU07UUFDZCxVQUFVLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFO0tBQ3hEO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsTUFBTTtRQUNWLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLFdBQVcsRUFBRSxhQUFhO0tBQzNCO0lBQ0Q7UUFDRSxFQUFFLEVBQUUsT0FBTztRQUNYLE1BQU0sRUFBRSxjQUFjO1FBQ3RCLFdBQVcsRUFBRSxhQUFhO0tBQzNCO0lBQ0QsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRTtDQUNqRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uRGVmaW5pdGlvbiB9IGZyb20gJ3ZlcmJlbi1uZy11aSc7XG5pbXBvcnQgeyBVc2VyQWNjZXNzUmVxdWVzdCB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLWFjY2Vzcy1yZXF1ZXN0JztcblxuZXhwb3J0IGNvbnN0IGNvbHVtbnM6IENvbHVtbkRlZmluaXRpb248VXNlckFjY2Vzc1JlcXVlc3Q+W10gPSBbXG4gIHtcbiAgICBpZDogJ2NyZWF0ZWRBdCcsXG4gICAgaGVhZGVyOiAnQ3JlYXRlZCcsXG4gICAgYWNjZXNzb3JLZXk6ICdDcmVhdGVkQXQnLFxuICB9LFxuICB7XG4gICAgaWQ6ICd1c2VyJyxcbiAgICBoZWFkZXI6ICdOYW1lJyxcbiAgICBhY2Nlc3NvckZuOiAocm93KSA9PiBgJHtyb3cuRmlyc3ROYW1lfSAke3Jvdy5MYXN0TmFtZX1gLFxuICB9LFxuICB7XG4gICAgaWQ6ICdtYWlsJyxcbiAgICBoZWFkZXI6ICdFLU1haWwnLFxuICAgIGFjY2Vzc29yS2V5OiAnTWFpbEFkZHJlc3MnLFxuICB9LFxuICB7XG4gICAgaWQ6ICdwaG9uZScsXG4gICAgaGVhZGVyOiAnUGhvbmUgTnVtYmVyJyxcbiAgICBhY2Nlc3NvcktleTogJ1Bob25lTnVtYmVyJyxcbiAgfSxcbiAgeyBpZDogJ2FjdGlvbnMnLCBoZWFkZXI6ICdBY3Rpb25zJywgYWNjZXNzb3JLZXk6ICdNYWlsQWRkcmVzcycgfSxcbl07XG4iXX0=
@@ -1,53 +0,0 @@
1
- export const baseStyle = {
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
- };
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10YWJsZS1zdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1hdXRoZW50aWNhdGlvbi11aS9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1yZXF1ZXN0LWFwcHJvdmFsL2Jhc2UtdGFibGUtc3R5bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFRO0lBQzVCLEtBQUssRUFBRSxNQUFNO0lBQ2IsVUFBVSxFQUFFLG1CQUFtQjtJQUMvQixRQUFRLEVBQUUsTUFBTTtJQUNoQixVQUFVLEVBQUUsUUFBUTtJQUNwQixNQUFNLEVBQUUsR0FBRztJQUNYLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsWUFBWSxFQUFFLE1BQU07SUFDcEIsY0FBYyxFQUFFLFVBQVU7SUFDMUIsYUFBYSxFQUFFLEdBQUc7SUFDbEIsV0FBVyxFQUFFLE9BQU87SUFDcEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFO1lBQ0osZUFBZSxFQUFFLFNBQVM7U0FDM0I7UUFDRCxHQUFHLEVBQUU7WUFDSCxlQUFlLEVBQUUsU0FBUztTQUMzQjtRQUNELE1BQU0sRUFBRSxNQUFNO0tBQ2Y7SUFDRCxLQUFLLEVBQUU7UUFDTCxPQUFPLEVBQUUsYUFBYTtLQUN2QjtJQUNELE1BQU0sRUFBRTtRQUNOLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsZUFBZSxFQUFFLFNBQVM7UUFDMUIsVUFBVSxFQUFFLE1BQU07UUFDbEIsU0FBUyxFQUFFLE1BQU07UUFDakIsT0FBTyxFQUFFLFdBQVc7UUFDcEIsTUFBTSxFQUFFLE1BQU07S0FDZjtJQUNELE1BQU0sRUFBRTtRQUNOLHNCQUFzQjtRQUN0QixhQUFhO1FBQ2IsT0FBTyxFQUFFLEtBQUs7S0FDZjtJQUNELFlBQVk7SUFDWiwwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQixPQUFPO0lBQ1AsaUJBQWlCO0lBQ2pCLHNCQUFzQjtJQUN0QixlQUFlO0lBQ2YsS0FBSztJQUNMLFVBQVUsRUFBRTtJQUNWLHFCQUFxQjtJQUNyQixhQUFhO0tBQ2Q7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGJhc2VTdHlsZTogYW55ID0ge1xuICB3aWR0aDogJzEwMCUnLFxuICBmb250RmFtaWx5OiAnXCJGcmF1bmNlc1wiLCBzZXJpZicsXG4gIGZvbnRTaXplOiAnMTI1JScsXG4gIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICBtYXJnaW46ICcwJyxcbiAgYm9yZGVyOiAnMXB4IHNvbGlkICNENEEwMDcnLFxuICBib3JkZXJSYWRpdXM6ICcxNnB4JyxcbiAgYm9yZGVyQ29sbGFwc2U6ICdzZXBhcmF0ZScsXG4gIGJvcmRlclNwYWNpbmc6ICcwJyxcbiAgdGFibGVMYXlvdXQ6ICdmaXhlZCcsXG4gIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgcm93czoge1xuICAgIGV2ZW46IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJyNGREZERkQnLFxuICAgIH0sXG4gICAgb2RkOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjRjFGNEZCJyxcbiAgICB9LFxuICAgIGhlaWdodDogJzY4cHgnLFxuICB9LFxuICBjZWxsczoge1xuICAgIHBhZGRpbmc6ICcwLjVyZW0gMXJlbScsXG4gIH0sXG4gIGhlYWRlcjoge1xuICAgIC8vIHN0aWNreVRvcDogdHJ1ZSxcbiAgICAvLyB6SW5kZXg6IDIsXG4gICAgYmFja2dyb3VuZENvbG9yOiAnI0VGRjJGQicsXG4gICAgZm9udFdlaWdodDogJ2JvbGQnLFxuICAgIHRleHRBbGlnbjogJ2xlZnQnLFxuICAgIHBhZGRpbmc6ICcxMnB4IDE2cHgnLFxuICAgIGhlaWdodDogJzQwcHgnLFxuICB9LFxuICBmb290ZXI6IHtcbiAgICAvLyBzdGlja3lCb3R0b206IHRydWUsXG4gICAgLy8gekluZGV4OiAyLFxuICAgIHBhZGRpbmc6ICczcHgnLFxuICB9LFxuICAvLyAgIGJvZHk6IHtcbiAgLy8gICAgIGJhY2tncm91bmQ6ICcjZmZmJyxcbiAgLy8gICAgIHBhZGRpbmc6ICc0cHggNXB4JyxcbiAgLy8gICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gIC8vICAgfSxcbiAgLy8gZmlyc3RDb2x1bW46IHtcbiAgLy8gICBzdGlja3lMZWZ0OiB0cnVlLFxuICAvLyAgIHpJbmRleDogMSxcbiAgLy8gfSxcbiAgbGFzdENvbHVtbjoge1xuICAgIC8vIHN0aWNreVJpZ2h0OiB0cnVlLFxuICAgIC8vIHpJbmRleDogMSxcbiAgfSxcbn07XG4iXX0=
@@ -1,128 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { lastValueFrom, } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../services/user-access-request.service";
5
- import * as i2 from "../states/user-access-request.state";
6
- export class UserAccessRequestFacade {
7
- userAccessRequestService;
8
- userAccessRequestState;
9
- constructor(userAccessRequestService, userAccessRequestState) {
10
- this.userAccessRequestService = userAccessRequestService;
11
- this.userAccessRequestState = userAccessRequestState;
12
- }
13
- isUpdating$() {
14
- return this.userAccessRequestState.isUpdating$();
15
- }
16
- getRequests$() {
17
- return this.userAccessRequestState.getRequests$();
18
- }
19
- getQueryParams$() {
20
- return this.userAccessRequestState.getQueryParams$();
21
- }
22
- async loadRequests() {
23
- try {
24
- this.userAccessRequestState.setUpdating(true);
25
- const params = this.userAccessRequestState.getQueryParamsValue();
26
- const requests = await this.userAccessRequestService.getUserAccessRequests(params.skip, params.limit, params.sortParam || 'createdDate', params.sortOrder);
27
- this.userAccessRequestState.setRequests(requests.Result);
28
- }
29
- catch (error) {
30
- console.error('Failed to load requests:', error);
31
- throw error;
32
- }
33
- finally {
34
- this.userAccessRequestState.setUpdating(false);
35
- }
36
- }
37
- async loadRequestsWithParam(param) {
38
- try {
39
- this.userAccessRequestState.setUpdating(true);
40
- const params = this.userAccessRequestState.getQueryParamsValue();
41
- const requests = await this.userAccessRequestService.getUserAccessRequestWithParam(param, params.skip, params.limit, params.sortParam || 'createdDate', params.sortOrder);
42
- this.userAccessRequestState.setRequests(requests.Result);
43
- }
44
- catch (error) {
45
- console.error('Failed to load requests with param:', error);
46
- throw error;
47
- }
48
- finally {
49
- this.userAccessRequestState.setUpdating(false);
50
- }
51
- }
52
- updateQueryParams(params) {
53
- this.userAccessRequestState.updateQueryParams(params);
54
- this.loadRequests();
55
- }
56
- async addRequest(request) {
57
- try {
58
- this.userAccessRequestState.setUpdating(true);
59
- const newRequest = { ...request };
60
- this.userAccessRequestState.addRequest(newRequest);
61
- await this.userAccessRequestService.saveUserAccessRequests([newRequest]);
62
- await this.loadRequests(); // Reload to get server-side changes
63
- }
64
- catch (error) {
65
- console.error('Failed to add request:', error);
66
- this.userAccessRequestState.removeRequest(request.Id);
67
- throw error;
68
- }
69
- finally {
70
- this.userAccessRequestState.setUpdating(false);
71
- }
72
- }
73
- async updateRequest(request) {
74
- try {
75
- this.userAccessRequestState.setUpdating(true);
76
- await this.userAccessRequestService.saveUserAccessRequests([request]);
77
- this.userAccessRequestState.updateRequest(request);
78
- }
79
- catch (error) {
80
- console.error('Failed to update request:', error);
81
- throw error;
82
- }
83
- finally {
84
- this.userAccessRequestState.setUpdating(false);
85
- }
86
- }
87
- async deleteRequest(requestId) {
88
- try {
89
- this.userAccessRequestState.setUpdating(true);
90
- await lastValueFrom(this.userAccessRequestService.deleteUserAccessRequests([requestId]));
91
- this.userAccessRequestState.removeRequest(requestId);
92
- }
93
- catch (error) {
94
- console.error('Failed to delete request:', error);
95
- throw error;
96
- }
97
- finally {
98
- this.userAccessRequestState.setUpdating(false);
99
- }
100
- }
101
- async approveRequest(request) {
102
- try {
103
- this.userAccessRequestState.setUpdating(true);
104
- const response = await this.userAccessRequestService.processUserAccessRequests([request], true);
105
- // console.log(response);
106
- const data = response?.[0];
107
- if (data) {
108
- this.userAccessRequestState.updateRequest(data);
109
- }
110
- }
111
- catch (error) {
112
- console.error('Failed to update request:', error);
113
- throw error;
114
- }
115
- finally {
116
- this.userAccessRequestState.setUpdating(false);
117
- }
118
- }
119
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserAccessRequestFacade, deps: [{ token: i1.UserAccessRequestService }, { token: i2.UserAccessRequestState }], target: i0.ɵɵFactoryTarget.Injectable });
120
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserAccessRequestFacade, providedIn: 'root' });
121
- }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserAccessRequestFacade, decorators: [{
123
- type: Injectable,
124
- args: [{
125
- providedIn: 'root',
126
- }]
127
- }], ctorParameters: () => [{ type: i1.UserAccessRequestService }, { type: i2.UserAccessRequestState }] });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY2Nlc3MtcmVxdWVzdC5mYWNhZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItcmVxdWVzdC1hcHByb3ZhbC9mYWNhZGVzL3VzZXItYWNjZXNzLXJlcXVlc3QuZmFjYWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUlMLGFBQWEsR0FHZCxNQUFNLE1BQU0sQ0FBQzs7OztBQVVkLE1BQU0sT0FBTyx1QkFBdUI7SUFFeEI7SUFDQTtJQUZWLFlBQ1Usd0JBQWtELEVBQ2xELHNCQUE4QztRQUQ5Qyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7SUFDckQsQ0FBQztJQUVKLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZO1FBQ2hCLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFFakUsTUFBTSxRQUFRLEdBQ1osTUFBTSxJQUFJLENBQUMsd0JBQXdCLENBQUMscUJBQXFCLENBQ3ZELE1BQU0sQ0FBQyxJQUFJLEVBQ1gsTUFBTSxD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QUF5QjtZQUN6QixNQUFNLElBQUksR0FBSSxRQUFnQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEQsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEQsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO3dHQXBJVSx1QkFBdUI7NEdBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzs0RkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgY2F0Y2hFcnJvcixcbiAgZnJvbSxcbiAgbGFzdFZhbHVlRnJvbSxcbiAgdGFwLFxuICB0aHJvd0Vycm9yLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVzZXJBY2Nlc3NSZXF1ZXN0U3RhdGUgfSBmcm9tICcuLi9zdGF0ZXMvdXNlci1hY2Nlc3MtcmVxdWVzdC5zdGF0ZSc7XG5pbXBvcnQgeyBVc2VyQWNjZXNzUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy91c2VyLWFjY2Vzcy1yZXF1ZXN0JztcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXJ5LXBhcmFtcyc7XG5pbXBvcnQgeyBVc2VyQWNjZXNzUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91c2VyLWFjY2Vzcy1yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckFjY2Vzc1JlcXVlc3RTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdXNlci1hY2Nlc3MtcmVxdWVzdC1zdGF0dXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVXNlckFjY2Vzc1JlcXVlc3RGYWNhZGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVzZXJBY2Nlc3NSZXF1ZXN0U2VydmljZTogVXNlckFjY2Vzc1JlcXVlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlckFjY2Vzc1JlcXVlc3RTdGF0ZTogVXNlckFjY2Vzc1JlcXVlc3RTdGF0ZVxuICApIHt9XG5cbiAgaXNVcGRhdGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMudXNlckFjY2Vzc1JlcXVlc3RTdGF0ZS5pc1VwZGF0aW5nJCgpO1xuICB9XG5cbiAgZ2V0UmVxdWVzdHMkKCk6IE9ic2VydmFibGU8VXNlckFjY2Vzc1JlcXVlc3RbXT4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJBY2Nlc3NSZXF1ZXN0U3RhdGUuZ2V0UmVxdWVzdHMkKCk7XG4gIH1cblxuICBnZXRRdWVyeVBhcmFtcyQoKTogT2JzZXJ2YWJsZTxRdWVyeVBhcmFtczxVc2VyQWNjZXNzUmVxdWVzdD4+IHtcbiAgICByZXR1cm4gdGhpcy51c2VyQWNjZXNzUmVxdWVzdFN0YXRlLmdldFF1ZXJ5UGFyYW1zJCgpO1xuICB9XG5cbiAgYXN5bmMgbG9hZFJlcXVlc3RzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnVzZXJBY2Nlc3NSZXF1ZXN0U3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLnVzZXJBY2Nlc3NSZXF1ZXN0U3RhdGUuZ2V0UXVlcnlQYXJhbXNWYWx1ZSgpO1xuXG4gICAgICBjb25zdCByZXF1ZXN0cyA9XG4gICAgICAgIGF3YWl0IHRoaXMudXNlckFjY2Vzc1JlcXVlc3RTZXJ2aWNlLmdldFVzZXJBY2Nlc3NSZXF1ZXN0cyhcbiAgICAgICAgICBwYXJhbXMuc2tpcCxcbiAgICAgICAgICBwYXJhbXMubGltaXQsXG4gICAgICAgICAgcGFyYW1zLnNvcnRQYXJhbSB8fCAnY3JlYXRlZERhdGUnLFxuICAgICAgICAgIHBhcmFtcy5zb3J0T3JkZXJcbiAgICAgICAgKTtcblxuICAgICAgdGhpcy51c2VyQWNjZXNzUmVxdWVzdFN0YXRlLnNldFJlcXVlc3RzKHJlcXVlc3RzLlJlc3VsdCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnVzZXJBY2Nlc3NSZXF1ZXN0U3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvYWRSZXF1ZXN0c1dpdGhQYXJhbShwYXJhbTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudXNlckFjY2Vzc1JlcXVlc3RTdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMudXNlckFjY2Vzc1JlcXVlc3RTdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RzID1cbiAgICAgICAgYXdhaXQgdGhpcy51c2VyQWNjZXNzUmVxdWVzdFNlcnZpY2UuZ2V0VXNlckFjY2Vzc1JlcXVlc3RXaXRoUGFyYW0oXG4gICAgICAgICAgcGFyYW0sXG4gICAgICAgICAgcGFyYW1zLnNraXAsXG4gICAgICAgICAgcGFyYW1zLmxpbWl0LFxuICAgICAgICAgIHBhcmFtcy5zb3J0UGFyYW0gfHwgJ2NyZWF0ZWREYXRlJyxcbiAgICAgICAgICBwYXJhbXMuc29ydE9yZGVyXG4gICAgICAgICk7XG5cbiAgICAgIHRoaXMudXNlckFjY2Vzc1JlcXVlc3RTdGF0ZS5zZXRSZXF1ZXN0cyhyZXF1ZXN0cy5SZXN1bHQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZXF1ZXN0cyB3aXRoIHBhcmFtOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnVzZXJBY2Nlc3NSZXF1ZXN0U3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVF1ZXJ5UGFyYW1zKHBhcmFtczogUGFydGlhbDxRdWVyeVBhcmFtczxVc2VyQWNjZXNzUmVxdWVzdD4+KTogdm9pZCB7XG4gICAgdGhpcy51c2VyQWNjZXNzUmVxdWVzdFN0YXRlLnVwZGF0ZVF1ZXJ5UGFyYW1zKHBhcmFtcyk7XG4gICAgdGhpcy5sb2FkUmVxdWVzdHMoKTtcbiAgfVxuXG4gIGFzeW5jIGFkZFJlcXVlc3QocmVxdWVzdDogUGFydGlhbDxVc2VyQWNjZXNzUmVxdWVzdD4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy51c2VyQWNjZXNzUmVxdWVzdFN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgbmV3UmVxdWVzdCA9IHsgLi4ucmVxdWVzdCB9IGFzIFVzZXJBY2Nlc3NSZXF1ZXN0O1xuICAgICAgdGhpcy51c2VyQWNjZXNzUmVxdWVzdFN0YXRlLmFkZFJlcXVlc3QobmV3UmVxdWVzdCk7XG5cbiAgICAgIGF3YWl0IHRoaXMudXNlckFjY2Vzc1JlcXVlc3RTZXJ2aWNlLnNhdmVVc2VyQWNjZXNzUmVxdWVzdHMoW25ld1JlcXVlc3RdKTtcbiAgICAgIGF3YWl0IHRoaXMubG9hZFJlcXVlc3RzKCk7IC8vIFJlbG9hZCB0byBnZXQgc2VydmVyLXNpZGUgY2hhbmdlc1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gYWRkIHJlcXVlc3Q6JywgZXJyb3IpO1xuICAgICAgdGhpcy51c2VyQWNjZXNzUmVxdWVzdFN0YXRlLnJlbW92ZVJlcXVlc3QocmVxdWVzdC5JZCEpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMudXNlckFjY2Vzc1JlcXVlc3RTdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgdXBkYXRlUmVxdWVzdChyZXF1ZXN0OiBVc2VyQWNjZXNzUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnVzZXJBY2Nlc3NSZXF1ZXN0U3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBhd2FpdCB0aGlzLnVzZXJBY2Nlc3NSZXF1ZXN0U2VydmljZS5zYXZlVXNlckFjY2Vzc1JlcXVlc3RzKFtyZXF1ZXN0XSk7XG4gICAgICB0aGlzLnVzZXJBY2Nlc3NSZXF1ZXN0U3RhdGUudXBkYXRlUmVxdWVzdChyZXF1ZXN0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnVzZXJBY2Nlc3NSZXF1ZXN0U3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZVJlcXVlc3QocmVxdWVzdElkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy51c2VyQWNjZXNzUmVxdWVzdFN0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgYXdhaXQgbGFzdFZhbHVlRnJvbShcbiAgICAgICAgdGhpcy51c2VyQWNjZXNzUmVxdWVzdFNlcnZpY2UuZGVsZXRlVXNlckFjY2Vzc1JlcXVlc3RzKFtyZXF1ZXN0SWRdKVxuICAgICAgKTtcbiAgICAgIHRoaXMudXNlckFjY2Vzc1JlcXVlc3RTdGF0ZS5yZW1vdmVSZXF1ZXN0KHJlcXVlc3RJZCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBkZWxldGUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy51c2VyQWNjZXNzUmVxdWVzdFN0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBhcHByb3ZlUmVxdWVzdChyZXF1ZXN0OiBVc2VyQWNjZXNzUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnVzZXJBY2Nlc3NSZXF1ZXN0U3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCByZXNwb25zZSA9XG4gICAgICAgIGF3YWl0IHRoaXMudXNlckFjY2Vzc1JlcXVlc3RTZXJ2aWNlLnByb2Nlc3NVc2VyQWNjZXNzUmVxdWVzdHMoXG4gICAgICAgICAgW3JlcXVlc3RdLFxuICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICAgIC8vIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgIGNvbnN0IGRhdGEgPSAocmVzcG9uc2UgYXMgVXNlckFjY2Vzc1JlcXVlc3RbXSk/LlswXTtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMudXNlckFjY2Vzc1JlcXVlc3RTdGF0ZS51cGRhdGVSZXF1ZXN0KGRhdGEpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gdXBkYXRlIHJlcXVlc3Q6JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMudXNlckFjY2Vzc1JlcXVlc3RTdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,35 +0,0 @@
1
- import { ObjectState } from '../../models/object-state';
2
- import { UserAccessRequestStatus } from '../../models/user-access-request-status';
3
- export const roles = [
4
- { id: 'admin', name: 'Admin' },
5
- { id: 'manager', name: 'Manager' },
6
- { id: 'staff', name: 'Staff' },
7
- ];
8
- export const mockData = new Array(10)
9
- .fill(1)
10
- .map((id, i) => ({
11
- FirstName: `First ${id + i}`,
12
- LastName: `Last ${id + i}`,
13
- OtherName: `Other ${id + i}`,
14
- Id: id + i,
15
- id: (id + i).toString(),
16
- MailAddress: `user${id + i}@mail.com`,
17
- PhoneNumber: `+23480000000${id + i}`,
18
- RequestStatus: randomEnum(UserAccessRequestStatus),
19
- RoleID: roles[Math.floor(Math.random() * roles.length)].id,
20
- Password: '1234567',
21
- ExpireOn: new Date(),
22
- IsSeeded: false,
23
- OTPExpireOn: new Date(),
24
- Tenants: [],
25
- CreatedAt: new Date(),
26
- UpdatedAt: new Date(),
27
- DataState: ObjectState.New,
28
- Tenant: `Tenant${id + i}`,
29
- }));
30
- function randomEnum(anEnum) {
31
- const enumValues = Object.values(anEnum);
32
- const randomIndex = Math.floor(Math.random() * enumValues.length);
33
- return enumValues[randomIndex];
34
- }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLWF1dGhlbnRpY2F0aW9uLXVpL3NyYy9saWIvY29tcG9uZW50cy91c2VyLXJlcXVlc3QtYXBwcm92YWwvaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQW1DO0lBQ25ELEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO0lBQzlCLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO0lBQ2xDLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO0NBQy9CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQXdCLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztLQUN2RCxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ1AsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNmLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLEVBQUU7SUFDNUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsRUFBRTtJQUMxQixTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxFQUFFO0lBQzVCLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQztJQUNWLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDdkIsV0FBVyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsV0FBVztJQUNyQyxXQUFXLEVBQUUsZUFBZSxFQUFFLEdBQUcsQ0FBQyxFQUFFO0lBQ3BDLGFBQWEsRUFBRSxVQUFVLENBQUMsdUJBQXVCLENBQUM7SUFDbEQsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQzFELFFBQVEsRUFBRSxTQUFTO0lBQ25CLFFBQVEsRUFBRSxJQUFJLElBQUksRUFBRTtJQUNwQixRQUFRLEVBQUUsS0FBSztJQUNmLFdBQVcsRUFBRSxJQUFJLElBQUksRUFBRTtJQUN2QixPQUFPLEVBQUUsRUFBRTtJQUVYLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRTtJQUNyQixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUU7SUFDckIsU0FBUyxFQUFFLFdBQVcsQ0FBQyxHQUFHO0lBQzFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLEVBQUU7Q0FDMUIsQ0FBQyxDQUFDLENBQUM7QUFFTixTQUFTLFVBQVUsQ0FBbUIsTUFBUztJQUM3QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBNEIsQ0FBQztJQUNwRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEUsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9iamVjdFN0YXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL29iamVjdC1zdGF0ZSc7XG5pbXBvcnQgeyBVc2VyQWNjZXNzUmVxdWVzdCB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLWFjY2Vzcy1yZXF1ZXN0JztcbmltcG9ydCB7IFVzZXJBY2Nlc3NSZXF1ZXN0U3RhdHVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXItYWNjZXNzLXJlcXVlc3Qtc3RhdHVzJztcblxuZXhwb3J0IGNvbnN0IHJvbGVzOiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9W10gPSBbXG4gIHsgaWQ6ICdhZG1pbicsIG5hbWU6ICdBZG1pbicgfSxcbiAgeyBpZDogJ21hbmFnZXInLCBuYW1lOiAnTWFuYWdlcicgfSxcbiAgeyBpZDogJ3N0YWZmJywgbmFtZTogJ1N0YWZmJyB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IG1vY2tEYXRhOiBVc2VyQWNjZXNzUmVxdWVzdFtdID0gbmV3IEFycmF5KDEwKVxuICAuZmlsbCgxKVxuICAubWFwKChpZCwgaSkgPT4gKHtcbiAgICBGaXJzdE5hbWU6IGBGaXJzdCAke2lkICsgaX1gLFxuICAgIExhc3ROYW1lOiBgTGFzdCAke2lkICsgaX1gLFxuICAgIE90aGVyTmFtZTogYE90aGVyICR7aWQgKyBpfWAsXG4gICAgSWQ6IGlkICsgaSxcbiAgICBpZDogKGlkICsgaSkudG9TdHJpbmcoKSxcbiAgICBNYWlsQWRkcmVzczogYHVzZXIke2lkICsgaX1AbWFpbC5jb21gLFxuICAgIFBob25lTnVtYmVyOiBgKzIzNDgwMDAwMDAwJHtpZCArIGl9YCxcbiAgICBSZXF1ZXN0U3RhdHVzOiByYW5kb21FbnVtKFVzZXJBY2Nlc3NSZXF1ZXN0U3RhdHVzKSxcbiAgICBSb2xlSUQ6IHJvbGVzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIHJvbGVzLmxlbmd0aCldLmlkLFxuICAgIFBhc3N3b3JkOiAnMTIzNDU2NycsXG4gICAgRXhwaXJlT246IG5ldyBEYXRlKCksXG4gICAgSXNTZWVkZWQ6IGZhbHNlLFxuICAgIE9UUEV4cGlyZU9uOiBuZXcgRGF0ZSgpLFxuICAgIFRlbmFudHM6IFtdLFxuXG4gICAgQ3JlYXRlZEF0OiBuZXcgRGF0ZSgpLFxuICAgIFVwZGF0ZWRBdDogbmV3IERhdGUoKSxcbiAgICBEYXRhU3RhdGU6IE9iamVjdFN0YXRlLk5ldyxcbiAgICBUZW5hbnQ6IGBUZW5hbnQke2lkICsgaX1gLFxuICB9KSk7XG5cbmZ1bmN0aW9uIHJhbmRvbUVudW08VCBleHRlbmRzIG9iamVjdD4oYW5FbnVtOiBUKTogVFtrZXlvZiBUXSB7XG4gIGNvbnN0IGVudW1WYWx1ZXMgPSBPYmplY3QudmFsdWVzKGFuRW51bSkgYXMgdW5rbm93biBhcyBUW2tleW9mIFRdW107XG4gIGNvbnN0IHJhbmRvbUluZGV4ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogZW51bVZhbHVlcy5sZW5ndGgpO1xuICByZXR1cm4gZW51bVZhbHVlc1tyYW5kb21JbmRleF07XG59XG4iXX0=