@cleavelandprice/ngx-lib 3.14.6 → 4.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 (283) hide show
  1. package/README.md +5 -5
  2. package/active-directory/{public_api.d.ts → active-directory.api.d.ts} +2 -4
  3. package/active-directory/active-directory.module.d.ts +2 -2
  4. package/active-directory/index.d.ts +1 -1
  5. package/active-directory/{gui → material}/components/user-chooser/user-chooser.component.d.ts +11 -31
  6. package/active-directory/{gui → material}/components/user-form-field/user-form-field.component.d.ts +5 -8
  7. package/active-directory/{gui → material}/index.d.ts +2 -2
  8. package/active-directory/{gui/public_api.d.ts → material/mat-active-directory.api.d.ts} +1 -1
  9. package/active-directory/material/mat-active-directory.module.d.ts +25 -0
  10. package/active-directory/model/active-directory-service-options.d.ts +7 -0
  11. package/active-directory/services/active-directory.service.d.ts +7 -7
  12. package/authentication/{public_api.d.ts → authentication.api.d.ts} +1 -1
  13. package/authentication/authentication.base.module.d.ts +5 -1
  14. package/authentication/index.d.ts +1 -1
  15. package/authentication/{token/gui → material}/components/login/login.component.d.ts +6 -4
  16. package/authentication/{token/gui → material}/components/login-form/login-form.component.d.ts +9 -10
  17. package/authentication/material/index.d.ts +5 -0
  18. package/authentication/material/mat-authentication.api.d.ts +6 -0
  19. package/authentication/material/mat-authentication.module.d.ts +21 -0
  20. package/authentication/material/model/mat-authentication-service-options.d.ts +6 -0
  21. package/authentication/material/services/mat-authentication.service.d.ts +11 -0
  22. package/authentication/model/abstract-authentication-service.d.ts +4 -4
  23. package/authentication/model/authentication-service-options.d.ts +8 -0
  24. package/authentication/object/authentication-object.api.d.ts +2 -0
  25. package/authentication/object/authentication-object.module.d.ts +11 -0
  26. package/authentication/object/index.d.ts +1 -1
  27. package/authentication/object/services/authentication-object.service.d.ts +23 -0
  28. package/authentication/token/authentication-token.api.d.ts +4 -0
  29. package/authentication/token/authetiction-token.module.d.ts +11 -0
  30. package/authentication/token/index.d.ts +1 -1
  31. package/authentication/token/model/authentication-token-service-options.d.ts +6 -0
  32. package/authentication/token/services/authentication-token.service.d.ts +23 -0
  33. package/dialog/components/base/base.component.d.ts +3 -3
  34. package/dialog/components/choice/choice.component.d.ts +5 -3
  35. package/dialog/components/confirmation/confirmation.component.d.ts +5 -3
  36. package/dialog/components/input/input.component.d.ts +5 -3
  37. package/dialog/components/message/message.component.d.ts +5 -3
  38. package/dialog/dialog.module.d.ts +13 -13
  39. package/dialog/index.d.ts +1 -1
  40. package/esm2022/active-directory/active-directory.api.mjs +12 -0
  41. package/esm2022/active-directory/active-directory.module.mjs +20 -10
  42. package/esm2022/active-directory/cleavelandprice-ngx-lib-active-directory.mjs +2 -2
  43. package/esm2022/active-directory/material/cleavelandprice-ngx-lib-active-directory-material.mjs +5 -0
  44. package/esm2022/active-directory/material/components/user-chooser/user-chooser.component.mjs +406 -0
  45. package/esm2022/active-directory/material/components/user-form-field/user-form-field.component.mjs +136 -0
  46. package/esm2022/active-directory/material/mat-active-directory.api.mjs +9 -0
  47. package/esm2022/active-directory/material/mat-active-directory.module.mjs +109 -0
  48. package/esm2022/active-directory/material/model/selectable-group.mjs +2 -0
  49. package/esm2022/active-directory/material/model/selectable-user.mjs +2 -0
  50. package/esm2022/active-directory/material/model/user-chooser-data.mjs +33 -0
  51. package/esm2022/active-directory/material/model/user-chooser-filter-options.mjs +10 -0
  52. package/esm2022/active-directory/{gui → material}/model/user-chooser-mode.mjs +1 -1
  53. package/esm2022/active-directory/material/model/user-chooser-pre-processing-group.mjs +9 -0
  54. package/esm2022/active-directory/model/active-directory-service-options.mjs +3 -0
  55. package/esm2022/active-directory/services/active-directory.service.mjs +61 -41
  56. package/esm2022/authentication/authentication.api.mjs +6 -0
  57. package/esm2022/authentication/authentication.base.module.mjs +28 -7
  58. package/esm2022/authentication/cleavelandprice-ngx-lib-authentication.mjs +2 -2
  59. package/esm2022/authentication/material/cleavelandprice-ngx-lib-authentication-material.mjs +5 -0
  60. package/esm2022/authentication/material/components/login/login.component.mjs +49 -0
  61. package/esm2022/authentication/material/components/login-form/login-form.component.mjs +82 -0
  62. package/esm2022/authentication/material/mat-authentication.api.mjs +7 -0
  63. package/esm2022/authentication/material/mat-authentication.module.mjs +84 -0
  64. package/esm2022/authentication/material/model/login-form-data.mjs +2 -0
  65. package/esm2022/authentication/material/model/mat-authentication-service-options.mjs +3 -0
  66. package/esm2022/authentication/material/services/mat-authentication.service.mjs +67 -0
  67. package/esm2022/authentication/model/abstract-authentication-service.mjs +1 -1
  68. package/esm2022/authentication/model/authentication-service-options.mjs +3 -0
  69. package/esm2022/authentication/object/authentication-object.api.mjs +4 -0
  70. package/esm2022/authentication/object/authentication-object.module.mjs +40 -0
  71. package/esm2022/authentication/object/cleavelandprice-ngx-lib-authentication-object.mjs +2 -2
  72. package/esm2022/authentication/object/services/authentication-object.service.mjs +119 -0
  73. package/esm2022/authentication/token/authentication-token.api.mjs +5 -0
  74. package/esm2022/authentication/token/authetiction-token.module.mjs +40 -0
  75. package/esm2022/authentication/token/cleavelandprice-ngx-lib-authentication-token.mjs +2 -2
  76. package/esm2022/authentication/token/model/authentication-token-service-options.mjs +3 -0
  77. package/esm2022/authentication/token/services/authentication-token.service.mjs +128 -0
  78. package/esm2022/dialog/cleavelandprice-ngx-lib-dialog.mjs +2 -2
  79. package/esm2022/dialog/components/base/base.component.mjs +27 -16
  80. package/esm2022/dialog/components/choice/choice.component.mjs +11 -11
  81. package/esm2022/dialog/components/confirmation/confirmation.component.mjs +11 -11
  82. package/esm2022/dialog/components/input/input.component.mjs +11 -11
  83. package/esm2022/dialog/components/message/message.component.mjs +11 -11
  84. package/esm2022/dialog/dialog.api.mjs +20 -0
  85. package/esm2022/dialog/dialog.module.mjs +25 -20
  86. package/esm2022/lib/model/caching-config.mjs +2 -0
  87. package/esm2022/lib/model/credentials.mjs +2 -0
  88. package/esm2022/lib/model/logging-config.mjs +2 -0
  89. package/esm2022/lib/model/service-options.mjs +3 -0
  90. package/esm2022/lib/ngx-lib.module.mjs +20 -10
  91. package/esm2022/lib/services/app-path-config.service.mjs +31 -24
  92. package/esm2022/lib/services/service-base.mjs +26 -0
  93. package/esm2022/msgraph/cleavelandprice-ngx-lib-msgraph.mjs +2 -2
  94. package/esm2022/msgraph/msgraph.api.mjs +19 -0
  95. package/esm2022/msgraph/msgraph.module.mjs +6 -11
  96. package/esm2022/public_api.mjs +6 -2
  97. package/esm2022/quill/cleavelandprice-ngx-lib-quill.mjs +2 -2
  98. package/esm2022/quill/components/editor/editor.component.mjs +29 -39
  99. package/esm2022/quill/components/raw/raw.component.mjs +18 -11
  100. package/esm2022/quill/mention/cleavelandprice-ngx-lib-quill-mention.mjs +2 -2
  101. package/esm2022/quill/mention/components/editor/editor.component.mjs +20 -14
  102. package/esm2022/quill/mention/quill-mention.api.mjs +8 -0
  103. package/esm2022/quill/mention/quill-mention.module.mjs +12 -12
  104. package/esm2022/quill/quill.api.mjs +9 -0
  105. package/esm2022/quill/quill.module.mjs +20 -18
  106. package/esm2022/sharepoint/cleavelandprice-ngx-lib-sharepoint.mjs +2 -2
  107. package/esm2022/sharepoint/components/user-photo/user-photo.component.mjs +13 -9
  108. package/esm2022/sharepoint/model/sharepoint-service-options.mjs +3 -0
  109. package/esm2022/sharepoint/pipes/user-photo-url.pipe.mjs +8 -9
  110. package/esm2022/sharepoint/services/sharepoint.service.mjs +74 -65
  111. package/esm2022/sharepoint/sharepoint.api.mjs +17 -0
  112. package/esm2022/sharepoint/sharepoint.module.mjs +25 -15
  113. package/esm2022/table/cleavelandprice-ngx-lib-table.mjs +2 -2
  114. package/esm2022/table/components/table/table.component.mjs +76 -74
  115. package/esm2022/table/table.api.mjs +4 -0
  116. package/esm2022/table/table.module.mjs +16 -15
  117. package/esm2022/upload/cleavelandprice-ngx-lib-upload.mjs +2 -2
  118. package/esm2022/upload/components/upload/upload.component.mjs +16 -20
  119. package/esm2022/upload/components/upload-dialog/upload-dialog.component.mjs +49 -39
  120. package/esm2022/upload/model/upload-service-options.mjs +4 -0
  121. package/esm2022/upload/model/upload-status.mjs +2 -0
  122. package/esm2022/upload/services/upload.service.mjs +44 -29
  123. package/esm2022/upload/upload.api.mjs +9 -0
  124. package/esm2022/upload/upload.module.mjs +33 -20
  125. package/esm2022/url-utilities/cleavelandprice-ngx-lib-url-utilities.mjs +2 -2
  126. package/esm2022/url-utilities/pipes/safe-resource-url.pipe.mjs +8 -9
  127. package/esm2022/url-utilities/pipes/safe-url.pipe.mjs +8 -9
  128. package/esm2022/url-utilities/pipes/uri-scheme.pipe.mjs +9 -8
  129. package/esm2022/url-utilities/url-utilities.api.mjs +13 -0
  130. package/esm2022/url-utilities/url-utilities.module.mjs +11 -11
  131. package/fesm2022/cleavelandprice-ngx-lib-active-directory-material.mjs +683 -0
  132. package/fesm2022/cleavelandprice-ngx-lib-active-directory-material.mjs.map +1 -0
  133. package/fesm2022/cleavelandprice-ngx-lib-active-directory.mjs +79 -72
  134. package/fesm2022/cleavelandprice-ngx-lib-active-directory.mjs.map +1 -1
  135. package/fesm2022/cleavelandprice-ngx-lib-authentication-material.mjs +268 -0
  136. package/fesm2022/cleavelandprice-ngx-lib-authentication-material.mjs.map +1 -0
  137. package/fesm2022/cleavelandprice-ngx-lib-authentication-object.mjs +54 -49
  138. package/fesm2022/cleavelandprice-ngx-lib-authentication-object.mjs.map +1 -1
  139. package/fesm2022/cleavelandprice-ngx-lib-authentication-token.mjs +50 -51
  140. package/fesm2022/cleavelandprice-ngx-lib-authentication-token.mjs.map +1 -1
  141. package/fesm2022/cleavelandprice-ngx-lib-authentication.mjs +28 -18
  142. package/fesm2022/cleavelandprice-ngx-lib-authentication.mjs.map +1 -1
  143. package/fesm2022/cleavelandprice-ngx-lib-dialog.mjs +87 -66
  144. package/fesm2022/cleavelandprice-ngx-lib-dialog.mjs.map +1 -1
  145. package/fesm2022/cleavelandprice-ngx-lib-msgraph.mjs +5 -10
  146. package/fesm2022/cleavelandprice-ngx-lib-msgraph.mjs.map +1 -1
  147. package/fesm2022/cleavelandprice-ngx-lib-quill-mention.mjs +29 -26
  148. package/fesm2022/cleavelandprice-ngx-lib-quill-mention.mjs.map +1 -1
  149. package/fesm2022/cleavelandprice-ngx-lib-quill.mjs +61 -67
  150. package/fesm2022/cleavelandprice-ngx-lib-quill.mjs.map +1 -1
  151. package/fesm2022/cleavelandprice-ngx-lib-sharepoint.mjs +115 -118
  152. package/fesm2022/cleavelandprice-ngx-lib-sharepoint.mjs.map +1 -1
  153. package/fesm2022/cleavelandprice-ngx-lib-table.mjs +85 -90
  154. package/fesm2022/cleavelandprice-ngx-lib-table.mjs.map +1 -1
  155. package/fesm2022/cleavelandprice-ngx-lib-upload.mjs +134 -117
  156. package/fesm2022/cleavelandprice-ngx-lib-upload.mjs.map +1 -1
  157. package/fesm2022/cleavelandprice-ngx-lib-url-utilities.mjs +38 -33
  158. package/fesm2022/cleavelandprice-ngx-lib-url-utilities.mjs.map +1 -1
  159. package/fesm2022/cleavelandprice-ngx-lib.mjs +66 -45
  160. package/fesm2022/cleavelandprice-ngx-lib.mjs.map +1 -1
  161. package/lib/model/caching-config.d.ts +4 -0
  162. package/lib/model/credentials.d.ts +4 -0
  163. package/lib/model/logging-config.d.ts +6 -0
  164. package/lib/model/service-options.d.ts +6 -0
  165. package/lib/ngx-lib.module.d.ts +2 -2
  166. package/lib/services/app-path-config.service.d.ts +5 -4
  167. package/lib/services/service-base.d.ts +7 -0
  168. package/msgraph/index.d.ts +1 -1
  169. package/msgraph/msgraph.module.d.ts +0 -2
  170. package/package.json +27 -27
  171. package/public_api.d.ts +5 -1
  172. package/quill/components/editor/editor.component.d.ts +10 -10
  173. package/quill/components/raw/raw.component.d.ts +1 -1
  174. package/quill/index.d.ts +1 -1
  175. package/quill/mention/components/editor/editor.component.d.ts +3 -3
  176. package/quill/mention/index.d.ts +1 -1
  177. package/quill/mention/quill-mention.module.d.ts +9 -9
  178. package/quill/quill.module.d.ts +12 -14
  179. package/sharepoint/components/user-photo/user-photo.component.d.ts +2 -2
  180. package/sharepoint/index.d.ts +1 -1
  181. package/sharepoint/model/sharepoint-service-options.d.ts +19 -0
  182. package/sharepoint/pipes/user-photo-url.pipe.d.ts +2 -2
  183. package/sharepoint/services/sharepoint.service.d.ts +7 -10
  184. package/sharepoint/{public_api.d.ts → sharepoint.api.d.ts} +1 -1
  185. package/sharepoint/sharepoint.module.d.ts +6 -6
  186. package/table/components/table/table.component.d.ts +21 -22
  187. package/table/index.d.ts +1 -1
  188. package/table/table.module.d.ts +13 -13
  189. package/upload/components/upload/upload.component.d.ts +4 -8
  190. package/upload/components/upload-dialog/upload-dialog.component.d.ts +11 -9
  191. package/upload/index.d.ts +1 -1
  192. package/upload/model/upload-service-options.d.ts +16 -0
  193. package/upload/model/upload-status.d.ts +6 -0
  194. package/upload/services/upload.service.d.ts +9 -6
  195. package/upload/{public_api.d.ts → upload.api.d.ts} +2 -2
  196. package/upload/upload.module.d.ts +10 -10
  197. package/url-utilities/index.d.ts +1 -1
  198. package/url-utilities/pipes/safe-resource-url.pipe.d.ts +2 -2
  199. package/url-utilities/pipes/safe-url.pipe.d.ts +2 -2
  200. package/url-utilities/pipes/uri-scheme.pipe.d.ts +2 -3
  201. package/url-utilities/url-utilities.api.d.ts +8 -0
  202. package/url-utilities/url-utilities.module.d.ts +5 -5
  203. package/active-directory/gui/gui.module.d.ts +0 -25
  204. package/active-directory/model/caching-config.d.ts +0 -4
  205. package/active-directory/model/logging-config.d.ts +0 -6
  206. package/active-directory/model/service-config.d.ts +0 -8
  207. package/authentication/model/service-config.d.ts +0 -8
  208. package/authentication/object/model/service-config.d.ts +0 -4
  209. package/authentication/object/object.module.d.ts +0 -11
  210. package/authentication/object/public_api.d.ts +0 -3
  211. package/authentication/object/services/authentication.service.d.ts +0 -23
  212. package/authentication/token/gui/index.d.ts +0 -5
  213. package/authentication/token/gui/model/service-config.d.ts +0 -5
  214. package/authentication/token/gui/public_api.d.ts +0 -6
  215. package/authentication/token/gui/services/authentication.service.d.ts +0 -12
  216. package/authentication/token/gui/token-gui.module.d.ts +0 -21
  217. package/authentication/token/model/service-config.d.ts +0 -5
  218. package/authentication/token/public_api.d.ts +0 -4
  219. package/authentication/token/services/authentication.service.d.ts +0 -23
  220. package/authentication/token/token.module.d.ts +0 -11
  221. package/esm2022/active-directory/gui/cleavelandprice-ngx-lib-active-directory-gui.mjs +0 -5
  222. package/esm2022/active-directory/gui/components/user-chooser/user-chooser.component.mjs +0 -393
  223. package/esm2022/active-directory/gui/components/user-form-field/user-form-field.component.mjs +0 -132
  224. package/esm2022/active-directory/gui/gui.module.mjs +0 -96
  225. package/esm2022/active-directory/gui/model/selectable-group.mjs +0 -2
  226. package/esm2022/active-directory/gui/model/selectable-user.mjs +0 -2
  227. package/esm2022/active-directory/gui/model/user-chooser-data.mjs +0 -33
  228. package/esm2022/active-directory/gui/model/user-chooser-filter-options.mjs +0 -10
  229. package/esm2022/active-directory/gui/model/user-chooser-pre-processing-group.mjs +0 -9
  230. package/esm2022/active-directory/gui/public_api.mjs +0 -9
  231. package/esm2022/active-directory/model/caching-config.mjs +0 -7
  232. package/esm2022/active-directory/model/logging-config.mjs +0 -9
  233. package/esm2022/active-directory/model/service-config.mjs +0 -12
  234. package/esm2022/active-directory/public_api.mjs +0 -12
  235. package/esm2022/authentication/model/service-config.mjs +0 -12
  236. package/esm2022/authentication/object/model/service-config.mjs +0 -9
  237. package/esm2022/authentication/object/object.module.mjs +0 -39
  238. package/esm2022/authentication/object/public_api.mjs +0 -4
  239. package/esm2022/authentication/object/services/authentication.service.mjs +0 -110
  240. package/esm2022/authentication/public_api.mjs +0 -6
  241. package/esm2022/authentication/token/gui/cleavelandprice-ngx-lib-authentication-token-gui.mjs +0 -5
  242. package/esm2022/authentication/token/gui/components/login/login.component.mjs +0 -43
  243. package/esm2022/authentication/token/gui/components/login-form/login-form.component.mjs +0 -72
  244. package/esm2022/authentication/token/gui/model/login-form-data.mjs +0 -2
  245. package/esm2022/authentication/token/gui/model/service-config.mjs +0 -10
  246. package/esm2022/authentication/token/gui/public_api.mjs +0 -7
  247. package/esm2022/authentication/token/gui/services/authentication.service.mjs +0 -78
  248. package/esm2022/authentication/token/gui/token-gui.module.mjs +0 -81
  249. package/esm2022/authentication/token/model/service-config.mjs +0 -10
  250. package/esm2022/authentication/token/public_api.mjs +0 -5
  251. package/esm2022/authentication/token/services/authentication.service.mjs +0 -124
  252. package/esm2022/authentication/token/token.module.mjs +0 -39
  253. package/esm2022/dialog/public_api.mjs +0 -10
  254. package/esm2022/lib/model/service-config.mjs +0 -21
  255. package/esm2022/msgraph/public_api.mjs +0 -19
  256. package/esm2022/quill/mention/public_api.mjs +0 -8
  257. package/esm2022/quill/public_api.mjs +0 -9
  258. package/esm2022/sharepoint/model/service-config.mjs +0 -27
  259. package/esm2022/sharepoint/public_api.mjs +0 -17
  260. package/esm2022/table/public_api.mjs +0 -4
  261. package/esm2022/upload/model/service-config.mjs +0 -16
  262. package/esm2022/upload/public_api.mjs +0 -9
  263. package/esm2022/url-utilities/public_api.mjs +0 -5
  264. package/fesm2022/cleavelandprice-ngx-lib-active-directory-gui.mjs +0 -660
  265. package/fesm2022/cleavelandprice-ngx-lib-active-directory-gui.mjs.map +0 -1
  266. package/fesm2022/cleavelandprice-ngx-lib-authentication-token-gui.mjs +0 -271
  267. package/fesm2022/cleavelandprice-ngx-lib-authentication-token-gui.mjs.map +0 -1
  268. package/lib/model/service-config.d.ts +0 -6
  269. package/sharepoint/model/service-config.d.ts +0 -23
  270. package/upload/model/service-config.d.ts +0 -15
  271. package/url-utilities/public_api.d.ts +0 -4
  272. /package/active-directory/{gui → material}/model/selectable-group.d.ts +0 -0
  273. /package/active-directory/{gui → material}/model/selectable-user.d.ts +0 -0
  274. /package/active-directory/{gui → material}/model/user-chooser-data.d.ts +0 -0
  275. /package/active-directory/{gui → material}/model/user-chooser-filter-options.d.ts +0 -0
  276. /package/active-directory/{gui → material}/model/user-chooser-mode.d.ts +0 -0
  277. /package/active-directory/{gui → material}/model/user-chooser-pre-processing-group.d.ts +0 -0
  278. /package/authentication/{token/gui → material}/model/login-form-data.d.ts +0 -0
  279. /package/dialog/{public_api.d.ts → dialog.api.d.ts} +0 -0
  280. /package/msgraph/{public_api.d.ts → msgraph.api.d.ts} +0 -0
  281. /package/quill/mention/{public_api.d.ts → quill-mention.api.d.ts} +0 -0
  282. /package/quill/{public_api.d.ts → quill.api.d.ts} +0 -0
  283. /package/table/{public_api.d.ts → table.api.d.ts} +0 -0
@@ -1,105 +1,125 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
- import { inject, Injectable } from '@angular/core';
2
+ import { Inject, inject, Injectable, Optional } from '@angular/core';
3
3
  import { DateTime } from 'luxon';
4
4
  import { of } from 'rxjs';
5
- import { ServiceConfig } from '../model/service-config';
5
+ import { NgxLibServiceBase } from '@cleavelandprice/ngx-lib';
6
+ import { ActiveDirectoryServiceOptionsToken } from '../model/active-directory-service-options';
6
7
  import * as i0 from "@angular/core";
7
- export class ActiveDirectoryService {
8
- constructor() {
9
- //#region Services
10
- this.config = inject(ServiceConfig, { optional: true }) ?? new ServiceConfig();
11
- this.http = inject(HttpClient);
12
- this.defaultCacheLifeMinutes = 720;
13
- }
8
+ export class ActiveDirectoryService extends NgxLibServiceBase {
9
+ #services = {
10
+ http: inject(HttpClient)
11
+ };
12
+ #cache;
13
+ #defaultCacheLifeMinutes = 720;
14
14
  //#region Properties
15
- get cacheExpired() {
16
- if (!this.cache) {
15
+ get #cacheExpired() {
16
+ if (!this.#cache) {
17
17
  return true;
18
18
  }
19
- const lifeMinutes = this.config?.caching?.lifeMinutes ?? this.defaultCacheLifeMinutes;
20
- const expiration = this.cache.lastUpdate.plus({ minutes: lifeMinutes });
19
+ const expiration = this.#cache.lastUpdate.plus({ minutes: this.options.caching.lifeMinutes });
21
20
  return DateTime.now() > expiration;
22
21
  }
23
22
  //#endregion
23
+ constructor(options) {
24
+ super(options);
25
+ this.options = options;
26
+ this.options = {
27
+ ...options,
28
+ caching: options?.caching ?? {
29
+ enabled: false,
30
+ lifeMinutes: this.#defaultCacheLifeMinutes
31
+ },
32
+ logging: options?.logging ?? {
33
+ dataCached: false,
34
+ cachedDataReturned: false,
35
+ freshDataReturned: false,
36
+ cacheCleared: false
37
+ }
38
+ };
39
+ }
24
40
  getUsers(includePhoto = false, includeDisabled = false, parentOU = '') {
25
41
  // If caching is enabled, there will be two calls to the API if the cache is null/expired
26
42
  // One call is to update the cache and the other is to return the data that the user requested
27
43
  // Subsequent calls will bypass the API and returned cached data until it expires
28
- const observable$ = this.http.get(`${this.config?.apiUrl}/users/${includePhoto}/${includeDisabled}/${parentOU}`);
29
- if (this.config?.caching?.enabled) {
30
- if (this.cacheExpired) {
44
+ const observable$ = this.#services.http.get(`${this.apiUrl}/users/${includePhoto}/${includeDisabled}/${parentOU}`);
45
+ if (this.options.caching.enabled) {
46
+ if (this.#cacheExpired) {
31
47
  // Get the data and cache it
32
48
  observable$.subscribe(data => {
33
- this.cache = {
49
+ this.#cache = {
34
50
  data,
35
51
  lastUpdate: DateTime.now()
36
52
  };
37
- if (this.config?.logging?.dataCached) {
38
- const lifeMinutes = this.config.caching?.lifeMinutes ?? this.defaultCacheLifeMinutes;
39
- console.log(`Data cached for ${lifeMinutes} minutes`);
53
+ if (this.options.logging.dataCached) {
54
+ console.log(`Data cached for ${this.options.caching.lifeMinutes} minutes`);
40
55
  }
41
56
  });
42
57
  }
43
58
  else {
44
59
  // Cache exists and hasn't expired yet
45
- if (this.config.logging?.cachedDataReturned) {
60
+ if (this.options.logging.cachedDataReturned) {
46
61
  console.log('Returning cached users');
47
62
  }
48
- return of(this.cache.data);
63
+ return of(this.#cache.data);
49
64
  }
50
65
  }
51
66
  // Cache is either disabled or expired, return data from API
52
- if (this.config?.logging?.freshDataReturned) {
67
+ if (this.options.logging.freshDataReturned) {
53
68
  console.log('Returning fresh users');
54
69
  }
55
70
  return observable$;
56
71
  }
57
72
  getUser(accountName, includePhoto = false) {
58
- return this.http.get(`${this.config?.apiUrl}/users/name/${accountName}/${includePhoto}`);
73
+ return this.#services.http.get(`${this.apiUrl}/users/name/${accountName}/${includePhoto}`);
59
74
  }
60
75
  clearCache() {
61
- this.cache = undefined;
62
- if (this.config?.logging?.cacheCleared) {
76
+ this.#cache = undefined;
77
+ if (this.options.logging.cacheCleared) {
63
78
  console.log('Cache cleared');
64
79
  }
65
80
  }
66
81
  getDomains() {
67
- return this.http.get(`${this.config?.apiUrl}/activedirectory/domains`);
82
+ return this.#services.http.get(`${this.apiUrl}/activedirectory/domains`);
68
83
  }
69
84
  getOUs(parentOU = '') {
70
- return this.http.get(`${this.config?.apiUrl}/activedirectory/ous/${parentOU}`);
85
+ return this.#services.http.get(`${this.apiUrl}/activedirectory/ous/${parentOU}`);
71
86
  }
72
87
  getContainers(parentOU = '') {
73
- return this.http.get(`${this.config?.apiUrl}/activedirectory/containers/${parentOU}`);
88
+ return this.#services.http.get(`${this.apiUrl}/activedirectory/containers/${parentOU}`);
74
89
  }
75
90
  getGroups(parentOU = '') {
76
- return this.http.get(`${this.config?.apiUrl}/activedirectory/groups/${parentOU}`);
91
+ return this.#services.http.get(`${this.apiUrl}/activedirectory/groups/${parentOU}`);
77
92
  }
78
93
  getDistinctUserAttributeValues(attributeName) {
79
- return this.http.get(`${this.config?.apiUrl}/activedirectory/distinct/${attributeName}`);
94
+ return this.#services.http.get(`${this.apiUrl}/activedirectory/distinct/${attributeName}`);
80
95
  }
81
96
  getDepartments() {
82
- return this.http.get(`${this.config?.apiUrl}/activedirectory/departments`);
97
+ return this.#services.http.get(`${this.apiUrl}/activedirectory/departments`);
83
98
  }
84
99
  getTitles() {
85
- return this.http.get(`${this.config?.apiUrl}/activedirectory/titles`);
100
+ return this.#services.http.get(`${this.apiUrl}/activedirectory/titles`);
86
101
  }
87
102
  getComputers(includeDisabled = false, parentOU = '') {
88
- return this.http.get(`${this.config?.apiUrl}/activedirectory/computers/${includeDisabled}/${parentOU}`);
103
+ return this.#services.http.get(`${this.apiUrl}/activedirectory/computers/${includeDisabled}/${parentOU}`);
89
104
  }
90
105
  getServers(includeDisabled = false, parentOU = '') {
91
- return this.http.get(`${this.config?.apiUrl}/activedirectory/servers/${includeDisabled}/${parentOU}`);
106
+ return this.#services.http.get(`${this.apiUrl}/activedirectory/servers/${includeDisabled}/${parentOU}`);
92
107
  }
93
108
  getWorkstations(includeDisabled = false, parentOU = '') {
94
- return this.http.get(`${this.config?.apiUrl}/activedirectory/workstations/${includeDisabled}/${parentOU}`);
109
+ return this.#services.http.get(`${this.apiUrl}/activedirectory/workstations/${includeDisabled}/${parentOU}`);
95
110
  }
96
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ActiveDirectoryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
97
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ActiveDirectoryService, providedIn: 'root' }); }
111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ActiveDirectoryService, deps: [{ token: ActiveDirectoryServiceOptionsToken, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
112
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ActiveDirectoryService, providedIn: 'root' }); }
98
113
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ActiveDirectoryService, decorators: [{
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ActiveDirectoryService, decorators: [{
100
115
  type: Injectable,
101
116
  args: [{
102
117
  providedIn: 'root'
103
118
  }]
104
- }] });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWRpcmVjdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvYWN0aXZlLWRpcmVjdG9yeS9zcmMvc2VydmljZXMvYWN0aXZlLWRpcmVjdG9yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFPdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU14RCxNQUFNLE9BQU8sc0JBQXNCO0lBSG5DO1FBSUUsa0JBQWtCO1FBQ1YsV0FBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQzFFLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFHMUIsNEJBQXVCLEdBQUcsR0FBRyxDQUFDO0tBeUd2QztJQXZHQyxvQkFBb0I7SUFDcEIsSUFBWSxZQUFZO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztRQUN0RixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQztRQUV2RSxPQUFPLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUNELFlBQVk7SUFFWixRQUFRLENBQUMsWUFBWSxHQUFHLEtBQUssRUFBRSxlQUFlLEdBQUcsS0FBSyxFQUFFLFFBQVEsR0FBRyxFQUFFO1FBQ25FLHlGQUF5RjtRQUN6Riw4RkFBOEY7UUFDOUYsaUZBQWlGO1FBRWpGLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUF3QixHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxVQUFVLFlBQVksSUFBSSxlQUFlLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztRQUV4SSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN0Qiw0QkFBNEI7Z0JBQzVCLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUc7d0JBQ1gsSUFBSTt3QkFDSixVQUFVLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRTtxQkFDM0IsQ0FBQztvQkFFRixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO3dCQUNyQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDO3dCQUNyRixPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixXQUFXLFVBQVUsQ0FBQyxDQUFDO29CQUN4RCxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLHNDQUFzQztnQkFDdEMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxDQUFDO29CQUM1QyxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7Z0JBQ3hDLENBQUM7Z0JBRUQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QixDQUFDO1FBQ0gsQ0FBQztRQUVELDREQUE0RDtRQUM1RCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLENBQUM7WUFDNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsT0FBTyxDQUFDLFdBQW1CLEVBQUUsWUFBWSxHQUFHLEtBQUs7UUFDL0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBc0IsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sZUFBZSxXQUFXLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQztJQUNoSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBRXZCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLEdBQUcsRUFBRTtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUF5QixHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQVEsR0FBRyxFQUFFO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLCtCQUErQixRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ2hILENBQUM7SUFFRCxTQUFTLENBQUMsUUFBUSxHQUFHLEVBQUU7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQsOEJBQThCLENBQUMsYUFBcUI7UUFDbEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsWUFBWSxDQUFDLGVBQWUsR0FBRyxLQUFLLEVBQUUsUUFBUSxHQUFHLEVBQUU7UUFDakQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSw4QkFBOEIsZUFBZSxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDbEgsQ0FBQztJQUVELFVBQVUsQ0FBQyxlQUFlLEdBQUcsS0FBSyxFQUFFLFFBQVEsR0FBRyxFQUFFO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sNEJBQTRCLGVBQWUsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ2hILENBQUM7SUFFRCxlQUFlLENBQUMsZUFBZSxHQUFHLEtBQUssRUFBRSxRQUFRLEdBQUcsRUFBRTtRQUNwRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLGlDQUFpQyxlQUFlLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNySCxDQUFDOzhHQTlHVSxzQkFBc0I7a0hBQXRCLHNCQUFzQixjQUZyQixNQUFNOzsyRkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQURPYmplY3QgfSBmcm9tICcuLi9tb2RlbC9hZC1vYmplY3QnO1xyXG5pbXBvcnQgeyBBRE9iamVjdFdpdGhDaGlsZHJlbiB9IGZyb20gJy4uL21vZGVsL2FkLW9iamVjdC13aXRoLWNoaWxkcmVuJztcclxuaW1wb3J0IHsgQ2FjaGVPYmplY3QgfSBmcm9tICcuLi9tb2RlbC9jYWNoZS1vYmplY3QnO1xyXG5pbXBvcnQgeyBDbGVhdmVsYW5kUHJpY2VVc2VyIH0gZnJvbSAnLi4vbW9kZWwvY2xlYXZlbGFuZC1wcmljZS11c2VyJztcclxuaW1wb3J0IHsgR3JvdXAgfSBmcm9tICcuLi9tb2RlbC9ncm91cCc7XHJcbmltcG9ydCB7IFNlcnZpY2VDb25maWcgfSBmcm9tICcuLi9tb2RlbC9zZXJ2aWNlLWNvbmZpZyc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi9tb2RlbC91c2VyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGl2ZURpcmVjdG9yeVNlcnZpY2Uge1xyXG4gIC8vI3JlZ2lvbiBTZXJ2aWNlc1xyXG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0KFNlcnZpY2VDb25maWcsIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gbmV3IFNlcnZpY2VDb25maWcoKTtcclxuICBwcml2YXRlIGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XHJcbiAgLy8jZW5kcmVnaW9uXHJcbiAgcHJpdmF0ZSBjYWNoZT86IENhY2hlT2JqZWN0PENsZWF2ZWxhbmRQcmljZVVzZXI+O1xyXG4gIHByaXZhdGUgZGVmYXVsdENhY2hlTGlmZU1pbnV0ZXMgPSA3MjA7XHJcblxyXG4gIC8vI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcbiAgcHJpdmF0ZSBnZXQgY2FjaGVFeHBpcmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGxpZmVNaW51dGVzID0gdGhpcy5jb25maWc/LmNhY2hpbmc/LmxpZmVNaW51dGVzID8/IHRoaXMuZGVmYXVsdENhY2hlTGlmZU1pbnV0ZXM7XHJcbiAgICBjb25zdCBleHBpcmF0aW9uID0gdGhpcy5jYWNoZS5sYXN0VXBkYXRlLnBsdXMoeyBtaW51dGVzOiBsaWZlTWludXRlc30pO1xyXG5cclxuICAgIHJldHVybiBEYXRlVGltZS5ub3coKSA+IGV4cGlyYXRpb247XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICBnZXRVc2VycyhpbmNsdWRlUGhvdG8gPSBmYWxzZSwgaW5jbHVkZURpc2FibGVkID0gZmFsc2UsIHBhcmVudE9VID0gJycpOiBPYnNlcnZhYmxlPENsZWF2ZWxhbmRQcmljZVVzZXJbXT4ge1xyXG4gICAgLy8gSWYgY2FjaGluZyBpcyBlbmFibGVkLCB0aGVyZSB3aWxsIGJlIHR3byBjYWxscyB0byB0aGUgQVBJIGlmIHRoZSBjYWNoZSBpcyBudWxsL2V4cGlyZWRcclxuICAgIC8vIE9uZSBjYWxsIGlzIHRvIHVwZGF0ZSB0aGUgY2FjaGUgYW5kIHRoZSBvdGhlciBpcyB0byByZXR1cm4gdGhlIGRhdGEgdGhhdCB0aGUgdXNlciByZXF1ZXN0ZWRcclxuICAgIC8vIFN1YnNlcXVlbnQgY2FsbHMgd2lsbCBieXBhc3MgdGhlIEFQSSBhbmQgcmV0dXJuZWQgY2FjaGVkIGRhdGEgdW50aWwgaXQgZXhwaXJlc1xyXG5cclxuICAgIGNvbnN0IG9ic2VydmFibGUkID0gdGhpcy5odHRwLmdldDxDbGVhdmVsYW5kUHJpY2VVc2VyW10+KGAke3RoaXMuY29uZmlnPy5hcGlVcmx9L3VzZXJzLyR7aW5jbHVkZVBob3RvfS8ke2luY2x1ZGVEaXNhYmxlZH0vJHtwYXJlbnRPVX1gKTtcclxuXHJcbiAgICBpZiAodGhpcy5jb25maWc/LmNhY2hpbmc/LmVuYWJsZWQpIHtcclxuICAgICAgaWYgKHRoaXMuY2FjaGVFeHBpcmVkKSB7XHJcbiAgICAgICAgLy8gR2V0IHRoZSBkYXRhIGFuZCBjYWNoZSBpdFxyXG4gICAgICAgIG9ic2VydmFibGUkLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICAgIHRoaXMuY2FjaGUgPSB7XHJcbiAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgIGxhc3RVcGRhdGU6IERhdGVUaW1lLm5vdygpXHJcbiAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLmNvbmZpZz8ubG9nZ2luZz8uZGF0YUNhY2hlZCkge1xyXG4gICAgICAgICAgICBjb25zdCBsaWZlTWludXRlcyA9IHRoaXMuY29uZmlnLmNhY2hpbmc/LmxpZmVNaW51dGVzID8/IHRoaXMuZGVmYXVsdENhY2hlTGlmZU1pbnV0ZXM7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBEYXRhIGNhY2hlZCBmb3IgJHtsaWZlTWludXRlc30gbWludXRlc2ApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIENhY2hlIGV4aXN0cyBhbmQgaGFzbid0IGV4cGlyZWQgeWV0XHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmxvZ2dpbmc/LmNhY2hlZERhdGFSZXR1cm5lZCkge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ1JldHVybmluZyBjYWNoZWQgdXNlcnMnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBvZih0aGlzLmNhY2hlIS5kYXRhKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIENhY2hlIGlzIGVpdGhlciBkaXNhYmxlZCBvciBleHBpcmVkLCByZXR1cm4gZGF0YSBmcm9tIEFQSVxyXG4gICAgaWYgKHRoaXMuY29uZmlnPy5sb2dnaW5nPy5mcmVzaERhdGFSZXR1cm5lZCkge1xyXG4gICAgICBjb25zb2xlLmxvZygnUmV0dXJuaW5nIGZyZXNoIHVzZXJzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9ic2VydmFibGUkO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlcihhY2NvdW50TmFtZTogc3RyaW5nLCBpbmNsdWRlUGhvdG8gPSBmYWxzZSk6IE9ic2VydmFibGU8Q2xlYXZlbGFuZFByaWNlVXNlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Q2xlYXZlbGFuZFByaWNlVXNlcj4oYCR7dGhpcy5jb25maWc/LmFwaVVybH0vdXNlcnMvbmFtZS8ke2FjY291bnROYW1lfS8ke2luY2x1ZGVQaG90b31gKTtcclxuICB9XHJcblxyXG4gIGNsZWFyQ2FjaGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhY2hlID0gdW5kZWZpbmVkO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZz8ubG9nZ2luZz8uY2FjaGVDbGVhcmVkKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdDYWNoZSBjbGVhcmVkJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREb21haW5zKCk6IE9ic2VydmFibGU8QURPYmplY3RbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QURPYmplY3RbXT4oYCR7dGhpcy5jb25maWc/LmFwaVVybH0vYWN0aXZlZGlyZWN0b3J5L2RvbWFpbnNgKTtcclxuICB9XHJcblxyXG4gIGdldE9VcyhwYXJlbnRPVSA9ICcnKTogT2JzZXJ2YWJsZTxBRE9iamVjdFdpdGhDaGlsZHJlbltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBRE9iamVjdFdpdGhDaGlsZHJlbltdPihgJHt0aGlzLmNvbmZpZz8uYXBpVXJsfS9hY3RpdmVkaXJlY3Rvcnkvb3VzLyR7cGFyZW50T1V9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRDb250YWluZXJzKHBhcmVudE9VID0gJycpOiBPYnNlcnZhYmxlPEFET2JqZWN0V2l0aENoaWxkcmVuW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFET2JqZWN0V2l0aENoaWxkcmVuW10+KGAke3RoaXMuY29uZmlnPy5hcGlVcmx9L2FjdGl2ZWRpcmVjdG9yeS9jb250YWluZXJzLyR7cGFyZW50T1V9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRHcm91cHMocGFyZW50T1UgPSAnJyk6IE9ic2VydmFibGU8R3JvdXBbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8R3JvdXBbXT4oYCR7dGhpcy5jb25maWc/LmFwaVVybH0vYWN0aXZlZGlyZWN0b3J5L2dyb3Vwcy8ke3BhcmVudE9VfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGlzdGluY3RVc2VyQXR0cmlidXRlVmFsdWVzKGF0dHJpYnV0ZU5hbWU6IHN0cmluZykgOiBPYnNlcnZhYmxlPGFueVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4oYCR7dGhpcy5jb25maWc/LmFwaVVybH0vYWN0aXZlZGlyZWN0b3J5L2Rpc3RpbmN0LyR7YXR0cmlidXRlTmFtZX1gKTtcclxuICB9XHJcblxyXG4gIGdldERlcGFydG1lbnRzKCkgOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxzdHJpbmdbXT4oYCR7dGhpcy5jb25maWc/LmFwaVVybH0vYWN0aXZlZGlyZWN0b3J5L2RlcGFydG1lbnRzYCk7XHJcbiAgfVxyXG5cclxuICBnZXRUaXRsZXMoKSA6IE9ic2VydmFibGU8c3RyaW5nW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN0cmluZ1tdPihgJHt0aGlzLmNvbmZpZz8uYXBpVXJsfS9hY3RpdmVkaXJlY3RvcnkvdGl0bGVzYCk7XHJcbiAgfVxyXG5cclxuICBnZXRDb21wdXRlcnMoaW5jbHVkZURpc2FibGVkID0gZmFsc2UsIHBhcmVudE9VID0gJycpOiBPYnNlcnZhYmxlPFVzZXJbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VXNlcltdPihgJHt0aGlzLmNvbmZpZz8uYXBpVXJsfS9hY3RpdmVkaXJlY3RvcnkvY29tcHV0ZXJzLyR7aW5jbHVkZURpc2FibGVkfS8ke3BhcmVudE9VfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VydmVycyhpbmNsdWRlRGlzYWJsZWQgPSBmYWxzZSwgcGFyZW50T1UgPSAnJyk6IE9ic2VydmFibGU8VXNlcltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxVc2VyW10+KGAke3RoaXMuY29uZmlnPy5hcGlVcmx9L2FjdGl2ZWRpcmVjdG9yeS9zZXJ2ZXJzLyR7aW5jbHVkZURpc2FibGVkfS8ke3BhcmVudE9VfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0V29ya3N0YXRpb25zKGluY2x1ZGVEaXNhYmxlZCA9IGZhbHNlLCBwYXJlbnRPVSA9ICcnKTogT2JzZXJ2YWJsZTxVc2VyW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFVzZXJbXT4oYCR7dGhpcy5jb25maWc/LmFwaVVybH0vYWN0aXZlZGlyZWN0b3J5L3dvcmtzdGF0aW9ucy8ke2luY2x1ZGVEaXNhYmxlZH0vJHtwYXJlbnRPVX1gKTtcclxuICB9XHJcbn1cclxuIl19
119
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
120
+ type: Optional
121
+ }, {
122
+ type: Inject,
123
+ args: [ActiveDirectoryServiceOptionsToken]
124
+ }] }] });
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLWRpcmVjdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvYWN0aXZlLWRpcmVjdG9yeS9zcmMvc2VydmljZXMvYWN0aXZlLWRpcmVjdG9yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQWlDLGtDQUFrQyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBVzlILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxpQkFBaUI7SUFDM0QsU0FBUyxHQUFHO1FBQ1YsSUFBSSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUM7S0FDekIsQ0FBQztJQUNGLE1BQU0sQ0FBb0M7SUFDMUMsd0JBQXdCLEdBQUcsR0FBRyxDQUFDO0lBRS9CLG9CQUFvQjtJQUNwQixJQUFJLGFBQWE7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQVEsQ0FBQyxXQUFXLEVBQUMsQ0FBQyxDQUFDO1FBRTlGLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFH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QUFJLENBQUMsR0FBRyxDQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sOEJBQThCLGVBQWUsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFRCxVQUFVLENBQUMsZUFBZSxHQUFHLEtBQUssRUFBRSxRQUFRLEdBQUcsRUFBRTtRQUMvQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLDRCQUE0QixlQUFlLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNsSCxDQUFDO0lBRUQsZUFBZSxDQUFDLGVBQWUsR0FBRyxLQUFLLEVBQUUsUUFBUSxHQUFHLEVBQUU7UUFDcEQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxpQ0FBaUMsZUFBZSxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkgsQ0FBQzs4R0EvSFUsc0JBQXNCLGtCQW1CRCxrQ0FBa0M7a0hBbkJ2RCxzQkFBc0IsY0FGckIsTUFBTTs7MkZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBb0JjLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBpbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTmd4TGliU2VydmljZUJhc2UgfSBmcm9tICdAY2xlYXZlbGFuZHByaWNlL25neC1saWInO1xyXG5pbXBvcnQgeyBBY3RpdmVEaXJlY3RvcnlTZXJ2aWNlT3B0aW9ucywgQWN0aXZlRGlyZWN0b3J5U2VydmljZU9wdGlvbnNUb2tlbiB9IGZyb20gJy4uL21vZGVsL2FjdGl2ZS1kaXJlY3Rvcnktc2VydmljZS1vcHRpb25zJztcclxuaW1wb3J0IHsgQURPYmplY3QgfSBmcm9tICcuLi9tb2RlbC9hZC1vYmplY3QnO1xyXG5pbXBvcnQgeyBBRE9iamVjdFdpdGhDaGlsZHJlbiB9IGZyb20gJy4uL21vZGVsL2FkLW9iamVjdC13aXRoLWNoaWxkcmVuJztcclxuaW1wb3J0IHsgQ2FjaGVPYmplY3QgfSBmcm9tICcuLi9tb2RlbC9jYWNoZS1vYmplY3QnO1xyXG5pbXBvcnQgeyBDbGVhdmVsYW5kUHJpY2VVc2VyIH0gZnJvbSAnLi4vbW9kZWwvY2xlYXZlbGFuZC1wcmljZS11c2VyJztcclxuaW1wb3J0IHsgR3JvdXAgfSBmcm9tICcuLi9tb2RlbC9ncm91cCc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi9tb2RlbC91c2VyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGl2ZURpcmVjdG9yeVNlcnZpY2UgZXh0ZW5kcyBOZ3hMaWJTZXJ2aWNlQmFzZSB7XHJcbiAgI3NlcnZpY2VzID0ge1xyXG4gICAgaHR0cDogaW5qZWN0KEh0dHBDbGllbnQpXHJcbiAgfTtcclxuICAjY2FjaGU/OiBDYWNoZU9iamVjdDxDbGVhdmVsYW5kUHJpY2VVc2VyPjtcclxuICAjZGVmYXVsdENhY2hlTGlmZU1pbnV0ZXMgPSA3MjA7XHJcblxyXG4gIC8vI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcbiAgZ2V0ICNjYWNoZUV4cGlyZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuI2NhY2hlKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGV4cGlyYXRpb24gPSB0aGlzLiNjYWNoZS5sYXN0VXBkYXRlLnBsdXMoeyBtaW51dGVzOiB0aGlzLm9wdGlvbnMuY2FjaGluZyEubGlmZU1pbnV0ZXN9KTtcclxuXHJcbiAgICByZXR1cm4gRGF0ZVRpbWUubm93KCkgPiBleHBpcmF0aW9uO1xyXG4gIH1cclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChBY3RpdmVEaXJlY3RvcnlTZXJ2aWNlT3B0aW9uc1Rva2VuKSBwcml2YXRlIG9wdGlvbnM6IEFjdGl2ZURpcmVjdG9yeVNlcnZpY2VPcHRpb25zKSB7XHJcbiAgICBzdXBlcihvcHRpb25zKTtcclxuXHJcbiAgICB0aGlzLm9wdGlvbnMgPSB7XHJcbiAgICAgIC4uLm9wdGlvbnMsXHJcblxyXG4gICAgICBjYWNoaW5nOiBvcHRpb25zPy5jYWNoaW5nID8/IHtcclxuICAgICAgICBlbmFibGVkOiBmYWxzZSxcclxuICAgICAgICBsaWZlTWludXRlczogdGhpcy4jZGVmYXVsdENhY2hlTGlmZU1pbnV0ZXNcclxuICAgICAgfSxcclxuXHJcbiAgICAgIGxvZ2dpbmc6IG9wdGlvbnM/LmxvZ2dpbmcgPz8ge1xyXG4gICAgICAgIGRhdGFDYWNoZWQ6IGZhbHNlLFxyXG4gICAgICAgIGNhY2hlZERhdGFSZXR1cm5lZDogZmFsc2UsXHJcbiAgICAgICAgZnJlc2hEYXRhUmV0dXJuZWQ6IGZhbHNlLFxyXG4gICAgICAgIGNhY2hlQ2xlYXJlZDogZmFsc2VcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcbiAgXHJcbiAgZ2V0VXNlcnMoaW5jbHVkZVBob3RvID0gZmFsc2UsIGluY2x1ZGVEaXNhYmxlZCA9IGZhbHNlLCBwYXJlbnRPVSA9ICcnKTogT2JzZXJ2YWJsZTxDbGVhdmVsYW5kUHJpY2VVc2VyW10+IHtcclxuICAgIC8vIElmIGNhY2hpbmcgaXMgZW5hYmxlZCwgdGhlcmUgd2lsbCBiZSB0d28gY2FsbHMgdG8gdGhlIEFQSSBpZiB0aGUgY2FjaGUgaXMgbnVsbC9leHBpcmVkXHJcbiAgICAvLyBPbmUgY2FsbCBpcyB0byB1cGRhdGUgdGhlIGNhY2hlIGFuZCB0aGUgb3RoZXIgaXMgdG8gcmV0dXJuIHRoZSBkYXRhIHRoYXQgdGhlIHVzZXIgcmVxdWVzdGVkXHJcbiAgICAvLyBTdWJzZXF1ZW50IGNhbGxzIHdpbGwgYnlwYXNzIHRoZSBBUEkgYW5kIHJldHVybmVkIGNhY2hlZCBkYXRhIHVudGlsIGl0IGV4cGlyZXNcclxuXHJcbiAgICBjb25zdCBvYnNlcnZhYmxlJCA9IHRoaXMuI3NlcnZpY2VzLmh0dHAuZ2V0PENsZWF2ZWxhbmRQcmljZVVzZXJbXT4oYCR7dGhpcy5hcGlVcmx9L3VzZXJzLyR7aW5jbHVkZVBob3RvfS8ke2luY2x1ZGVEaXNhYmxlZH0vJHtwYXJlbnRPVX1gKTtcclxuXHJcbiAgICBpZiAodGhpcy5vcHRpb25zLmNhY2hpbmchLmVuYWJsZWQpIHtcclxuICAgICAgaWYgKHRoaXMuI2NhY2hlRXhwaXJlZCkge1xyXG4gICAgICAgIC8vIEdldCB0aGUgZGF0YSBhbmQgY2FjaGUgaXRcclxuICAgICAgICBvYnNlcnZhYmxlJC5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgICB0aGlzLiNjYWNoZSA9IHtcclxuICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgbGFzdFVwZGF0ZTogRGF0ZVRpbWUubm93KClcclxuICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5sb2dnaW5nIS5kYXRhQ2FjaGVkKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBEYXRhIGNhY2hlZCBmb3IgJHt0aGlzLm9wdGlvbnMuY2FjaGluZyEubGlmZU1pbnV0ZXN9IG1pbnV0ZXNgKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBDYWNoZSBleGlzdHMgYW5kIGhhc24ndCBleHBpcmVkIHlldFxyXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMubG9nZ2luZyEuY2FjaGVkRGF0YVJldHVybmVkKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnUmV0dXJuaW5nIGNhY2hlZCB1c2VycycpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG9mKHRoaXMuI2NhY2hlIS5kYXRhKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIENhY2hlIGlzIGVpdGhlciBkaXNhYmxlZCBvciBleHBpcmVkLCByZXR1cm4gZGF0YSBmcm9tIEFQSVxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5sb2dnaW5nIS5mcmVzaERhdGFSZXR1cm5lZCkge1xyXG4gICAgICBjb25zb2xlLmxvZygnUmV0dXJuaW5nIGZyZXNoIHVzZXJzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9ic2VydmFibGUkO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlcihhY2NvdW50TmFtZTogc3RyaW5nLCBpbmNsdWRlUGhvdG8gPSBmYWxzZSk6IE9ic2VydmFibGU8Q2xlYXZlbGFuZFByaWNlVXNlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuI3NlcnZpY2VzLmh0dHAuZ2V0PENsZWF2ZWxhbmRQcmljZVVzZXI+KGAke3RoaXMuYXBpVXJsfS91c2Vycy9uYW1lLyR7YWNjb3VudE5hbWV9LyR7aW5jbHVkZVBob3RvfWApO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJDYWNoZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuI2NhY2hlID0gdW5kZWZpbmVkO1xyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMubG9nZ2luZyEuY2FjaGVDbGVhcmVkKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdDYWNoZSBjbGVhcmVkJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREb21haW5zKCk6IE9ic2VydmFibGU8QURPYmplY3RbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuI3NlcnZpY2VzLmh0dHAuZ2V0PEFET2JqZWN0W10+KGAke3RoaXMuYXBpVXJsfS9hY3RpdmVkaXJlY3RvcnkvZG9tYWluc2ApO1xyXG4gIH1cclxuXHJcbiAgZ2V0T1VzKHBhcmVudE9VID0gJycpOiBPYnNlcnZhYmxlPEFET2JqZWN0V2l0aENoaWxkcmVuW10+IHtcclxuICAgIHJldHVybiB0aGlzLiNzZXJ2aWNlcy5odHRwLmdldDxBRE9iamVjdFdpdGhDaGlsZHJlbltdPihgJHt0aGlzLmFwaVVybH0vYWN0aXZlZGlyZWN0b3J5L291cy8ke3BhcmVudE9VfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29udGFpbmVycyhwYXJlbnRPVSA9ICcnKTogT2JzZXJ2YWJsZTxBRE9iamVjdFdpdGhDaGlsZHJlbltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy4jc2VydmljZXMuaHR0cC5nZXQ8QURPYmplY3RXaXRoQ2hpbGRyZW5bXT4oYCR7dGhpcy5hcGlVcmx9L2FjdGl2ZWRpcmVjdG9yeS9jb250YWluZXJzLyR7cGFyZW50T1V9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRHcm91cHMocGFyZW50T1UgPSAnJyk6IE9ic2VydmFibGU8R3JvdXBbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuI3NlcnZpY2VzLmh0dHAuZ2V0PEdyb3VwW10+KGAke3RoaXMuYXBpVXJsfS9hY3RpdmVkaXJlY3RvcnkvZ3JvdXBzLyR7cGFyZW50T1V9YCk7XHJcbiAgfVxyXG5cclxuICBnZXREaXN0aW5jdFVzZXJBdHRyaWJ1dGVWYWx1ZXMoYXR0cmlidXRlTmFtZTogc3RyaW5nKSA6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIHJldHVybiB0aGlzLiNzZXJ2aWNlcy5odHRwLmdldDxhbnlbXT4oYCR7dGhpcy5hcGlVcmx9L2FjdGl2ZWRpcmVjdG9yeS9kaXN0aW5jdC8ke2F0dHJpYnV0ZU5hbWV9YCk7XHJcbiAgfVxyXG5cclxuICBnZXREZXBhcnRtZW50cygpIDogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuI3NlcnZpY2VzLmh0dHAuZ2V0PHN0cmluZ1tdPihgJHt0aGlzLmFwaVVybH0vYWN0aXZlZGlyZWN0b3J5L2RlcGFydG1lbnRzYCk7XHJcbiAgfVxyXG5cclxuICBnZXRUaXRsZXMoKSA6IE9ic2VydmFibGU8c3RyaW5nW10+IHtcclxuICAgIHJldHVybiB0aGlzLiNzZXJ2aWNlcy5odHRwLmdldDxzdHJpbmdbXT4oYCR7dGhpcy5hcGlVcmx9L2FjdGl2ZWRpcmVjdG9yeS90aXRsZXNgKTtcclxuICB9XHJcblxyXG4gIGdldENvbXB1dGVycyhpbmNsdWRlRGlzYWJsZWQgPSBmYWxzZSwgcGFyZW50T1UgPSAnJyk6IE9ic2VydmFibGU8VXNlcltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy4jc2VydmljZXMuaHR0cC5nZXQ8VXNlcltdPihgJHt0aGlzLmFwaVVybH0vYWN0aXZlZGlyZWN0b3J5L2NvbXB1dGVycy8ke2luY2x1ZGVEaXNhYmxlZH0vJHtwYXJlbnRPVX1gKTtcclxuICB9XHJcblxyXG4gIGdldFNlcnZlcnMoaW5jbHVkZURpc2FibGVkID0gZmFsc2UsIHBhcmVudE9VID0gJycpOiBPYnNlcnZhYmxlPFVzZXJbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuI3NlcnZpY2VzLmh0dHAuZ2V0PFVzZXJbXT4oYCR7dGhpcy5hcGlVcmx9L2FjdGl2ZWRpcmVjdG9yeS9zZXJ2ZXJzLyR7aW5jbHVkZURpc2FibGVkfS8ke3BhcmVudE9VfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0V29ya3N0YXRpb25zKGluY2x1ZGVEaXNhYmxlZCA9IGZhbHNlLCBwYXJlbnRPVSA9ICcnKTogT2JzZXJ2YWJsZTxVc2VyW10+IHtcclxuICAgIHJldHVybiB0aGlzLiNzZXJ2aWNlcy5odHRwLmdldDxVc2VyW10+KGAke3RoaXMuYXBpVXJsfS9hY3RpdmVkaXJlY3Rvcnkvd29ya3N0YXRpb25zLyR7aW5jbHVkZURpc2FibGVkfS8ke3BhcmVudE9VfWApO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,6 @@
1
+ export * from './model/abstract-authentication-service';
2
+ export * from './model/authenticated-user';
3
+ export * from './model/authentication-request';
4
+ export * from './model/authentication-service-options';
5
+ export * from './authentication.base.module';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvYXV0aGVudGljYXRpb24vc3JjL2F1dGhlbnRpY2F0aW9uLmFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHdDQUF3QyxDQUFDO0FBRXZELGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGVsL2Fic3RyYWN0LWF1dGhlbnRpY2F0aW9uLXNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVsL2F1dGhlbnRpY2F0ZWQtdXNlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwvYXV0aGVudGljYXRpb24tcmVxdWVzdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwvYXV0aGVudGljYXRpb24tc2VydmljZS1vcHRpb25zJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vYXV0aGVudGljYXRpb24uYmFzZS5tb2R1bGUnO1xyXG4iXX0=
@@ -1,12 +1,29 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
2
+ import { NgModule, Optional, SkipSelf } from '@angular/core';
3
+ import { AuthenticationBaseServiceOptionsToken } from './model/authentication-service-options';
3
4
  import * as i0 from "@angular/core";
4
5
  export class AuthenticationBaseModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AuthenticationBaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: AuthenticationBaseModule, imports: [CommonModule] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AuthenticationBaseModule, imports: [CommonModule] }); }
6
+ static forRoot(options) {
7
+ return {
8
+ ngModule: AuthenticationBaseModule,
9
+ providers: [
10
+ {
11
+ provide: AuthenticationBaseServiceOptionsToken,
12
+ useValue: options
13
+ }
14
+ ]
15
+ };
16
+ }
17
+ constructor(parentModule) {
18
+ if (parentModule) {
19
+ throw new Error('AuthenticationBaseModule is already loaded. Import it in the AppModule only');
20
+ }
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AuthenticationBaseModule, deps: [{ token: AuthenticationBaseModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
23
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: AuthenticationBaseModule, imports: [CommonModule] }); }
24
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AuthenticationBaseModule, imports: [CommonModule] }); }
8
25
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AuthenticationBaseModule, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AuthenticationBaseModule, decorators: [{
10
27
  type: NgModule,
11
28
  args: [{
12
29
  declarations: [],
@@ -15,5 +32,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
15
32
  ],
16
33
  exports: []
17
34
  }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uYmFzZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hdXRoZW50aWNhdGlvbi9zcmMvYXV0aGVudGljYXRpb24uYmFzZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUy9DLE1BQU0sT0FBTyx3QkFBd0I7OEdBQXhCLHdCQUF3QjsrR0FBeEIsd0JBQXdCLFlBSmpDLFlBQVk7K0dBSUgsd0JBQXdCLFlBSmpDLFlBQVk7OzJGQUlILHdCQUF3QjtrQkFQcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0aW9uQmFzZU1vZHVsZSB7fSJdfQ==
35
+ }], ctorParameters: () => [{ type: AuthenticationBaseModule, decorators: [{
36
+ type: Optional
37
+ }, {
38
+ type: SkipSelf
39
+ }] }] });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uYmFzZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hdXRoZW50aWNhdGlvbi9zcmMvYXV0aGVudGljYXRpb24uYmFzZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFvQyxxQ0FBcUMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQVNqSSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBeUM7UUFDdEQsT0FBTztZQUNMLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxxQ0FBcUM7b0JBQzlDLFFBQVEsRUFBRSxPQUFPO2lCQUNsQjthQUNGO1NBQ0YsQ0FBQTtJQUNILENBQUM7SUFFRCxZQUFvQyxZQUFzQztRQUN4RSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQ2IsNkVBQTZFLENBQUMsQ0FBQztRQUNuRixDQUFDO0lBQ0gsQ0FBQzs4R0FsQlUsd0JBQXdCOytHQUF4Qix3QkFBd0IsWUFKakMsWUFBWTsrR0FJSCx3QkFBd0IsWUFKakMsWUFBWTs7MkZBSUgsd0JBQXdCO2tCQVBwQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUUsRUFBRTtpQkFDWjs7MEJBY2MsUUFBUTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25CYXNlU2VydmljZU9wdGlvbnMsIEF1dGhlbnRpY2F0aW9uQmFzZVNlcnZpY2VPcHRpb25zVG9rZW4gfSBmcm9tICcuL21vZGVsL2F1dGhlbnRpY2F0aW9uLXNlcnZpY2Utb3B0aW9ucyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aGVudGljYXRpb25CYXNlTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChvcHRpb25zOiBBdXRoZW50aWNhdGlvbkJhc2VTZXJ2aWNlT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QXV0aGVudGljYXRpb25CYXNlTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogQXV0aGVudGljYXRpb25CYXNlTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBBdXRoZW50aWNhdGlvbkJhc2VTZXJ2aWNlT3B0aW9uc1Rva2VuLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnNcclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHBhcmVudE1vZHVsZTogQXV0aGVudGljYXRpb25CYXNlTW9kdWxlKSB7XHJcbiAgICBpZiAocGFyZW50TW9kdWxlKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAnQXV0aGVudGljYXRpb25CYXNlTW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG59Il19
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXZlbGFuZHByaWNlLW5neC1saWItYXV0aGVudGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hdXRoZW50aWNhdGlvbi9zcmMvY2xlYXZlbGFuZHByaWNlLW5neC1saWItYXV0aGVudGljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
4
+ export * from './authentication.api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXZlbGFuZHByaWNlLW5neC1saWItYXV0aGVudGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hdXRoZW50aWNhdGlvbi9zcmMvY2xlYXZlbGFuZHByaWNlLW5neC1saWItYXV0aGVudGljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLmFwaSc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './mat-authentication.api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXZlbGFuZHByaWNlLW5neC1saWItYXV0aGVudGljYXRpb24tbWF0ZXJpYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hdXRoZW50aWNhdGlvbi9tYXRlcmlhbC9zcmMvY2xlYXZlbGFuZHByaWNlLW5neC1saWItYXV0aGVudGljYXRpb24tbWF0ZXJpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL21hdC1hdXRoZW50aWNhdGlvbi5hcGknO1xuIl19
@@ -0,0 +1,49 @@
1
+ import { Component, inject, input } from '@angular/core';
2
+ import { MatDialog } from '@angular/material/dialog';
3
+ import { ConfirmationComponent } from '@cleavelandprice/ngx-lib/dialog';
4
+ import { MatIcon } from '@angular/material/icon';
5
+ import { MatAuthenticationService } from '../../services/mat-authentication.service';
6
+ import { LoginFormComponent } from '../login-form/login-form.component';
7
+ import * as i0 from "@angular/core";
8
+ export class LoginComponent {
9
+ constructor() {
10
+ this.#services = {
11
+ dialog: inject(MatDialog)
12
+ };
13
+ this.services = {
14
+ authentication: inject(MatAuthenticationService)
15
+ };
16
+ //#endregion
17
+ this.adminGroup = input();
18
+ this.additionalInfo = input.required();
19
+ }
20
+ #services;
21
+ login() {
22
+ this.#services.dialog.open(LoginFormComponent, {
23
+ data: {
24
+ adminGroup: this.adminGroup(),
25
+ additionalInfo: this.additionalInfo()
26
+ }
27
+ });
28
+ }
29
+ confirmLogout() {
30
+ this.#services.dialog.open(ConfirmationComponent, {
31
+ data: { message: `Are you sure you want to logout?` }
32
+ })
33
+ .afterClosed()
34
+ .subscribe(result => {
35
+ if (result) {
36
+ this.services.authentication.logout();
37
+ }
38
+ });
39
+ }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: LoginComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: LoginComponent, isStandalone: true, selector: "cp-login", inputs: { adminGroup: { classPropertyName: "adminGroup", publicName: "adminGroup", isSignal: true, isRequired: false, transformFunction: null }, additionalInfo: { classPropertyName: "additionalInfo", publicName: "additionalInfo", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<div id=\"user-id\">\n <!-- Logged out -->\n <!-- Logged in -->\n @if (services.authentication.authenticated) {\n <!-- With photo -->\n @if (services.authentication.authenticatedUser?.photoUrl) {\n <img\n id=\"authenticated-user-image\"\n [src]=\"services.authentication.authenticatedUser?.photoUrl\"\n matTooltip=\"Logout\"\n (click)=\"confirmLogout()\" />\n } @else {\n <!-- Without photo -->\n <mat-icon\n fontIcon=\"account_circle\"\n matTooltip=\"Logout\"\n (click)=\"confirmLogout()\">\n </mat-icon>\n }\n <!-- Name -->\n <div id=\"user-name\">\n {{ services.authentication.authenticatedUser?.displayName }}\n </div>\n } @else {\n <mat-icon\n fontIcon=\"account_circle\"\n matTooltip=\"Login\"\n (click)=\"login()\">\n </mat-icon>\n }\n</div>", styles: ["#user-id{display:flex;height:2em;padding:.3em;font-family:Verdana,Geneva,Tahoma,sans-serif}#user-id>div{display:flex;align-items:center;height:100%;margin-left:.75em;font-size:1.15em}mat-icon{font-size:2em!important;height:2em!important;width:2em!important}img{border-radius:100%;width:2em;height:2em}\n", ".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: LoginComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'cp-login', standalone: true, imports: [
46
+ MatIcon,
47
+ ], template: "<div id=\"user-id\">\n <!-- Logged out -->\n <!-- Logged in -->\n @if (services.authentication.authenticated) {\n <!-- With photo -->\n @if (services.authentication.authenticatedUser?.photoUrl) {\n <img\n id=\"authenticated-user-image\"\n [src]=\"services.authentication.authenticatedUser?.photoUrl\"\n matTooltip=\"Logout\"\n (click)=\"confirmLogout()\" />\n } @else {\n <!-- Without photo -->\n <mat-icon\n fontIcon=\"account_circle\"\n matTooltip=\"Logout\"\n (click)=\"confirmLogout()\">\n </mat-icon>\n }\n <!-- Name -->\n <div id=\"user-name\">\n {{ services.authentication.authenticatedUser?.displayName }}\n </div>\n } @else {\n <mat-icon\n fontIcon=\"account_circle\"\n matTooltip=\"Login\"\n (click)=\"login()\">\n </mat-icon>\n }\n</div>", styles: ["#user-id{display:flex;height:2em;padding:.3em;font-family:Verdana,Geneva,Tahoma,sans-serif}#user-id>div{display:flex;align-items:center;height:100%;margin-left:.75em;font-size:1.15em}mat-icon{font-size:2em!important;height:2em!important;width:2em!important}img{border-radius:100%;width:2em;height:2em}\n", ".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}\n"] }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvYXV0aGVudGljYXRpb24vbWF0ZXJpYWwvc3JjL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvYXV0aGVudGljYXRpb24vbWF0ZXJpYWwvc3JjL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBY3hFLE1BQU0sT0FBTyxjQUFjO0lBWjNCO1FBYUUsY0FBUyxHQUFHO1lBQ1YsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUM7U0FDMUIsQ0FBQztRQUNGLGFBQVEsR0FBRztZQUNULGNBQWMsRUFBRSxNQUFNLENBQUMsd0JBQXdCLENBQUM7U0FDakQsQ0FBQztRQUNGLFlBQVk7UUFFWixlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDN0IsbUJBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7S0FzQjNDO0lBL0JDLFNBQVMsQ0FFUDtJQVNGLEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDN0MsSUFBSSxFQUFFO2dCQUNKLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUM3QixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRTthQUN0QztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQ2hELElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRTtTQUN0RCxDQUFDO2FBQ0QsV0FBVyxFQUFFO2FBQ2IsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xCLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0EvQlUsY0FBYztrR0FBZCxjQUFjLHlXQ3BCM0IsdTJCQThCTSxndEJEbEJGLE9BQU87OzJGQVFFLGNBQWM7a0JBWjFCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUDt3QkFDUCxPQUFPO3FCQUNSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJ0BjbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9kaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tYXQtYXV0aGVudGljYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ2luRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2xvZ2luLWZvcm0vbG9naW4tZm9ybS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjcC1sb2dpbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRJY29uLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL2xvZ2luLmNvbXBvbmVudC5zY3NzJyxcclxuICAgICcuLi8uLi8uLi8uLi8uLi9zdHlsZXMvbWF0LWljb24uc2NzcydcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCB7XHJcbiAgI3NlcnZpY2VzID0ge1xyXG4gICAgZGlhbG9nOiBpbmplY3QoTWF0RGlhbG9nKVxyXG4gIH07XHJcbiAgc2VydmljZXMgPSB7XHJcbiAgICBhdXRoZW50aWNhdGlvbjogaW5qZWN0KE1hdEF1dGhlbnRpY2F0aW9uU2VydmljZSlcclxuICB9O1xyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICBhZG1pbkdyb3VwID0gaW5wdXQ8c3RyaW5nPigpO1xyXG4gIGFkZGl0aW9uYWxJbmZvID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG5cclxuICBsb2dpbigpOiB2b2lkIHtcclxuICAgIHRoaXMuI3NlcnZpY2VzLmRpYWxvZy5vcGVuKExvZ2luRm9ybUNvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgYWRtaW5Hcm91cDogdGhpcy5hZG1pbkdyb3VwKCksXHJcbiAgICAgICAgYWRkaXRpb25hbEluZm86IHRoaXMuYWRkaXRpb25hbEluZm8oKVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1Mb2dvdXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLiNzZXJ2aWNlcy5kaWFsb2cub3BlbihDb25maXJtYXRpb25Db21wb25lbnQsIHtcclxuICAgICAgZGF0YTogeyBtZXNzYWdlOiBgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGxvZ291dD9gIH1cclxuICAgIH0pXHJcbiAgICAuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlcy5hdXRoZW50aWNhdGlvbi5sb2dvdXQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgaWQ9XCJ1c2VyLWlkXCI+XG4gIDwhLS0gTG9nZ2VkIG91dCAtLT5cbiAgPCEtLSBMb2dnZWQgaW4gLS0+XG4gIEBpZiAoc2VydmljZXMuYXV0aGVudGljYXRpb24uYXV0aGVudGljYXRlZCkge1xuICAgIDwhLS0gV2l0aCBwaG90byAtLT5cbiAgICBAaWYgKHNlcnZpY2VzLmF1dGhlbnRpY2F0aW9uLmF1dGhlbnRpY2F0ZWRVc2VyPy5waG90b1VybCkge1xuICAgICAgPGltZ1xuICAgICAgICBpZD1cImF1dGhlbnRpY2F0ZWQtdXNlci1pbWFnZVwiXG4gICAgICAgIFtzcmNdPVwic2VydmljZXMuYXV0aGVudGljYXRpb24uYXV0aGVudGljYXRlZFVzZXI/LnBob3RvVXJsXCJcbiAgICAgICAgbWF0VG9vbHRpcD1cIkxvZ291dFwiXG4gICAgICAgIChjbGljayk9XCJjb25maXJtTG9nb3V0KClcIiAvPlxuICAgIH0gQGVsc2Uge1xuICAgICAgPCEtLSBXaXRob3V0IHBob3RvIC0tPlxuICAgICAgPG1hdC1pY29uXG4gICAgICAgIGZvbnRJY29uPVwiYWNjb3VudF9jaXJjbGVcIlxuICAgICAgICBtYXRUb29sdGlwPVwiTG9nb3V0XCJcbiAgICAgICAgKGNsaWNrKT1cImNvbmZpcm1Mb2dvdXQoKVwiPlxuICAgICAgPC9tYXQtaWNvbj5cbiAgICB9XG4gICAgPCEtLSBOYW1lIC0tPlxuICAgIDxkaXYgaWQ9XCJ1c2VyLW5hbWVcIj5cbiAgICAgIHt7IHNlcnZpY2VzLmF1dGhlbnRpY2F0aW9uLmF1dGhlbnRpY2F0ZWRVc2VyPy5kaXNwbGF5TmFtZSB9fVxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICA8bWF0LWljb25cbiAgICAgIGZvbnRJY29uPVwiYWNjb3VudF9jaXJjbGVcIlxuICAgICAgbWF0VG9vbHRpcD1cIkxvZ2luXCJcbiAgICAgIChjbGljayk9XCJsb2dpbigpXCI+XG4gICAgPC9tYXQtaWNvbj5cbiAgfVxuPC9kaXY+Il19
@@ -0,0 +1,82 @@
1
+ import { Component, inject } from '@angular/core';
2
+ import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
3
+ import { MAT_DIALOG_DATA, MatDialogActions, MatDialogContent, MatDialogRef } from '@angular/material/dialog';
4
+ import { MatButton } from '@angular/material/button';
5
+ import { MatFormField } from '@angular/material/form-field';
6
+ import { MatIcon } from '@angular/material/icon';
7
+ import { MatInput } from '@angular/material/input';
8
+ import { MatProgressSpinner } from '@angular/material/progress-spinner';
9
+ import { MatSlideToggle } from '@angular/material/slide-toggle';
10
+ import { MatAuthenticationService } from '../../services/mat-authentication.service';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@angular/forms";
13
+ export class LoginFormComponent {
14
+ constructor() {
15
+ this.#data = inject(MAT_DIALOG_DATA);
16
+ this.services = {
17
+ dialogRef: inject((MatDialogRef)),
18
+ authentication: inject(MatAuthenticationService)
19
+ };
20
+ this.form = new FormGroup({
21
+ username: new FormControl(null, [Validators.required]),
22
+ password: new FormControl(null, [Validators.required]),
23
+ adminGroup: new FormControl(),
24
+ additionalInfo: new FormControl()
25
+ });
26
+ }
27
+ #data;
28
+ ngOnInit() {
29
+ this.form.get('adminGroup')?.setValue(this.#data.adminGroup);
30
+ this.form.get('additionalInfo')?.setValue(this.#data.additionalInfo);
31
+ this.authenticatedChangedSubscription = this.services.authentication.authenticatedChanged
32
+ .subscribe(this.#authChangedHandler.bind(this));
33
+ this.authenticationErrorSubscription = this.services.authentication.authenticationError
34
+ .subscribe(this.#errorHandler.bind(this));
35
+ }
36
+ ngOnDestroy() {
37
+ this.authenticationErrorSubscription.unsubscribe();
38
+ this.authenticatedChangedSubscription.unsubscribe();
39
+ }
40
+ authenticate() {
41
+ this.errorMessage = undefined;
42
+ const { username, password, adminGroup, additionalInfo } = this.form.value;
43
+ this.services.authentication.login(username, password, adminGroup, additionalInfo);
44
+ }
45
+ #authChangedHandler(authenticated) {
46
+ if (authenticated) {
47
+ this.services.dialogRef.close();
48
+ }
49
+ }
50
+ #errorHandler(err) {
51
+ console.log('Authentication error', err);
52
+ this.errorMessage = `${err.name}: ${err.statusText}`;
53
+ }
54
+ changeTokenStorageMode(checked) {
55
+ const keyName = 'storeTokenInSession';
56
+ if (checked) {
57
+ if (localStorage.getItem(keyName)) {
58
+ localStorage.removeItem(keyName);
59
+ }
60
+ }
61
+ else {
62
+ localStorage.setItem(keyName, 'true');
63
+ }
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: LoginFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: LoginFormComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<h2 mat-dialog-title>\n @if (services.authentication.authenticating) {\n <span>Authenticating...</span>\n } @else {\n <span>Login</span>\n }\n</h2>\n\n<mat-dialog-content>\n @if (services.authentication.authenticating) {\n <div id=\"spinner\">\n <mat-progress-spinner color=\"primary\" mode=\"indeterminate\"/>\n </div>\n } @else if (errorMessage) {\n <div id=\"error\">\n {{ errorMessage }}\n </div>\n } @else {\n <form [formGroup]=\"form\">\n <mat-form-field>\n <input matInput formControlName=\"username\" placeholder=\"Username\" (keyup.enter)=\"authenticate()\">\n </mat-form-field>\n <mat-form-field>\n <input matInput formControlName=\"password\" type=\"password\" placeholder=\"Password\" (keyup.enter)=\"authenticate()\">\n </mat-form-field>\n @if (services.authentication.options.showRememberMeOption) {\n <mat-slide-toggle [checked]=\"!services.authentication.useSessionStorage\" (change)=\"changeTokenStorageMode($event.checked)\">\n Remember me next time\n </mat-slide-toggle>\n }\n </form>\n }\n</mat-dialog-content>\n\n@if (!services.authentication.authenticating) {\n <mat-dialog-actions>\n <button mat-raised-button color=\"primary\" (click)=\"authenticate()\"\n [disabled]=\"form.invalid\">\n <mat-icon fontIcon=\"done\"/>\n <span>OK</span>\n </button>\n <button mat-raised-button (click)=\"services.dialogRef.close()\">\n <mat-icon fontIcon=\"close\"/>\n <span>Cancel</span>\n </button>\n </mat-dialog-actions>\n}", styles: ["#spinner{width:100%;height:100%;display:flex;justify-content:center;align-items:center}form{display:grid;gap:1rem}mat-dialog-actions{display:grid;justify-content:center;grid-template-columns:auto auto;gap:1rem}#error{color:red}\n", ".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}\n"], dependencies: [{ kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: LoginFormComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ standalone: true, imports: [
71
+ MatButton,
72
+ MatDialogActions,
73
+ MatDialogContent,
74
+ MatFormField,
75
+ MatIcon,
76
+ MatInput,
77
+ MatProgressSpinner,
78
+ MatSlideToggle,
79
+ ReactiveFormsModule
80
+ ], template: "<h2 mat-dialog-title>\n @if (services.authentication.authenticating) {\n <span>Authenticating...</span>\n } @else {\n <span>Login</span>\n }\n</h2>\n\n<mat-dialog-content>\n @if (services.authentication.authenticating) {\n <div id=\"spinner\">\n <mat-progress-spinner color=\"primary\" mode=\"indeterminate\"/>\n </div>\n } @else if (errorMessage) {\n <div id=\"error\">\n {{ errorMessage }}\n </div>\n } @else {\n <form [formGroup]=\"form\">\n <mat-form-field>\n <input matInput formControlName=\"username\" placeholder=\"Username\" (keyup.enter)=\"authenticate()\">\n </mat-form-field>\n <mat-form-field>\n <input matInput formControlName=\"password\" type=\"password\" placeholder=\"Password\" (keyup.enter)=\"authenticate()\">\n </mat-form-field>\n @if (services.authentication.options.showRememberMeOption) {\n <mat-slide-toggle [checked]=\"!services.authentication.useSessionStorage\" (change)=\"changeTokenStorageMode($event.checked)\">\n Remember me next time\n </mat-slide-toggle>\n }\n </form>\n }\n</mat-dialog-content>\n\n@if (!services.authentication.authenticating) {\n <mat-dialog-actions>\n <button mat-raised-button color=\"primary\" (click)=\"authenticate()\"\n [disabled]=\"form.invalid\">\n <mat-icon fontIcon=\"done\"/>\n <span>OK</span>\n </button>\n <button mat-raised-button (click)=\"services.dialogRef.close()\">\n <mat-icon fontIcon=\"close\"/>\n <span>Cancel</span>\n </button>\n </mat-dialog-actions>\n}", styles: ["#spinner{width:100%;height:100%;display:flex;justify-content:center;align-items:center}form{display:grid;gap:1rem}mat-dialog-actions{display:grid;justify-content:center;grid-template-columns:auto auto;gap:1rem}#error{color:red}\n", ".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}\n"] }]
81
+ }] });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hdXRoZW50aWNhdGlvbi9tYXRlcmlhbC9zcmMvY29tcG9uZW50cy9sb2dpbi1mb3JtL2xvZ2luLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvYXV0aGVudGljYXRpb24vbWF0ZXJpYWwvc3JjL2NvbXBvbmVudHMvbG9naW4tZm9ybS9sb2dpbi1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUE0QyxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTdHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFaEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7OztBQXFCckYsTUFBTSxPQUFPLGtCQUFrQjtJ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QUM7SUFDSCxDQUFDOzhHQTlEVSxrQkFBa0I7a0dBQWxCLGtCQUFrQix3RUNoQy9CLDZpREE4Q0Msc29CRDdCRyxTQUFTLGlMQUNULGdCQUFnQiw0SEFDaEIsZ0JBQWdCLHlHQUNoQixZQUFZLDRMQUNaLE9BQU8sMklBQ1AsUUFBUSxpVUFDUixrQkFBa0IsK0tBQ2xCLGNBQWMsa1RBQ2QsbUJBQW1COzsyRkFPVixrQkFBa0I7a0JBbkI5QixTQUFTO2lDQUVJLElBQUksV0FDUDt3QkFDUCxTQUFTO3dCQUNULGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLE9BQU87d0JBQ1AsUUFBUTt3QkFDUixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsbUJBQW1CO3FCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0UmVmU3Vic2NyaXB0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nQWN0aW9ucywgTWF0RGlhbG9nQ29udGVudCwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuXHJcbmltcG9ydCB7IE1hdEJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBMb2dpbkZvcm1EYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWwvbG9naW4tZm9ybS1kYXRhJztcclxuaW1wb3J0IHsgTWF0QXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWF0LWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0QnV0dG9uLFxyXG4gICAgTWF0RGlhbG9nQWN0aW9ucyxcclxuICAgIE1hdERpYWxvZ0NvbnRlbnQsXHJcbiAgICBNYXRGb3JtRmllbGQsXHJcbiAgICBNYXRJY29uLFxyXG4gICAgTWF0SW5wdXQsXHJcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXIsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcclxuICBdLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgJy4vbG9naW4tZm9ybS5jb21wb25lbnQuc2NzcycsXHJcbiAgICAnLi4vLi4vLi4vLi4vLi4vc3R5bGVzL21hdC1pY29uLnNjc3MnXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5Gb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICNkYXRhID0gaW5qZWN0PExvZ2luRm9ybURhdGE+KE1BVF9ESUFMT0dfREFUQSk7XHJcblxyXG4gIHNlcnZpY2VzID0ge1xyXG4gICAgZGlhbG9nUmVmOiBpbmplY3QoTWF0RGlhbG9nUmVmPExvZ2luRm9ybUNvbXBvbmVudD4pLFxyXG4gICAgYXV0aGVudGljYXRpb246IGluamVjdChNYXRBdXRoZW50aWNhdGlvblNlcnZpY2UpXHJcbiAgfTtcclxuICBcclxuICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgYXV0aGVudGljYXRlZENoYW5nZWRTdWJzY3JpcHRpb24hOiBPdXRwdXRSZWZTdWJzY3JpcHRpb247XHJcbiAgYXV0aGVudGljYXRpb25FcnJvclN1YnNjcmlwdGlvbiE6IE91dHB1dFJlZlN1YnNjcmlwdGlvbjtcclxuXHJcbiAgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgdXNlcm5hbWU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbIFZhbGlkYXRvcnMucmVxdWlyZWQgXSksXHJcbiAgICBwYXNzd29yZDogbmV3IEZvcm1Db250cm9sKG51bGwsIFsgVmFsaWRhdG9ycy5yZXF1aXJlZCBdKSxcclxuICAgIGFkbWluR3JvdXA6IG5ldyBGb3JtQ29udHJvbCgpLFxyXG4gICAgYWRkaXRpb25hbEluZm86IG5ldyBGb3JtQ29udHJvbCgpXHJcbiAgfSk7XHJcbiAgXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm0uZ2V0KCdhZG1pbkdyb3VwJyk/LnNldFZhbHVlKHRoaXMuI2RhdGEuYWRtaW5Hcm91cCk7XHJcbiAgICB0aGlzLmZvcm0uZ2V0KCdhZGRpdGlvbmFsSW5mbycpPy5zZXRWYWx1ZSh0aGlzLiNkYXRhLmFkZGl0aW9uYWxJbmZvKTtcclxuXHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZWRDaGFuZ2VkU3Vic2NyaXB0aW9uID0gdGhpcy5zZXJ2aWNlcy5hdXRoZW50aWNhdGlvbi5hdXRoZW50aWNhdGVkQ2hhbmdlZFxyXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuI2F1dGhDaGFuZ2VkSGFuZGxlci5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW9uRXJyb3JTdWJzY3JpcHRpb24gPSB0aGlzLnNlcnZpY2VzLmF1dGhlbnRpY2F0aW9uLmF1dGhlbnRpY2F0aW9uRXJyb3JcclxuICAgICAgLnN1YnNjcmliZSh0aGlzLiNlcnJvckhhbmRsZXIuYmluZCh0aGlzKSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXV0aGVudGljYXRpb25FcnJvclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5hdXRoZW50aWNhdGVkQ2hhbmdlZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgYXV0aGVudGljYXRlKCkge1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICBjb25zdCB7IHVzZXJuYW1lLCBwYXNzd29yZCwgYWRtaW5Hcm91cCwgYWRkaXRpb25hbEluZm8gfSA9IHRoaXMuZm9ybS52YWx1ZTtcclxuICAgIHRoaXMuc2VydmljZXMuYXV0aGVudGljYXRpb24ubG9naW4odXNlcm5hbWUhLCBwYXNzd29yZCEsIGFkbWluR3JvdXAsIGFkZGl0aW9uYWxJbmZvKTtcclxuICB9XHJcblxyXG4gICNhdXRoQ2hhbmdlZEhhbmRsZXIoYXV0aGVudGljYXRlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKGF1dGhlbnRpY2F0ZWQpIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICNlcnJvckhhbmRsZXIoZXJyOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKCdBdXRoZW50aWNhdGlvbiBlcnJvcicsIGVycik7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGAke2Vyci5uYW1lfTogJHtlcnIuc3RhdHVzVGV4dH1gO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlVG9rZW5TdG9yYWdlTW9kZShjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBjb25zdCBrZXlOYW1lID0gJ3N0b3JlVG9rZW5JblNlc3Npb24nO1xyXG5cclxuICAgIGlmIChjaGVja2VkKSB7XHJcbiAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXlOYW1lKSkge1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleU5hbWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXlOYW1lLCAndHJ1ZScpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8aDIgbWF0LWRpYWxvZy10aXRsZT5cbiAgQGlmIChzZXJ2aWNlcy5hdXRoZW50aWNhdGlvbi5hdXRoZW50aWNhdGluZykge1xuICAgIDxzcGFuPkF1dGhlbnRpY2F0aW5nLi4uPC9zcGFuPlxuICB9IEBlbHNlIHtcbiAgICA8c3Bhbj5Mb2dpbjwvc3Bhbj5cbiAgfVxuPC9oMj5cblxuPG1hdC1kaWFsb2ctY29udGVudD5cbiAgQGlmIChzZXJ2aWNlcy5hdXRoZW50aWNhdGlvbi5hdXRoZW50aWNhdGluZykge1xuICAgIDxkaXYgaWQ9XCJzcGlubmVyXCI+XG4gICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXIgY29sb3I9XCJwcmltYXJ5XCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIi8+XG4gICAgPC9kaXY+XG4gIH0gQGVsc2UgaWYgKGVycm9yTWVzc2FnZSkge1xuICAgIDxkaXYgaWQ9XCJlcnJvclwiPlxuICAgICAge3sgZXJyb3JNZXNzYWdlIH19XG4gICAgPC9kaXY+XG4gIH0gQGVsc2Uge1xuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidXNlcm5hbWVcIiBwbGFjZWhvbGRlcj1cIlVzZXJuYW1lXCIgKGtleXVwLmVudGVyKT1cImF1dGhlbnRpY2F0ZSgpXCI+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIiB0eXBlPVwicGFzc3dvcmRcIiBwbGFjZWhvbGRlcj1cIlBhc3N3b3JkXCIgKGtleXVwLmVudGVyKT1cImF1dGhlbnRpY2F0ZSgpXCI+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgQGlmIChzZXJ2aWNlcy5hdXRoZW50aWNhdGlvbi5vcHRpb25zLnNob3dSZW1lbWJlck1lT3B0aW9uKSB7XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFtjaGVja2VkXT1cIiFzZXJ2aWNlcy5hdXRoZW50aWNhdGlvbi51c2VTZXNzaW9uU3RvcmFnZVwiIChjaGFuZ2UpPVwiY2hhbmdlVG9rZW5TdG9yYWdlTW9kZSgkZXZlbnQuY2hlY2tlZClcIj5cbiAgICAgICAgICBSZW1lbWJlciBtZSBuZXh0IHRpbWVcbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgfVxuICAgIDwvZm9ybT5cbiAgfVxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG5cbkBpZiAoIXNlcnZpY2VzLmF1dGhlbnRpY2F0aW9uLmF1dGhlbnRpY2F0aW5nKSB7XG4gIDxtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiYXV0aGVudGljYXRlKClcIlxuICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiPlxuICAgICAgPG1hdC1pY29uIGZvbnRJY29uPVwiZG9uZVwiLz5cbiAgICAgIDxzcGFuPk9LPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cInNlcnZpY2VzLmRpYWxvZ1JlZi5jbG9zZSgpXCI+XG4gICAgICA8bWF0LWljb24gZm9udEljb249XCJjbG9zZVwiLz5cbiAgICAgIDxzcGFuPkNhbmNlbDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG59Il19
@@ -0,0 +1,7 @@
1
+ export * from './model/login-form-data';
2
+ export * from './model/mat-authentication-service-options';
3
+ export * from './services/mat-authentication.service';
4
+ export * from './components/login-form/login-form.component';
5
+ export * from './components/login/login.component';
6
+ export * from './mat-authentication.module';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LWF1dGhlbnRpY2F0aW9uLmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL21hdGVyaWFsL3NyYy9tYXQtYXV0aGVudGljYXRpb24uYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw0Q0FBNEMsQ0FBQztBQUUzRCxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9sb2dpbi1mb3JtLWRhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVsL21hdC1hdXRoZW50aWNhdGlvbi1zZXJ2aWNlLW9wdGlvbnMnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9tYXQtYXV0aGVudGljYXRpb24uc2VydmljZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbG9naW4tZm9ybS9sb2dpbi1mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9tYXQtYXV0aGVudGljYXRpb24ubW9kdWxlJztcclxuXHJcbiJdfQ==
@@ -0,0 +1,84 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule, Optional, SkipSelf } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { MatButtonModule } from '@angular/material/button';
5
+ import { MatDialogModule } from '@angular/material/dialog';
6
+ import { MatFormFieldModule } from '@angular/material/form-field';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import { MatInputModule } from '@angular/material/input';
9
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
10
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
11
+ import { MatAuthenticationServiceOptionsToken } from './model/mat-authentication-service-options';
12
+ import { LoginFormComponent } from './components/login-form/login-form.component';
13
+ import { LoginComponent } from './components/login/login.component';
14
+ import * as i0 from "@angular/core";
15
+ export class MatAuthenticationModule {
16
+ static forRoot(options) {
17
+ return {
18
+ ngModule: MatAuthenticationModule,
19
+ providers: [
20
+ {
21
+ provide: MatAuthenticationServiceOptionsToken,
22
+ useValue: options
23
+ }
24
+ ]
25
+ };
26
+ }
27
+ constructor(parentModule) {
28
+ if (parentModule) {
29
+ throw new Error('MatAuthenticationModule is already loaded. Import it in the AppModule only');
30
+ }
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: MatAuthenticationModule, deps: [{ token: MatAuthenticationModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
33
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: MatAuthenticationModule, imports: [CommonModule,
34
+ ReactiveFormsModule,
35
+ MatButtonModule,
36
+ MatDialogModule,
37
+ MatFormFieldModule,
38
+ MatIconModule,
39
+ MatInputModule,
40
+ MatProgressSpinnerModule,
41
+ MatSlideToggleModule,
42
+ LoginComponent,
43
+ LoginFormComponent], exports: [LoginComponent,
44
+ LoginFormComponent] }); }
45
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: MatAuthenticationModule, imports: [CommonModule,
46
+ ReactiveFormsModule,
47
+ MatButtonModule,
48
+ MatDialogModule,
49
+ MatFormFieldModule,
50
+ MatIconModule,
51
+ MatInputModule,
52
+ MatProgressSpinnerModule,
53
+ MatSlideToggleModule,
54
+ LoginComponent,
55
+ LoginFormComponent] }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: MatAuthenticationModule, decorators: [{
58
+ type: NgModule,
59
+ args: [{
60
+ declarations: [],
61
+ imports: [
62
+ CommonModule,
63
+ ReactiveFormsModule,
64
+ MatButtonModule,
65
+ MatDialogModule,
66
+ MatFormFieldModule,
67
+ MatIconModule,
68
+ MatInputModule,
69
+ MatProgressSpinnerModule,
70
+ MatSlideToggleModule,
71
+ LoginComponent,
72
+ LoginFormComponent
73
+ ],
74
+ exports: [
75
+ LoginComponent,
76
+ LoginFormComponent
77
+ ]
78
+ }]
79
+ }], ctorParameters: () => [{ type: MatAuthenticationModule, decorators: [{
80
+ type: Optional
81
+ }, {
82
+ type: SkipSelf
83
+ }] }] });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LWF1dGhlbnRpY2F0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL21hdGVyaWFsL3NyYy9tYXQtYXV0aGVudGljYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV0RSxPQUFPLEVBQW1DLG9DQUFvQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFHbkksT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQXdCcEUsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQXdDO1FBQ3JELE9BQU87WUFDTCxRQUFRLEVBQUUsdUJBQXVCO1lBQ2pDLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsb0NBQW9DO29CQUM3QyxRQUFRLEVBQUUsT0FBTztpQkFDbEI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsWUFBb0MsWUFBcUM7UUFDdkUsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUNiLDRFQUE0RSxDQUFDLENBQUM7UUFDbEYsQ0FBQztJQUNILENBQUM7OEdBbEJVLHVCQUF1QjsrR0FBdkIsdUJBQXVCLFlBbkJoQyxZQUFZO1lBQ1osbUJBQW1CO1lBRW5CLGVBQWU7WUFDZixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLG9CQUFvQjtZQUVwQixjQUFjO1lBQ2Qsa0JBQWtCLGFBR2xCLGNBQWM7WUFDZCxrQkFBa0I7K0dBR1QsdUJBQXVCLFlBbkJoQyxZQUFZO1lBQ1osbUJBQW1CO1lBRW5CLGVBQWU7WUFDZixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLG9CQUFvQjtZQUVwQixjQUFjO1lBQ2Qsa0JBQWtCOzsyRkFPVCx1QkFBdUI7a0JBdEJuQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBRW5CLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFFcEIsY0FBYzt3QkFDZCxrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxjQUFjO3dCQUNkLGtCQUFrQjtxQkFDbkI7aUJBQ0Y7OzBCQWNjLFFBQVE7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcclxuXHJcbmltcG9ydCB7IE1hdEF1dGhlbnRpY2F0aW9uU2VydmljZU9wdGlvbnMsIE1hdEF1dGhlbnRpY2F0aW9uU2VydmljZU9wdGlvbnNUb2tlbiB9IGZyb20gJy4vbW9kZWwvbWF0LWF1dGhlbnRpY2F0aW9uLXNlcnZpY2Utb3B0aW9ucyc7XHJcblxyXG5cclxuaW1wb3J0IHsgTG9naW5Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvZ2luLWZvcm0vbG9naW4tZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb2dpbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxyXG5cclxuICAgIExvZ2luQ29tcG9uZW50LFxyXG4gICAgTG9naW5Gb3JtQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBMb2dpbkNvbXBvbmVudCxcclxuICAgIExvZ2luRm9ybUNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdEF1dGhlbnRpY2F0aW9uTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChvcHRpb25zOiBNYXRBdXRoZW50aWNhdGlvblNlcnZpY2VPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxNYXRBdXRoZW50aWNhdGlvbk1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IE1hdEF1dGhlbnRpY2F0aW9uTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBNYXRBdXRoZW50aWNhdGlvblNlcnZpY2VPcHRpb25zVG9rZW4sXHJcbiAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9uc1xyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHBhcmVudE1vZHVsZTogTWF0QXV0aGVudGljYXRpb25Nb2R1bGUpIHtcclxuICAgIGlmIChwYXJlbnRNb2R1bGUpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICdNYXRBdXRoZW50aWNhdGlvbk1vZHVsZSBpcyBhbHJlYWR5IGxvYWRlZC4gSW1wb3J0IGl0IGluIHRoZSBBcHBNb2R1bGUgb25seScpO1xyXG4gICAgfVxyXG4gIH1cclxufSJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvYXV0aGVudGljYXRpb24vbWF0ZXJpYWwvc3JjL21vZGVsL2xvZ2luLWZvcm0tZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMb2dpbkZvcm1EYXRhIHtcclxuICAgIGFkbWluR3JvdXA6IHN0cmluZztcclxuICAgIGFkZGl0aW9uYWxJbmZvOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ export const MatAuthenticationServiceOptionsToken = new InjectionToken('');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LWF1dGhlbnRpY2F0aW9uLXNlcnZpY2Utb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL21hdGVyaWFsL3NyYy9tb2RlbC9tYXQtYXV0aGVudGljYXRpb24tc2VydmljZS1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNL0MsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsSUFBSSxjQUFjLENBQWtDLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblRva2VuU2VydmljZU9wdGlvbnMgfSBmcm9tICdAY2xlYXZlbGFuZHByaWNlL25neC1saWIvYXV0aGVudGljYXRpb24vdG9rZW4nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNYXRBdXRoZW50aWNhdGlvblNlcnZpY2VPcHRpb25zIGV4dGVuZHMgQXV0aGVudGljYXRpb25Ub2tlblNlcnZpY2VPcHRpb25zIHtcclxuICAgIHNob3dSZW1lbWJlck1lT3B0aW9uPzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY29uc3QgTWF0QXV0aGVudGljYXRpb25TZXJ2aWNlT3B0aW9uc1Rva2VuID0gbmV3IEluamVjdGlvblRva2VuPE1hdEF1dGhlbnRpY2F0aW9uU2VydmljZU9wdGlvbnM+KCcnKTsiXX0=