verben-authentication-ui 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/ng-package.json +8 -0
  2. package/package.json +10 -15
  3. package/src/lib/base/base-data.component.ts +86 -0
  4. package/src/lib/base/base-data.facade.ts +157 -0
  5. package/src/lib/base/base-data.service.ts +49 -0
  6. package/src/lib/base/base-data.state.ts +94 -0
  7. package/src/lib/base/models.ts +14 -0
  8. package/src/lib/components/auth-callback/auth-callback.component.css +30 -0
  9. package/src/lib/components/auth-callback/auth-callback.component.html +6 -0
  10. package/src/lib/components/auth-callback/auth-callback.component.spec.ts +23 -0
  11. package/src/lib/components/auth-callback/auth-callback.component.ts +56 -0
  12. package/src/lib/components/auth-callback/auth-callback.module.ts +10 -0
  13. package/src/lib/components/button/button.component.css +3 -0
  14. package/src/lib/components/button/button.component.html +13 -0
  15. package/src/lib/components/button/button.component.spec.ts +23 -0
  16. package/src/lib/components/button/button.component.ts +24 -0
  17. package/src/lib/components/button/button.module.ts +11 -0
  18. package/{lib/components/forgot-password/ForgotPasswordData.d.ts → src/lib/components/forgot-password/ForgotPasswordData.ts} +1 -1
  19. package/src/lib/components/forgot-password/forgot-password.component.css +46 -0
  20. package/src/lib/components/forgot-password/forgot-password.component.html +19 -0
  21. package/src/lib/components/forgot-password/forgot-password.component.spec.ts +23 -0
  22. package/src/lib/components/forgot-password/forgot-password.component.ts +88 -0
  23. package/src/lib/components/forgot-password/forgot-password.module.ts +18 -0
  24. package/src/lib/components/mail/mail.component.css +0 -0
  25. package/src/lib/components/mail/mail.component.html +11 -0
  26. package/src/lib/components/mail/mail.component.spec.ts +23 -0
  27. package/src/lib/components/mail/mail.component.ts +47 -0
  28. package/src/lib/components/mail/mail.module.ts +13 -0
  29. package/src/lib/components/mail-validation/mail-validation.component.css +59 -0
  30. package/src/lib/components/mail-validation/mail-validation.component.html +37 -0
  31. package/src/lib/components/mail-validation/mail-validation.component.spec.ts +23 -0
  32. package/src/lib/components/mail-validation/mail-validation.component.ts +66 -0
  33. package/src/lib/components/mail-validation/mail-validation.module.ts +18 -0
  34. package/src/lib/components/o-auth/o-auth.component.css +26 -0
  35. package/src/lib/components/o-auth/o-auth.component.html +26 -0
  36. package/src/lib/components/o-auth/o-auth.component.spec.ts +23 -0
  37. package/src/lib/components/o-auth/o-auth.component.ts +115 -0
  38. package/src/lib/components/o-auth/o-auth.module.ts +11 -0
  39. package/src/lib/components/otp-input/otp-input.component.css +19 -0
  40. package/src/lib/components/otp-input/otp-input.component.html +15 -0
  41. package/src/lib/components/otp-input/otp-input.component.spec.ts +23 -0
  42. package/src/lib/components/otp-input/otp-input.component.ts +88 -0
  43. package/src/lib/components/otp-input/otp-input.module.ts +15 -0
  44. package/src/lib/components/reset-password/ResetPasswordData.ts +5 -0
  45. package/src/lib/components/reset-password/reset-password.component.css +29 -0
  46. package/src/lib/components/reset-password/reset-password.component.html +24 -0
  47. package/src/lib/components/reset-password/reset-password.component.spec.ts +23 -0
  48. package/src/lib/components/reset-password/reset-password.component.ts +108 -0
  49. package/src/lib/components/reset-password/reset-password.module.ts +18 -0
  50. package/src/lib/components/role-control/ChildrenType.ts +4 -0
  51. package/{lib/components/role-control/MappedRole.d.ts → src/lib/components/role-control/MappedRole.ts} +3 -2
  52. package/{lib/components/role-control/MappedRoleAction.d.ts → src/lib/components/role-control/MappedRoleAction.ts} +2 -1
  53. package/{lib/components/role-control/MappedRoleContext.d.ts → src/lib/components/role-control/MappedRoleContext.ts} +4 -3
  54. package/src/lib/components/role-control/UIActions.ts +5 -0
  55. package/src/lib/components/role-control/UIs.ts +38 -0
  56. package/src/lib/components/role-control/base-table-style.ts +52 -0
  57. package/src/lib/components/role-control/role-control.component.css +55 -0
  58. package/src/lib/components/role-control/role-control.component.html +571 -0
  59. package/src/lib/components/role-control/role-control.component.spec.ts +23 -0
  60. package/src/lib/components/role-control/role-control.component.ts +1817 -0
  61. package/src/lib/components/role-control/role-control.module.ts +10 -0
  62. package/src/lib/components/role-control/role-control.service.spec.ts +16 -0
  63. package/src/lib/components/role-control/role-control.service.ts +53 -0
  64. package/src/lib/components/sign-in/sign-in.component.css +21 -0
  65. package/src/lib/components/sign-in/sign-in.component.html +83 -0
  66. package/src/lib/components/sign-in/sign-in.component.spec.ts +23 -0
  67. package/src/lib/components/sign-in/sign-in.component.ts +267 -0
  68. package/src/lib/components/sign-in/sign-in.module.ts +17 -0
  69. package/src/lib/components/sign-up/sign-up.component.css +36 -0
  70. package/src/lib/components/sign-up/sign-up.component.html +132 -0
  71. package/src/lib/components/sign-up/sign-up.component.spec.ts +23 -0
  72. package/src/lib/components/sign-up/sign-up.component.ts +180 -0
  73. package/src/lib/components/sign-up/sign-up.module.ts +15 -0
  74. package/src/lib/components/sso/base-table-style.ts +52 -0
  75. package/src/lib/components/sso/helper.ts +17 -0
  76. package/src/lib/components/sso/sso-form/sso-form.component.css +13 -0
  77. package/src/lib/components/sso/sso-form/sso-form.component.html +109 -0
  78. package/src/lib/components/sso/sso-form/sso-form.component.spec.ts +23 -0
  79. package/src/lib/components/sso/sso-form/sso-form.component.ts +70 -0
  80. package/src/lib/components/sso/sso.columns.ts +32 -0
  81. package/src/lib/components/sso/sso.component.css +47 -0
  82. package/src/lib/components/sso/sso.component.html +208 -0
  83. package/src/lib/components/sso/sso.component.spec.ts +23 -0
  84. package/src/lib/components/sso/sso.component.ts +261 -0
  85. package/src/lib/components/sso/sso.module.ts +40 -0
  86. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.css +8 -0
  87. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.html +30 -0
  88. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.spec.ts +23 -0
  89. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.ts +155 -0
  90. package/src/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.ts +15 -0
  91. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.css +17 -0
  92. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.html +45 -0
  93. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.spec.ts +23 -0
  94. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.ts +57 -0
  95. package/src/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.ts +11 -0
  96. package/src/lib/components/user-management/base-table-style.ts +52 -0
  97. package/src/lib/components/user-management/facades/user-management.facades.ts +133 -0
  98. package/src/lib/components/user-management/helper.ts +38 -0
  99. package/src/lib/components/user-management/index.ts +4 -0
  100. package/src/lib/components/user-management/services/user-management.service.spec.ts +16 -0
  101. package/src/lib/components/user-management/services/user-management.service.ts +111 -0
  102. package/src/lib/components/user-management/states/user-management.state.ts +65 -0
  103. package/src/lib/components/user-management/user-management-form/use-management-form.component.ts +73 -0
  104. package/src/lib/components/user-management/user-management-form/user-management-form.component.css +0 -0
  105. package/src/lib/components/user-management/user-management-form/user-management-form.component.html +80 -0
  106. package/src/lib/components/user-management/user-management-form/user-management-form.component.spec.ts +23 -0
  107. package/src/lib/components/user-management/user-management.columns.ts +51 -0
  108. package/src/lib/components/user-management/user-management.component.css +31 -0
  109. package/src/lib/components/user-management/user-management.component.html +319 -0
  110. package/src/lib/components/user-management/user-management.component.spec.ts +23 -0
  111. package/src/lib/components/user-management/user-management.component.ts +604 -0
  112. package/src/lib/components/user-management/user-management.module.ts +56 -0
  113. package/src/lib/components/user-management/user-status-badge/user-status-badge.component.css +0 -0
  114. package/src/lib/components/user-management/user-status-badge/user-status-badge.component.html +8 -0
  115. package/src/lib/components/user-management/user-status-badge/user-status-badge.component.spec.ts +22 -0
  116. package/src/lib/components/user-management/user-status-badge/user-status-badge.component.ts +22 -0
  117. package/src/lib/components/user-request/user-request.component.css +91 -0
  118. package/src/lib/components/user-request/user-request.component.html +137 -0
  119. package/src/lib/components/user-request/user-request.component.spec.ts +23 -0
  120. package/src/lib/components/user-request/user-request.component.ts +306 -0
  121. package/src/lib/components/user-request/user-request.module.ts +20 -0
  122. package/src/lib/components/user-request-approval/access-request.columns.ts +31 -0
  123. package/src/lib/components/user-request-approval/base-table-style.ts +52 -0
  124. package/src/lib/components/user-request-approval/facades/user-access-request.facade.ts +324 -0
  125. package/src/lib/components/user-request-approval/helper.ts +61 -0
  126. package/src/lib/components/user-request-approval/services/user-access-request.service.spec.ts +16 -0
  127. package/src/lib/components/user-request-approval/services/user-access-request.service.ts +122 -0
  128. package/src/lib/components/user-request-approval/states/user-access-request.state.ts +109 -0
  129. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.css +0 -0
  130. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.html +8 -0
  131. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.spec.ts +23 -0
  132. package/src/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.ts +22 -0
  133. package/src/lib/components/user-request-approval/user-request-approval.component.css +6 -0
  134. package/src/lib/components/user-request-approval/user-request-approval.component.html +269 -0
  135. package/src/lib/components/user-request-approval/user-request-approval.component.spec.ts +23 -0
  136. package/src/lib/components/user-request-approval/user-request-approval.component.ts +326 -0
  137. package/src/lib/components/user-request-approval/user-request-approval.module.ts +54 -0
  138. package/src/lib/components/user-request-approval/user-request-form/use-request-form.component.ts +98 -0
  139. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.css +0 -0
  140. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.html +94 -0
  141. package/src/lib/components/user-request-approval/user-request-form/user-request-form.component.spec.ts +23 -0
  142. package/src/lib/components/user-request-process/user-request-process.component.css +0 -0
  143. package/src/lib/components/user-request-process/user-request-process.component.html +1 -0
  144. package/src/lib/components/user-request-process/user-request-process.component.spec.ts +23 -0
  145. package/src/lib/components/user-request-process/user-request-process.component.ts +12 -0
  146. package/src/lib/components/user-request-process/user-request-process.module.ts +12 -0
  147. package/src/lib/models/ApplicationRoleAction.ts +10 -0
  148. package/{lib/models/ApplicationRoleContext.d.ts → src/lib/models/ApplicationRoleContext copy.ts } +6 -5
  149. package/src/lib/models/ApplicationRoleContext.ts +10 -0
  150. package/src/lib/models/ErrorResponse.ts +7 -0
  151. package/src/lib/models/FilterTypes.ts +8 -0
  152. package/src/lib/models/MailConfig.ts +13 -0
  153. package/src/lib/models/MessageConfig.ts +5 -0
  154. package/src/lib/models/MessageMedium.ts +4 -0
  155. package/src/lib/models/OAuthParam.ts +10 -0
  156. package/src/lib/models/OAuthType.ts +7 -0
  157. package/src/lib/models/PagedResult.ts +9 -0
  158. package/src/lib/models/PasswordRequestParam.ts +5 -0
  159. package/src/lib/models/PeriodMode.ts +10 -0
  160. package/{lib/models/PermissionConfig.d.ts → src/lib/models/PermissionConfig.ts} +4 -3
  161. package/src/lib/models/ReportSchedule.ts +23 -0
  162. package/src/lib/models/ReportType.ts +5 -0
  163. package/src/lib/models/ResponseKeyValue.ts +5 -0
  164. package/{lib/models/Role.d.ts → src/lib/models/Role.ts} +6 -5
  165. package/src/lib/models/RoleAction.ts +11 -0
  166. package/src/lib/models/RoleContext.ts +11 -0
  167. package/src/lib/models/SMSConfig.ts +11 -0
  168. package/{lib/models/SearchDynamicWrapper.d.ts → src/lib/models/SearchDynamicWrapper.ts} +3 -2
  169. package/src/lib/models/SearchOperator.ts +4 -0
  170. package/src/lib/models/SearchPropertySign.ts +9 -0
  171. package/{lib/models/SearchPropertyValue.d.ts → src/lib/models/SearchPropertyValue.ts} +7 -6
  172. package/src/lib/models/SearchPropertyValueType.ts +9 -0
  173. package/src/lib/models/SortDirection.ts +5 -0
  174. package/{lib/models/Tag.d.ts → src/lib/models/Tag.ts} +4 -3
  175. package/src/lib/models/TaskNotification.ts +14 -0
  176. package/src/lib/models/TaskNotificationMessageType.ts +4 -0
  177. package/src/lib/models/TaskNotificationType.ts +4 -0
  178. package/src/lib/models/Tenant.ts +22 -0
  179. package/src/lib/models/TenantConfig.ts +19 -0
  180. package/src/lib/models/UserRequest.ts +38 -0
  181. package/src/lib/models/auth-mechanism.ts +15 -0
  182. package/src/lib/models/base.ts +13 -0
  183. package/src/lib/models/conditions.ts +11 -0
  184. package/src/lib/models/log-in.ts +8 -0
  185. package/{lib/models/mainUser.d.ts → src/lib/models/mainUser.ts} +3 -2
  186. package/src/lib/models/oauth-resp.ts +6 -0
  187. package/{lib/models/oauth-response.d.ts → src/lib/models/oauth-response.ts} +1 -1
  188. package/src/lib/models/object-state.ts +6 -0
  189. package/{lib/models/otpValue.d.ts → src/lib/models/otpValue.ts} +4 -2
  190. package/src/lib/models/paged.ts +9 -0
  191. package/src/lib/models/query-params.ts +9 -0
  192. package/src/lib/models/request-status.ts +4 -0
  193. package/src/lib/models/resend-otp-data.ts +8 -0
  194. package/src/lib/models/resource.ts +27 -0
  195. package/src/lib/models/sign-up.ts +11 -0
  196. package/src/lib/models/single-sign-on.ts +9 -0
  197. package/src/lib/models/status.ts +5 -0
  198. package/src/lib/models/user-access-request-status.ts +5 -0
  199. package/{lib/models/user-access-request.d.ts → src/lib/models/user-access-request.ts} +5 -4
  200. package/src/lib/models/user-object-state.ts +6 -0
  201. package/src/lib/models/user.ts +19 -0
  202. package/src/lib/pipes/async-label.pipe.spec.ts +8 -0
  203. package/src/lib/pipes/async-label.pipe.ts +20 -0
  204. package/src/lib/services/authorization.service.spec.ts +16 -0
  205. package/src/lib/services/authorization.service.ts +24 -0
  206. package/src/lib/services/encryption.service.ts +57 -0
  207. package/src/lib/services/environment.service.spec.ts +16 -0
  208. package/src/lib/services/environment.service.ts +30 -0
  209. package/src/lib/services/http-web-request.service.spec.ts +16 -0
  210. package/src/lib/services/http-web-request.service.ts +114 -0
  211. package/src/lib/services/label.service.spec.ts +16 -0
  212. package/src/lib/services/label.service.ts +177 -0
  213. package/src/lib/services/util.service.spec.ts +16 -0
  214. package/src/lib/services/util.service.ts +49 -0
  215. package/src/lib/shared/shared.module.ts +55 -0
  216. package/{public-api.d.ts → src/public-api.ts} +24 -0
  217. package/src/styles.css +96 -0
  218. package/src/theme/tailwind-setup.css +3 -0
  219. package/src/theme/tailwind.css +1030 -0
  220. package/src/utils/components/base-data-view.component.ts +131 -0
  221. package/src/utils/models/DataViewConfig.ts +19 -0
  222. package/tailwind.config.js +20 -0
  223. package/tsconfig.lib.json +15 -0
  224. package/tsconfig.lib.prod.json +11 -0
  225. package/tsconfig.spec.json +15 -0
  226. package/esm2022/lib/components/auth-callback/auth-callback.component.mjs +0 -57
  227. package/esm2022/lib/components/auth-callback/auth-callback.module.mjs +0 -18
  228. package/esm2022/lib/components/button/button.component.mjs +0 -46
  229. package/esm2022/lib/components/button/button.module.mjs +0 -20
  230. package/esm2022/lib/components/forgot-password/ForgotPasswordData.mjs +0 -2
  231. package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +0 -89
  232. package/esm2022/lib/components/forgot-password/forgot-password.module.mjs +0 -34
  233. package/esm2022/lib/components/mail/mail.component.mjs +0 -69
  234. package/esm2022/lib/components/mail/mail.module.mjs +0 -21
  235. package/esm2022/lib/components/mail-validation/mail-validation.component.mjs +0 -108
  236. package/esm2022/lib/components/mail-validation/mail-validation.module.mjs +0 -34
  237. package/esm2022/lib/components/o-auth/o-auth.component.mjs +0 -107
  238. package/esm2022/lib/components/o-auth/o-auth.module.mjs +0 -19
  239. package/esm2022/lib/components/otp-input/otp-input.component.mjs +0 -86
  240. package/esm2022/lib/components/otp-input/otp-input.module.mjs +0 -23
  241. package/esm2022/lib/components/reset-password/ResetPasswordData.mjs +0 -2
  242. package/esm2022/lib/components/reset-password/reset-password.component.mjs +0 -108
  243. package/esm2022/lib/components/reset-password/reset-password.module.mjs +0 -34
  244. package/esm2022/lib/components/role-control/ChildrenType.mjs +0 -6
  245. package/esm2022/lib/components/role-control/MappedRole.mjs +0 -2
  246. package/esm2022/lib/components/role-control/MappedRoleAction.mjs +0 -2
  247. package/esm2022/lib/components/role-control/MappedRoleContext.mjs +0 -2
  248. package/esm2022/lib/components/role-control/UIActions.mjs +0 -7
  249. package/esm2022/lib/components/role-control/UIs.mjs +0 -40
  250. package/esm2022/lib/components/role-control/base-table-style.mjs +0 -53
  251. package/esm2022/lib/components/role-control/role-control.component.mjs +0 -1364
  252. package/esm2022/lib/components/role-control/role-control.module.mjs +0 -18
  253. package/esm2022/lib/components/role-control/role-control.service.mjs +0 -54
  254. package/esm2022/lib/components/sign-in/sign-in.component.mjs +0 -318
  255. package/esm2022/lib/components/sign-in/sign-in.module.mjs +0 -24
  256. package/esm2022/lib/components/sign-up/sign-up.component.mjs +0 -229
  257. package/esm2022/lib/components/sign-up/sign-up.module.mjs +0 -24
  258. package/esm2022/lib/components/sso/base-table-style.mjs +0 -53
  259. package/esm2022/lib/components/sso/helper.mjs +0 -16
  260. package/esm2022/lib/components/sso/sso-form/sso-form.component.mjs +0 -74
  261. package/esm2022/lib/components/sso/sso.columns.mjs +0 -29
  262. package/esm2022/lib/components/sso/sso.component.mjs +0 -236
  263. package/esm2022/lib/components/sso/sso.module.mjs +0 -63
  264. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.mjs +0 -209
  265. package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.mjs +0 -22
  266. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.mjs +0 -90
  267. package/esm2022/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.mjs +0 -19
  268. package/esm2022/lib/components/user-management/base-table-style.mjs +0 -53
  269. package/esm2022/lib/components/user-management/services/user-management.service.mjs +0 -88
  270. package/esm2022/lib/components/user-management/user-management-form/use-management-form.component.mjs +0 -71
  271. package/esm2022/lib/components/user-management/user-management.columns.mjs +0 -47
  272. package/esm2022/lib/components/user-management/user-management.component.mjs +0 -475
  273. package/esm2022/lib/components/user-management/user-management.module.mjs +0 -79
  274. package/esm2022/lib/components/user-management/user-status-badge/user-status-badge.component.mjs +0 -26
  275. package/esm2022/lib/components/user-request/user-request.component.mjs +0 -320
  276. package/esm2022/lib/components/user-request/user-request.module.mjs +0 -38
  277. package/esm2022/lib/components/user-request-approval/access-request.columns.mjs +0 -29
  278. package/esm2022/lib/components/user-request-approval/base-table-style.mjs +0 -53
  279. package/esm2022/lib/components/user-request-approval/facades/user-access-request.facade.mjs +0 -260
  280. package/esm2022/lib/components/user-request-approval/helper.mjs +0 -56
  281. package/esm2022/lib/components/user-request-approval/services/user-access-request.service.mjs +0 -93
  282. package/esm2022/lib/components/user-request-approval/states/user-access-request.state.mjs +0 -92
  283. package/esm2022/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.mjs +0 -26
  284. package/esm2022/lib/components/user-request-approval/user-request-approval.component.mjs +0 -270
  285. package/esm2022/lib/components/user-request-approval/user-request-approval.module.mjs +0 -80
  286. package/esm2022/lib/components/user-request-approval/user-request-form/use-request-form.component.mjs +0 -86
  287. package/esm2022/lib/models/ApplicationRoleAction.mjs +0 -2
  288. package/esm2022/lib/models/ApplicationRoleContext.mjs +0 -2
  289. package/esm2022/lib/models/ErrorResponse.mjs +0 -11
  290. package/esm2022/lib/models/OAuthParam.mjs +0 -2
  291. package/esm2022/lib/models/OAuthType.mjs +0 -9
  292. package/esm2022/lib/models/PagedResult.mjs +0 -2
  293. package/esm2022/lib/models/PasswordRequestParam.mjs +0 -2
  294. package/esm2022/lib/models/PermissionConfig.mjs +0 -2
  295. package/esm2022/lib/models/ResponseKeyValue.mjs +0 -2
  296. package/esm2022/lib/models/Role.mjs +0 -2
  297. package/esm2022/lib/models/RoleAction.mjs +0 -2
  298. package/esm2022/lib/models/RoleContext.mjs +0 -2
  299. package/esm2022/lib/models/SearchDynamicWrapper.mjs +0 -2
  300. package/esm2022/lib/models/SearchOperator.mjs +0 -6
  301. package/esm2022/lib/models/SearchPropertySign.mjs +0 -11
  302. package/esm2022/lib/models/SearchPropertyValue.mjs +0 -2
  303. package/esm2022/lib/models/SearchPropertyValueType.mjs +0 -11
  304. package/esm2022/lib/models/SortDirection.mjs +0 -7
  305. package/esm2022/lib/models/Tag.mjs +0 -2
  306. package/esm2022/lib/models/TenantConfig.mjs +0 -2
  307. package/esm2022/lib/models/UserRequest.mjs +0 -2
  308. package/esm2022/lib/models/auth-mechanism.mjs +0 -8
  309. package/esm2022/lib/models/base.mjs +0 -2
  310. package/esm2022/lib/models/conditions.mjs +0 -13
  311. package/esm2022/lib/models/log-in.mjs +0 -2
  312. package/esm2022/lib/models/mainUser.mjs +0 -2
  313. package/esm2022/lib/models/oauth-resp.mjs +0 -2
  314. package/esm2022/lib/models/oauth-response.mjs +0 -2
  315. package/esm2022/lib/models/object-state.mjs +0 -8
  316. package/esm2022/lib/models/otpValue.mjs +0 -2
  317. package/esm2022/lib/models/paged.mjs +0 -2
  318. package/esm2022/lib/models/query-params.mjs +0 -2
  319. package/esm2022/lib/models/request-status.mjs +0 -5
  320. package/esm2022/lib/models/resend-otp-data.mjs +0 -2
  321. package/esm2022/lib/models/sign-up.mjs +0 -2
  322. package/esm2022/lib/models/single-sign-on.mjs +0 -2
  323. package/esm2022/lib/models/status.mjs +0 -6
  324. package/esm2022/lib/models/user-access-request-status.mjs +0 -7
  325. package/esm2022/lib/models/user-access-request.mjs +0 -2
  326. package/esm2022/lib/models/user.mjs +0 -2
  327. package/esm2022/lib/pipes/async-label.pipe.mjs +0 -25
  328. package/esm2022/lib/services/authorization.service.mjs +0 -26
  329. package/esm2022/lib/services/encryption.service.mjs +0 -52
  330. package/esm2022/lib/services/environment.service.mjs +0 -26
  331. package/esm2022/lib/services/http-web-request.service.mjs +0 -85
  332. package/esm2022/lib/services/label.service.mjs +0 -134
  333. package/esm2022/lib/services/util.service.mjs +0 -55
  334. package/esm2022/lib/shared/shared.module.mjs +0 -84
  335. package/esm2022/public-api.mjs +0 -48
  336. package/esm2022/verben-authentication-ui.mjs +0 -5
  337. package/fesm2022/verben-authentication-ui.mjs +0 -6299
  338. package/fesm2022/verben-authentication-ui.mjs.map +0 -1
  339. package/index.d.ts +0 -5
  340. package/lib/components/auth-callback/auth-callback.component.d.ts +0 -17
  341. package/lib/components/auth-callback/auth-callback.module.d.ts +0 -8
  342. package/lib/components/button/button.component.d.ts +0 -17
  343. package/lib/components/button/button.module.d.ts +0 -10
  344. package/lib/components/forgot-password/forgot-password.component.d.ts +0 -29
  345. package/lib/components/forgot-password/forgot-password.module.d.ts +0 -10
  346. package/lib/components/mail/mail.component.d.ts +0 -32
  347. package/lib/components/mail/mail.module.d.ts +0 -11
  348. package/lib/components/mail-validation/mail-validation.component.d.ts +0 -42
  349. package/lib/components/mail-validation/mail-validation.module.d.ts +0 -10
  350. package/lib/components/o-auth/o-auth.component.d.ts +0 -30
  351. package/lib/components/o-auth/o-auth.module.d.ts +0 -9
  352. package/lib/components/otp-input/otp-input.component.d.ts +0 -21
  353. package/lib/components/otp-input/otp-input.module.d.ts +0 -13
  354. package/lib/components/reset-password/ResetPasswordData.d.ts +0 -5
  355. package/lib/components/reset-password/reset-password.component.d.ts +0 -30
  356. package/lib/components/reset-password/reset-password.module.d.ts +0 -10
  357. package/lib/components/role-control/ChildrenType.d.ts +0 -4
  358. package/lib/components/role-control/UIActions.d.ts +0 -5
  359. package/lib/components/role-control/UIs.d.ts +0 -38
  360. package/lib/components/role-control/base-table-style.d.ts +0 -1
  361. package/lib/components/role-control/role-control.component.d.ts +0 -121
  362. package/lib/components/role-control/role-control.module.d.ts +0 -8
  363. package/lib/components/role-control/role-control.service.d.ts +0 -9
  364. package/lib/components/sign-in/sign-in.component.d.ts +0 -95
  365. package/lib/components/sign-in/sign-in.module.d.ts +0 -13
  366. package/lib/components/sign-up/sign-up.component.d.ts +0 -68
  367. package/lib/components/sign-up/sign-up.module.d.ts +0 -13
  368. package/lib/components/sso/base-table-style.d.ts +0 -1
  369. package/lib/components/sso/helper.d.ts +0 -2
  370. package/lib/components/sso/sso-form/sso-form.component.d.ts +0 -21
  371. package/lib/components/sso/sso.columns.d.ts +0 -3
  372. package/lib/components/sso/sso.component.d.ts +0 -54
  373. package/lib/components/sso/sso.module.d.ts +0 -11
  374. package/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.d.ts +0 -67
  375. package/lib/components/two-factor-auth-otp/two-factor-auth-otp.module.d.ts +0 -12
  376. package/lib/components/two-factor-auth-setup/two-factor-auth-setup.component.d.ts +0 -39
  377. package/lib/components/two-factor-auth-setup/two-factor-auth-setup.module.d.ts +0 -9
  378. package/lib/components/user-management/base-table-style.d.ts +0 -1
  379. package/lib/components/user-management/services/user-management.service.d.ts +0 -44
  380. package/lib/components/user-management/user-management-form/use-management-form.component.d.ts +0 -22
  381. package/lib/components/user-management/user-management.columns.d.ts +0 -3
  382. package/lib/components/user-management/user-management.component.d.ts +0 -123
  383. package/lib/components/user-management/user-management.module.d.ts +0 -14
  384. package/lib/components/user-management/user-status-badge/user-status-badge.component.d.ts +0 -12
  385. package/lib/components/user-request/user-request.component.d.ts +0 -80
  386. package/lib/components/user-request/user-request.module.d.ts +0 -11
  387. package/lib/components/user-request-approval/access-request.columns.d.ts +0 -3
  388. package/lib/components/user-request-approval/base-table-style.d.ts +0 -1
  389. package/lib/components/user-request-approval/facades/user-access-request.facade.d.ts +0 -39
  390. package/lib/components/user-request-approval/helper.d.ts +0 -7
  391. package/lib/components/user-request-approval/services/user-access-request.service.d.ts +0 -65
  392. package/lib/components/user-request-approval/states/user-access-request.state.d.ts +0 -35
  393. package/lib/components/user-request-approval/user-access-request-status-badge/user-access-request-status-badge.component.d.ts +0 -12
  394. package/lib/components/user-request-approval/user-request-approval.component.d.ts +0 -69
  395. package/lib/components/user-request-approval/user-request-approval.module.d.ts +0 -12
  396. package/lib/components/user-request-approval/user-request-form/use-request-form.component.d.ts +0 -25
  397. package/lib/models/ApplicationRoleAction.d.ts +0 -9
  398. package/lib/models/ErrorResponse.d.ts +0 -6
  399. package/lib/models/OAuthParam.d.ts +0 -9
  400. package/lib/models/OAuthType.d.ts +0 -7
  401. package/lib/models/PagedResult.d.ts +0 -9
  402. package/lib/models/PasswordRequestParam.d.ts +0 -5
  403. package/lib/models/ResponseKeyValue.d.ts +0 -5
  404. package/lib/models/RoleAction.d.ts +0 -10
  405. package/lib/models/RoleContext.d.ts +0 -10
  406. package/lib/models/SearchOperator.d.ts +0 -4
  407. package/lib/models/SearchPropertySign.d.ts +0 -9
  408. package/lib/models/SearchPropertyValueType.d.ts +0 -9
  409. package/lib/models/SortDirection.d.ts +0 -5
  410. package/lib/models/TenantConfig.d.ts +0 -18
  411. package/lib/models/UserRequest.d.ts +0 -32
  412. package/lib/models/auth-mechanism.d.ts +0 -14
  413. package/lib/models/base.d.ts +0 -12
  414. package/lib/models/conditions.d.ts +0 -11
  415. package/lib/models/log-in.d.ts +0 -8
  416. package/lib/models/oauth-resp.d.ts +0 -6
  417. package/lib/models/object-state.d.ts +0 -6
  418. package/lib/models/paged.d.ts +0 -9
  419. package/lib/models/query-params.d.ts +0 -8
  420. package/lib/models/request-status.d.ts +0 -3
  421. package/lib/models/resend-otp-data.d.ts +0 -8
  422. package/lib/models/sign-up.d.ts +0 -9
  423. package/lib/models/single-sign-on.d.ts +0 -7
  424. package/lib/models/status.d.ts +0 -4
  425. package/lib/models/user-access-request-status.d.ts +0 -5
  426. package/lib/models/user.d.ts +0 -18
  427. package/lib/pipes/async-label.pipe.d.ts +0 -11
  428. package/lib/services/authorization.service.d.ts +0 -14
  429. package/lib/services/encryption.service.d.ts +0 -13
  430. package/lib/services/environment.service.d.ts +0 -22
  431. package/lib/services/http-web-request.service.d.ts +0 -23
  432. package/lib/services/label.service.d.ts +0 -15
  433. package/lib/services/util.service.d.ts +0 -11
  434. package/lib/shared/shared.module.d.ts +0 -10
@@ -0,0 +1,38 @@
1
+ import { MechanismType } from "./auth-mechanism";
2
+ import { ObjectState } from "./object-state";
3
+ import { RequestStatus } from "./request-status";
4
+ import { Role } from "./Role";
5
+ import { Status } from "./status";
6
+
7
+
8
+
9
+
10
+
11
+ export interface Tag {
12
+ Name: string;
13
+ IsOptional: boolean;
14
+ }
15
+
16
+ export interface UserRequestPayload {
17
+ Code: string;
18
+ FirstName: string;
19
+ LastName: string;
20
+ MailAddress: string;
21
+ Password: string;
22
+ PhoneNumber: string;
23
+ OtherName: string;
24
+ Role: Role
25
+ Tags: Tag[];
26
+ Status: Status;
27
+ UpdatedAt: Date;
28
+ CreatedAt: Date;
29
+ Id: string;
30
+ DataState: ObjectState;
31
+ TenantId: string;
32
+ ServiceName: string;
33
+ ActionBy: string;
34
+ SignUpType: MechanismType;
35
+ RequestStatus: RequestStatus;
36
+ Comment: string;
37
+ Token?: string;
38
+ }
@@ -0,0 +1,15 @@
1
+ export enum MechanismType {
2
+ InApp = 'InApp',
3
+ Google = 'Google',
4
+ Apple = 'Apple',
5
+ MicrosoftAD = 'MicrosoftAD',
6
+ }
7
+
8
+ export interface AuthMechanism {
9
+ AuthMechanism: string;
10
+ ClientId: string;
11
+ ClientSecret: string;
12
+ RedirectUri: string;
13
+ Scope: string;
14
+ TenantId?:string
15
+ }
@@ -0,0 +1,13 @@
1
+ import { ObjectState } from './object-state';
2
+
3
+ export interface BaseModel {
4
+ id?: string;
5
+ Id: string;
6
+ CreatedAt: Date;
7
+ UpdatedAt: Date;
8
+ DataState: ObjectState;
9
+ TenantId: string;
10
+ ServiceName: string;
11
+ Code: string;
12
+ readonly Error?: string;
13
+ }
@@ -0,0 +1,11 @@
1
+ export enum ConditionOptions {
2
+ LessThan = "LT",
3
+ GreaterThan = "GT",
4
+ Equal = "EQ",
5
+ NotEqual = "NEQ",
6
+ On = "EQ",
7
+ Before = "LT",
8
+ After = "GT",
9
+ Yes = "EQ",
10
+ No = "NEQ"
11
+ }
@@ -0,0 +1,8 @@
1
+ export interface LoginData {
2
+ MailAddress: string;
3
+ Password: string;
4
+ LoginType: string;
5
+ Tenant: string;
6
+ Secrete: string;
7
+ Token?: string;
8
+ }
@@ -1,5 +1,6 @@
1
1
  import { ObjectState } from "./object-state";
2
- export interface MainUser {
2
+
3
+ export interface MainUser {
3
4
  Code: string;
4
5
  TenantId: string;
5
6
  Id: string;
@@ -16,4 +17,4 @@ export interface MainUser {
16
17
  CreatedAt: Date;
17
18
  UpdatedAt: Date;
18
19
  DataState: ObjectState;
19
- }
20
+ }
@@ -0,0 +1,6 @@
1
+ export interface IOauthResp{
2
+ AccessToken:string,
3
+ Email:string
4
+ FirstName:string
5
+ LastName:string
6
+ }
@@ -3,4 +3,4 @@ export interface OAuthResponse {
3
3
  LastName: string;
4
4
  Email: string;
5
5
  AccessToken: string;
6
- }
6
+ }
@@ -0,0 +1,6 @@
1
+ export enum ObjectState {
2
+ New = 'New',
3
+ Changed = 'Changed',
4
+ Unchanged = 'Unchanged',
5
+ Removed = 'Removed',
6
+ }
@@ -1,5 +1,7 @@
1
1
  import { MechanismType } from "./auth-mechanism";
2
2
  import { MainUser } from "./mainUser";
3
+
4
+
3
5
  export interface OtpData {
4
6
  User: MainUser;
5
7
  Token: string;
@@ -7,5 +9,5 @@ export interface OtpData {
7
9
  Secret: string;
8
10
  OTP?: string;
9
11
  Info: string;
10
- Provider: MechanismType;
11
- }
12
+ Provider:MechanismType
13
+ }
@@ -0,0 +1,9 @@
1
+ export interface Paged<T> {
2
+ Skip: number;
3
+ PageSize: number;
4
+ IsLoadingResults: boolean;
5
+ Total: number;
6
+ PageState?: unknown;
7
+ Result: T[];
8
+ LastItem: string[];
9
+ }
@@ -0,0 +1,9 @@
1
+ import { SortDirection } from "./SortDirection";
2
+
3
+ export interface QueryParams<T> {
4
+ skip: number;
5
+ limit: number;
6
+ sortParam?: keyof T;
7
+ sortOrder: SortDirection;
8
+ filterParam?: string;
9
+ }
@@ -0,0 +1,4 @@
1
+ export enum RequestStatus {
2
+ Pending='Pending'
3
+ }
4
+
@@ -0,0 +1,8 @@
1
+ export interface ResendOtpData {
2
+ MailAddress: string;
3
+ Password: string;
4
+ LoginType: string;
5
+ Tenant: string;
6
+ Secrete: string;
7
+ RedirectUri: string;
8
+ }
@@ -0,0 +1,27 @@
1
+ import { BaseModel } from './base';
2
+ import { ObjectState } from './object-state';
3
+
4
+ export abstract class ResourceModel<T extends BaseModel> implements BaseModel {
5
+ public Id: string;
6
+ public CreatedAt: Date;
7
+ public UpdatedAt: Date;
8
+ public State: ObjectState;
9
+ public TenantId: string;
10
+ public id: string | number;
11
+
12
+ constructor(model?: Partial<T>) {
13
+ if (model) {
14
+ Object.assign(this, model);
15
+ }
16
+ this.Id = model?.Id || '';
17
+ this.CreatedAt = model?.CreatedAt ? new Date(model.CreatedAt) : new Date();
18
+ this.UpdatedAt = model?.UpdatedAt ? new Date(model.UpdatedAt) : new Date();
19
+ this.State = model?.State ?? ObjectState.New;
20
+ this.Tenant = model?.Tenant ?? '';
21
+ this.id = model?.Id ?? Math.random();
22
+ }
23
+
24
+ public toJson(): any {
25
+ return JSON.parse(JSON.stringify(this));
26
+ }
27
+ }
@@ -0,0 +1,11 @@
1
+ import { BaseModel } from "./base";
2
+ import { User } from "./user";
3
+
4
+ export interface SignUpData extends BaseModel{
5
+ Firstname:string,
6
+ Lastname:string,
7
+ Email:string,
8
+ Password:string,
9
+ Confirmpassword?:string,
10
+ Terms:boolean
11
+ }
@@ -0,0 +1,9 @@
1
+ import { BaseModel } from "./base";
2
+
3
+
4
+ export interface SingleSignOn extends BaseModel{
5
+ Name:string
6
+ Description?: string;
7
+ Logo: string;
8
+ Link:string
9
+ }
@@ -0,0 +1,5 @@
1
+ export enum Status {
2
+ InActive = "InActive",
3
+ Active = "Active",
4
+ }
5
+
@@ -0,0 +1,5 @@
1
+ export enum UserAccessRequestStatus {
2
+ Pending = 'Pending',
3
+ Approved = 'Approved',
4
+ Declined = 'Declined',
5
+ }
@@ -1,9 +1,10 @@
1
1
  import { OAuthType } from './OAuthType';
2
2
  import { User } from './user';
3
3
  import { UserAccessRequestStatus } from './user-access-request-status';
4
+
4
5
  export interface UserAccessRequest extends User {
5
- RequestStatus: UserAccessRequestStatus;
6
- ActionBy?: string;
7
- Comment?: string;
8
- SignupType: OAuthType;
6
+ RequestStatus: UserAccessRequestStatus;
7
+ ActionBy?: string;
8
+ Comment?: string;
9
+ SignupType: OAuthType;
9
10
  }
@@ -0,0 +1,6 @@
1
+ export enum ObjectState {
2
+ New = 'New',
3
+ Active = 'Active',
4
+ Inactive = 'Inactive',
5
+ Deleted = 'Deleted',
6
+ }
@@ -0,0 +1,19 @@
1
+ import { BaseModel } from './base';
2
+ import { OAuthType } from './OAuthType';
3
+ import { Role } from './Role';
4
+ import { Status } from './status';
5
+
6
+ export interface User extends BaseModel {
7
+ Password: string;
8
+ PhoneNumber?: string;
9
+ FirstName: string;
10
+ LastName: string;
11
+ OtherName?: string;
12
+ MailAddress: string;
13
+ IsSeeded: boolean;
14
+ RoleID?: string;
15
+ Address?: string;
16
+ Role?: Role;
17
+ Status: Status;
18
+ SignupType: OAuthType;
19
+ }
@@ -0,0 +1,8 @@
1
+ import { AsyncLabelPipe } from './async-label.pipe';
2
+
3
+ describe('AsyncLabelPipe', () => {
4
+ it('create an instance', () => {
5
+ const pipe = new AsyncLabelPipe();
6
+ expect(pipe).toBeTruthy();
7
+ });
8
+ });
@@ -0,0 +1,20 @@
1
+ import { Pipe, PipeTransform } from '@angular/core';
2
+ import { from, Observable, of } from 'rxjs';
3
+ import { LabelService } from '../services/label.service';
4
+
5
+ @Pipe({
6
+ name: 'asyncLabel',
7
+ standalone: true
8
+ })
9
+ export class AsyncLabelPipe implements PipeTransform {
10
+
11
+ constructor(private labelService: LabelService){
12
+
13
+ }
14
+
15
+ transform(code: any, entity: string, labelProp: string, env: string, key: string = 'Code'): Observable<string> {
16
+ if (!code) return of('');
17
+ return from(this.labelService.getAsyncLabelWithRequestTracking(code, entity, labelProp, env, key));
18
+ }
19
+
20
+ }
@@ -0,0 +1,16 @@
1
+ import { TestBed } from '@angular/core/testing';
2
+
3
+ import { AuthorizationService } from './authorization.service';
4
+
5
+ describe('AuthorizationService', () => {
6
+ let service: AuthorizationService;
7
+
8
+ beforeEach(() => {
9
+ TestBed.configureTestingModule({});
10
+ service = TestBed.inject(AuthorizationService);
11
+ });
12
+
13
+ it('should be created', () => {
14
+ expect(service).toBeTruthy();
15
+ });
16
+ });
@@ -0,0 +1,24 @@
1
+ import { Injectable, InjectionToken, Inject, Optional } from '@angular/core';
2
+
3
+ export const AUTHORIZATION_CONFIG = new InjectionToken<AuthorizationConfig[]>(
4
+ 'authorization_config'
5
+ );
6
+
7
+ export interface AuthorizationConfig {
8
+ Name: string;
9
+ Actions: string[];
10
+ }
11
+ @Injectable({
12
+ providedIn: 'root',
13
+ })
14
+ export class AuthorizationService {
15
+ constructor(
16
+ @Optional()
17
+ @Inject(AUTHORIZATION_CONFIG)
18
+ private auth: AuthorizationConfig[]
19
+ ) {}
20
+
21
+ get authorizationConfig(): AuthorizationConfig[] {
22
+ return this.auth ? this.auth : [];
23
+ }
24
+ }
@@ -0,0 +1,57 @@
1
+ import { Injectable } from '@angular/core';
2
+ import CryptoJS from 'crypto-js';
3
+ import {EnvironmentService } from './environment.service';
4
+
5
+ @Injectable({
6
+ providedIn: 'root',
7
+ })
8
+ export class EncryptionService {
9
+ isProd:boolean
10
+ private ivString
11
+ private keyString
12
+ constructor(
13
+
14
+ private envSvc: EnvironmentService,
15
+
16
+ ) {
17
+ this.ivString=this.envSvc.environment.IvString
18
+ this.keyString=this.envSvc.environment.keyString
19
+ this.isProd = this.envSvc.environment.production;
20
+ }
21
+ encryptData(data: string): string {
22
+ try {
23
+ const encrypted = CryptoJS.AES.encrypt(
24
+ data,
25
+ CryptoJS.enc.Utf8.parse(this.keyString),
26
+ {
27
+ iv: CryptoJS.enc.Utf8.parse(this.ivString),
28
+ }
29
+ );
30
+
31
+ // Return the encrypted data as a string
32
+ return encrypted.toString();
33
+ } catch (error) {
34
+ console.error('Encryption error:', error);
35
+ return data; // Return original data if encryption fails
36
+ }
37
+ }
38
+
39
+ decryptData(data: string): string {
40
+ try {
41
+ // Decrypt the data
42
+ const decrypted = CryptoJS.AES.decrypt(
43
+ data,
44
+ CryptoJS.enc.Utf8.parse(this.keyString),
45
+ {
46
+ iv: CryptoJS.enc.Utf8.parse(this.ivString),
47
+ }
48
+ );
49
+
50
+ // Convert the decrypted data to a UTF-8 string
51
+ return decrypted.toString(CryptoJS.enc.Utf8);
52
+ } catch (error) {
53
+ console.error('Decryption error:', error);
54
+ return data; // Return original data if decryption fails
55
+ }
56
+ }
57
+ }
@@ -0,0 +1,16 @@
1
+ import { TestBed } from '@angular/core/testing';
2
+
3
+ import { EnvironmentService } from './environment.service';
4
+
5
+ describe('EnvironmentService', () => {
6
+ let service: EnvironmentService;
7
+
8
+ beforeEach(() => {
9
+ TestBed.configureTestingModule({});
10
+ service = TestBed.inject(EnvironmentService);
11
+ });
12
+
13
+ it('should be created', () => {
14
+ expect(service).toBeTruthy();
15
+ });
16
+ });
@@ -0,0 +1,30 @@
1
+ // In your library's services/environment.service.ts
2
+ import { Injectable, InjectionToken, Inject } from '@angular/core';
3
+ // import { ENVIRONMENT } from '../models/ENVIRONMENT_TOKEN';
4
+
5
+ export const ENVIRONMENT = new InjectionToken<Environment>('environment');
6
+
7
+ export interface Environment {
8
+ production: boolean;
9
+ AuthenticationAPI: string;
10
+ ReportingAPI: string;
11
+ MessagingAPI: string;
12
+ WorkflowAPI: string;
13
+ Tenant: string;
14
+ APIKey: string;
15
+ Secret: string;
16
+ IvString :string;
17
+ keyString:string;
18
+
19
+ }
20
+
21
+ @Injectable({
22
+ providedIn: 'root',
23
+ })
24
+ export class EnvironmentService {
25
+ constructor(@Inject(ENVIRONMENT) private env: Environment) {}
26
+
27
+ get environment(): Environment {
28
+ return this.env;
29
+ }
30
+ }
@@ -0,0 +1,16 @@
1
+ import { TestBed } from '@angular/core/testing';
2
+
3
+ import { HttpWebRequestService } from './http-web-request.service';
4
+
5
+ describe('HttpWebRequestService', () => {
6
+ let service: HttpWebRequestService;
7
+
8
+ beforeEach(() => {
9
+ TestBed.configureTestingModule({});
10
+ service = TestBed.inject(HttpWebRequestService);
11
+ });
12
+
13
+ it('should be created', () => {
14
+ expect(service).toBeTruthy();
15
+ });
16
+ });
@@ -0,0 +1,114 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import { Observable } from 'rxjs';
4
+ import { ErrorResponse } from '../models/ErrorResponse';
5
+ import { EnvironmentService } from './environment.service';
6
+ import { NotificationService } from 'verben-ng-ui';
7
+
8
+ @Injectable({
9
+ providedIn: 'root',
10
+ })
11
+ export class HttpWebRequestService {
12
+ isProd: boolean;
13
+
14
+ constructor(
15
+ private http: HttpClient,
16
+ private envSvc: EnvironmentService,
17
+ private notificationService: NotificationService
18
+ ) {
19
+ this.isProd = this.envSvc.environment.production;
20
+ }
21
+
22
+ private buildHeaders() {
23
+ return {
24
+ 'Content-Type': 'application/json',
25
+ Authorization:
26
+ 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJNYWlsQWRkcmVzcyI6InZlcmJlbmFAZ21haWwuY29tIiwiQXBwbGljYXRpb24iOiIiLCJOYW1lIjoiVmVyYmVuYSBMb2dpYyBMaW1pdGVkIiwiUm9sZUlEIjoiUk9MLVpYQVhYVCIsIlRlbmFudElkIjoiUERMVEM2IiwiU2VydmljZU5hbWUiOiJXaGl0ZTM2MCIsIkNvbXBhbnkiOiJDT00tNkxJNjNIIiwibmJmIjoxNzQ3MTMxNTk1LCJleHAiOjE3NDczNDc1OTUsImlhdCI6MTc0NzEzMTU5NX0.X-5xj31h2ON268n1sTq6eFhphsiZ1k9JhkJ91R2-PKI',
27
+ };
28
+ }
29
+
30
+ private buildUrl(url: string, baseUrl: string): string {
31
+ return `${baseUrl}/${url}`;
32
+ }
33
+
34
+ private handleError(err: any): ErrorResponse {
35
+ const msg =
36
+ err?.ErrorMsg ||
37
+ (err?.errors?.values as string[])?.toString() ||
38
+ `Error occurred`;
39
+ this.notificationService.error(msg, { timeout: 10000 });
40
+ return new ErrorResponse(msg);
41
+ }
42
+
43
+ private request<T>(
44
+ method: 'GET' | 'POST' | 'PUT' | 'DELETE',
45
+ url: string,
46
+ body?: any,
47
+ baseUrl: string = this.envSvc.environment.AuthenticationAPI
48
+ ): Promise<T> | Observable<T> {
49
+ const options = {
50
+ headers: this.buildHeaders(),
51
+ };
52
+
53
+ const requestUrl = this.buildUrl(url, baseUrl);
54
+
55
+ switch (method) {
56
+ case 'GET':
57
+ return new Promise((resolve) =>
58
+ this.http.get<T>(requestUrl, options).subscribe({
59
+ next: resolve,
60
+ error: (err) => resolve(this.handleError(err) as T),
61
+ })
62
+ );
63
+ case 'POST':
64
+ return new Promise((resolve) =>
65
+ this.http.post<T>(requestUrl, body, options).subscribe({
66
+ next: resolve,
67
+ error: (err) => resolve(this.handleError(err) as T),
68
+ })
69
+ );
70
+ case 'PUT':
71
+ return this.http.put<T>(requestUrl, body, options);
72
+ case 'DELETE':
73
+ return this.http.delete<T>(requestUrl, options);
74
+ }
75
+ }
76
+
77
+ get<T>(url: string, baseUrl?: string): Promise<T> {
78
+ return this.request('GET', url, undefined, baseUrl) as Promise<T>;
79
+ }
80
+
81
+ post<T>(url: string, body: any, baseUrl?: string): Promise<T> {
82
+ return this.request(
83
+ 'POST',
84
+ url,
85
+ JSON.stringify(body),
86
+ baseUrl
87
+ ) as Promise<T>;
88
+ }
89
+
90
+ postFile<T>(url: string, formData: FormData, baseUrl?: string): Promise<T> {
91
+ return new Promise((resolve) =>
92
+ this.http
93
+ .post<T>(
94
+ this.buildUrl(
95
+ url,
96
+ baseUrl || this.envSvc.environment.AuthenticationAPI
97
+ ),
98
+ formData
99
+ )
100
+ .subscribe({
101
+ next: resolve,
102
+ error: (err) => resolve(this.handleError(err) as T),
103
+ })
104
+ );
105
+ }
106
+
107
+ put<T>(url: string, body: any, baseUrl?: string): Observable<T> {
108
+ return this.request('PUT', url, body, baseUrl) as Observable<T>;
109
+ }
110
+
111
+ delete<T>(url: string, baseUrl?: string): Observable<T> {
112
+ return this.request('DELETE', url, undefined, baseUrl) as Observable<T>;
113
+ }
114
+ }
@@ -0,0 +1,16 @@
1
+ import { TestBed } from '@angular/core/testing';
2
+
3
+ import { LabelService } from './label.service';
4
+
5
+ describe('LabelService', () => {
6
+ let service: LabelService;
7
+
8
+ beforeEach(() => {
9
+ TestBed.configureTestingModule({});
10
+ service = TestBed.inject(LabelService);
11
+ });
12
+
13
+ it('should be created', () => {
14
+ expect(service).toBeTruthy();
15
+ });
16
+ });