@lenne.tech/ng-base 15.0.0-beta-2 → 16.0.0

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 (241) hide show
  1. package/base-components/base-components.module.d.ts +1 -2
  2. package/base-components/components/checkbox/checkbox.component.d.ts +1 -1
  3. package/base-components/components/delete-account/delete-account.component.d.ts +1 -1
  4. package/base-components/components/fab-button/fab-button.component.d.ts +1 -1
  5. package/base-components/components/input/input.component.d.ts +1 -1
  6. package/base-components/components/loading-bar/loading-bar.component.d.ts +1 -1
  7. package/base-components/components/model-form/model-form-base.component.d.ts +1 -1
  8. package/base-components/components/model-form/model-form.component.d.ts +1 -1
  9. package/base-components/components/model-form-sub/model-form-sub.component.d.ts +1 -1
  10. package/base-components/components/model-table/model-table.component.d.ts +17 -5
  11. package/base-components/components/refence-input/refence-input.component.d.ts +1 -1
  12. package/base-components/components/select/select.component.d.ts +1 -1
  13. package/base-components/components/skeleton-loader/skeleton-loader.component.d.ts +1 -1
  14. package/base-components/components/tags/tags.component.d.ts +1 -1
  15. package/base-components/components/textarea/textarea.component.d.ts +1 -1
  16. package/base-components/components/toast/toast.component.d.ts +1 -1
  17. package/base-components/components/upload-image/upload-image.component.d.ts +1 -1
  18. package/base-components/directives/context-menu.directive.d.ts +1 -1
  19. package/base-components/directives/sort.directive.d.ts +3 -2
  20. package/base-prototype/pages/login/login.component.d.ts +1 -1
  21. package/base-prototype/pages/profile/profile.component.d.ts +1 -1
  22. package/base-prototype/pages/set-password/set-password.component.d.ts +1 -1
  23. package/esm2022/base-cms/base-cms-routing.module.mjs +33 -0
  24. package/esm2022/base-cms/base-cms.module.mjs +61 -0
  25. package/esm2022/base-cms/pages/base-cms/base-cms.component.mjs +233 -0
  26. package/esm2022/base-components/base-components.module.mjs +123 -0
  27. package/esm2022/base-components/components/breadcrumb/breadcrumb.component.mjs +21 -0
  28. package/esm2022/base-components/components/change-password/change-password.component.mjs +96 -0
  29. package/esm2022/base-components/components/checkbox/checkbox.component.mjs +35 -0
  30. package/esm2022/base-components/components/delete-account/delete-account.component.mjs +61 -0
  31. package/esm2022/base-components/components/fab-button/fab-button.component.mjs +21 -0
  32. package/esm2022/base-components/components/input/input.component.mjs +72 -0
  33. package/esm2022/base-components/components/loading-bar/loading-bar.component.mjs +39 -0
  34. package/esm2022/base-components/components/model-form/model-form-base.component.mjs +145 -0
  35. package/esm2022/base-components/components/model-form/model-form.component.mjs +585 -0
  36. package/esm2022/base-components/components/model-form-sub/model-form-sub.component.mjs +111 -0
  37. package/esm2022/base-components/components/model-table/model-table.component.mjs +470 -0
  38. package/esm2022/base-components/components/refence-input/refence-input.component.mjs +273 -0
  39. package/esm2022/base-components/components/select/select.component.mjs +59 -0
  40. package/esm2022/base-components/components/skeleton-loader/skeleton-loader.component.mjs +32 -0
  41. package/esm2022/base-components/components/tags/tags.component.mjs +224 -0
  42. package/esm2022/base-components/components/textarea/textarea.component.mjs +76 -0
  43. package/esm2022/base-components/components/toast/toast.component.mjs +70 -0
  44. package/esm2022/base-components/components/upload-image/upload-image.component.mjs +343 -0
  45. package/esm2022/base-components/directives/back-button.directive.mjs +25 -0
  46. package/esm2022/base-components/directives/context-menu.directive.mjs +112 -0
  47. package/esm2022/base-components/directives/sort.directive.mjs +61 -0
  48. package/esm2022/base-components/directives/stop-propagation.directive.mjs +24 -0
  49. package/esm2022/base-components/pipes/ellipses.pipe.mjs +23 -0
  50. package/esm2022/base-prototype/base-prototype.module.mjs +54 -0
  51. package/esm2022/base-prototype/pages/email-verification/email-verification.component.mjs +62 -0
  52. package/esm2022/base-prototype/pages/forgot-password/forgot-password.component.mjs +75 -0
  53. package/esm2022/base-prototype/pages/login/login.component.mjs +111 -0
  54. package/esm2022/base-prototype/pages/profile/profile.component.mjs +86 -0
  55. package/esm2022/base-prototype/pages/register/register.component.mjs +94 -0
  56. package/esm2022/base-prototype/pages/set-password/set-password.component.mjs +90 -0
  57. package/esm2022/shared/classes/auth.class.mjs +14 -0
  58. package/esm2022/shared/classes/basic-user.class.mjs +49 -0
  59. package/esm2022/shared/classes/graphql-enum.class.mjs +10 -0
  60. package/esm2022/shared/classes/graphql-meta.class.mjs +345 -0
  61. package/esm2022/shared/classes/graphql-type.class.mjs +14 -0
  62. package/esm2022/shared/classes/sort.class.mjs +38 -0
  63. package/esm2022/shared/services/auth.service.mjs +153 -0
  64. package/esm2022/shared/services/breadcrumb.service.mjs +70 -0
  65. package/{esm2020 → esm2022}/shared/services/cms.service.mjs +7 -5
  66. package/esm2022/shared/services/file.service.mjs +87 -0
  67. package/esm2022/shared/services/forms.service.mjs +62 -0
  68. package/esm2022/shared/services/graphql-meta.service.mjs +133 -0
  69. package/esm2022/shared/services/graphql-plus.service.mjs +94 -0
  70. package/esm2022/shared/services/graphql.service.mjs +511 -0
  71. package/esm2022/shared/services/image.service.mjs +103 -0
  72. package/esm2022/shared/services/loader.service.mjs +79 -0
  73. package/esm2022/shared/services/navigation.service.mjs +39 -0
  74. package/esm2022/shared/services/scroll.service.mjs +208 -0
  75. package/esm2022/shared/services/storage.service.mjs +142 -0
  76. package/esm2022/shared/services/toast.service.mjs +40 -0
  77. package/esm2022/shared/services/user.service.mjs +161 -0
  78. package/esm2022/shared/services/ws.service.mjs +18 -0
  79. package/esm2022/src/base.module.mjs +98 -0
  80. package/esm2022/src/directives/lazy-load.directive.mjs +48 -0
  81. package/esm2022/src/directives/match-height.directive.mjs +92 -0
  82. package/esm2022/src/directives/resizable.directive.mjs +92 -0
  83. package/esm2022/src/factories/apollo-options.factory.mjs +108 -0
  84. package/esm2022/src/functions/extract-files.function.mjs +87 -0
  85. package/esm2022/src/guards/auth.guard.mjs +84 -0
  86. package/esm2022/src/guards/can-deactivate.guard.mjs +17 -0
  87. package/esm2022/src/guards/logout.guard.mjs +35 -0
  88. package/esm2022/src/pipes/date-ago.pipe.mjs +64 -0
  89. package/esm2022/src/pipes/safe-html.pipe.mjs +23 -0
  90. package/esm2022/src/services/fullscreen.service.mjs +52 -0
  91. package/esm2022/src/services/seo.service.mjs +100 -0
  92. package/esm2022/src/services/theme.service.mjs +45 -0
  93. package/{fesm2020 → fesm2022}/lenne.tech-ng-base-base-cms.mjs +42 -30
  94. package/{fesm2020 → fesm2022}/lenne.tech-ng-base-base-cms.mjs.map +1 -1
  95. package/{fesm2020 → fesm2022}/lenne.tech-ng-base-base-components.mjs +467 -286
  96. package/fesm2022/lenne.tech-ng-base-base-components.mjs.map +1 -0
  97. package/{fesm2020 → fesm2022}/lenne.tech-ng-base-base-prototype.mjs +127 -87
  98. package/{fesm2015 → fesm2022}/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
  99. package/{fesm2020 → fesm2022}/lenne.tech-ng-base-shared.mjs +165 -113
  100. package/{fesm2020 → fesm2022}/lenne.tech-ng-base-shared.mjs.map +1 -1
  101. package/{fesm2020 → fesm2022}/lenne.tech-ng-base.mjs +113 -90
  102. package/fesm2022/lenne.tech-ng-base.mjs.map +1 -0
  103. package/package.json +27 -42
  104. package/src/directives/lazy-load.directive.d.ts +1 -1
  105. package/src/directives/match-height.directive.d.ts +1 -1
  106. package/src/directives/resizable.directive.d.ts +1 -1
  107. package/src/guards/auth.guard.d.ts +2 -2
  108. package/src/guards/can-deactivate.guard.d.ts +1 -2
  109. package/src/guards/logout.guard.d.ts +2 -2
  110. package/esm2020/base-cms/base-cms-routing.module.mjs +0 -32
  111. package/esm2020/base-cms/base-cms.module.mjs +0 -59
  112. package/esm2020/base-cms/pages/base-cms/base-cms.component.mjs +0 -222
  113. package/esm2020/base-components/base-components.module.mjs +0 -123
  114. package/esm2020/base-components/components/breadcrumb/breadcrumb.component.mjs +0 -18
  115. package/esm2020/base-components/components/change-password/change-password.component.mjs +0 -90
  116. package/esm2020/base-components/components/checkbox/checkbox.component.mjs +0 -31
  117. package/esm2020/base-components/components/delete-account/delete-account.component.mjs +0 -56
  118. package/esm2020/base-components/components/fab-button/fab-button.component.mjs +0 -21
  119. package/esm2020/base-components/components/input/input.component.mjs +0 -67
  120. package/esm2020/base-components/components/loading-bar/loading-bar.component.mjs +0 -35
  121. package/esm2020/base-components/components/model-form/model-form-base.component.mjs +0 -136
  122. package/esm2020/base-components/components/model-form/model-form.component.mjs +0 -564
  123. package/esm2020/base-components/components/model-form-sub/model-form-sub.component.mjs +0 -102
  124. package/esm2020/base-components/components/model-table/model-table.component.mjs +0 -397
  125. package/esm2020/base-components/components/refence-input/refence-input.component.mjs +0 -261
  126. package/esm2020/base-components/components/select/select.component.mjs +0 -54
  127. package/esm2020/base-components/components/skeleton-loader/skeleton-loader.component.mjs +0 -32
  128. package/esm2020/base-components/components/tags/tags.component.mjs +0 -218
  129. package/esm2020/base-components/components/textarea/textarea.component.mjs +0 -72
  130. package/esm2020/base-components/components/toast/toast.component.mjs +0 -68
  131. package/esm2020/base-components/components/upload-image/upload-image.component.mjs +0 -324
  132. package/esm2020/base-components/directives/back-button.directive.mjs +0 -23
  133. package/esm2020/base-components/directives/context-menu.directive.mjs +0 -108
  134. package/esm2020/base-components/directives/sort.directive.mjs +0 -54
  135. package/esm2020/base-components/directives/stop-propagation.directive.mjs +0 -23
  136. package/esm2020/base-components/pipes/ellipses.pipe.mjs +0 -22
  137. package/esm2020/base-prototype/base-prototype.module.mjs +0 -53
  138. package/esm2020/base-prototype/pages/email-verification/email-verification.component.mjs +0 -55
  139. package/esm2020/base-prototype/pages/forgot-password/forgot-password.component.mjs +0 -67
  140. package/esm2020/base-prototype/pages/login/login.component.mjs +0 -102
  141. package/esm2020/base-prototype/pages/profile/profile.component.mjs +0 -81
  142. package/esm2020/base-prototype/pages/register/register.component.mjs +0 -86
  143. package/esm2020/base-prototype/pages/set-password/set-password.component.mjs +0 -82
  144. package/esm2020/shared/classes/auth.class.mjs +0 -17
  145. package/esm2020/shared/classes/basic-user.class.mjs +0 -52
  146. package/esm2020/shared/classes/graphql-enum.class.mjs +0 -9
  147. package/esm2020/shared/classes/graphql-meta.class.mjs +0 -344
  148. package/esm2020/shared/classes/graphql-type.class.mjs +0 -17
  149. package/esm2020/shared/classes/sort.class.mjs +0 -40
  150. package/esm2020/shared/services/auth.service.mjs +0 -148
  151. package/esm2020/shared/services/breadcrumb.service.mjs +0 -68
  152. package/esm2020/shared/services/file.service.mjs +0 -84
  153. package/esm2020/shared/services/forms.service.mjs +0 -59
  154. package/esm2020/shared/services/graphql-meta.service.mjs +0 -123
  155. package/esm2020/shared/services/graphql-plus.service.mjs +0 -89
  156. package/esm2020/shared/services/graphql.service.mjs +0 -507
  157. package/esm2020/shared/services/image.service.mjs +0 -102
  158. package/esm2020/shared/services/loader.service.mjs +0 -79
  159. package/esm2020/shared/services/navigation.service.mjs +0 -36
  160. package/esm2020/shared/services/scroll.service.mjs +0 -179
  161. package/esm2020/shared/services/storage.service.mjs +0 -140
  162. package/esm2020/shared/services/toast.service.mjs +0 -41
  163. package/esm2020/shared/services/user.service.mjs +0 -155
  164. package/esm2020/shared/services/ws.service.mjs +0 -16
  165. package/esm2020/src/base.module.mjs +0 -97
  166. package/esm2020/src/directives/lazy-load.directive.mjs +0 -45
  167. package/esm2020/src/directives/match-height.directive.mjs +0 -84
  168. package/esm2020/src/directives/resizable.directive.mjs +0 -90
  169. package/esm2020/src/factories/apollo-options.factory.mjs +0 -106
  170. package/esm2020/src/functions/extract-files.function.mjs +0 -84
  171. package/esm2020/src/guards/auth.guard.mjs +0 -80
  172. package/esm2020/src/guards/can-deactivate.guard.mjs +0 -16
  173. package/esm2020/src/guards/logout.guard.mjs +0 -32
  174. package/esm2020/src/pipes/date-ago.pipe.mjs +0 -65
  175. package/esm2020/src/pipes/safe-html.pipe.mjs +0 -21
  176. package/esm2020/src/services/fullscreen.service.mjs +0 -51
  177. package/esm2020/src/services/seo.service.mjs +0 -97
  178. package/esm2020/src/services/theme.service.mjs +0 -43
  179. package/fesm2015/lenne.tech-ng-base-base-cms.mjs +0 -322
  180. package/fesm2015/lenne.tech-ng-base-base-cms.mjs.map +0 -1
  181. package/fesm2015/lenne.tech-ng-base-base-components.mjs +0 -2806
  182. package/fesm2015/lenne.tech-ng-base-base-components.mjs.map +0 -1
  183. package/fesm2015/lenne.tech-ng-base-base-prototype.mjs +0 -495
  184. package/fesm2015/lenne.tech-ng-base-shared.mjs +0 -2749
  185. package/fesm2015/lenne.tech-ng-base-shared.mjs.map +0 -1
  186. package/fesm2015/lenne.tech-ng-base.mjs +0 -902
  187. package/fesm2015/lenne.tech-ng-base.mjs.map +0 -1
  188. package/fesm2020/lenne.tech-ng-base-base-components.mjs.map +0 -1
  189. package/fesm2020/lenne.tech-ng-base-base-prototype.mjs.map +0 -1
  190. package/fesm2020/lenne.tech-ng-base.mjs.map +0 -1
  191. /package/{esm2020 → esm2022}/base-cms/interfaces/base-cms-module-config.interface.mjs +0 -0
  192. /package/{esm2020 → esm2022}/base-cms/lenne.tech-ng-base-base-cms.mjs +0 -0
  193. /package/{esm2020 → esm2022}/base-cms/public-api.mjs +0 -0
  194. /package/{esm2020 → esm2022}/base-components/lenne.tech-ng-base-base-components.mjs +0 -0
  195. /package/{esm2020 → esm2022}/base-components/public-api.mjs +0 -0
  196. /package/{esm2020 → esm2022}/base-prototype/lenne.tech-ng-base-base-prototype.mjs +0 -0
  197. /package/{esm2020 → esm2022}/base-prototype/public-api.mjs +0 -0
  198. /package/{esm2020 → esm2022}/lenne.tech-ng-base.mjs +0 -0
  199. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  200. /package/{esm2020 → esm2022}/shared/classes/helper.class.mjs +0 -0
  201. /package/{esm2020 → esm2022}/shared/classes/standard.class.mjs +0 -0
  202. /package/{esm2020 → esm2022}/shared/decorators/debounce.decorator.mjs +0 -0
  203. /package/{esm2020 → esm2022}/shared/enums/comparison-operator.enum.mjs +0 -0
  204. /package/{esm2020 → esm2022}/shared/enums/graphql-request-type.enum.mjs +0 -0
  205. /package/{esm2020 → esm2022}/shared/enums/logical-operator.enum.mjs +0 -0
  206. /package/{esm2020 → esm2022}/shared/enums/skeleton-type.enum.mjs +0 -0
  207. /package/{esm2020 → esm2022}/shared/enums/sort-order.enum.mjs +0 -0
  208. /package/{esm2020 → esm2022}/shared/enums/toast-type.enum.mjs +0 -0
  209. /package/{esm2020 → esm2022}/shared/functions/ws-client.function.mjs +0 -0
  210. /package/{esm2020 → esm2022}/shared/interfaces/base-module-config.interface.mjs +0 -0
  211. /package/{esm2020 → esm2022}/shared/interfaces/breadcrumb.interface.mjs +0 -0
  212. /package/{esm2020 → esm2022}/shared/interfaces/can-component-deactivate.interface.mjs +0 -0
  213. /package/{esm2020 → esm2022}/shared/interfaces/cms-enum-values.interface.mjs +0 -0
  214. /package/{esm2020 → esm2022}/shared/interfaces/cms-field-config.interface.mjs +0 -0
  215. /package/{esm2020 → esm2022}/shared/interfaces/cms-model-config.interface.mjs +0 -0
  216. /package/{esm2020 → esm2022}/shared/interfaces/cms-table-field.interface.mjs +0 -0
  217. /package/{esm2020 → esm2022}/shared/interfaces/combined-filter-input.interface.mjs +0 -0
  218. /package/{esm2020 → esm2022}/shared/interfaces/compress-options.interface.mjs +0 -0
  219. /package/{esm2020 → esm2022}/shared/interfaces/cropping-options.interface.mjs +0 -0
  220. /package/{esm2020 → esm2022}/shared/interfaces/field-object.interface.mjs +0 -0
  221. /package/{esm2020 → esm2022}/shared/interfaces/field.interface.mjs +0 -0
  222. /package/{esm2020 → esm2022}/shared/interfaces/filter-input.interface.mjs +0 -0
  223. /package/{esm2020 → esm2022}/shared/interfaces/find-args.interface.mjs +0 -0
  224. /package/{esm2020 → esm2022}/shared/interfaces/graphql-crud-type.interface.mjs +0 -0
  225. /package/{esm2020 → esm2022}/shared/interfaces/graphql-fields-object.interface.mjs +0 -0
  226. /package/{esm2020 → esm2022}/shared/interfaces/graphql-options.interface.mjs +0 -0
  227. /package/{esm2020 → esm2022}/shared/interfaces/graphql-plus-options.interfacen.mjs +0 -0
  228. /package/{esm2020 → esm2022}/shared/interfaces/graphql-type-collection.interface.mjs +0 -0
  229. /package/{esm2020 → esm2022}/shared/interfaces/login-config.interface.mjs +0 -0
  230. /package/{esm2020 → esm2022}/shared/interfaces/single-filter-input.interface.mjs +0 -0
  231. /package/{esm2020 → esm2022}/shared/interfaces/sort-input.interface.mjs +0 -0
  232. /package/{esm2020 → esm2022}/shared/interfaces/time-components.interface.mjs +0 -0
  233. /package/{esm2020 → esm2022}/shared/interfaces/toast.interface.mjs +0 -0
  234. /package/{esm2020 → esm2022}/shared/lenne.tech-ng-base-shared.mjs +0 -0
  235. /package/{esm2020 → esm2022}/shared/public-api.mjs +0 -0
  236. /package/{esm2020 → esm2022}/shared/types/graphql-fields.type.mjs +0 -0
  237. /package/{esm2020 → esm2022}/shared/types/storage.type.mjs +0 -0
  238. /package/{esm2020 → esm2022}/shared/validators/email.validator.mjs +0 -0
  239. /package/{esm2020 → esm2022}/shared/validators/match.validator.mjs +0 -0
  240. /package/{esm2020 → esm2022}/shared/validators/secure-password.validator.mjs +0 -0
  241. /package/{esm2020 → esm2022}/src/decorators/auto-unsubscribe.decorator.mjs +0 -0
@@ -0,0 +1,94 @@
1
+ import { Component } from '@angular/core';
2
+ import { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
3
+ import { fullEmail, securePasswordValidator, Validation } from '@lenne.tech/ng-base/shared';
4
+ import { Subscription } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@lenne.tech/ng-base/shared";
7
+ import * as i2 from "@angular/router";
8
+ import * as i3 from "@angular/forms";
9
+ import * as i4 from "@angular/common";
10
+ import * as i5 from "@lenne.tech/ng-base/base-components";
11
+ class RegisterComponent {
12
+ formsService;
13
+ userService;
14
+ router;
15
+ route;
16
+ form;
17
+ error;
18
+ loading;
19
+ redirectUrl = '';
20
+ subscription = new Subscription();
21
+ constructor(formsService, userService, router, route) {
22
+ this.formsService = formsService;
23
+ this.userService = userService;
24
+ this.router = router;
25
+ this.route = route;
26
+ }
27
+ ngOnInit() {
28
+ this.createForm();
29
+ this.subscription.add(this.route.queryParams.subscribe((params) => {
30
+ this.redirectUrl = params.redirectUrl;
31
+ }));
32
+ }
33
+ /**
34
+ * Create login form
35
+ */
36
+ createForm() {
37
+ this.form = new UntypedFormGroup({
38
+ firstName: new UntypedFormControl('', [Validators.required]),
39
+ lastName: new UntypedFormControl('', [Validators.required]),
40
+ email: new UntypedFormControl('', [Validators.required, fullEmail()]),
41
+ password: new UntypedFormControl('', [Validators.required, securePasswordValidator()]),
42
+ passwordConfirm: new UntypedFormControl('', [Validators.required, securePasswordValidator()]),
43
+ privacy: new UntypedFormControl(false, Validators.requiredTrue),
44
+ }, {
45
+ validators: [Validation.match('password', 'passwordConfirm')],
46
+ });
47
+ }
48
+ /**
49
+ * Submit login form
50
+ */
51
+ submit() {
52
+ this.error = '';
53
+ this.loading = true;
54
+ if (this.form.invalid) {
55
+ this.formsService.validateAllFormFields(this.form);
56
+ this.scrollToTop();
57
+ this.loading = false;
58
+ return;
59
+ }
60
+ const input = this.form.value;
61
+ delete input.privacy;
62
+ this.userService.register(input).subscribe({
63
+ next: (auth) => {
64
+ if (auth) {
65
+ this.router.navigate([this.redirectUrl ? this.redirectUrl : '/main']);
66
+ }
67
+ else {
68
+ this.error = 'Etwas ist schiefgelaufen. Bitte probiere es später erneut.';
69
+ this.scrollToTop();
70
+ }
71
+ this.loading = false;
72
+ },
73
+ error: (err) => {
74
+ if (err?.message?.includes('already exists')) {
75
+ this.error =
76
+ 'Mit dieser E-Mail gibt es bereits ein Konto. Bitte wähle eine andere E-Mail Adresse oder logge dich mit deinem Passwort ein.';
77
+ this.scrollToTop();
78
+ }
79
+ this.loading = false;
80
+ },
81
+ });
82
+ }
83
+ scrollToTop() {
84
+ window.scrollTo({ top: 0, behavior: 'smooth' });
85
+ }
86
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: RegisterComponent, deps: [{ token: i1.FormsService }, { token: i1.UserService }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
87
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: RegisterComponent, selector: "base-register", ngImport: i0, template: "<div class=\"d-flex justify-content-center align-items-center h-100 py-5\">\n <div class=\"d-flex flex-column register-container\">\n <div class=\"container\">\n <form [formGroup]=\"form\">\n <div id=\"register-error\" class=\"alert alert-danger\" role=\"alert\" *ngIf=\"error\">\n {{ error }}\n </div>\n <base-input\n [id]=\"'firstName'\"\n [name]=\"'firstName'\"\n [label]=\"'Vorname'\"\n [type]=\"'text'\"\n [control]=\"form.get('firstName')\"\n [autocomplete]=\"'given-name'\"\n ></base-input>\n <base-input\n [id]=\"'lastName'\"\n [name]=\"'lastName'\"\n [label]=\"'Nachname'\"\n [type]=\"'text'\"\n [control]=\"form.get('lastName')\"\n [autocomplete]=\"'family-name'\"\n ></base-input>\n <base-input\n [id]=\"'email'\"\n [name]=\"'email'\"\n [label]=\"'E-Mail Adresse'\"\n [type]=\"'email'\"\n [control]=\"form.get('email')\"\n [autocomplete]=\"'email'\"\n ></base-input>\n <base-input\n [id]=\"'password'\"\n [name]=\"'password'\"\n [label]=\"'Passwort'\"\n [type]=\"'password'\"\n [autocomplete]=\"'new-password'\"\n [eyeButton]=\"true\"\n [control]=\"form.get('password')\"\n ></base-input>\n <base-input\n [id]=\"'password-confirm'\"\n [name]=\"'password-confirm'\"\n [label]=\"'Passwort best\u00E4tigen'\"\n [autocomplete]=\"'new-password'\"\n [eyeButton]=\"true\"\n [type]=\"'password'\"\n [control]=\"form.get('passwordConfirm')\"\n ></base-input>\n <base-checkbox [id]=\"'privacy'\" [control]=\"form.get('privacy')\">\n Hiermit best\u00E4tige ich, dass ich die <a routerLink=\"/datenschutz\">Datenschutzerkl\u00E4rung</a> gelesen habe und\n akzeptiere.\n </base-checkbox>\n <div class=\"d-grid gap-2 text-center\">\n <button class=\"btn btn-primary\" (click)=\"submit()\" *ngIf=\"!loading\">Registrieren</button>\n <button class=\"btn btn-primary\" type=\"button\" disabled *ngIf=\"loading\">\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span>\n Loading...\n </button>\n <hr />\n <a routerLink=\"../login\" [queryParams]=\"{redirectUrl}\">Bereits ein Konto? Dann logge Dich hier ein!</a>\n </div>\n </form>\n </div>\n </div>\n</div>\n", styles: [".register-container{width:100%;padding:20px 0}@media (min-width: 768px){.register-container{max-width:400px}}\n"], dependencies: [{ kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.InputComponent, selector: "base-input", inputs: ["id", "name", "infoText", "label", "placeholder", "autocomplete", "tabIndex", "control", "type", "required", "eyeButton", "objectPath"], outputs: ["enter"] }, { kind: "component", type: i5.CheckboxComponent, selector: "base-checkbox", inputs: ["id", "name", "label", "value", "control", "required", "objectPath"] }] });
88
+ }
89
+ export { RegisterComponent };
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: RegisterComponent, decorators: [{
91
+ type: Component,
92
+ args: [{ selector: 'base-register', template: "<div class=\"d-flex justify-content-center align-items-center h-100 py-5\">\n <div class=\"d-flex flex-column register-container\">\n <div class=\"container\">\n <form [formGroup]=\"form\">\n <div id=\"register-error\" class=\"alert alert-danger\" role=\"alert\" *ngIf=\"error\">\n {{ error }}\n </div>\n <base-input\n [id]=\"'firstName'\"\n [name]=\"'firstName'\"\n [label]=\"'Vorname'\"\n [type]=\"'text'\"\n [control]=\"form.get('firstName')\"\n [autocomplete]=\"'given-name'\"\n ></base-input>\n <base-input\n [id]=\"'lastName'\"\n [name]=\"'lastName'\"\n [label]=\"'Nachname'\"\n [type]=\"'text'\"\n [control]=\"form.get('lastName')\"\n [autocomplete]=\"'family-name'\"\n ></base-input>\n <base-input\n [id]=\"'email'\"\n [name]=\"'email'\"\n [label]=\"'E-Mail Adresse'\"\n [type]=\"'email'\"\n [control]=\"form.get('email')\"\n [autocomplete]=\"'email'\"\n ></base-input>\n <base-input\n [id]=\"'password'\"\n [name]=\"'password'\"\n [label]=\"'Passwort'\"\n [type]=\"'password'\"\n [autocomplete]=\"'new-password'\"\n [eyeButton]=\"true\"\n [control]=\"form.get('password')\"\n ></base-input>\n <base-input\n [id]=\"'password-confirm'\"\n [name]=\"'password-confirm'\"\n [label]=\"'Passwort best\u00E4tigen'\"\n [autocomplete]=\"'new-password'\"\n [eyeButton]=\"true\"\n [type]=\"'password'\"\n [control]=\"form.get('passwordConfirm')\"\n ></base-input>\n <base-checkbox [id]=\"'privacy'\" [control]=\"form.get('privacy')\">\n Hiermit best\u00E4tige ich, dass ich die <a routerLink=\"/datenschutz\">Datenschutzerkl\u00E4rung</a> gelesen habe und\n akzeptiere.\n </base-checkbox>\n <div class=\"d-grid gap-2 text-center\">\n <button class=\"btn btn-primary\" (click)=\"submit()\" *ngIf=\"!loading\">Registrieren</button>\n <button class=\"btn btn-primary\" type=\"button\" disabled *ngIf=\"loading\">\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span>\n Loading...\n </button>\n <hr />\n <a routerLink=\"../login\" [queryParams]=\"{redirectUrl}\">Bereits ein Konto? Dann logge Dich hier ein!</a>\n </div>\n </form>\n </div>\n </div>\n</div>\n", styles: [".register-container{width:100%;padding:20px 0}@media (min-width: 768px){.register-container{max-width:400px}}\n"] }]
93
+ }], ctorParameters: function () { return [{ type: i1.FormsService }, { type: i1.UserService }, { type: i2.Router }, { type: i2.ActivatedRoute }]; } });
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9iYXNlLXByb3RvdHlwZS9wYWdlcy9yZWdpc3Rlci9yZWdpc3Rlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL2Jhc2UtcHJvdG90eXBlL3BhZ2VzL3JlZ2lzdGVyL3JlZ2lzdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLHVCQUF1QixFQUFlLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXZILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFFcEMsTUFLYSxpQkFBaUI7SUFRbEI7SUFDQTtJQUNBO0lBQ0E7SUFWVixJQUFJLENBQW1CO0lBQ3ZCLEtBQUssQ0FBUztJQUNkLE9BQU8sQ0FBVTtJQUNqQixXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRWxDLFlBQ1UsWUFBMEIsRUFDMUIsV0FBd0IsRUFDeEIsTUFBYyxFQUNkLEtBQXFCO1FBSHJCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtJQUM1QixDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGdCQUFnQixDQUM5QjtZQUNFLFNBQVMsRUFBRSxJQUFJLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1RCxRQUFRLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDM0QsS0FBSyxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLFFBQVEsRUFBRSxJQUFJLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO1lBQ3RGLGVBQWUsRUFBRSxJQUFJLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO1lBQzdGLE9BQU8sRUFBRSxJQUFJLGtCQUFrQixDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxDQUFDO1NBQ2hFLEVBQ0Q7WUFDRSxVQUFVLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1NBQzlELENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUVwQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNyQixPQUFPO1NBQ1I7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFFckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3pDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNiLElBQUksSUFBSSxFQUFFO29CQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztpQkFDdkU7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLEtBQUssR0FBRyw0REFBNEQsQ0FBQztvQkFDMUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2lCQUNwQjtnQkFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2IsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO29CQUM1QyxJQUFJLENBQUMsS0FBSzt3QkFDUiw4SEFBOEgsQ0FBQztvQkFDakksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2lCQUNwQjtnQkFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO3VHQXBGVSxpQkFBaUI7MkZBQWpCLGlCQUFpQixxRENYOUIsK2lGQWtFQTs7U0R2RGEsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3Jtc1NlcnZpY2UsIGZ1bGxFbWFpbCwgc2VjdXJlUGFzc3dvcmRWYWxpZGF0b3IsIFVzZXJTZXJ2aWNlLCBWYWxpZGF0aW9uIH0gZnJvbSAnQGxlbm5lLnRlY2gvbmctYmFzZS9zaGFyZWQnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFzZS1yZWdpc3RlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWdpc3Rlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlZ2lzdGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFJlZ2lzdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgZXJyb3I6IHN0cmluZztcbiAgbG9hZGluZzogYm9vbGVhbjtcbiAgcmVkaXJlY3RVcmwgPSAnJztcbiAgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZm9ybXNTZXJ2aWNlOiBGb3Jtc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XG4gICAgICAgIHRoaXMucmVkaXJlY3RVcmwgPSBwYXJhbXMucmVkaXJlY3RVcmw7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGxvZ2luIGZvcm1cbiAgICovXG4gIGNyZWF0ZUZvcm0oKSB7XG4gICAgdGhpcy5mb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoXG4gICAgICB7XG4gICAgICAgIGZpcnN0TmFtZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcbiAgICAgICAgbGFzdE5hbWU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXG4gICAgICAgIGVtYWlsOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgZnVsbEVtYWlsKCldKSxcbiAgICAgICAgcGFzc3dvcmQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBzZWN1cmVQYXNzd29yZFZhbGlkYXRvcigpXSksXG4gICAgICAgIHBhc3N3b3JkQ29uZmlybTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIHNlY3VyZVBhc3N3b3JkVmFsaWRhdG9yKCldKSxcbiAgICAgICAgcHJpdmFjeTogbmV3IFVudHlwZWRGb3JtQ29udHJvbChmYWxzZSwgVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRpb24ubWF0Y2goJ3Bhc3N3b3JkJywgJ3Bhc3N3b3JkQ29uZmlybScpXSxcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1Ym1pdCBsb2dpbiBmb3JtXG4gICAqL1xuICBzdWJtaXQoKSB7XG4gICAgdGhpcy5lcnJvciA9ICcnO1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG5cbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcbiAgICAgIHRoaXMuZm9ybXNTZXJ2aWNlLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyh0aGlzLmZvcm0pO1xuICAgICAgdGhpcy5zY3JvbGxUb1RvcCgpO1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmZvcm0udmFsdWU7XG4gICAgZGVsZXRlIGlucHV0LnByaXZhY3k7XG5cbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnJlZ2lzdGVyKGlucHV0KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGF1dGgpID0+IHtcbiAgICAgICAgaWYgKGF1dGgpIHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5yZWRpcmVjdFVybCA/IHRoaXMucmVkaXJlY3RVcmwgOiAnL21haW4nXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lcnJvciA9ICdFdHdhcyBpc3Qgc2NoaWVmZ2VsYXVmZW4uIEJpdHRlIHByb2JpZXJlIGVzIHNww6R0ZXIgZXJuZXV0Lic7XG4gICAgICAgICAgdGhpcy5zY3JvbGxUb1RvcCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgIGlmIChlcnI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCdhbHJlYWR5IGV4aXN0cycpKSB7XG4gICAgICAgICAgdGhpcy5lcnJvciA9XG4gICAgICAgICAgICAnTWl0IGRpZXNlciBFLU1haWwgZ2lidCBlcyBiZXJlaXRzIGVpbiBLb250by4gQml0dGUgd8OkaGxlIGVpbmUgYW5kZXJlIEUtTWFpbCBBZHJlc3NlIG9kZXIgbG9nZ2UgZGljaCBtaXQgZGVpbmVtIFBhc3N3b3J0IGVpbi4nO1xuICAgICAgICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHNjcm9sbFRvVG9wKCkge1xuICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGgtMTAwIHB5LTVcIj5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiByZWdpc3Rlci1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICAgICAgPGRpdiBpZD1cInJlZ2lzdGVyLWVycm9yXCIgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIiByb2xlPVwiYWxlcnRcIiAqbmdJZj1cImVycm9yXCI+XG4gICAgICAgICAge3sgZXJyb3IgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxiYXNlLWlucHV0XG4gICAgICAgICAgW2lkXT1cIidmaXJzdE5hbWUnXCJcbiAgICAgICAgICBbbmFtZV09XCInZmlyc3ROYW1lJ1wiXG4gICAgICAgICAgW2xhYmVsXT1cIidWb3JuYW1lJ1wiXG4gICAgICAgICAgW3R5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICBbY29udHJvbF09XCJmb3JtLmdldCgnZmlyc3ROYW1lJylcIlxuICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiJ2dpdmVuLW5hbWUnXCJcbiAgICAgICAgPjwvYmFzZS1pbnB1dD5cbiAgICAgICAgPGJhc2UtaW5wdXRcbiAgICAgICAgICBbaWRdPVwiJ2xhc3ROYW1lJ1wiXG4gICAgICAgICAgW25hbWVdPVwiJ2xhc3ROYW1lJ1wiXG4gICAgICAgICAgW2xhYmVsXT1cIidOYWNobmFtZSdcIlxuICAgICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgW2NvbnRyb2xdPVwiZm9ybS5nZXQoJ2xhc3ROYW1lJylcIlxuICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiJ2ZhbWlseS1uYW1lJ1wiXG4gICAgICAgID48L2Jhc2UtaW5wdXQ+XG4gICAgICAgIDxiYXNlLWlucHV0XG4gICAgICAgICAgW2lkXT1cIidlbWFpbCdcIlxuICAgICAgICAgIFtuYW1lXT1cIidlbWFpbCdcIlxuICAgICAgICAgIFtsYWJlbF09XCInRS1NYWlsIEFkcmVzc2UnXCJcbiAgICAgICAgICBbdHlwZV09XCInZW1haWwnXCJcbiAgICAgICAgICBbY29udHJvbF09XCJmb3JtLmdldCgnZW1haWwnKVwiXG4gICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCInZW1haWwnXCJcbiAgICAgICAgPjwvYmFzZS1pbnB1dD5cbiAgICAgICAgPGJhc2UtaW5wdXRcbiAgICAgICAgICBbaWRdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgW25hbWVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgW2xhYmVsXT1cIidQYXNzd29ydCdcIlxuICAgICAgICAgIFt0eXBlXT1cIidwYXNzd29yZCdcIlxuICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiJ25ldy1wYXNzd29yZCdcIlxuICAgICAgICAgIFtleWVCdXR0b25dPVwidHJ1ZVwiXG4gICAgICAgICAgW2NvbnRyb2xdPVwiZm9ybS5nZXQoJ3Bhc3N3b3JkJylcIlxuICAgICAgICA+PC9iYXNlLWlucHV0PlxuICAgICAgICA8YmFzZS1pbnB1dFxuICAgICAgICAgIFtpZF09XCIncGFzc3dvcmQtY29uZmlybSdcIlxuICAgICAgICAgIFtuYW1lXT1cIidwYXNzd29yZC1jb25maXJtJ1wiXG4gICAgICAgICAgW2xhYmVsXT1cIidQYXNzd29ydCBiZXN0w6R0aWdlbidcIlxuICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiJ25ldy1wYXNzd29yZCdcIlxuICAgICAgICAgIFtleWVCdXR0b25dPVwidHJ1ZVwiXG4gICAgICAgICAgW3R5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgW2NvbnRyb2xdPVwiZm9ybS5nZXQoJ3Bhc3N3b3JkQ29uZmlybScpXCJcbiAgICAgICAgPjwvYmFzZS1pbnB1dD5cbiAgICAgICAgPGJhc2UtY2hlY2tib3ggW2lkXT1cIidwcml2YWN5J1wiIFtjb250cm9sXT1cImZvcm0uZ2V0KCdwcml2YWN5JylcIj5cbiAgICAgICAgICBIaWVybWl0IGJlc3TDpHRpZ2UgaWNoLCBkYXNzIGljaCBkaWUgPGEgcm91dGVyTGluaz1cIi9kYXRlbnNjaHV0elwiPkRhdGVuc2NodXR6ZXJrbMOkcnVuZzwvYT4gZ2VsZXNlbiBoYWJlIHVuZFxuICAgICAgICAgIGFremVwdGllcmUuXG4gICAgICAgIDwvYmFzZS1jaGVja2JveD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZ3JpZCBnYXAtMiB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwic3VibWl0KClcIiAqbmdJZj1cIiFsb2FkaW5nXCI+UmVnaXN0cmllcmVuPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIHR5cGU9XCJidXR0b25cIiBkaXNhYmxlZCAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Bpbm5lci1ib3JkZXIgc3Bpbm5lci1ib3JkZXItc21cIiByb2xlPVwic3RhdHVzXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9zcGFuPlxuICAgICAgICAgICAgTG9hZGluZy4uLlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxociAvPlxuICAgICAgICAgIDxhIHJvdXRlckxpbms9XCIuLi9sb2dpblwiIFtxdWVyeVBhcmFtc109XCJ7cmVkaXJlY3RVcmx9XCI+QmVyZWl0cyBlaW4gS29udG8/IERhbm4gbG9nZ2UgRGljaCBoaWVyIGVpbiE8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9mb3JtPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,90 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { FormControl, UntypedFormGroup, Validators } from '@angular/forms';
3
+ import { securePasswordValidator, ToastType, Validation, } from '@lenne.tech/ng-base/shared';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@lenne.tech/ng-base/shared";
6
+ import * as i2 from "@angular/router";
7
+ import * as i3 from "@angular/forms";
8
+ import * as i4 from "@angular/common";
9
+ import * as i5 from "@lenne.tech/ng-base/base-components";
10
+ class SetPasswordComponent {
11
+ formsService;
12
+ userService;
13
+ toastService;
14
+ route;
15
+ router;
16
+ redirectUrl = '/';
17
+ form;
18
+ loading = false;
19
+ token;
20
+ error = '';
21
+ constructor(formsService, userService, toastService, route, router) {
22
+ this.formsService = formsService;
23
+ this.userService = userService;
24
+ this.toastService = toastService;
25
+ this.route = route;
26
+ this.router = router;
27
+ }
28
+ ngOnInit() {
29
+ this.token = this.route.snapshot.params?.token;
30
+ if (!this.token) {
31
+ this.error =
32
+ 'Der Link ist abgelaufen oder ungültig, bitte probiere es später erneut oder wende Dich an den Support.';
33
+ }
34
+ this.createForm();
35
+ }
36
+ /**
37
+ * Create password change form
38
+ */
39
+ createForm() {
40
+ this.form = new UntypedFormGroup({
41
+ password: new FormControl('', [Validators.required, securePasswordValidator()]),
42
+ passwordConfirm: new FormControl('', [Validators.required, securePasswordValidator()]),
43
+ }, { validators: Validation.match('password', 'passwordConfirm') });
44
+ }
45
+ /**
46
+ * Submit form and change password of user
47
+ */
48
+ submit() {
49
+ this.loading = true;
50
+ if (this.form.invalid) {
51
+ this.formsService.validateAllFormFields(this.form);
52
+ this.loading = false;
53
+ return;
54
+ }
55
+ this.userService.resetPassword(this.token, this.form.get('password').value).subscribe({
56
+ next: (response) => {
57
+ if (response) {
58
+ this.form.reset();
59
+ this.toastService.show({
60
+ id: 'set-password-success',
61
+ title: 'Erfolgreich',
62
+ description: 'Passwort wurde erfolgreich gesetzt. Du kannst Dich nun einloggen.',
63
+ type: ToastType.SUCCESS,
64
+ });
65
+ }
66
+ this.router.navigate([this.redirectUrl]);
67
+ this.loading = false;
68
+ },
69
+ error: (error) => {
70
+ this.loading = false;
71
+ this.toastService.show({
72
+ id: 'set-password-error',
73
+ title: 'Fehlgeschlagen',
74
+ description: 'Passwort setzen ist fehlgeschlagen, bitte versuche es später erneut.',
75
+ type: ToastType.ERROR,
76
+ });
77
+ },
78
+ });
79
+ }
80
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SetPasswordComponent, deps: [{ token: i1.FormsService }, { token: i1.UserService }, { token: i1.ToastService }, { token: i2.ActivatedRoute }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
81
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SetPasswordComponent, selector: "base-set-password", inputs: { redirectUrl: "redirectUrl" }, ngImport: i0, template: "<div class=\"d-flex justify-content-center align-items-center h-100 py-5\">\n <div class=\"d-flex flex-column set-password-container\">\n <div class=\"container\">\n <form [formGroup]=\"form\">\n <div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"error\">\n {{ error }}\n </div>\n <base-input\n [id]=\"'password'\"\n [label]=\"'Passwort'\"\n [required]=\"true\"\n [type]=\"'password'\"\n [control]=\"form.get('password')\"\n [tabIndex]=\"1\"\n [eyeButton]=\"true\"\n ></base-input>\n <base-input\n [id]=\"'password-confirm'\"\n [label]=\"'Passwort best\u00E4tigen'\"\n [required]=\"true\"\n [type]=\"'password'\"\n [control]=\"form.get('passwordConfirm')\"\n [tabIndex]=\"2\"\n [eyeButton]=\"true\"\n ></base-input>\n\n <div class=\"d-grid gap-2 text-center\">\n <button class=\"btn btn-primary\" (click)=\"submit()\" *ngIf=\"!loading\">Passwort setzen</button>\n <button class=\"btn btn-primary\" type=\"button\" disabled *ngIf=\"loading\">\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span>\n Loading...\n </button>\n </div>\n </form>\n </div>\n </div>\n</div>\n", styles: [".set-password-container{width:100%;padding:20px 0}@media (min-width: 768px){.set-password-container{max-width:400px}}\n"], dependencies: [{ kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.InputComponent, selector: "base-input", inputs: ["id", "name", "infoText", "label", "placeholder", "autocomplete", "tabIndex", "control", "type", "required", "eyeButton", "objectPath"], outputs: ["enter"] }] });
82
+ }
83
+ export { SetPasswordComponent };
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SetPasswordComponent, decorators: [{
85
+ type: Component,
86
+ args: [{ selector: 'base-set-password', template: "<div class=\"d-flex justify-content-center align-items-center h-100 py-5\">\n <div class=\"d-flex flex-column set-password-container\">\n <div class=\"container\">\n <form [formGroup]=\"form\">\n <div class=\"alert alert-danger\" role=\"alert\" *ngIf=\"error\">\n {{ error }}\n </div>\n <base-input\n [id]=\"'password'\"\n [label]=\"'Passwort'\"\n [required]=\"true\"\n [type]=\"'password'\"\n [control]=\"form.get('password')\"\n [tabIndex]=\"1\"\n [eyeButton]=\"true\"\n ></base-input>\n <base-input\n [id]=\"'password-confirm'\"\n [label]=\"'Passwort best\u00E4tigen'\"\n [required]=\"true\"\n [type]=\"'password'\"\n [control]=\"form.get('passwordConfirm')\"\n [tabIndex]=\"2\"\n [eyeButton]=\"true\"\n ></base-input>\n\n <div class=\"d-grid gap-2 text-center\">\n <button class=\"btn btn-primary\" (click)=\"submit()\" *ngIf=\"!loading\">Passwort setzen</button>\n <button class=\"btn btn-primary\" type=\"button\" disabled *ngIf=\"loading\">\n <span class=\"spinner-border spinner-border-sm\" role=\"status\" aria-hidden=\"true\"></span>\n Loading...\n </button>\n </div>\n </form>\n </div>\n </div>\n</div>\n", styles: [".set-password-container{width:100%;padding:20px 0}@media (min-width: 768px){.set-password-container{max-width:400px}}\n"] }]
87
+ }], ctorParameters: function () { return [{ type: i1.FormsService }, { type: i1.UserService }, { type: i1.ToastService }, { type: i2.ActivatedRoute }, { type: i2.Router }]; }, propDecorators: { redirectUrl: [{
88
+ type: Input
89
+ }] } });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LXBhc3N3b3JkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2UvYmFzZS1wcm90b3R5cGUvcGFnZXMvc2V0LXBhc3N3b3JkL3NldC1wYXNzd29yZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL2Jhc2UtcHJvdG90eXBlL3BhZ2VzL3NldC1wYXNzd29yZC9zZXQtcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBYSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxVQUFVLEdBQ1gsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7OztBQUdwQyxNQUthLG9CQUFvQjtJQVFyQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBWEQsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUMzQixJQUFJLENBQVk7SUFDaEIsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixLQUFLLENBQVM7SUFDZCxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBRVgsWUFDVSxZQUEwQixFQUMxQixXQUF3QixFQUN4QixZQUEwQixFQUMxQixLQUFxQixFQUNyQixNQUFjO1FBSmQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNyQixDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztRQUUvQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLO2dCQUNSLHdHQUF3RyxDQUFDO1NBQzVHO1FBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksZ0JBQWdCLENBQzlCO1lBQ0UsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFTLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZGLGVBQWUsRUFBRSxJQUFJLFdBQVcsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLHVCQUF1QixFQUFFLENBQUMsQ0FBQztTQUMvRixFQUNELEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLEVBQUUsQ0FDaEUsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUVwQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3BGLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLFFBQVEsRUFBRTtvQkFDWixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQzt3QkFDckIsRUFBRSxFQUFFLHNCQUFzQjt3QkFDMUIsS0FBSyxFQUFFLGFBQWE7d0JBQ3BCLFdBQVcsRUFBRSxtRUFBbUU7d0JBQ2hGLElBQUksRUFBRSxTQUFTLENBQUMsT0FBTztxQkFDeEIsQ0FBQyxDQUFDO2lCQUNKO2dCQUVELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDZixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7b0JBQ3JCLEVBQUUsRUFBRSxvQkFBb0I7b0JBQ3hCLEtBQUssRUFBRSxnQkFBZ0I7b0JBQ3ZCLFdBQVcsRUFBRSxzRUFBc0U7b0JBQ25GLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSztpQkFDdEIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBNUVVLG9CQUFvQjsyRkFBcEIsb0JBQW9CLGlHQ2pCakMsKzFDQXFDQTs7U0RwQmEsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsbUJBQW1COzBNQUtwQixXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgRm9ybXNTZXJ2aWNlLFxuICBzZWN1cmVQYXNzd29yZFZhbGlkYXRvcixcbiAgVG9hc3RTZXJ2aWNlLFxuICBUb2FzdFR5cGUsXG4gIFVzZXJTZXJ2aWNlLFxuICBWYWxpZGF0aW9uLFxufSBmcm9tICdAbGVubmUudGVjaC9uZy1iYXNlL3NoYXJlZCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFzZS1zZXQtcGFzc3dvcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2V0LXBhc3N3b3JkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2V0LXBhc3N3b3JkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNldFBhc3N3b3JkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcmVkaXJlY3RVcmwgPSAnLyc7XG4gIGZvcm06IEZvcm1Hcm91cDtcbiAgbG9hZGluZyA9IGZhbHNlO1xuICB0b2tlbjogc3RyaW5nO1xuICBlcnJvciA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZm9ybXNTZXJ2aWNlOiBGb3Jtc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRva2VuID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXM/LnRva2VuO1xuXG4gICAgaWYgKCF0aGlzLnRva2VuKSB7XG4gICAgICB0aGlzLmVycm9yID1cbiAgICAgICAgJ0RlciBMaW5rIGlzdCBhYmdlbGF1ZmVuIG9kZXIgdW5nw7xsdGlnLCBiaXR0ZSBwcm9iaWVyZSBlcyBzcMOkdGVyIGVybmV1dCBvZGVyIHdlbmRlIERpY2ggYW4gZGVuIFN1cHBvcnQuJztcbiAgICB9XG5cbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgcGFzc3dvcmQgY2hhbmdlIGZvcm1cbiAgICovXG4gIGNyZWF0ZUZvcm0oKSB7XG4gICAgdGhpcy5mb3JtID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoXG4gICAgICB7XG4gICAgICAgIHBhc3N3b3JkOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIHNlY3VyZVBhc3N3b3JkVmFsaWRhdG9yKCldKSxcbiAgICAgICAgcGFzc3dvcmRDb25maXJtOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIHNlY3VyZVBhc3N3b3JkVmFsaWRhdG9yKCldKSxcbiAgICAgIH0sXG4gICAgICB7IHZhbGlkYXRvcnM6IFZhbGlkYXRpb24ubWF0Y2goJ3Bhc3N3b3JkJywgJ3Bhc3N3b3JkQ29uZmlybScpIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1Ym1pdCBmb3JtIGFuZCBjaGFuZ2UgcGFzc3dvcmQgb2YgdXNlclxuICAgKi9cbiAgc3VibWl0KCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG5cbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcbiAgICAgIHRoaXMuZm9ybXNTZXJ2aWNlLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyh0aGlzLmZvcm0pO1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy51c2VyU2VydmljZS5yZXNldFBhc3N3b3JkKHRoaXMudG9rZW4sIHRoaXMuZm9ybS5nZXQoJ3Bhc3N3b3JkJykudmFsdWUpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKHJlc3BvbnNlKSB7XG4gICAgICAgICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7XG4gICAgICAgICAgICBpZDogJ3NldC1wYXNzd29yZC1zdWNjZXNzJyxcbiAgICAgICAgICAgIHRpdGxlOiAnRXJmb2xncmVpY2gnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdQYXNzd29ydCB3dXJkZSBlcmZvbGdyZWljaCBnZXNldHp0LiBEdSBrYW5uc3QgRGljaCBudW4gZWlubG9nZ2VuLicsXG4gICAgICAgICAgICB0eXBlOiBUb2FzdFR5cGUuU1VDQ0VTUyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLnJlZGlyZWN0VXJsXSk7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLnNob3coe1xuICAgICAgICAgIGlkOiAnc2V0LXBhc3N3b3JkLWVycm9yJyxcbiAgICAgICAgICB0aXRsZTogJ0ZlaGxnZXNjaGxhZ2VuJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1Bhc3N3b3J0IHNldHplbiBpc3QgZmVobGdlc2NobGFnZW4sIGJpdHRlIHZlcnN1Y2hlIGVzIHNww6R0ZXIgZXJuZXV0LicsXG4gICAgICAgICAgdHlwZTogVG9hc3RUeXBlLkVSUk9SLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgaC0xMDAgcHktNVwiPlxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIHNldC1wYXNzd29yZC1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGFsZXJ0LWRhbmdlclwiIHJvbGU9XCJhbGVydFwiICpuZ0lmPVwiZXJyb3JcIj5cbiAgICAgICAgICB7eyBlcnJvciB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJhc2UtaW5wdXRcbiAgICAgICAgICBbaWRdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgW2xhYmVsXT1cIidQYXNzd29ydCdcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICBbdHlwZV09XCIncGFzc3dvcmQnXCJcbiAgICAgICAgICBbY29udHJvbF09XCJmb3JtLmdldCgncGFzc3dvcmQnKVwiXG4gICAgICAgICAgW3RhYkluZGV4XT1cIjFcIlxuICAgICAgICAgIFtleWVCdXR0b25dPVwidHJ1ZVwiXG4gICAgICAgID48L2Jhc2UtaW5wdXQ+XG4gICAgICAgIDxiYXNlLWlucHV0XG4gICAgICAgICAgW2lkXT1cIidwYXNzd29yZC1jb25maXJtJ1wiXG4gICAgICAgICAgW2xhYmVsXT1cIidQYXNzd29ydCBiZXN0w6R0aWdlbidcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICBbdHlwZV09XCIncGFzc3dvcmQnXCJcbiAgICAgICAgICBbY29udHJvbF09XCJmb3JtLmdldCgncGFzc3dvcmRDb25maXJtJylcIlxuICAgICAgICAgIFt0YWJJbmRleF09XCIyXCJcbiAgICAgICAgICBbZXllQnV0dG9uXT1cInRydWVcIlxuICAgICAgICA+PC9iYXNlLWlucHV0PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWdyaWQgZ2FwLTIgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cInN1Ym1pdCgpXCIgKm5nSWY9XCIhbG9hZGluZ1wiPlBhc3N3b3J0IHNldHplbjwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiB0eXBlPVwiYnV0dG9uXCIgZGlzYWJsZWQgKm5nSWY9XCJsb2FkaW5nXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNwaW5uZXItYm9yZGVyIHNwaW5uZXItYm9yZGVyLXNtXCIgcm9sZT1cInN0YXR1c1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIExvYWRpbmcuLi5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Zvcm0+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { BasicUser } from './basic-user.class';
2
+ import { Helper } from './helper.class';
3
+ import { Standard } from './standard.class';
4
+ export class Auth extends Standard {
5
+ refreshToken = undefined;
6
+ token = undefined;
7
+ user = undefined;
8
+ map(data) {
9
+ Helper.map(data, this);
10
+ this.user = data?.user ? BasicUser.map(data.user) : this.user;
11
+ return this;
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2NsYXNzZXMvYXV0aC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxNQUFNLE9BQU8sSUFBSyxTQUFRLFFBQVE7SUFDaEMsWUFBWSxHQUFXLFNBQVMsQ0FBQztJQUNqQyxLQUFLLEdBQVcsU0FBUyxDQUFDO0lBQzFCLElBQUksR0FBYyxTQUFTLENBQUM7SUFFckIsR0FBRyxDQUFDLElBQTRDO1FBQ3JELE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDOUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNpY1VzZXIgfSBmcm9tICcuL2Jhc2ljLXVzZXIuY2xhc3MnO1xuaW1wb3J0IHsgSGVscGVyIH0gZnJvbSAnLi9oZWxwZXIuY2xhc3MnO1xuaW1wb3J0IHsgU3RhbmRhcmQgfSBmcm9tICcuL3N0YW5kYXJkLmNsYXNzJztcblxuZXhwb3J0IGNsYXNzIEF1dGggZXh0ZW5kcyBTdGFuZGFyZCB7XG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nID0gdW5kZWZpbmVkO1xuICB0b2tlbjogc3RyaW5nID0gdW5kZWZpbmVkO1xuICB1c2VyOiBCYXNpY1VzZXIgPSB1bmRlZmluZWQ7XG5cbiAgcHVibGljIG1hcChkYXRhOiBQYXJ0aWFsPHRoaXM+IHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHRoaXMge1xuICAgIEhlbHBlci5tYXAoZGF0YSwgdGhpcyk7XG4gICAgdGhpcy51c2VyID0gZGF0YT8udXNlciA/IEJhc2ljVXNlci5tYXAoZGF0YS51c2VyKSA6IHRoaXMudXNlcjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl19
@@ -0,0 +1,49 @@
1
+ import { Standard } from './standard.class';
2
+ import { Helper } from './helper.class';
3
+ /**
4
+ * User class
5
+ */
6
+ export class BasicUser extends Standard {
7
+ id = undefined;
8
+ email = undefined;
9
+ avatar = undefined;
10
+ firstName = undefined;
11
+ lastName = undefined;
12
+ roles = [];
13
+ username = undefined;
14
+ // ===================================================================================================================
15
+ // Methods
16
+ // ===================================================================================================================
17
+ /**
18
+ * Mapping
19
+ */
20
+ map(data) {
21
+ Helper.map(data, this);
22
+ return this;
23
+ }
24
+ /**
25
+ * Checks whether the user has at least one of the required roles
26
+ */
27
+ hasRole(roles) {
28
+ if (typeof roles === 'string') {
29
+ roles = [roles];
30
+ }
31
+ if (!this.roles || this.roles.length < 1) {
32
+ return false;
33
+ }
34
+ return !roles || roles.length < 1 ? true : this.roles.some((role) => roles.includes(role));
35
+ }
36
+ /**
37
+ * Checks whether the user has all required roles
38
+ */
39
+ hasAllRoles(roles) {
40
+ if (typeof roles === 'string') {
41
+ roles = [roles];
42
+ }
43
+ if (!this.roles || this.roles.length < 1) {
44
+ return false;
45
+ }
46
+ return !roles ? true : roles.every((role) => this.roles.includes(role));
47
+ }
48
+ }
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtdXNlci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2NsYXNzZXMvYmFzaWMtdXNlci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFNBQVUsU0FBUSxRQUFRO0lBQ3JDLEVBQUUsR0FBVyxTQUFTLENBQUM7SUFDdkIsS0FBSyxHQUFXLFNBQVMsQ0FBQztJQUMxQixNQUFNLEdBQVksU0FBUyxDQUFDO0lBQzVCLFNBQVMsR0FBVyxTQUFTLENBQUM7SUFDOUIsUUFBUSxHQUFXLFNBQVMsQ0FBQztJQUM3QixLQUFLLEdBQWEsRUFBRSxDQUFDO0lBQ3JCLFFBQVEsR0FBVyxTQUFTLENBQUM7SUFFN0Isc0hBQXNIO0lBQ3RILFVBQVU7SUFDVixzSEFBc0g7SUFFdEg7O09BRUc7SUFDSSxHQUFHLENBQUMsSUFBNEM7UUFDckQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxPQUFPLENBQUMsS0FBd0I7UUFDckMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakI7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDeEMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXLENBQUMsS0FBd0I7UUFDekMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDakI7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDeEMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFuZGFyZCB9IGZyb20gJy4vc3RhbmRhcmQuY2xhc3MnO1xuaW1wb3J0IHsgSGVscGVyIH0gZnJvbSAnLi9oZWxwZXIuY2xhc3MnO1xuXG4vKipcbiAqIFVzZXIgY2xhc3NcbiAqL1xuZXhwb3J0IGNsYXNzIEJhc2ljVXNlciBleHRlbmRzIFN0YW5kYXJkIHtcbiAgaWQ6IHN0cmluZyA9IHVuZGVmaW5lZDtcbiAgZW1haWw6IHN0cmluZyA9IHVuZGVmaW5lZDtcbiAgYXZhdGFyPzogc3RyaW5nID0gdW5kZWZpbmVkO1xuICBmaXJzdE5hbWU6IHN0cmluZyA9IHVuZGVmaW5lZDtcbiAgbGFzdE5hbWU6IHN0cmluZyA9IHVuZGVmaW5lZDtcbiAgcm9sZXM6IHN0cmluZ1tdID0gW107XG4gIHVzZXJuYW1lOiBzdHJpbmcgPSB1bmRlZmluZWQ7XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBNZXRob2RzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogTWFwcGluZ1xuICAgKi9cbiAgcHVibGljIG1hcChkYXRhOiBQYXJ0aWFsPHRoaXM+IHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHRoaXMge1xuICAgIEhlbHBlci5tYXAoZGF0YSwgdGhpcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIHVzZXIgaGFzIGF0IGxlYXN0IG9uZSBvZiB0aGUgcmVxdWlyZWQgcm9sZXNcbiAgICovXG4gIHB1YmxpYyBoYXNSb2xlKHJvbGVzOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIGlmICh0eXBlb2Ygcm9sZXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICByb2xlcyA9IFtyb2xlc107XG4gICAgfVxuICAgIGlmICghdGhpcy5yb2xlcyB8fCB0aGlzLnJvbGVzLmxlbmd0aCA8IDEpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuICFyb2xlcyB8fCByb2xlcy5sZW5ndGggPCAxID8gdHJ1ZSA6IHRoaXMucm9sZXMuc29tZSgocm9sZSkgPT4gcm9sZXMuaW5jbHVkZXMocm9sZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSB1c2VyIGhhcyBhbGwgcmVxdWlyZWQgcm9sZXNcbiAgICovXG4gIHB1YmxpYyBoYXNBbGxSb2xlcyhyb2xlczogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICBpZiAodHlwZW9mIHJvbGVzID09PSAnc3RyaW5nJykge1xuICAgICAgcm9sZXMgPSBbcm9sZXNdO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucm9sZXMgfHwgdGhpcy5yb2xlcy5sZW5ndGggPCAxKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiAhcm9sZXMgPyB0cnVlIDogcm9sZXMuZXZlcnkoKHJvbGUpID0+IHRoaXMucm9sZXMuaW5jbHVkZXMocm9sZSkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ /**
2
+ * GraphQL enum
3
+ */
4
+ export class GraphQLEnum {
5
+ value;
6
+ constructor(value) {
7
+ this.value = value;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1lbnVtLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvY2xhc3Nlcy9ncmFwaHFsLWVudW0uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQUN0QixLQUFLLENBQVM7SUFFZCxZQUFZLEtBQUs7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdyYXBoUUwgZW51bVxuICovXG5leHBvcnQgY2xhc3MgR3JhcGhRTEVudW0ge1xuICB2YWx1ZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHZhbHVlKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG59XG4iXX0=