@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,110 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { EventEmitter, inject, Injectable, Output } from '@angular/core';
3
- import { ServiceConfig } from '../model/service-config';
4
- import * as i0 from "@angular/core";
5
- export class AuthenticationService {
6
- //#endregion
7
- //#region Properties
8
- get useSessionStorage() {
9
- return !!localStorage.getItem('storeTokenInSession');
10
- }
11
- get storage() {
12
- return this.useSessionStorage ?
13
- sessionStorage :
14
- localStorage;
15
- }
16
- //#endregion
17
- //#region Lifecycle
18
- constructor() {
19
- //#region Fields
20
- //#region Services
21
- this.config = inject(ServiceConfig, { optional: true }) ?? new ServiceConfig();
22
- this.http = inject(HttpClient);
23
- //#endregion
24
- this.authenticatedChanged = new EventEmitter();
25
- this.authenticatingChanged = new EventEmitter();
26
- this.authenticationError = new EventEmitter();
27
- this.authenticating = false; // Flag set to true while the service is attempting to authenticate the user
28
- this.authenticated = false; // Flag set to true when the user is successfully authenticated
29
- this.checkForExistingToken();
30
- }
31
- //#endregion
32
- //#region Utilities
33
- //Authenticate the user and store the token in Local Storage
34
- login(username, password, adminGroup, additionalInfo) {
35
- const request = {
36
- username,
37
- password,
38
- adminGroup,
39
- additionalInfo,
40
- appName: this.config?.appName
41
- };
42
- this.authenticating = true;
43
- this.authenticatingChanged.emit(this.authenticating);
44
- this.http.post(`${this.config?.apiUrl}${this.config?.authenticateEndpoint}`, request)
45
- .subscribe({
46
- next: (user) => {
47
- if (user) {
48
- this.validateUser(user);
49
- }
50
- else {
51
- this.logout();
52
- }
53
- },
54
- error: (err) => {
55
- this.authenticating = false;
56
- this.authenticatingChanged.emit(this.authenticating);
57
- this.authenticationError.emit(err);
58
- }
59
- });
60
- }
61
- //Logout the user and delete the token from Local Storage
62
- logout() {
63
- if (this.storage.getItem(this.config.tokenName)) {
64
- this.storage.removeItem(this.config.tokenName);
65
- }
66
- this.authenticatedUser = undefined;
67
- this.authenticated = false;
68
- this.authenticatedChanged.emit(false);
69
- }
70
- validateUser(token) {
71
- this.authenticatedUser = {
72
- admin: false, // This type of authentication has no concept of Admin
73
- displayName: token.displayName,
74
- accountName: token.sAMAccountName,
75
- distinguishedName: token.distinguishedName,
76
- employeeNumber: token.employeeNumber,
77
- memberOf: token.memberOf.join(',')
78
- };
79
- if (this.config?.tokenName) {
80
- this.storage.setItem(this.config.tokenName, JSON.stringify(token));
81
- }
82
- this.authenticated = true;
83
- this.authenticatedChanged.emit(this.authenticated);
84
- this.authenticating = false;
85
- this.authenticatingChanged.emit(this.authenticating);
86
- }
87
- checkForExistingToken() {
88
- if (this.config?.tokenName) {
89
- const token = this.storage.getItem(this.config.tokenName);
90
- if (token) {
91
- this.validateUser(JSON.parse(token));
92
- }
93
- }
94
- }
95
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AuthenticationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
96
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AuthenticationService, providedIn: 'root' }); }
97
- }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AuthenticationService, decorators: [{
99
- type: Injectable,
100
- args: [{
101
- providedIn: 'root'
102
- }]
103
- }], ctorParameters: () => [], propDecorators: { authenticatedChanged: [{
104
- type: Output
105
- }], authenticatingChanged: [{
106
- type: Output
107
- }], authenticationError: [{
108
- type: Output
109
- }] } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL29iamVjdC9zcmMvc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVV6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBS3hELE1BQU0sT0FBTyxxQkFBcUI7SUFZaEMsWUFBWTtJQUVaLG9CQUFvQjtJQUNwQixJQUFJLGlCQUFpQjtRQUNuQixPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDN0IsY0FBYyxDQUFBLENBQUM7WUFDZixZQUFZLENBQUM7SUFDakIsQ0FBQztJQUNELFlBQVk7SUFFWixtQkFBbUI7SUFDbkI7UUExQkEsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNWLFdBQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUMxRSxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLFlBQVk7UUFDRix5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ25ELDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDcEQsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuRCxtQkFBYyxHQUFHLEtBQUssQ0FBQyxDQUFDLDRFQUE0RTtRQUNwRyxrQkFBYSxHQUFHLEtBQUssQ0FBQyxDQUFDLCtEQUErRDtRQWtCcEYsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUNELFlBQVk7SUFFWixtQkFBbUI7SUFDbkIsNERBQTREO0lBQzVELEtBQUssQ0FBQyxRQUFnQixFQUFFLFFBQWdCLEVBQUUsVUFBbUIsRUFBRSxjQUF1QjtRQUNwRixNQUFNLE9BQU8sR0FBMEI7WUFDckMsUUFBUTtZQUNSLFFBQVE7WUFDUixVQUFVO1lBQ1YsY0FBYztZQUNkLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU87U0FDOUIsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxFQUFFLE9BQU8sQ0FBQzthQUNsRixTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDYixJQUFJLElBQUksRUFBRSxDQUFDO29CQUNULElBQUksQ0FBQyxZQUFZLENBQUMsSUFBWSxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2hCLENBQUM7WUFDSCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7U0FDRixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQseURBQXlEO0lBQ3pELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFXO1FBQ3RCLElBQUksQ0FBQyxpQkFBaUIsR0FBRztZQUN2QixLQUFLLEVBQUUsS0FBSyxFQUFFLHNEQUFzRDtZQUNwRSxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsV0FBVyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ2pDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDMUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDbkMsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQzNCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFMUQsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFTLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7OEdBdkdVLHFCQUFxQjtrSEFBckIscUJBQXFCLGNBRnBCLE1BQU07OzJGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7d0RBT1csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5qZWN0YWJsZSwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnQGNsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2FjdGl2ZS1kaXJlY3RvcnknO1xyXG5cclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdEF1dGhlbnRpY2F0aW9uU2VydmljZSxcclxuICBBdXRoZW50aWNhdGVkVXNlcixcclxuICBBdXRoZW50aWNhdGlvblJlcXVlc3RcclxufSBmcm9tICdAY2xlYXZlbGFuZHByaWNlL25neC1saWIvYXV0aGVudGljYXRpb24nO1xyXG5cclxuaW1wb3J0IHsgU2VydmljZUNvbmZpZyB9IGZyb20gJy4uL21vZGVsL3NlcnZpY2UtY29uZmlnJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0aW9uU2VydmljZSBpbXBsZW1lbnRzIEFic3RyYWN0QXV0aGVudGljYXRpb25TZXJ2aWNlIHtcclxuICAvLyNyZWdpb24gRmllbGRzXHJcbiAgLy8jcmVnaW9uIFNlcnZpY2VzXHJcbiAgcHJpdmF0ZSBjb25maWcgPSBpbmplY3QoU2VydmljZUNvbmZpZywgeyBvcHRpb25hbDogdHJ1ZSB9KSA/PyBuZXcgU2VydmljZUNvbmZpZygpO1xyXG4gIHByaXZhdGUgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcclxuICAvLyNlbmRyZWdpb25cclxuICBAT3V0cHV0KCkgYXV0aGVudGljYXRlZENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIGF1dGhlbnRpY2F0aW5nQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgYXV0aGVudGljYXRpb25FcnJvciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBhdXRoZW50aWNhdGluZyA9IGZhbHNlOyAvLyBGbGFnIHNldCB0byB0cnVlIHdoaWxlIHRoZSBzZXJ2aWNlIGlzIGF0dGVtcHRpbmcgdG8gYXV0aGVudGljYXRlIHRoZSB1c2VyXHJcbiAgYXV0aGVudGljYXRlZCA9IGZhbHNlOyAvLyBGbGFnIHNldCB0byB0cnVlIHdoZW4gdGhlIHVzZXIgaXMgc3VjY2Vzc2Z1bGx5IGF1dGhlbnRpY2F0ZWRcclxuICBhdXRoZW50aWNhdGVkVXNlcj86IEF1dGhlbnRpY2F0ZWRVc2VyOyAvLyBPYmplY3QgcmVwcmVzZW50aW5nIHRoZSBhdXRoZW50aWNhdGVkIHVzZXJcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgLy8jcmVnaW9uIFByb3BlcnRpZXNcclxuICBnZXQgdXNlU2Vzc2lvblN0b3JhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISFsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc3RvcmVUb2tlbkluU2Vzc2lvbicpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHN0b3JhZ2UoKTogU3RvcmFnZSB7XHJcbiAgICByZXR1cm4gdGhpcy51c2VTZXNzaW9uU3RvcmFnZSA/XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlOlxyXG4gICAgICBsb2NhbFN0b3JhZ2U7XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gTGlmZWN5Y2xlXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmNoZWNrRm9yRXhpc3RpbmdUb2tlbigpO1xyXG4gIH1cclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgLy8jcmVnaW9uIFV0aWxpdGllc1xyXG4gIC8vQXV0aGVudGljYXRlIHRoZSB1c2VyIGFuZCBzdG9yZSB0aGUgdG9rZW4gaW4gTG9jYWwgU3RvcmFnZVxyXG4gIGxvZ2luKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcsIGFkbWluR3JvdXA/OiBzdHJpbmcsIGFkZGl0aW9uYWxJbmZvPzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCByZXF1ZXN0OiBBdXRoZW50aWNhdGlvblJlcXVlc3QgPSB7XHJcbiAgICAgIHVzZXJuYW1lLFxyXG4gICAgICBwYXNzd29yZCxcclxuICAgICAgYWRtaW5Hcm91cCxcclxuICAgICAgYWRkaXRpb25hbEluZm8sXHJcbiAgICAgIGFwcE5hbWU6IHRoaXMuY29uZmlnPy5hcHBOYW1lXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuYXV0aGVudGljYXRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5hdXRoZW50aWNhdGluZ0NoYW5nZWQuZW1pdCh0aGlzLmF1dGhlbnRpY2F0aW5nKTtcclxuXHJcbiAgICB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmNvbmZpZz8uYXBpVXJsfSR7dGhpcy5jb25maWc/LmF1dGhlbnRpY2F0ZUVuZHBvaW50fWAsIHJlcXVlc3QpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6ICh1c2VyKSA9PiB7XHJcbiAgICAgICAgICBpZiAodXNlcikge1xyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRlVXNlcih1c2VyIGFzIFVzZXIpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5sb2dvdXQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW5nQ2hhbmdlZC5lbWl0KHRoaXMuYXV0aGVudGljYXRpbmcpO1xyXG4gICAgICAgICAgdGhpcy5hdXRoZW50aWNhdGlvbkVycm9yLmVtaXQoZXJyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuIFxyXG4gIC8vTG9nb3V0IHRoZSB1c2VyIGFuZCBkZWxldGUgdGhlIHRva2VuIGZyb20gTG9jYWwgU3RvcmFnZVxyXG4gIGxvZ291dCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmNvbmZpZy50b2tlbk5hbWUpKSB7XHJcbiAgICAgIHRoaXMuc3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuY29uZmlnLnRva2VuTmFtZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hdXRoZW50aWNhdGVkVXNlciA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuYXV0aGVudGljYXRlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5hdXRoZW50aWNhdGVkQ2hhbmdlZC5lbWl0KGZhbHNlKTtcclxuICB9XHJcbiBcclxuICB2YWxpZGF0ZVVzZXIodG9rZW46IFVzZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuYXV0aGVudGljYXRlZFVzZXIgPSB7XHJcbiAgICAgIGFkbWluOiBmYWxzZSwgLy8gVGhpcyB0eXBlIG9mIGF1dGhlbnRpY2F0aW9uIGhhcyBubyBjb25jZXB0IG9mIEFkbWluXHJcbiAgICAgIGRpc3BsYXlOYW1lOiB0b2tlbi5kaXNwbGF5TmFtZSxcclxuICAgICAgYWNjb3VudE5hbWU6IHRva2VuLnNBTUFjY291bnROYW1lLFxyXG4gICAgICBkaXN0aW5ndWlzaGVkTmFtZTogdG9rZW4uZGlzdGluZ3Vpc2hlZE5hbWUsXHJcbiAgICAgIGVtcGxveWVlTnVtYmVyOiB0b2tlbi5lbXBsb3llZU51bWJlcixcclxuICAgICAgbWVtYmVyT2Y6IHRva2VuLm1lbWJlck9mLmpvaW4oJywnKVxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodGhpcy5jb25maWc/LnRva2VuTmFtZSkge1xyXG4gICAgICB0aGlzLnN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmNvbmZpZy50b2tlbk5hbWUsIEpTT04uc3RyaW5naWZ5KHRva2VuKSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRoaXMuYXV0aGVudGljYXRlZCA9IHRydWU7XHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZWRDaGFuZ2VkLmVtaXQodGhpcy5hdXRoZW50aWNhdGVkKTtcclxuXHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW5nID0gZmFsc2U7XHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW5nQ2hhbmdlZC5lbWl0KHRoaXMuYXV0aGVudGljYXRpbmcpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tGb3JFeGlzdGluZ1Rva2VuKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnPy50b2tlbk5hbWUpIHtcclxuICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmNvbmZpZy50b2tlbk5hbWUpO1xyXG5cclxuICAgICAgaWYgKHRva2VuKSB7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZVVzZXIoSlNPTi5wYXJzZSh0b2tlbikgYXMgVXNlcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcbn1cclxuICJdfQ==
@@ -1,6 +0,0 @@
1
- export * from './model/abstract-authentication-service';
2
- export * from './model/authenticated-user';
3
- export * from './model/authentication-request';
4
- export * from './model/service-config';
5
- export * from './authentication.base.module';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWwvYWJzdHJhY3QtYXV0aGVudGljYXRpb24tc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwvYXV0aGVudGljYXRlZC11c2VyJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9hdXRoZW50aWNhdGlvbi1yZXF1ZXN0JztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9zZXJ2aWNlLWNvbmZpZyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2F1dGhlbnRpY2F0aW9uLmJhc2UubW9kdWxlJzsiXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXZlbGFuZHByaWNlLW5neC1saWItYXV0aGVudGljYXRpb24tdG9rZW4tZ3VpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvYXV0aGVudGljYXRpb24vdG9rZW4vZ3VpL3NyYy9jbGVhdmVsYW5kcHJpY2Utbmd4LWxpYi1hdXRoZW50aWNhdGlvbi10b2tlbi1ndWkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,43 +0,0 @@
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 { AuthenticationService } from '../../services/authentication.service';
5
- import { LoginFormComponent } from '../login-form/login-form.component';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/material/icon";
8
- export class LoginComponent {
9
- constructor() {
10
- //#region Services
11
- this.dialog = inject(MatDialog);
12
- this.authenticationService = inject(AuthenticationService);
13
- //#endregion
14
- this.adminGroup = input();
15
- this.additionalInfo = input.required();
16
- }
17
- login() {
18
- this.dialog.open(LoginFormComponent, {
19
- data: {
20
- adminGroup: this.adminGroup(),
21
- additionalInfo: this.additionalInfo()
22
- }
23
- });
24
- }
25
- confirmLogout() {
26
- this.dialog.open(ConfirmationComponent, {
27
- data: { message: `Are you sure you want to logout?` }
28
- })
29
- .afterClosed()
30
- .subscribe(result => {
31
- if (result) {
32
- this.authenticationService.logout();
33
- }
34
- });
35
- }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: LoginComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: LoginComponent, 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\">\r\n <!-- Logged out -->\r\n <!-- Logged in -->\r\n @if (authenticationService.authenticated) {\r\n <!-- With photo -->\r\n @if (authenticationService.authenticatedUser?.photoUrl) {\r\n <img\r\n id=\"authenticated-user-image\"\r\n [src]=\"authenticationService.authenticatedUser?.photoUrl\"\r\n matTooltip=\"Logout\"\r\n (click)=\"confirmLogout()\" />\r\n } @else {\r\n <!-- Without photo -->\r\n <mat-icon\r\n fontIcon=\"account_circle\"\r\n matTooltip=\"Logout\"\r\n (click)=\"confirmLogout()\">\r\n </mat-icon>\r\n }\r\n <!-- Name -->\r\n <div id=\"user-name\">\r\n {{ authenticationService.authenticatedUser?.displayName }}\r\n </div>\r\n } @else {\r\n <mat-icon\r\n fontIcon=\"account_circle\"\r\n matTooltip=\"Login\"\r\n (click)=\"login()\">\r\n </mat-icon>\r\n }\r\n</div>", styles: ["#user-id{display:flex;height:2em;padding:.3em;font-family:Verdana,Geneva,Tahoma,sans-serif}mat-icon{font-size:2em!important;height:2em!important;width:2em!important}img{border-radius:100%;width:2em;height:2em}#user-id>div{display:flex;align-items:center;height:100%;margin-left:.75em;font-size:1.15em}\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: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: LoginComponent, decorators: [{
40
- type: Component,
41
- args: [{ selector: 'cp-login', template: "<div id=\"user-id\">\r\n <!-- Logged out -->\r\n <!-- Logged in -->\r\n @if (authenticationService.authenticated) {\r\n <!-- With photo -->\r\n @if (authenticationService.authenticatedUser?.photoUrl) {\r\n <img\r\n id=\"authenticated-user-image\"\r\n [src]=\"authenticationService.authenticatedUser?.photoUrl\"\r\n matTooltip=\"Logout\"\r\n (click)=\"confirmLogout()\" />\r\n } @else {\r\n <!-- Without photo -->\r\n <mat-icon\r\n fontIcon=\"account_circle\"\r\n matTooltip=\"Logout\"\r\n (click)=\"confirmLogout()\">\r\n </mat-icon>\r\n }\r\n <!-- Name -->\r\n <div id=\"user-name\">\r\n {{ authenticationService.authenticatedUser?.displayName }}\r\n </div>\r\n } @else {\r\n <mat-icon\r\n fontIcon=\"account_circle\"\r\n matTooltip=\"Login\"\r\n (click)=\"login()\">\r\n </mat-icon>\r\n }\r\n</div>", styles: ["#user-id{display:flex;height:2em;padding:.3em;font-family:Verdana,Geneva,Tahoma,sans-serif}mat-icon{font-size:2em!important;height:2em!important;width:2em!important}img{border-radius:100%;width:2em;height:2em}#user-id>div{display:flex;align-items:center;height:100%;margin-left:.75em;font-size:1.15em}\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"] }]
42
- }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvYXV0aGVudGljYXRpb24vdG9rZW4vZ3VpL3NyYy9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL3Rva2VuL2d1aS9zcmMvY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFVeEUsTUFBTSxPQUFPLGNBQWM7SUFSM0I7UUFTRSxrQkFBa0I7UUFDVixXQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVCLDBCQUFxQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzdELFlBQVk7UUFFWixlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDN0IsbUJBQWMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7S0FzQjNDO0lBcEJDLEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUNuQyxJQUFJLEVBQUU7Z0JBQ0osVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQzdCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO2FBQ3RDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUN0QyxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUU7U0FDdEQsQ0FBQzthQUNELFdBQVcsRUFBRTthQUNiLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzhHQTVCVSxjQUFjO2tHQUFkLGNBQWMscVZDZjNCLDI1QkE4Qk07OzJGRGZPLGNBQWM7a0JBUjFCLFNBQVM7K0JBQ0UsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICdAY2xlYXZlbGFuZHByaWNlL25neC1saWIvZGlhbG9nJztcclxuXHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dpbkZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9sb2dpbi1mb3JtL2xvZ2luLWZvcm0uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3AtbG9naW4nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbXHJcbiAgICAnLi9sb2dpbi5jb21wb25lbnQuY3NzJyxcclxuICAgICcuLi8uLi8uLi8uLi8uLi8uLi9zdHlsZXMvbWF0LWljb24uY3NzJ1xyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IHtcclxuICAvLyNyZWdpb24gU2VydmljZXNcclxuICBwcml2YXRlIGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xyXG4gIHB1YmxpYyBhdXRoZW50aWNhdGlvblNlcnZpY2UgPSBpbmplY3QoQXV0aGVudGljYXRpb25TZXJ2aWNlKTtcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgYWRtaW5Hcm91cCA9IGlucHV0PHN0cmluZz4oKTtcclxuICBhZGRpdGlvbmFsSW5mbyA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcclxuXHJcbiAgbG9naW4oKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZy5vcGVuKExvZ2luRm9ybUNvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgYWRtaW5Hcm91cDogdGhpcy5hZG1pbkdyb3VwKCksXHJcbiAgICAgICAgYWRkaXRpb25hbEluZm86IHRoaXMuYWRkaXRpb25hbEluZm8oKVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1Mb2dvdXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZy5vcGVuKENvbmZpcm1hdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7IG1lc3NhZ2U6IGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gbG9nb3V0P2AgfVxyXG4gICAgfSlcclxuICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgaWQ9XCJ1c2VyLWlkXCI+XHJcbiAgPCEtLSBMb2dnZWQgb3V0IC0tPlxyXG4gIDwhLS0gTG9nZ2VkIGluIC0tPlxyXG4gIEBpZiAoYXV0aGVudGljYXRpb25TZXJ2aWNlLmF1dGhlbnRpY2F0ZWQpIHtcclxuICAgIDwhLS0gV2l0aCBwaG90byAtLT5cclxuICAgIEBpZiAoYXV0aGVudGljYXRpb25TZXJ2aWNlLmF1dGhlbnRpY2F0ZWRVc2VyPy5waG90b1VybCkge1xyXG4gICAgICA8aW1nXHJcbiAgICAgICAgaWQ9XCJhdXRoZW50aWNhdGVkLXVzZXItaW1hZ2VcIlxyXG4gICAgICAgIFtzcmNdPVwiYXV0aGVudGljYXRpb25TZXJ2aWNlLmF1dGhlbnRpY2F0ZWRVc2VyPy5waG90b1VybFwiXHJcbiAgICAgICAgbWF0VG9vbHRpcD1cIkxvZ291dFwiXHJcbiAgICAgICAgKGNsaWNrKT1cImNvbmZpcm1Mb2dvdXQoKVwiIC8+XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgPCEtLSBXaXRob3V0IHBob3RvIC0tPlxyXG4gICAgICA8bWF0LWljb25cclxuICAgICAgICBmb250SWNvbj1cImFjY291bnRfY2lyY2xlXCJcclxuICAgICAgICBtYXRUb29sdGlwPVwiTG9nb3V0XCJcclxuICAgICAgICAoY2xpY2spPVwiY29uZmlybUxvZ291dCgpXCI+XHJcbiAgICAgIDwvbWF0LWljb24+XHJcbiAgICB9XHJcbiAgICA8IS0tIE5hbWUgLS0+XHJcbiAgICA8ZGl2IGlkPVwidXNlci1uYW1lXCI+XHJcbiAgICAgIHt7IGF1dGhlbnRpY2F0aW9uU2VydmljZS5hdXRoZW50aWNhdGVkVXNlcj8uZGlzcGxheU5hbWUgfX1cclxuICAgIDwvZGl2PlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPG1hdC1pY29uXHJcbiAgICAgIGZvbnRJY29uPVwiYWNjb3VudF9jaXJjbGVcIlxyXG4gICAgICBtYXRUb29sdGlwPVwiTG9naW5cIlxyXG4gICAgICAoY2xpY2spPVwibG9naW4oKVwiPlxyXG4gICAgPC9tYXQtaWNvbj5cclxuICB9XHJcbjwvZGl2PiJdfQ==
@@ -1,72 +0,0 @@
1
- import { Component, inject } from '@angular/core';
2
- import { FormControl, FormGroup, Validators } from '@angular/forms';
3
- import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
4
- import { AuthenticationService } from '../../services/authentication.service';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- import * as i2 from "@angular/material/button";
8
- import * as i3 from "@angular/material/dialog";
9
- import * as i4 from "@angular/material/form-field";
10
- import * as i5 from "@angular/material/icon";
11
- import * as i6 from "@angular/material/input";
12
- import * as i7 from "@angular/material/progress-spinner";
13
- import * as i8 from "@angular/material/slide-toggle";
14
- export class LoginFormComponent {
15
- constructor() {
16
- this.#data = inject(MAT_DIALOG_DATA);
17
- //#region Services
18
- this.dialogRef = inject((MatDialogRef));
19
- this.authenticationService = inject(AuthenticationService);
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.authenticationService.authenticatedChanged
32
- .subscribe(this.authChangedHandler.bind(this));
33
- this.authenticationErrorSubscription = this.authenticationService.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.authenticationService.login(username, password, adminGroup, additionalInfo);
44
- }
45
- authChangedHandler(authenticated) {
46
- if (authenticated) {
47
- this.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.0", ngImport: i0, type: LoginFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: LoginFormComponent, selector: "ng-component", ngImport: i0, template: "<h2 mat-dialog-title>\r\n @if (authenticationService.authenticating) {\r\n <span>Authenticating...</span>\r\n } @else {\r\n <span>Login</span>\r\n }\r\n</h2>\r\n\r\n<mat-dialog-content>\r\n @if (authenticationService.authenticating) {\r\n <div id=\"spinner\">\r\n <mat-progress-spinner color=\"primary\" mode=\"indeterminate\"/>\r\n </div>\r\n } @else if (errorMessage) {\r\n <div id=\"error\">\r\n {{ errorMessage }}\r\n </div>\r\n } @else {\r\n <form [formGroup]=\"form\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"username\" placeholder=\"Username\" (keyup.enter)=\"authenticate()\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput formControlName=\"password\" type=\"password\" placeholder=\"Password\" (keyup.enter)=\"authenticate()\">\r\n </mat-form-field>\r\n @if (authenticationService.config.showRememberMeOption) {\r\n <mat-slide-toggle [checked]=\"!authenticationService.useSessionStorage\" (change)=\"changeTokenStorageMode($event.checked)\">\r\n Remember me next time\r\n </mat-slide-toggle>\r\n }\r\n </form>\r\n }\r\n</mat-dialog-content>\r\n\r\n@if (!authenticationService.authenticating) {\r\n <mat-dialog-actions>\r\n <button mat-raised-button color=\"primary\" (click)=\"authenticate()\"\r\n [disabled]=\"form.invalid\">\r\n <mat-icon fontIcon=\"done\"/>\r\n <span>OK</span>\r\n </button>\r\n <button mat-raised-button (click)=\"dialogRef.close()\">\r\n <mat-icon fontIcon=\"close\"/>\r\n <span>Cancel</span>\r\n </button>\r\n </mat-dialog-actions>\r\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: "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"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.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: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i8.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"] }] }); }
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: LoginFormComponent, decorators: [{
69
- type: Component,
70
- args: [{ template: "<h2 mat-dialog-title>\r\n @if (authenticationService.authenticating) {\r\n <span>Authenticating...</span>\r\n } @else {\r\n <span>Login</span>\r\n }\r\n</h2>\r\n\r\n<mat-dialog-content>\r\n @if (authenticationService.authenticating) {\r\n <div id=\"spinner\">\r\n <mat-progress-spinner color=\"primary\" mode=\"indeterminate\"/>\r\n </div>\r\n } @else if (errorMessage) {\r\n <div id=\"error\">\r\n {{ errorMessage }}\r\n </div>\r\n } @else {\r\n <form [formGroup]=\"form\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"username\" placeholder=\"Username\" (keyup.enter)=\"authenticate()\">\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput formControlName=\"password\" type=\"password\" placeholder=\"Password\" (keyup.enter)=\"authenticate()\">\r\n </mat-form-field>\r\n @if (authenticationService.config.showRememberMeOption) {\r\n <mat-slide-toggle [checked]=\"!authenticationService.useSessionStorage\" (change)=\"changeTokenStorageMode($event.checked)\">\r\n Remember me next time\r\n </mat-slide-toggle>\r\n }\r\n </form>\r\n }\r\n</mat-dialog-content>\r\n\r\n@if (!authenticationService.authenticating) {\r\n <mat-dialog-actions>\r\n <button mat-raised-button color=\"primary\" (click)=\"authenticate()\"\r\n [disabled]=\"form.invalid\">\r\n <mat-icon fontIcon=\"done\"/>\r\n <span>OK</span>\r\n </button>\r\n <button mat-raised-button (click)=\"dialogRef.close()\">\r\n <mat-icon fontIcon=\"close\"/>\r\n <span>Cancel</span>\r\n </button>\r\n </mat-dialog-actions>\r\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"] }]
71
- }] });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hdXRoZW50aWNhdGlvbi90b2tlbi9ndWkvc3JjL2NvbXBvbmVudHMvbG9naW4tZm9ybS9sb2dpbi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL3Rva2VuL2d1aS9zcmMvY29tcG9uZW50cy9sb2dpbi1mb3JtL2xvZ2luLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7Ozs7QUFTOUUsTUFBTSxPQUFPLGtCQUFrQjtJQVAvQjtRQVFFLFVBQUssR0FBRyxNQUFNLENBQWdCLGVBQWUsQ0FBQyxDQUFDO1FBRS9DLGtCQUFrQjtRQUNYLGNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQSxZQUFnQyxDQUFBLENBQUMsQ0FBQztRQUNyRCwwQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQU03RCxTQUFJLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDbkIsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxDQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUUsQ0FBQztZQUN4RCxRQUFRLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBRSxDQUFDO1lBQ3hELFVBQVUsRUFBRSxJQUFJLFdBQVcsRUFBRTtZQUM3QixjQUFjLEVBQUUsSUFBSSxXQUFXLEVBQUU7U0FDbEMsQ0FBQyxDQUFDO0tBOENKO0lBN0RDLEtBQUssQ0FBMEM7SUFpQi9DLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXJFLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsb0JBQW9CO2FBQ3BGLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFakQsSUFBSSxDQUFDLCtCQUErQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxtQkFBbUI7YUFDbEYsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsK0JBQStCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDOUIsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzNFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsUUFBUyxFQUFFLFFBQVMsRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVPLGtCQUFrQixDQUFDLGFBQXNCO1FBQy9DLElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxHQUFRO1FBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxPQUFnQjtRQUNyQyxNQUFNLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQztRQUV0QyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7OEdBN0RVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLG9EQ2YvQixxbkRBOENDOzsyRkQvQlksa0JBQWtCO2tCQVA5QixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBMb2dpbkZvcm1EYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWwvbG9naW4tZm9ybS1kYXRhJztcclxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vbG9naW4tZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbXHJcbiAgICAnLi9sb2dpbi1mb3JtLmNvbXBvbmVudC5jc3MnLFxyXG4gICAgJy4uLy4uLy4uLy4uLy4uLy4uL3N0eWxlcy9tYXQtaWNvbi5jc3MnXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5Gb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICNkYXRhID0gaW5qZWN0PExvZ2luRm9ybURhdGE+KE1BVF9ESUFMT0dfREFUQSk7XHJcblxyXG4gIC8vI3JlZ2lvbiBTZXJ2aWNlc1xyXG4gIHB1YmxpYyBkaWFsb2dSZWYgPSBpbmplY3QoTWF0RGlhbG9nUmVmPExvZ2luRm9ybUNvbXBvbmVudD4pO1xyXG4gIHB1YmxpYyBhdXRoZW50aWNhdGlvblNlcnZpY2UgPSBpbmplY3QoQXV0aGVudGljYXRpb25TZXJ2aWNlKTtcclxuICAvLyNlbmRyZWdpb25cclxuICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgYXV0aGVudGljYXRlZENoYW5nZWRTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcbiAgYXV0aGVudGljYXRpb25FcnJvclN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgdXNlcm5hbWU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbIFZhbGlkYXRvcnMucmVxdWlyZWQgXSksXHJcbiAgICBwYXNzd29yZDogbmV3IEZvcm1Db250cm9sKG51bGwsIFsgVmFsaWRhdG9ycy5yZXF1aXJlZCBdKSxcclxuICAgIGFkbWluR3JvdXA6IG5ldyBGb3JtQ29udHJvbCgpLFxyXG4gICAgYWRkaXRpb25hbEluZm86IG5ldyBGb3JtQ29udHJvbCgpXHJcbiAgfSk7XHJcbiAgXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm0uZ2V0KCdhZG1pbkdyb3VwJyk/LnNldFZhbHVlKHRoaXMuI2RhdGEuYWRtaW5Hcm91cCk7XHJcbiAgICB0aGlzLmZvcm0uZ2V0KCdhZGRpdGlvbmFsSW5mbycpPy5zZXRWYWx1ZSh0aGlzLiNkYXRhLmFkZGl0aW9uYWxJbmZvKTtcclxuXHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZWRDaGFuZ2VkU3Vic2NyaXB0aW9uID0gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuYXV0aGVudGljYXRlZENoYW5nZWRcclxuICAgICAgLnN1YnNjcmliZSh0aGlzLmF1dGhDaGFuZ2VkSGFuZGxlci5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW9uRXJyb3JTdWJzY3JpcHRpb24gPSB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5hdXRoZW50aWNhdGlvbkVycm9yXHJcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5lcnJvckhhbmRsZXIuYmluZCh0aGlzKSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXV0aGVudGljYXRpb25FcnJvclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5hdXRoZW50aWNhdGVkQ2hhbmdlZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgYXV0aGVudGljYXRlKCkge1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICBjb25zdCB7IHVzZXJuYW1lLCBwYXNzd29yZCwgYWRtaW5Hcm91cCwgYWRkaXRpb25hbEluZm8gfSA9IHRoaXMuZm9ybS52YWx1ZTtcclxuICAgIHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmxvZ2luKHVzZXJuYW1lISwgcGFzc3dvcmQhLCBhZG1pbkdyb3VwLCBhZGRpdGlvbmFsSW5mbyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGF1dGhDaGFuZ2VkSGFuZGxlcihhdXRoZW50aWNhdGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoYXV0aGVudGljYXRlZCkge1xyXG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlcnJvckhhbmRsZXIoZXJyOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKCdBdXRoZW50aWNhdGlvbiBlcnJvcicsIGVycik7XHJcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGAke2Vyci5uYW1lfTogJHtlcnIuc3RhdHVzVGV4dH1gO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlVG9rZW5TdG9yYWdlTW9kZShjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBjb25zdCBrZXlOYW1lID0gJ3N0b3JlVG9rZW5JblNlc3Npb24nO1xyXG5cclxuICAgIGlmIChjaGVja2VkKSB7XHJcbiAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXlOYW1lKSkge1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleU5hbWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXlOYW1lLCAndHJ1ZScpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8aDIgbWF0LWRpYWxvZy10aXRsZT5cclxuICBAaWYgKGF1dGhlbnRpY2F0aW9uU2VydmljZS5hdXRoZW50aWNhdGluZykge1xyXG4gICAgPHNwYW4+QXV0aGVudGljYXRpbmcuLi48L3NwYW4+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8c3Bhbj5Mb2dpbjwvc3Bhbj5cclxuICB9XHJcbjwvaDI+XHJcblxyXG48bWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIEBpZiAoYXV0aGVudGljYXRpb25TZXJ2aWNlLmF1dGhlbnRpY2F0aW5nKSB7XHJcbiAgICA8ZGl2IGlkPVwic3Bpbm5lclwiPlxyXG4gICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXIgY29sb3I9XCJwcmltYXJ5XCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIi8+XHJcbiAgICA8L2Rpdj5cclxuICB9IEBlbHNlIGlmIChlcnJvck1lc3NhZ2UpIHtcclxuICAgIDxkaXYgaWQ9XCJlcnJvclwiPlxyXG4gICAgICB7eyBlcnJvck1lc3NhZ2UgfX1cclxuICAgIDwvZGl2PlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidXNlcm5hbWVcIiBwbGFjZWhvbGRlcj1cIlVzZXJuYW1lXCIgKGtleXVwLmVudGVyKT1cImF1dGhlbnRpY2F0ZSgpXCI+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIiB0eXBlPVwicGFzc3dvcmRcIiBwbGFjZWhvbGRlcj1cIlBhc3N3b3JkXCIgKGtleXVwLmVudGVyKT1cImF1dGhlbnRpY2F0ZSgpXCI+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIEBpZiAoYXV0aGVudGljYXRpb25TZXJ2aWNlLmNvbmZpZy5zaG93UmVtZW1iZXJNZU9wdGlvbikge1xyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFtjaGVja2VkXT1cIiFhdXRoZW50aWNhdGlvblNlcnZpY2UudXNlU2Vzc2lvblN0b3JhZ2VcIiAoY2hhbmdlKT1cImNoYW5nZVRva2VuU3RvcmFnZU1vZGUoJGV2ZW50LmNoZWNrZWQpXCI+XHJcbiAgICAgICAgICBSZW1lbWJlciBtZSBuZXh0IHRpbWVcclxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgIH1cclxuICAgIDwvZm9ybT5cclxuICB9XHJcbjwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG5cclxuQGlmICghYXV0aGVudGljYXRpb25TZXJ2aWNlLmF1dGhlbnRpY2F0aW5nKSB7XHJcbiAgPG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImF1dGhlbnRpY2F0ZSgpXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiPlxyXG4gICAgICA8bWF0LWljb24gZm9udEljb249XCJkb25lXCIvPlxyXG4gICAgICA8c3Bhbj5PSzwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiZGlhbG9nUmVmLmNsb3NlKClcIj5cclxuICAgICAgPG1hdC1pY29uIGZvbnRJY29uPVwiY2xvc2VcIi8+XHJcbiAgICAgIDxzcGFuPkNhbmNlbDwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG59Il19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvYXV0aGVudGljYXRpb24vdG9rZW4vZ3VpL3NyYy9tb2RlbC9sb2dpbi1mb3JtLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTG9naW5Gb3JtRGF0YSB7XHJcbiAgICBhZG1pbkdyb3VwOiBzdHJpbmc7XHJcbiAgICBhZGRpdGlvbmFsSW5mbzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -1,10 +0,0 @@
1
- //import { ServiceConfig as NgxLibServiceConfig } from '@cleavelandprice/ngx-lib';
2
- import { ServiceConfig as BaseServiceConfig } from '@cleavelandprice/ngx-lib/authentication/token';
3
- export class ServiceConfig extends BaseServiceConfig {
4
- // See the comment in the library's main service-config.ts file for an explanation
5
- constructor(useSsl_or_customApiUrl = false, showRememberMeOption = true, appName, tokenName = 'token', authenticateEndpoint = '/authenticate/token') {
6
- super(useSsl_or_customApiUrl, appName, tokenName, authenticateEndpoint);
7
- this.showRememberMeOption = showRememberMeOption;
8
- }
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hdXRoZW50aWNhdGlvbi90b2tlbi9ndWkvc3JjL21vZGVsL3NlcnZpY2UtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtGQUFrRjtBQUNsRixPQUFPLEVBQUUsYUFBYSxJQUFJLGlCQUFpQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFFbkcsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFDaEQsa0ZBQWtGO0lBQ2xGLFlBQVkseUJBQTJDLEtBQUssRUFDakQsdUJBQXVCLElBQUksRUFDbEMsT0FBZ0IsRUFDaEIsU0FBUyxHQUFHLE9BQU8sRUFDbkIsb0JBQW9CLEdBQUcscUJBQXFCO1FBRTVDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFMakUseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFPO0lBTXRDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vaW1wb3J0IHsgU2VydmljZUNvbmZpZyBhcyBOZ3hMaWJTZXJ2aWNlQ29uZmlnIH0gZnJvbSAnQGNsZWF2ZWxhbmRwcmljZS9uZ3gtbGliJztcclxuaW1wb3J0IHsgU2VydmljZUNvbmZpZyBhcyBCYXNlU2VydmljZUNvbmZpZyB9IGZyb20gJ0BjbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hdXRoZW50aWNhdGlvbi90b2tlbic7XHJcblxyXG5leHBvcnQgY2xhc3MgU2VydmljZUNvbmZpZyBleHRlbmRzIEJhc2VTZXJ2aWNlQ29uZmlnIHtcclxuICAgIC8vIFNlZSB0aGUgY29tbWVudCBpbiB0aGUgbGlicmFyeSdzIG1haW4gc2VydmljZS1jb25maWcudHMgZmlsZSBmb3IgYW4gZXhwbGFuYXRpb25cclxuICAgIGNvbnN0cnVjdG9yKHVzZVNzbF9vcl9jdXN0b21BcGlVcmw6IGJvb2xlYW4gfCBzdHJpbmcgPSBmYWxzZSxcclxuICAgICAgICBwdWJsaWMgc2hvd1JlbWVtYmVyTWVPcHRpb24gPSB0cnVlLFxyXG4gICAgICAgIGFwcE5hbWU/OiBzdHJpbmcsXHJcbiAgICAgICAgdG9rZW5OYW1lID0gJ3Rva2VuJyxcclxuICAgICAgICBhdXRoZW50aWNhdGVFbmRwb2ludCA9ICcvYXV0aGVudGljYXRlL3Rva2VuJ1xyXG4gICAgICAgICkge1xyXG4gICAgICAgIHN1cGVyKHVzZVNzbF9vcl9jdXN0b21BcGlVcmwsIGFwcE5hbWUsIHRva2VuTmFtZSwgYXV0aGVudGljYXRlRW5kcG9pbnQpO1xyXG4gICAgfVxyXG59Il19
@@ -1,7 +0,0 @@
1
- export * from './model/login-form-data';
2
- export * from './model/service-config';
3
- export * from './services/authentication.service';
4
- export * from './components/login/login.component';
5
- export * from './components/login-form/login-form.component';
6
- export * from './token-gui.module';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL3Rva2VuL2d1aS9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsOENBQThDLENBQUM7QUFFN0QsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWwvbG9naW4tZm9ybS1kYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9zZXJ2aWNlLWNvbmZpZyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9sb2dpbi1mb3JtL2xvZ2luLWZvcm0uY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW4tZ3VpLm1vZHVsZSc7Il19
@@ -1,78 +0,0 @@
1
- import { inject, Injectable, Optional } from '@angular/core';
2
- import { JwtHelperService } from '@auth0/angular-jwt';
3
- import { SharePointService } from '@cleavelandprice/ngx-lib/sharepoint';
4
- import { AuthenticationService as TokenAuthenticationService } from '@cleavelandprice/ngx-lib/authentication/token';
5
- import { ServiceConfig } from '../model/service-config';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../model/service-config";
8
- export class AuthenticationService extends TokenAuthenticationService {
9
- //#endregion
10
- //#region Lifecycle
11
- constructor(config) {
12
- config = config ?? new ServiceConfig();
13
- /*config = {
14
- ...new ServiceConfig(),
15
- ...config,
16
-
17
- // Need to force deferTokenValidation here because if a custom config was passed in, deferTokenValidation would have defaulted to false since it's the default boolean value
18
- // If a custom config wasn't passed in, then deferTokenValidation would have been true from defaultConfig
19
- deferTokenValidation: true
20
- };*/
21
- // Need to force deferTokenValidation here because if a custom config was passed in, deferTokenValidation would have defaulted to false since it's the default boolean value
22
- // If a custom config wasn't passed in, then deferTokenValidation would have been true from defaultConfig
23
- config.deferTokenValidation = true;
24
- super(config);
25
- this.config = config;
26
- //#region Services
27
- this.sharePointService = inject(SharePointService);
28
- this.checkForExistingToken();
29
- }
30
- //#endregion
31
- //#region Utilities
32
- validateUser(token) {
33
- const jwtHelper = new JwtHelperService();
34
- const decoded = jwtHelper.decodeToken(token);
35
- if (jwtHelper.isTokenExpired(token)) {
36
- this.logout();
37
- return;
38
- }
39
- this.authenticatedUser = {
40
- admin: decoded.role === 'Admin',
41
- displayName: decoded.displayName,
42
- accountName: decoded.winaccountname,
43
- distinguishedName: decoded.distinguishedName,
44
- employeeNumber: decoded.employeeNumber,
45
- memberOf: decoded.memberOf
46
- };
47
- this.storage.setItem(this.config.tokenName, token);
48
- this.getPhoto();
49
- this.authenticated = true;
50
- this.authenticatedChanged.emit(this.authenticated);
51
- this.authenticating = false;
52
- this.authenticatingChanged.emit(this.authenticating);
53
- }
54
- getPhoto() {
55
- this.sharePointService.getPhotos()
56
- .subscribe(photos => {
57
- // The user may have been logged out by the time the photos came back
58
- if (!this.authenticatedUser?.employeeNumber) {
59
- return;
60
- }
61
- const photo = photos.find(pic => pic.employeeNumber === +this.authenticatedUser.employeeNumber);
62
- if (photo) {
63
- this.authenticatedUser.photoUrl = photo.encodedAbsUrl;
64
- }
65
- });
66
- }
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AuthenticationService, deps: [{ token: i1.ServiceConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
68
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AuthenticationService, providedIn: 'root' }); }
69
- }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AuthenticationService, decorators: [{
71
- type: Injectable,
72
- args: [{
73
- providedIn: 'root'
74
- }]
75
- }], ctorParameters: () => [{ type: i1.ServiceConfig, decorators: [{
76
- type: Optional
77
- }] }] });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL3Rva2VuL2d1aS9zcmMvc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFeEUsT0FBTyxFQUVMLHFCQUFxQixJQUFJLDBCQUEwQixFQUNwRCxNQUFNLCtDQUErQyxDQUFDO0FBRXZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBS3hELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSwwQkFBMEI7SUFHbkUsWUFBWTtJQUVaLG1CQUFtQjtJQUNqQixZQUFpQyxNQUFxQjtRQUUxQyxNQUFNLEdBQUcsTUFBTSxJQUFJLElBQUksYUFBYSxFQUFFLENBQUM7UUFDdkM7Ozs7Ozs7WUFPSTtRQUVKLDRLQUE0SztRQUM1Syx5R0FBeUc7UUFDekcsTUFBTSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQTtRQUVsQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFoQk8sV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUx4RCxrQkFBa0I7UUFDVixzQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQXNCeEMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUNELFlBQVk7SUFFWixtQkFBbUI7SUFDVixZQUFZLENBQUMsS0FBYTtRQUNqQyxNQUFNLFNBQVMsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDekMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQXdCLENBQUM7UUFFcEUsSUFBSSxTQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2QsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUc7WUFDdkIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEtBQUssT0FBTztZQUMvQixXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7WUFDaEMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1lBQ25DLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxpQkFBaUI7WUFDNUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1lBQ3RDLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtTQUMzQixDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbkQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWhCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTyxRQUFRO1FBQ2QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRTthQUMvQixTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbEIscUVBQXFFO1lBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLENBQUM7Z0JBQzVDLE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFakcsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7WUFDeEQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0F4RVUscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7MkZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT2dCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEp3dEhlbHBlclNlcnZpY2UgfSBmcm9tICdAYXV0aDAvYW5ndWxhci1qd3QnO1xyXG5cclxuaW1wb3J0IHsgU2hhcmVQb2ludFNlcnZpY2UgfSBmcm9tICdAY2xlYXZlbGFuZHByaWNlL25neC1saWIvc2hhcmVwb2ludCc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEF1dGhlbnRpY2F0aW9uVG9rZW4sXHJcbiAgQXV0aGVudGljYXRpb25TZXJ2aWNlIGFzIFRva2VuQXV0aGVudGljYXRpb25TZXJ2aWNlXHJcbn0gZnJvbSAnQGNsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL3Rva2VuJztcclxuXHJcbmltcG9ydCB7IFNlcnZpY2VDb25maWcgfSBmcm9tICcuLi9tb2RlbC9zZXJ2aWNlLWNvbmZpZyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvblNlcnZpY2UgZXh0ZW5kcyBUb2tlbkF1dGhlbnRpY2F0aW9uU2VydmljZSB7XHJcbiAgLy8jcmVnaW9uIFNlcnZpY2VzXHJcbiAgcHJpdmF0ZSBzaGFyZVBvaW50U2VydmljZSA9IGluamVjdChTaGFyZVBvaW50U2VydmljZSk7XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIC8vI3JlZ2lvbiBMaWZlY3ljbGVcclxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIG92ZXJyaWRlIGNvbmZpZzogU2VydmljZUNvbmZpZykge1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbmZpZyA9IGNvbmZpZyA/PyBuZXcgU2VydmljZUNvbmZpZygpO1xyXG4gICAgICAgICAgICAgICAgLypjb25maWcgPSB7XHJcbiAgICAgICAgICAgICAgICAgIC4uLm5ldyBTZXJ2aWNlQ29uZmlnKCksXHJcbiAgICAgICAgICAgICAgICAgIC4uLmNvbmZpZyxcclxuXHJcbiAgICAgICAgICAgICAgICAgIC8vIE5lZWQgdG8gZm9yY2UgZGVmZXJUb2tlblZhbGlkYXRpb24gaGVyZSBiZWNhdXNlIGlmIGEgY3VzdG9tIGNvbmZpZyB3YXMgcGFzc2VkIGluLCBkZWZlclRva2VuVmFsaWRhdGlvbiB3b3VsZCBoYXZlIGRlZmF1bHRlZCB0byBmYWxzZSBzaW5jZSBpdCdzIHRoZSBkZWZhdWx0IGJvb2xlYW4gdmFsdWVcclxuICAgICAgICAgICAgICAgICAgLy8gSWYgYSBjdXN0b20gY29uZmlnIHdhc24ndCBwYXNzZWQgaW4sIHRoZW4gZGVmZXJUb2tlblZhbGlkYXRpb24gd291bGQgaGF2ZSBiZWVuIHRydWUgZnJvbSBkZWZhdWx0Q29uZmlnXHJcbiAgICAgICAgICAgICAgICAgIGRlZmVyVG9rZW5WYWxpZGF0aW9uOiB0cnVlXHJcbiAgICAgICAgICAgICAgICB9OyovXHJcblxyXG4gICAgICAgICAgICAgICAgLy8gTmVlZCB0byBmb3JjZSBkZWZlclRva2VuVmFsaWRhdGlvbiBoZXJlIGJlY2F1c2UgaWYgYSBjdXN0b20gY29uZmlnIHdhcyBwYXNzZWQgaW4sIGRlZmVyVG9rZW5WYWxpZGF0aW9uIHdvdWxkIGhhdmUgZGVmYXVsdGVkIHRvIGZhbHNlIHNpbmNlIGl0J3MgdGhlIGRlZmF1bHQgYm9vbGVhbiB2YWx1ZVxyXG4gICAgICAgICAgICAgICAgLy8gSWYgYSBjdXN0b20gY29uZmlnIHdhc24ndCBwYXNzZWQgaW4sIHRoZW4gZGVmZXJUb2tlblZhbGlkYXRpb24gd291bGQgaGF2ZSBiZWVuIHRydWUgZnJvbSBkZWZhdWx0Q29uZmlnXHJcbiAgICAgICAgICAgICAgICBjb25maWcuZGVmZXJUb2tlblZhbGlkYXRpb24gPSB0cnVlXHJcblxyXG4gICAgICAgICAgICAgICAgc3VwZXIoY29uZmlnKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrRm9yRXhpc3RpbmdUb2tlbigpO1xyXG4gIH1cclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgLy8jcmVnaW9uIFV0aWxpdGllc1xyXG4gIG92ZXJyaWRlIHZhbGlkYXRlVXNlcih0b2tlbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBqd3RIZWxwZXIgPSBuZXcgSnd0SGVscGVyU2VydmljZSgpO1xyXG4gICAgY29uc3QgZGVjb2RlZCA9IGp3dEhlbHBlci5kZWNvZGVUb2tlbih0b2tlbikgYXMgQXV0aGVudGljYXRpb25Ub2tlbjtcclxuXHJcbiAgICBpZiAoand0SGVscGVyLmlzVG9rZW5FeHBpcmVkKHRva2VuKSkge1xyXG4gICAgICB0aGlzLmxvZ291dCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hdXRoZW50aWNhdGVkVXNlciA9IHtcclxuICAgICAgYWRtaW46IGRlY29kZWQucm9sZSA9PT0gJ0FkbWluJyxcclxuICAgICAgZGlzcGxheU5hbWU6IGRlY29kZWQuZGlzcGxheU5hbWUsXHJcbiAgICAgIGFjY291bnROYW1lOiBkZWNvZGVkLndpbmFjY291bnRuYW1lLFxyXG4gICAgICBkaXN0aW5ndWlzaGVkTmFtZTogZGVjb2RlZC5kaXN0aW5ndWlzaGVkTmFtZSxcclxuICAgICAgZW1wbG95ZWVOdW1iZXI6IGRlY29kZWQuZW1wbG95ZWVOdW1iZXIsXHJcbiAgICAgIG1lbWJlck9mOiBkZWNvZGVkLm1lbWJlck9mXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKHRoaXMuY29uZmlnLnRva2VuTmFtZSwgdG9rZW4pO1xyXG5cclxuICAgIHRoaXMuZ2V0UGhvdG8oKTtcclxuICAgIFxyXG4gICAgdGhpcy5hdXRoZW50aWNhdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuYXV0aGVudGljYXRlZENoYW5nZWQuZW1pdCh0aGlzLmF1dGhlbnRpY2F0ZWQpO1xyXG5cclxuICAgIHRoaXMuYXV0aGVudGljYXRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuYXV0aGVudGljYXRpbmdDaGFuZ2VkLmVtaXQodGhpcy5hdXRoZW50aWNhdGluZyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBob3RvKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaGFyZVBvaW50U2VydmljZS5nZXRQaG90b3MoKVxyXG4gICAgICAuc3Vic2NyaWJlKHBob3RvcyA9PiB7XHJcbiAgICAgICAgLy8gVGhlIHVzZXIgbWF5IGhhdmUgYmVlbiBsb2dnZWQgb3V0IGJ5IHRoZSB0aW1lIHRoZSBwaG90b3MgY2FtZSBiYWNrXHJcbiAgICAgICAgaWYgKCF0aGlzLmF1dGhlbnRpY2F0ZWRVc2VyPy5lbXBsb3llZU51bWJlcikge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgcGhvdG8gPSBwaG90b3MuZmluZChwaWMgPT4gcGljLmVtcGxveWVlTnVtYmVyID09PSArdGhpcy5hdXRoZW50aWNhdGVkVXNlciEuZW1wbG95ZWVOdW1iZXIpO1xyXG5cclxuICAgICAgICBpZiAocGhvdG8pIHtcclxuICAgICAgICAgIHRoaXMuYXV0aGVudGljYXRlZFVzZXIucGhvdG9VcmwgPSBwaG90by5lbmNvZGVkQWJzVXJsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG59Il19
@@ -1,81 +0,0 @@
1
- import { NgModule, Optional, SkipSelf } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
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 { ServiceConfig } from './model/service-config';
12
- import { AuthenticationService } from './services/authentication.service';
13
- import { LoginComponent } from './components/login/login.component';
14
- import { LoginFormComponent } from './components/login-form/login-form.component';
15
- import * as i0 from "@angular/core";
16
- export class GuiModule {
17
- static forRoot(config) {
18
- return {
19
- ngModule: GuiModule,
20
- providers: [
21
- AuthenticationService,
22
- { provide: ServiceConfig, useValue: config }
23
- ]
24
- };
25
- }
26
- constructor(parentModule) {
27
- if (parentModule) {
28
- throw new Error('GuiModule is already loaded. Import it in the AppModule only');
29
- }
30
- }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: GuiModule, deps: [{ token: GuiModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
32
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: GuiModule, declarations: [LoginComponent,
33
- LoginFormComponent], imports: [CommonModule,
34
- ReactiveFormsModule,
35
- MatButtonModule,
36
- MatDialogModule,
37
- MatFormFieldModule,
38
- MatIconModule,
39
- MatInputModule,
40
- MatProgressSpinnerModule,
41
- MatSlideToggleModule], exports: [LoginComponent,
42
- LoginFormComponent] }); }
43
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: GuiModule, imports: [CommonModule,
44
- ReactiveFormsModule,
45
- MatButtonModule,
46
- MatDialogModule,
47
- MatFormFieldModule,
48
- MatIconModule,
49
- MatInputModule,
50
- MatProgressSpinnerModule,
51
- MatSlideToggleModule] }); }
52
- }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: GuiModule, decorators: [{
54
- type: NgModule,
55
- args: [{
56
- declarations: [
57
- LoginComponent,
58
- LoginFormComponent
59
- ],
60
- imports: [
61
- CommonModule,
62
- ReactiveFormsModule,
63
- MatButtonModule,
64
- MatDialogModule,
65
- MatFormFieldModule,
66
- MatIconModule,
67
- MatInputModule,
68
- MatProgressSpinnerModule,
69
- MatSlideToggleModule
70
- ],
71
- exports: [
72
- LoginComponent,
73
- LoginFormComponent
74
- ]
75
- }]
76
- }], ctorParameters: () => [{ type: GuiModule, decorators: [{
77
- type: Optional
78
- }, {
79
- type: SkipSelf
80
- }] }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tZ3VpLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL3Rva2VuL2d1aS9zcmMvdG9rZW4tZ3VpLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUF3QmxGLE1BQU0sT0FBTyxTQUFTO0lBQ3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBcUI7UUFDbEMsT0FBTztZQUNMLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFNBQVMsRUFBRTtnQkFDVCxxQkFBcUI7Z0JBQ3JCLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO2FBQzdDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFvQyxZQUF1QjtRQUN6RCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQ2IsOERBQThELENBQUMsQ0FBQztRQUNwRSxDQUFDO0lBQ0gsQ0FBQzs4R0FoQlUsU0FBUzsrR0FBVCxTQUFTLGlCQXBCbEIsY0FBYztZQUNkLGtCQUFrQixhQUdsQixZQUFZO1lBQ1osbUJBQW1CO1lBRW5CLGVBQWU7WUFDZixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLG9CQUFvQixhQUdwQixjQUFjO1lBQ2Qsa0JBQWtCOytHQUdULFNBQVMsWUFoQmxCLFlBQVk7WUFDWixtQkFBbUI7WUFFbkIsZUFBZTtZQUNmLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLGNBQWM7WUFDZCx3QkFBd0I7WUFDeEIsb0JBQW9COzsyRkFPWCxTQUFTO2tCQXRCckIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osY0FBYzt3QkFDZCxrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFFbkIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsY0FBYzt3QkFDZCxrQkFBa0I7cUJBQ25CO2lCQUNGOzswQkFZYyxRQUFROzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcblxyXG5pbXBvcnQgeyBTZXJ2aWNlQ29uZmlnIH0gZnJvbSAnLi9tb2RlbC9zZXJ2aWNlLWNvbmZpZyc7XHJcblxyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgTG9naW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9naW5Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvZ2luLWZvcm0vbG9naW4tZm9ybS5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIExvZ2luQ29tcG9uZW50LFxyXG4gICAgTG9naW5Gb3JtQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgTG9naW5Db21wb25lbnQsXHJcbiAgICBMb2dpbkZvcm1Db21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHdWlNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogU2VydmljZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8R3VpTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogR3VpTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBBdXRoZW50aWNhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgeyBwcm92aWRlOiBTZXJ2aWNlQ29uZmlnLCB1c2VWYWx1ZTogY29uZmlnIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHBhcmVudE1vZHVsZTogR3VpTW9kdWxlKSB7XHJcbiAgICBpZiAocGFyZW50TW9kdWxlKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAnR3VpTW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG59Il19
@@ -1,10 +0,0 @@
1
- //import { ServiceConfig as NgxLibServiceConfig } from '@cleavelandprice/ngx-lib';
2
- import { ServiceConfig as BaseServiceConfig } from '@cleavelandprice/ngx-lib/authentication';
3
- export class ServiceConfig extends BaseServiceConfig {
4
- // See the comment in the library's main service-config.ts file for an explanation
5
- constructor(useSsl_or_customApiUrl = false, appName, tokenName = 'token', authenticateEndpoint = '/authenticate/token') {
6
- super(useSsl_or_customApiUrl, appName, tokenName, authenticateEndpoint);
7
- this.deferTokenValidation = false;
8
- }
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hdXRoZW50aWNhdGlvbi90b2tlbi9zcmMvbW9kZWwvc2VydmljZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0ZBQWtGO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLElBQUksaUJBQWlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU3RixNQUFNLE9BQU8sYUFBYyxTQUFRLGlCQUFpQjtJQUdoRCxrRkFBa0Y7SUFDbEYsWUFBWSx5QkFBMkMsS0FBSyxFQUN4RCxPQUFnQixFQUNoQixTQUFTLEdBQUcsT0FBTyxFQUNuQixvQkFBb0IsR0FBRyxxQkFBcUI7UUFFNUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQVI1RSx5QkFBb0IsR0FBRyxLQUFLLENBQUM7SUFTN0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLy9pbXBvcnQgeyBTZXJ2aWNlQ29uZmlnIGFzIE5neExpYlNlcnZpY2VDb25maWcgfSBmcm9tICdAY2xlYXZlbGFuZHByaWNlL25neC1saWInO1xyXG5pbXBvcnQgeyBTZXJ2aWNlQ29uZmlnIGFzIEJhc2VTZXJ2aWNlQ29uZmlnIH0gZnJvbSAnQGNsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uJztcclxuXHJcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlQ29uZmlnIGV4dGVuZHMgQmFzZVNlcnZpY2VDb25maWcge1xyXG4gICAgZGVmZXJUb2tlblZhbGlkYXRpb24gPSBmYWxzZTtcclxuICAgIFxyXG4gICAgLy8gU2VlIHRoZSBjb21tZW50IGluIHRoZSBsaWJyYXJ5J3MgbWFpbiBzZXJ2aWNlLWNvbmZpZy50cyBmaWxlIGZvciBhbiBleHBsYW5hdGlvblxyXG4gICAgY29uc3RydWN0b3IodXNlU3NsX29yX2N1c3RvbUFwaVVybDogYm9vbGVhbiB8IHN0cmluZyA9IGZhbHNlLFxyXG4gICAgICAgIGFwcE5hbWU/OiBzdHJpbmcsXHJcbiAgICAgICAgdG9rZW5OYW1lID0gJ3Rva2VuJyxcclxuICAgICAgICBhdXRoZW50aWNhdGVFbmRwb2ludCA9ICcvYXV0aGVudGljYXRlL3Rva2VuJ1xyXG4gICAgICAgICkge1xyXG4gICAgICAgIHN1cGVyKHVzZVNzbF9vcl9jdXN0b21BcGlVcmwsIGFwcE5hbWUsIHRva2VuTmFtZSwgYXV0aGVudGljYXRlRW5kcG9pbnQpO1xyXG4gICAgfVxyXG59Il19
@@ -1,5 +0,0 @@
1
- export * from './model/authentication-token';
2
- export * from './model/service-config';
3
- export * from './services/authentication.service';
4
- export * from './token.module';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL3Rva2VuL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGVsL2F1dGhlbnRpY2F0aW9uLXRva2VuJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9zZXJ2aWNlLWNvbmZpZyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi90b2tlbi5tb2R1bGUnOyJdfQ==