@bnsights/bbsf-utilities 1.0.42 → 1.0.44

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 (126) hide show
  1. package/README.md +87 -66
  2. package/bnsights-bbsf-utilities-1.0.44.tgz +0 -0
  3. package/{esm2020 → esm2022}/bnsights-bbsf-utilities.mjs +4 -4
  4. package/{esm2020 → esm2022}/lib/bbsf-utilities.module.mjs +59 -59
  5. package/esm2022/lib/shared/authentication/auth.service.mjs +211 -0
  6. package/{esm2020 → esm2022}/lib/shared/authentication/index.mjs +1 -1
  7. package/{esm2020 → esm2022}/lib/shared/config/environment.mjs +11 -11
  8. package/{esm2020 → esm2022}/lib/shared/config/word/constants.mjs +104 -104
  9. package/{esm2020 → esm2022}/lib/shared/config/word/docx-document.mjs +347 -347
  10. package/{esm2020 → esm2022}/lib/shared/config/word/helpers/index.mjs +3 -3
  11. package/{esm2020 → esm2022}/lib/shared/config/word/helpers/render-document-file.mjs +153 -153
  12. package/{esm2020 → esm2022}/lib/shared/config/word/helpers/xml-builder.mjs +1835 -1835
  13. package/{esm2020 → esm2022}/lib/shared/config/word/html-to-docx.mjs +186 -186
  14. package/{esm2020 → esm2022}/lib/shared/config/word/index.mjs +49 -49
  15. package/{esm2020 → esm2022}/lib/shared/config/word/namespaces.mjs +36 -36
  16. package/{esm2020 → esm2022}/lib/shared/config/word/schemas/content-types.mjs +2 -2
  17. package/{esm2020 → esm2022}/lib/shared/config/word/schemas/core.mjs +6 -6
  18. package/{esm2020 → esm2022}/lib/shared/config/word/schemas/document-rels.mjs +3 -3
  19. package/{esm2020 → esm2022}/lib/shared/config/word/schemas/document.template.mjs +17 -17
  20. package/{esm2020 → esm2022}/lib/shared/config/word/schemas/font-table.mjs +3 -3
  21. package/{esm2020 → esm2022}/lib/shared/config/word/schemas/generic-rels.mjs +2 -2
  22. package/{esm2020 → esm2022}/lib/shared/config/word/schemas/index.mjs +12 -12
  23. package/{esm2020 → esm2022}/lib/shared/config/word/schemas/numbering.mjs +3 -3
  24. package/{esm2020 → esm2022}/lib/shared/config/word/schemas/rels.mjs +3 -3
  25. package/{esm2020 → esm2022}/lib/shared/config/word/schemas/settings.mjs +3 -3
  26. package/{esm2020 → esm2022}/lib/shared/config/word/schemas/styles.mjs +4 -4
  27. package/{esm2020 → esm2022}/lib/shared/config/word/schemas/theme.mjs +3 -3
  28. package/{esm2020 → esm2022}/lib/shared/config/word/schemas/web-settings.mjs +3 -3
  29. package/{esm2020 → esm2022}/lib/shared/config/word/utils/color-conversion.mjs +59 -59
  30. package/{esm2020 → esm2022}/lib/shared/config/word/utils/list.mjs +50 -50
  31. package/{esm2020 → esm2022}/lib/shared/config/word/utils/unit-conversion.mjs +29 -29
  32. package/{esm2020 → esm2022}/lib/shared/config/word/utils/url.mjs +6 -6
  33. package/{esm2020 → esm2022}/lib/shared/config/word/utils/vnode.mjs +2 -2
  34. package/{esm2020 → esm2022}/lib/shared/config/word/word-work/templates/documentTemplate.mjs +12 -12
  35. package/{esm2020 → esm2022}/lib/shared/config/word/word-work/templates/index.mjs +3 -3
  36. package/{esm2020 → esm2022}/lib/shared/config/word/word-work/templates/mhtDocumentTemplate.mjs +4 -4
  37. package/{esm2020 → esm2022}/lib/shared/config/word/word-work/templates/mhtPartTemplate.mjs +3 -3
  38. package/{esm2020 → esm2022}/lib/shared/config/word/word-work/utils.mjs +25 -25
  39. package/{esm2020 → esm2022}/lib/shared/enums/authentication-modes-enums.mjs +7 -7
  40. package/{esm2020 → esm2022}/lib/shared/index.mjs +3 -3
  41. package/{esm2020 → esm2022}/lib/shared/models/UserModel.mjs +2 -2
  42. package/{esm2020 → esm2022}/lib/shared/models/area-model.mjs +2 -2
  43. package/{esm2020 → esm2022}/lib/shared/models/error-model.mjs +2 -2
  44. package/{esm2020 → esm2022}/lib/shared/models/index.mjs +4 -4
  45. package/{esm2020 → esm2022}/lib/shared/models/request-options-model.mjs +10 -10
  46. package/{esm2020 → esm2022}/lib/shared/models/word-document-model.mjs +7 -7
  47. package/{esm2020 → esm2022}/lib/shared/services/appearance-configuration.service.mjs +35 -35
  48. package/esm2022/lib/shared/services/configuration.service.mjs +24 -0
  49. package/{esm2020 → esm2022}/lib/shared/services/control-validation.service.mjs +173 -173
  50. package/esm2022/lib/shared/services/environment.service.mjs +75 -0
  51. package/{esm2020 → esm2022}/lib/shared/services/index.mjs +11 -11
  52. package/{esm2020 → esm2022}/lib/shared/services/master-layout.service.mjs +72 -72
  53. package/{esm2020 → esm2022}/lib/shared/services/request-handler.service.mjs +219 -199
  54. package/{esm2020 → esm2022}/lib/shared/services/styles-bundle.service.mjs +55 -55
  55. package/{esm2020 → esm2022}/lib/shared/services/translate.service.mjs +14 -14
  56. package/{esm2020 → esm2022}/lib/shared/services/translation-resolver.service.mjs +6 -6
  57. package/{esm2020 → esm2022}/lib/shared/services/utility.service.mjs +87 -87
  58. package/{esm2020 → esm2022}/lib/shared/services/word-document.service.mjs +38 -38
  59. package/{esm2020 → esm2022}/public-api.mjs +29 -29
  60. package/{fesm2020 → fesm2022}/bnsights-bbsf-utilities.mjs +3856 -3836
  61. package/fesm2022/bnsights-bbsf-utilities.mjs.map +1 -0
  62. package/index.d.ts +5 -5
  63. package/lib/bbsf-utilities.module.d.ts +10 -10
  64. package/lib/shared/authentication/auth.service.d.ts +52 -52
  65. package/lib/shared/authentication/index.d.ts +1 -1
  66. package/lib/shared/config/environment.d.ts +1 -1
  67. package/lib/shared/config/word/constants.d.ts +124 -124
  68. package/lib/shared/config/word/docx-document.d.ts +73 -73
  69. package/lib/shared/config/word/helpers/index.d.ts +1 -1
  70. package/lib/shared/config/word/helpers/render-document-file.d.ts +2 -2
  71. package/lib/shared/config/word/helpers/xml-builder.d.ts +16 -16
  72. package/lib/shared/config/word/html-to-docx.d.ts +1 -1
  73. package/lib/shared/config/word/index.d.ts +1 -1
  74. package/lib/shared/config/word/namespaces.d.ts +36 -36
  75. package/lib/shared/config/word/schemas/content-types.d.ts +1 -1
  76. package/lib/shared/config/word/schemas/core.d.ts +1 -1
  77. package/lib/shared/config/word/schemas/document-rels.d.ts +1 -1
  78. package/lib/shared/config/word/schemas/document.template.d.ts +4 -4
  79. package/lib/shared/config/word/schemas/font-table.d.ts +1 -1
  80. package/lib/shared/config/word/schemas/generic-rels.d.ts +1 -1
  81. package/lib/shared/config/word/schemas/index.d.ts +12 -12
  82. package/lib/shared/config/word/schemas/numbering.d.ts +1 -1
  83. package/lib/shared/config/word/schemas/rels.d.ts +1 -1
  84. package/lib/shared/config/word/schemas/settings.d.ts +1 -1
  85. package/lib/shared/config/word/schemas/styles.d.ts +1 -1
  86. package/lib/shared/config/word/schemas/theme.d.ts +1 -1
  87. package/lib/shared/config/word/schemas/web-settings.d.ts +1 -1
  88. package/lib/shared/config/word/utils/color-conversion.d.ts +7 -7
  89. package/lib/shared/config/word/utils/list.d.ts +6 -6
  90. package/lib/shared/config/word/utils/unit-conversion.d.ts +29 -29
  91. package/lib/shared/config/word/utils/url.d.ts +1 -1
  92. package/lib/shared/config/word/utils/vnode.d.ts +1 -1
  93. package/lib/shared/config/word/word-work/templates/documentTemplate.d.ts +12 -12
  94. package/lib/shared/config/word/word-work/templates/index.d.ts +3 -3
  95. package/lib/shared/config/word/word-work/templates/mhtDocumentTemplate.d.ts +1 -1
  96. package/lib/shared/config/word/word-work/templates/mhtPartTemplate.d.ts +1 -1
  97. package/lib/shared/config/word/word-work/utils.d.ts +1 -1
  98. package/lib/shared/enums/authentication-modes-enums.d.ts +6 -6
  99. package/lib/shared/index.d.ts +3 -3
  100. package/lib/shared/models/UserModel.d.ts +6 -6
  101. package/lib/shared/models/area-model.d.ts +4 -4
  102. package/lib/shared/models/error-model.d.ts +5 -5
  103. package/lib/shared/models/index.d.ts +4 -4
  104. package/lib/shared/models/request-options-model.d.ts +11 -11
  105. package/lib/shared/models/word-document-model.d.ts +16 -16
  106. package/lib/shared/services/appearance-configuration.service.d.ts +14 -14
  107. package/lib/shared/services/configuration.service.d.ts +10 -10
  108. package/lib/shared/services/control-validation.service.d.ts +23 -23
  109. package/lib/shared/services/environment.service.d.ts +25 -25
  110. package/lib/shared/services/index.d.ts +11 -11
  111. package/lib/shared/services/master-layout.service.d.ts +24 -24
  112. package/lib/shared/services/request-handler.service.d.ts +35 -33
  113. package/lib/shared/services/styles-bundle.service.d.ts +12 -12
  114. package/lib/shared/services/translate.service.d.ts +6 -6
  115. package/lib/shared/services/translation-resolver.service.d.ts +2 -2
  116. package/lib/shared/services/utility.service.d.ts +23 -23
  117. package/lib/shared/services/word-document.service.d.ts +8 -8
  118. package/package.json +28 -29
  119. package/public-api.d.ts +17 -17
  120. package/bnsights-bbsf-utilities-1.0.42.tgz +0 -0
  121. package/esm2020/lib/shared/authentication/auth.service.mjs +0 -211
  122. package/esm2020/lib/shared/services/configuration.service.mjs +0 -24
  123. package/esm2020/lib/shared/services/environment.service.mjs +0 -75
  124. package/fesm2015/bnsights-bbsf-utilities.mjs +0 -4555
  125. package/fesm2015/bnsights-bbsf-utilities.mjs.map +0 -1
  126. package/fesm2020/bnsights-bbsf-utilities.mjs.map +0 -1
package/README.md CHANGED
@@ -5,102 +5,123 @@ BBSF Utilities package is part of BBSF 3 packages. It has all the common service
5
5
  For more info please visit [BBSF Controls documenation](https://bbsfadmin.bnsights.com/controls) or [BBSF documentation](https://bnsightsprojects.visualstudio.com/BBSF%203/_wiki/wikis/BBSF-3.wiki/65/BBSF-Documentation)
6
6
 
7
7
  # Change Log
8
- ## 1.0.41 / 3-12-2023
8
+ ## 1.0.44 / 4-1-2024
9
9
  ===================
10
- * Update Environment Service && Fix all Merge Issues
10
+ -Update Request Handler For Upload File Async
11
11
 
12
- ## 1.0.40 / 29-11-2023
13
- ===================
14
- * Update Environment Service To Check Windows Authentication
12
+ ## 1.0.43 / 11-12-2023
15
13
 
16
- ## 1.0.39 / 19-11-2023
17
14
  ===================
18
- * Remove Login Function From Auth Service
15
+ - Upgraded Angular version (17) and upgraded related libraries.
19
16
 
20
- ## 1.0.38 / 16-11-2023
21
- ===================
22
- * Remove Identity Server And Use JWT Authentication
17
+ ## 1.0.41 / 3-12-2023
23
18
 
24
- ## 1.0.36 / 19-7-2023
25
19
  ===================
26
- * Update Control Validation Service
27
20
 
28
- ## 1.0.35 / 27-3-2022
29
- ===================
30
- * Add Word Document Service
31
- * Update Angular Version
21
+ - Update Environment Service && Fix all Merge Issues
32
22
 
33
- ## 1.0.34 / 26-3-2022 (!!!Warning!! Testing Release)
34
- ===================
35
- * Only For Test
23
+ ## 1.0.40 / 29-11-2023
36
24
 
37
- ##1.0.33 / 22-3-2022
38
25
  ===================
39
- * Add Word Document Service
40
26
 
41
- ##1.0.31 / 5-1-2022
42
- ===================
43
- * Solve Change Language Issue
27
+ - Update Environment Service To Check Windows Authentication
44
28
 
45
- ##1.0.30 / 3-1-2022
46
- ===================
47
- * Update Auth Service With ClearUserSessionClaims Function
29
+ ## 1.0.39 / 19-11-2023
48
30
 
49
- ##1.0.29 / 25-12-2022
50
31
  ===================
51
- * Update Request Handler Service
52
32
 
53
- ##1.0.28 / 22-12-2022
33
+ - Remove Login Function From Auth Service
34
+
35
+ ## 1.0.38 / 16-11-2023
36
+
54
37
  ===================
55
- * Update Auth Service to enable external identity server integration
56
- * Update Environment Service to read external identity configuration
57
38
 
39
+ - Remove Identity Server And Use JWT Authentication
58
40
 
41
+ ## 1.0.36 / 19-7-2023
59
42
 
60
- ##1.0.27 / 05-12-2022
61
43
  ===================
62
- * Update handleError() Function in Request Handler Service
63
44
 
64
- ##1.0.24 / 14-8-2022
65
- ===================
66
- * Add Configuration Service to read configurations from (configurations.json)
67
- * Update Appearance Configuration Service to read from Configuration Service using (getConfigurationValue(key))
45
+ - Update Control Validation Service
68
46
 
69
- ##1.0.23 / 28-7-2022
70
- ===================
71
- * Replace lang attribute with b-lang
47
+ ## 1.0.35 / 27-3-2022
72
48
 
73
- ##1.0.22 / 28-7-2022
74
49
  ===================
75
- * Add switchRole to masterlayout service
76
50
 
77
- ##1.0.21 / 4-7-2022
78
- ===================
79
- * Add castResponsetoClass (bool) by default is true to RequestOptionsModel to fix the issue when return type is arraybuffer
80
- * Fix in all RequestHandlerService methods check if false return data and if true return plainToClass of data
51
+ - Add Word Document Service
52
+ - Update Angular Version
81
53
 
82
- ##1.0.20 / 2-6-2022
83
- ===================
84
- * Add disableErrorHandler to RequestOptionsModel by default = false
85
- * Handle requesthandler service if (disableErrorHandler) is true all requests will not handle error
86
- * Remove "success" title from notifySuccessMessage
54
+ ## 1.0.34 / 26-3-2022 (!!!Warning!! Testing Release)
87
55
 
88
- ##1.0.18 / 16-5-2022
89
56
  ===================
90
- * Update Models
91
57
 
92
- ##1.0.17 / 27-4-2022
93
- ===================
94
- * Update Request Handler
58
+ - Only For Test
95
59
 
96
- ##1.0.15 / 30-3-2022
97
- ===================
98
- * Update Toaster header
60
+ # ##1.0.33 / 22-3-2022
99
61
 
100
- ##1.0.14 / 29-3-2022
101
- ===================
102
- * Update request handler (add Client-Local-Time-Zone to header)
62
+ - Add Word Document Service
103
63
 
104
- ##1.0.13 / 22-3-2022
105
- ===================
106
- * Initial Version
64
+ # ##1.0.31 / 5-1-2022
65
+
66
+ - Solve Change Language Issue
67
+
68
+ # ##1.0.30 / 3-1-2022
69
+
70
+ - Update Auth Service With ClearUserSessionClaims Function
71
+
72
+ # ##1.0.29 / 25-12-2022
73
+
74
+ - Update Request Handler Service
75
+
76
+ # ##1.0.28 / 22-12-2022
77
+
78
+ - Update Auth Service to enable external identity server integration
79
+ - Update Environment Service to read external identity configuration
80
+
81
+ # ##1.0.27 / 05-12-2022
82
+
83
+ - Update handleError() Function in Request Handler Service
84
+
85
+ # ##1.0.24 / 14-8-2022
86
+
87
+ - Add Configuration Service to read configurations from (configurations.json)
88
+ - Update Appearance Configuration Service to read from Configuration Service using (getConfigurationValue(key))
89
+
90
+ # ##1.0.23 / 28-7-2022
91
+
92
+ - Replace lang attribute with b-lang
93
+
94
+ # ##1.0.22 / 28-7-2022
95
+
96
+ - Add switchRole to masterlayout service
97
+
98
+ # ##1.0.21 / 4-7-2022
99
+
100
+ - Add castResponsetoClass (bool) by default is true to RequestOptionsModel to fix the issue when return type is arraybuffer
101
+ - Fix in all RequestHandlerService methods check if false return data and if true return plainToClass of data
102
+
103
+ # ##1.0.20 / 2-6-2022
104
+
105
+ - Add disableErrorHandler to RequestOptionsModel by default = false
106
+ - Handle requesthandler service if (disableErrorHandler) is true all requests will not handle error
107
+ - Remove "success" title from notifySuccessMessage
108
+
109
+ # ##1.0.18 / 16-5-2022
110
+
111
+ - Update Models
112
+
113
+ # ##1.0.17 / 27-4-2022
114
+
115
+ - Update Request Handler
116
+
117
+ # ##1.0.15 / 30-3-2022
118
+
119
+ - Update Toaster header
120
+
121
+ # ##1.0.14 / 29-3-2022
122
+
123
+ - Update request handler (add Client-Local-Time-Zone to header)
124
+
125
+ # ##1.0.13 / 22-3-2022
126
+
127
+ - Initial Version
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm5zaWdodHMtYmJzZi11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvYm5zaWdodHMtYmJzZi11dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,59 +1,59 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { RouterModule } from '@angular/router';
4
- import { TranslateService } from '@ngx-translate/core';
5
- import { BlockUIModule } from 'ng-block-ui';
6
- import { ToastrModule } from 'ngx-toastr';
7
- import { CookieService } from 'ngx-cookie-service';
8
- import { UtilityService, EnvironmentService, RequestHandlerService, StylesBundleService, BBSFTranslateService, ControlValidationService, MasterLayoutService, ConfigurationService, AuthService } from './shared';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "ng-block-ui";
11
- import * as i2 from "ngx-toastr";
12
- export class BBSFUtilitiesModule {
13
- }
14
- BBSFUtilitiesModulefac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BBSFUtilitiesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- BBSFUtilitiesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BBSFUtilitiesModule, imports: [CommonModule,
16
- RouterModule, i1.BlockUIModule, i2.ToastrModule] });
17
- BBSFUtilitiesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BBSFUtilitiesModule, providers: [
18
- UtilityService,
19
- EnvironmentService,
20
- AuthService,
21
- RequestHandlerService,
22
- StylesBundleService,
23
- TranslateService,
24
- BBSFTranslateService,
25
- ControlValidationService,
26
- MasterLayoutService,
27
- ConfigurationService,
28
- CookieService
29
- ], imports: [CommonModule,
30
- RouterModule,
31
- BlockUIModule.forRoot(),
32
- ToastrModule.forRoot()] });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BBSFUtilitiesModule, decorators: [{
34
- type: NgModule,
35
- args: [{
36
- declarations: [],
37
- imports: [
38
- CommonModule,
39
- RouterModule,
40
- BlockUIModule.forRoot(),
41
- ToastrModule.forRoot(),
42
- ],
43
- exports: [],
44
- providers: [
45
- UtilityService,
46
- EnvironmentService,
47
- AuthService,
48
- RequestHandlerService,
49
- StylesBundleService,
50
- TranslateService,
51
- BBSFTranslateService,
52
- ControlValidationService,
53
- MasterLayoutService,
54
- ConfigurationService,
55
- CookieService
56
- ]
57
- }]
58
- }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJzZi11dGlsaXRpZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9iYnNmLXV0aWxpdGllcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUNMLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFDcEcsd0JBQXdCLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUNqRixNQUFNLFVBQVUsQ0FBQzs7OztBQTJCbEIsTUFBTSxPQUFPLG1CQUFtQjs7aUhBQW5CLG1CQUFtQjtrSEFBbkIsbUJBQW1CLFlBckI1QixZQUFZO1FBQ1osWUFBWTtrSEFvQkgsbUJBQW1CLGFBZG5CO1FBQ1QsY0FBYztRQUNkLGtCQUFrQjtRQUNsQixXQUFXO1FBQ1gscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLHdCQUF3QjtRQUN4QixtQkFBbUI7UUFDbkIsb0JBQW9CO1FBQ3BCLGFBQWE7S0FDZCxZQW5CQyxZQUFZO1FBQ1osWUFBWTtRQUNaLGFBQWEsQ0FBQyxPQUFPLEVBQUU7UUFDdkIsWUFBWSxDQUFDLE9BQU8sRUFBRTs0RkFrQmIsbUJBQW1CO2tCQXpCL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGFBQWEsQ0FBQyxPQUFPLEVBQUU7d0JBQ3ZCLFlBQVksQ0FBQyxPQUFPLEVBQUU7cUJBRXZCO29CQUNELE9BQU8sRUFBRSxFQUFFO29CQUNYLFNBQVMsRUFBRTt3QkFDVCxjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsV0FBVzt3QkFDWCxxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEJsb2NrVUlNb2R1bGUgfSBmcm9tICduZy1ibG9jay11aSc7XHJcbmltcG9ydCB7IFRvYXN0ck1vZHVsZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBVdGlsaXR5U2VydmljZSwgRW52aXJvbm1lbnRTZXJ2aWNlLCBSZXF1ZXN0SGFuZGxlclNlcnZpY2UsIFN0eWxlc0J1bmRsZVNlcnZpY2UsIEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gIENvbnRyb2xWYWxpZGF0aW9uU2VydmljZSwgTWFzdGVyTGF5b3V0U2VydmljZSwgQ29uZmlndXJhdGlvblNlcnZpY2UsIEF1dGhTZXJ2aWNlXHJcbn0gZnJvbSAnLi9zaGFyZWQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIEJsb2NrVUlNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgVG9hc3RyTW9kdWxlLmZvclJvb3QoKSxcclxuXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICAgQXV0aFNlcnZpY2UsXHJcbiAgICBSZXF1ZXN0SGFuZGxlclNlcnZpY2UsXHJcbiAgICBTdHlsZXNCdW5kbGVTZXJ2aWNlLFxyXG4gICAgVHJhbnNsYXRlU2VydmljZSxcclxuICAgIEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgQ29udHJvbFZhbGlkYXRpb25TZXJ2aWNlLFxyXG4gICAgTWFzdGVyTGF5b3V0U2VydmljZSxcclxuICAgIENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgQ29va2llU2VydmljZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJCU0ZVdGlsaXRpZXNNb2R1bGUge1xyXG5cclxufVxyXG4iXX0=
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { RouterModule } from '@angular/router';
4
+ import { TranslateService } from '@ngx-translate/core';
5
+ import { BlockUIModule } from 'ng-block-ui';
6
+ import { ToastrModule } from 'ngx-toastr';
7
+ import { CookieService } from 'ngx-cookie-service';
8
+ import { UtilityService, EnvironmentService, RequestHandlerService, StylesBundleService, BBSFTranslateService, ControlValidationService, MasterLayoutService, ConfigurationService, AuthService } from './shared';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "ng-block-ui";
11
+ import * as i2 from "ngx-toastr";
12
+ export class BBSFUtilitiesModule {
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: BBSFUtilitiesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
+ static { thismod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.6", ngImport: i0, type: BBSFUtilitiesModule, imports: [CommonModule,
15
+ RouterModule, i1.BlockUIModule, i2.ToastrModule] }); }
16
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: BBSFUtilitiesModule, providers: [
17
+ UtilityService,
18
+ EnvironmentService,
19
+ AuthService,
20
+ RequestHandlerService,
21
+ StylesBundleService,
22
+ TranslateService,
23
+ BBSFTranslateService,
24
+ ControlValidationService,
25
+ MasterLayoutService,
26
+ ConfigurationService,
27
+ CookieService
28
+ ], imports: [CommonModule,
29
+ RouterModule,
30
+ BlockUIModule.forRoot(),
31
+ ToastrModule.forRoot()] }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: BBSFUtilitiesModule, decorators: [{
34
+ type: NgModule,
35
+ args: [{
36
+ declarations: [],
37
+ imports: [
38
+ CommonModule,
39
+ RouterModule,
40
+ BlockUIModule.forRoot(),
41
+ ToastrModule.forRoot(),
42
+ ],
43
+ exports: [],
44
+ providers: [
45
+ UtilityService,
46
+ EnvironmentService,
47
+ AuthService,
48
+ RequestHandlerService,
49
+ StylesBundleService,
50
+ TranslateService,
51
+ BBSFTranslateService,
52
+ ControlValidationService,
53
+ MasterLayoutService,
54
+ ConfigurationService,
55
+ CookieService
56
+ ]
57
+ }]
58
+ }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJzZi11dGlsaXRpZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9iYnNmLXV0aWxpdGllcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUNMLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFDcEcsd0JBQXdCLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUNqRixNQUFNLFVBQVUsQ0FBQzs7OztBQTJCbEIsTUFBTSxPQUFPLG1CQUFtQjs4R0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUIsWUFyQjVCLFlBQVk7WUFDWixZQUFZOytHQW9CSCxtQkFBbUIsYUFkbkI7WUFDVCxjQUFjO1lBQ2Qsa0JBQWtCO1lBQ2xCLFdBQVc7WUFDWCxxQkFBcUI7WUFDckIsbUJBQW1CO1lBQ25CLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsd0JBQXdCO1lBQ3hCLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsYUFBYTtTQUNkLFlBbkJDLFlBQVk7WUFDWixZQUFZO1lBQ1osYUFBYSxDQUFDLE9BQU8sRUFBRTtZQUN2QixZQUFZLENBQUMsT0FBTyxFQUFFOzsyRkFrQmIsbUJBQW1CO2tCQXpCL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGFBQWEsQ0FBQyxPQUFPLEVBQUU7d0JBQ3ZCLFlBQVksQ0FBQyxPQUFPLEVBQUU7cUJBRXZCO29CQUNELE9BQU8sRUFBRSxFQUFFO29CQUNYLFNBQVMsRUFBRTt3QkFDVCxjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsV0FBVzt3QkFDWCxxQkFBcUI7d0JBQ3JCLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEJsb2NrVUlNb2R1bGUgfSBmcm9tICduZy1ibG9jay11aSc7XHJcbmltcG9ydCB7IFRvYXN0ck1vZHVsZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBVdGlsaXR5U2VydmljZSwgRW52aXJvbm1lbnRTZXJ2aWNlLCBSZXF1ZXN0SGFuZGxlclNlcnZpY2UsIFN0eWxlc0J1bmRsZVNlcnZpY2UsIEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gIENvbnRyb2xWYWxpZGF0aW9uU2VydmljZSwgTWFzdGVyTGF5b3V0U2VydmljZSwgQ29uZmlndXJhdGlvblNlcnZpY2UsIEF1dGhTZXJ2aWNlXHJcbn0gZnJvbSAnLi9zaGFyZWQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIEJsb2NrVUlNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgVG9hc3RyTW9kdWxlLmZvclJvb3QoKSxcclxuXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICAgQXV0aFNlcnZpY2UsXHJcbiAgICBSZXF1ZXN0SGFuZGxlclNlcnZpY2UsXHJcbiAgICBTdHlsZXNCdW5kbGVTZXJ2aWNlLFxyXG4gICAgVHJhbnNsYXRlU2VydmljZSxcclxuICAgIEJCU0ZUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgQ29udHJvbFZhbGlkYXRpb25TZXJ2aWNlLFxyXG4gICAgTWFzdGVyTGF5b3V0U2VydmljZSxcclxuICAgIENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgQ29va2llU2VydmljZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJCU0ZVdGlsaXRpZXNNb2R1bGUge1xyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,211 @@
1
+ import { HttpHeaders } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { JwtHelperService } from '@auth0/angular-jwt';
5
+ import { User } from '../models/UserModel';
6
+ import { AuthenticationModes } from '../enums/authentication-modes-enums';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common/http";
9
+ import * as i2 from "../services";
10
+ import * as i3 from "@angular/router";
11
+ import * as i4 from "ngx-cookie-service";
12
+ import * as i5 from "../services/utility.service";
13
+ const TOKEN_KEY = 'access_token';
14
+ export class AuthService {
15
+ static { this.user = null; }
16
+ static { this.UserClaims = null; }
17
+ //refresh
18
+ static { this.timers = []; }
19
+ static { this.seconds = 0; }
20
+ constructor(injector, http, environmentService, translateService, router, cookieService, utilityService) {
21
+ this.injector = injector;
22
+ this.http = http;
23
+ this.environmentService = environmentService;
24
+ this.translateService = translateService;
25
+ this.router = router;
26
+ this.cookieService = cookieService;
27
+ this.utilityService = utilityService;
28
+ this.redirectUrl = '';
29
+ this.jwtHelper = new JwtHelperService();
30
+ this.isAuthenticatedSubject = new BehaviorSubject(this.hasToken());
31
+ this.isAuthenticate$ = this.isAuthenticatedSubject.asObservable();
32
+ this.user = this.getUserManager();
33
+ }
34
+ hasToken() {
35
+ const token = this.cookieService.get(TOKEN_KEY);
36
+ return token && !this.jwtHelper.isTokenExpired(token);
37
+ }
38
+ getUserManager() {
39
+ const token = this.cookieService.get(TOKEN_KEY);
40
+ if (token)
41
+ this.handleAccessTokenWithoutLanguage(token);
42
+ return AuthService.user;
43
+ }
44
+ getUser() {
45
+ this.user = AuthService.user;
46
+ }
47
+ storUser(User) {
48
+ AuthService.user = this.user = this.user;
49
+ }
50
+ getCurrentUser() {
51
+ return AuthService.user;
52
+ }
53
+ async isAuthenticated() {
54
+ return AuthService.user != null && !this.jwtHelper.isTokenExpired(AuthService.user.access_token);
55
+ }
56
+ isUserInRole(allowedPermission) {
57
+ let selectedPermissionSetID = Number.parseInt(this.user.profile['selectedpermissionsetid']);
58
+ return allowedPermission.includes(selectedPermissionSetID);
59
+ }
60
+ authorizationHeaderValue() {
61
+ return AuthService.user
62
+ ? `${AuthService.user.token_type} ${AuthService.user.access_token}`
63
+ : '';
64
+ }
65
+ name() {
66
+ return AuthService.user != null ? AuthService.user.profile.given_name : '';
67
+ }
68
+ setUrl(url) {
69
+ localStorage.setItem('redirectUrl', url);
70
+ }
71
+ getUrl() {
72
+ return localStorage.getItem('redirectUrl') ?? "/";
73
+ }
74
+ signOut() {
75
+ AuthService.timers.map(t => clearInterval(t));
76
+ AuthService.timers = [];
77
+ if (!this.isAuthenticated()) {
78
+ this.cookieService.delete(TOKEN_KEY);
79
+ this.router.navigate(['/Admin/account/login']);
80
+ }
81
+ this.logout().subscribe(res => {
82
+ this.cookieService.delete(TOKEN_KEY);
83
+ if (this.environmentService.getBBSFAuthenticationMode() == AuthenticationModes.UAEPass)
84
+ this.logoutFromUAEPass();
85
+ else
86
+ this.router.navigate(['/Admin/account/login']);
87
+ });
88
+ }
89
+ logout() {
90
+ const httpOptions = {
91
+ headers: new HttpHeaders({
92
+ 'Content-Type': 'application/json',
93
+ }),
94
+ };
95
+ let ApiUrl = '/Account/';
96
+ return this.http.get(this.environmentService.getApiUrl() + ApiUrl + 'Logout', httpOptions);
97
+ }
98
+ clearUserSessionClaims() {
99
+ const httpOptions = {
100
+ headers: new HttpHeaders({
101
+ 'Content-Type': 'application/json',
102
+ }),
103
+ };
104
+ let ApiUrl = '/api/Home/';
105
+ return this.http.get(this.environmentService.getBaseUrl() + ApiUrl + 'ClearCurrentUserSession', httpOptions);
106
+ }
107
+ async handleAccessToken(response) {
108
+ const token = response;
109
+ AuthService.user = new User();
110
+ AuthService.user.token_type = "Bearer";
111
+ AuthService.user.access_token = token;
112
+ AuthService.user.profile = this.jwtHelper.decodeToken(token);
113
+ AuthService.user.expires_at = this.jwtHelper.getTokenExpirationDate(token);
114
+ AuthService.timers.map(t => clearInterval(t));
115
+ AuthService.timers = [];
116
+ this.setTokenSeconds();
117
+ AuthService.timers.push(this.checkRefreshToken());
118
+ this.user = AuthService.user;
119
+ await this.updateLanguage();
120
+ this.cookieService.set(TOKEN_KEY, token, null, null, null, true, 'Strict');
121
+ this.isAuthenticatedSubject.next(true);
122
+ }
123
+ handleAccessTokenWithoutLanguage(response) {
124
+ const token = response;
125
+ AuthService.user = new User();
126
+ AuthService.user.token_type = "Bearer";
127
+ AuthService.user.access_token = token;
128
+ AuthService.user.profile = this.jwtHelper.decodeToken(token);
129
+ AuthService.user.expires_at = this.jwtHelper.getTokenExpirationDate(token);
130
+ this.setTokenSeconds();
131
+ this.user = AuthService.user;
132
+ this.cookieService.set(TOKEN_KEY, token, null, null, null, true, 'Strict');
133
+ this.isAuthenticatedSubject.next(true);
134
+ }
135
+ async updateLanguage() {
136
+ if (!localStorage.getItem('language') ||
137
+ localStorage.getItem('language') == this.user.profile.locale)
138
+ localStorage.setItem('language', this.user.profile.locale);
139
+ if (this.translateService.currentLang != localStorage.getItem('language')) {
140
+ this.translateService.resetLang(this.translateService.currentLang);
141
+ await this.translateService
142
+ .reloadLang(localStorage.getItem('language'))
143
+ .subscribe((res) => {
144
+ console.log(res);
145
+ });
146
+ }
147
+ }
148
+ checkRefreshToken() {
149
+ let date = new Date();
150
+ return setInterval(() => {
151
+ if (Math.floor(AuthService.seconds) < 120 && this.isAuthenticated())
152
+ this.refresh();
153
+ AuthService.seconds--;
154
+ }, 1000);
155
+ }
156
+ setTokenSeconds() {
157
+ let date = new Date();
158
+ AuthService.seconds = (AuthService.user.expires_at - date) / 1000;
159
+ }
160
+ refresh() {
161
+ const httpOptions = {
162
+ headers: new HttpHeaders({
163
+ 'Content-Type': 'application/json',
164
+ 'Authorization': this.authorizationHeaderValue(),
165
+ }),
166
+ };
167
+ let ApiUrl = '/api/Home/';
168
+ this.http.get(this.environmentService.getApiUrl() + ApiUrl + 'RefreshAccessToken', httpOptions).subscribe((res) => {
169
+ this.cookieService.delete(TOKEN_KEY);
170
+ this.handleAccessTokenWithoutLanguage(res.val);
171
+ });
172
+ }
173
+ loginWithUAEPass() {
174
+ const authEndpoint = `${this.environmentService.getUAEPassBaseUrl()}${this.environmentService.getUAEPassAuthorizationEndPoint()}`;
175
+ const queryParams = {
176
+ response_type: 'code',
177
+ client_id: `${this.environmentService.getUAEPassClientID()}`,
178
+ redirect_uri: `${this.environmentService.getBaseUrl()}${this.environmentService.getUAEPassRedirectUrl()}`,
179
+ scope: 'urn:uae:digitalid:profile:general urn:uae:digitalid:profile:general:profileType urn:uae:digitalid:profile:general:unifiedId',
180
+ state: 'pd3PgezRwk596u2yfRwqOgru',
181
+ acr_values: 'urn:safelayer:tws:policies:authentication:level:low'
182
+ };
183
+ const queryParamsString = Object.entries(queryParams)
184
+ .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)
185
+ .join('&');
186
+ const loginUrl = `${authEndpoint}?${queryParamsString}`;
187
+ window.location.href = loginUrl;
188
+ return;
189
+ }
190
+ logoutFromUAEPass() {
191
+ const logoutEndpoint = `${this.environmentService.getUAEPassBaseUrl()}${this.environmentService.getUAEPassLogoutEndPoint()}`;
192
+ const queryParams = {
193
+ redirect_uri: `${this.environmentService.getBaseUrl()}`,
194
+ };
195
+ const queryParamsString = Object.entries(queryParams)
196
+ .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)
197
+ .join('&');
198
+ const logoutUrl = `${logoutEndpoint}?${queryParamsString}`;
199
+ window.location.href = logoutUrl;
200
+ return;
201
+ }
202
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AuthService, deps: [{ token: i0.Injector }, { token: i1.HttpClient }, { token: i2.EnvironmentService }, { token: i2.BBSFTranslateService }, { token: i3.Router }, { token: i4.CookieService }, { token: i5.UtilityService }], target: i0.ɵɵFactoryTarget.Injectable }); }
203
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AuthService, providedIn: 'root' }); }
204
+ }
205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: AuthService, decorators: [{
206
+ type: Injectable,
207
+ args: [{
208
+ providedIn: 'root',
209
+ }]
210
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.HttpClient }, { type: i2.EnvironmentService }, { type: i2.BBSFTranslateService }, { type: i3.Router }, { type: i4.CookieService }, { type: i5.UtilityService }] });
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvYXV0aGVudGljYXRpb24vYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7O0FBQzFFLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQztBQUtqQyxNQUFNLE9BQU8sV0FBVzthQUVmLFNBQUksR0FBZ0IsSUFBSSxBQUFwQixDQUFxQjthQUV6QixlQUFVLEdBQVEsSUFBSSxBQUFaLENBQWE7SUFJOUIsU0FBUzthQUNGLFdBQU0sR0FBRyxFQUFFLEFBQUwsQ0FBTTthQUNaLFlBQU8sR0FBRyxDQUFDLEFBQUosQ0FBSztJQUVuQixZQUFvQixRQUFrQixFQUFVLElBQWdCLEVBQVUsa0JBQXNDLEVBQVUsZ0JBQXNDLEVBQVUsTUFBYyxFQUFVLGFBQTRCLEVBQVUsY0FBOEI7UUFBbFAsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFzQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxD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TSxjQUFjLEdBQUcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxDQUFBO1FBQzVILE1BQU0sV0FBVyxHQUFHO1lBQ2xCLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsRUFBRTtTQUN4RCxDQUFBO1FBQ0QsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQzthQUNsRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQzthQUM1RCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFYixNQUFNLFNBQVMsR0FBRyxHQUFHLGNBQWMsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQzNELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUNqQyxPQUFPO0lBQ1QsQ0FBQzs4R0FoTlUsV0FBVztrSEFBWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEp3dEhlbHBlclNlcnZpY2UgfSBmcm9tICdAYXV0aDAvYW5ndWxhci1qd3QnO1xyXG5pbXBvcnQgeyBCQlNGVHJhbnNsYXRlU2VydmljZSwgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL1VzZXJNb2RlbCc7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3V0aWxpdHkuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uTW9kZXMgfSBmcm9tICcuLi9lbnVtcy9hdXRoZW50aWNhdGlvbi1tb2Rlcy1lbnVtcyc7XHJcbmNvbnN0IFRPS0VOX0tFWSA9ICdhY2Nlc3NfdG9rZW4nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcclxuICBwdWJsaWMgcmVkaXJlY3RVcmw6IHN0cmluZyA9ICcnO1xyXG4gIHN0YXRpYyB1c2VyOiBVc2VyIHwgbnVsbCA9IG51bGw7XHJcbiAgdXNlcjogVXNlciB8IG51bGw7XHJcbiAgc3RhdGljIFVzZXJDbGFpbXM6IGFueSA9IG51bGw7XHJcbiAgcHJpdmF0ZSBqd3RIZWxwZXI6IEp3dEhlbHBlclNlcnZpY2UgPSBuZXcgSnd0SGVscGVyU2VydmljZSgpO1xyXG4gIHByaXZhdGUgaXNBdXRoZW50aWNhdGVkU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odGhpcy5oYXNUb2tlbigpKTtcclxuICBpc0F1dGhlbnRpY2F0ZSQgPSB0aGlzLmlzQXV0aGVudGljYXRlZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgLy9yZWZyZXNoXHJcbiAgc3RhdGljIHRpbWVycyA9IFtdO1xyXG4gIHN0YXRpYyBzZWNvbmRzID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBlbnZpcm9ubWVudFNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBCQlNGVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBDb29raWVTZXJ2aWNlLCBwcml2YXRlIHV0aWxpdHlTZXJ2aWNlOiBVdGlsaXR5U2VydmljZSkge1xyXG4gICAgdGhpcy51c2VyID0gdGhpcy5nZXRVc2VyTWFuYWdlcigpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhc1Rva2VuKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KFRPS0VOX0tFWSk7XHJcbiAgICByZXR1cm4gdG9rZW4gJiYgIXRoaXMuand0SGVscGVyLmlzVG9rZW5FeHBpcmVkKHRva2VuKTtcclxuICB9XHJcblxyXG4gIGdldFVzZXJNYW5hZ2VyKCkge1xyXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KFRPS0VOX0tFWSk7XHJcbiAgICBpZiAodG9rZW4pXHJcbiAgICAgIHRoaXMuaGFuZGxlQWNjZXNzVG9rZW5XaXRob3V0TGFuZ3VhZ2UodG9rZW4pXHJcbiAgICByZXR1cm4gQXV0aFNlcnZpY2UudXNlcjtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgZ2V0VXNlcigpIHtcclxuICAgIHRoaXMudXNlciA9IEF1dGhTZXJ2aWNlLnVzZXI7XHJcbiAgfVxyXG4gIHN0b3JVc2VyKFVzZXI6IGFueSkge1xyXG4gICAgQXV0aFNlcnZpY2UudXNlciA9IHRoaXMudXNlciA9IHRoaXMudXNlcjtcclxuICB9XHJcblxyXG4gIGdldEN1cnJlbnRVc2VyKCkge1xyXG4gICAgcmV0dXJuIEF1dGhTZXJ2aWNlLnVzZXJcclxuICB9XHJcblxyXG4gIGFzeW5jIGlzQXV0aGVudGljYXRlZCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBBdXRoU2VydmljZS51c2VyICE9IG51bGwgJiYgIXRoaXMuand0SGVscGVyLmlzVG9rZW5FeHBpcmVkKEF1dGhTZXJ2aWNlLnVzZXIuYWNjZXNzX3Rva2VuKTtcclxuICB9XHJcbiAgaXNVc2VySW5Sb2xlKGFsbG93ZWRQZXJtaXNzaW9uOiBudW1iZXJbXSkge1xyXG4gICAgbGV0IHNlbGVjdGVkUGVybWlzc2lvblNldElEOiBudW1iZXIgPSBOdW1iZXIucGFyc2VJbnQoXHJcbiAgICAgIHRoaXMudXNlci5wcm9maWxlWydzZWxlY3RlZHBlcm1pc3Npb25zZXRpZCddXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIGFsbG93ZWRQZXJtaXNzaW9uLmluY2x1ZGVzKHNlbGVjdGVkUGVybWlzc2lvblNldElEKTtcclxuICB9XHJcblxyXG4gIGF1dGhvcml6YXRpb25IZWFkZXJWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIEF1dGhTZXJ2aWNlLnVzZXJcclxuICAgICAgPyBgJHtBdXRoU2VydmljZS51c2VyLnRva2VuX3R5cGV9ICR7QXV0aFNlcnZpY2UudXNlci5hY2Nlc3NfdG9rZW59YFxyXG4gICAgICA6ICcnO1xyXG4gIH1cclxuXHJcbiAgbmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIEF1dGhTZXJ2aWNlLnVzZXIgIT0gbnVsbCA/IEF1dGhTZXJ2aWNlLnVzZXIucHJvZmlsZS5naXZlbl9uYW1lIDogJyc7XHJcbiAgfVxyXG4gIHNldFVybCh1cmwpIHtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdyZWRpcmVjdFVybCcsIHVybCk7XHJcbiAgfVxyXG4gIGdldFVybCgpIHtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncmVkaXJlY3RVcmwnKSA/PyBcIi9cIjtcclxuICB9XHJcblxyXG4gIHNpZ25PdXQoKSB7XHJcbiAgICBBdXRoU2VydmljZS50aW1lcnMubWFwKHQgPT4gY2xlYXJJbnRlcnZhbCh0KSk7XHJcbiAgICBBdXRoU2VydmljZS50aW1lcnMgPSBbXTtcclxuICAgIGlmICghdGhpcy5pc0F1dGhlbnRpY2F0ZWQoKSkge1xyXG4gICAgICB0aGlzLmNvb2tpZVNlcnZpY2UuZGVsZXRlKFRPS0VOX0tFWSk7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL0FkbWluL2FjY291bnQvbG9naW4nXSlcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvZ291dCgpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLmNvb2tpZVNlcnZpY2UuZGVsZXRlKFRPS0VOX0tFWSk7XHJcbiAgICAgIGlmICh0aGlzLmVudmlyb25tZW50U2VydmljZS5nZXRCQlNGQXV0aGVudGljYXRpb25Nb2RlKCkgPT0gQXV0aGVudGljYXRpb25Nb2Rlcy5VQUVQYXNzKVxyXG4gICAgICAgIHRoaXMubG9nb3V0RnJvbVVBRVBhc3MoKVxyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvQWRtaW4vYWNjb3VudC9sb2dpbiddKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKSB7XHJcbiAgICBjb25zdCBodHRwT3B0aW9ucyA9IHtcclxuICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICB9KSxcclxuICAgIH07XHJcbiAgICBsZXQgQXBpVXJsID0gJy9BY2NvdW50Lyc7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmVudmlyb25tZW50U2VydmljZS5nZXRBcGlVcmwoKSArIEFwaVVybCArICdMb2dvdXQnLCBodHRwT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgY2xlYXJVc2VyU2Vzc2lvbkNsYWltcygpIHtcclxuICAgIGNvbnN0IGh0dHBPcHRpb25zID0ge1xyXG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgIH0pLFxyXG4gICAgfTtcclxuICAgIGxldCBBcGlVcmwgPSAnL2FwaS9Ib21lLyc7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmVudmlyb25tZW50U2VydmljZS5nZXRCYXNlVXJsKCkgKyBBcGlVcmwgKyAnQ2xlYXJDdXJyZW50VXNlclNlc3Npb24nLCBodHRwT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgYXN5bmMgaGFuZGxlQWNjZXNzVG9rZW4ocmVzcG9uc2U6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgdG9rZW4gPSByZXNwb25zZTtcclxuICAgIEF1dGhTZXJ2aWNlLnVzZXIgPSBuZXcgVXNlcigpO1xyXG4gICAgQXV0aFNlcnZpY2UudXNlci50b2tlbl90eXBlID0gXCJCZWFyZXJcIlxyXG4gICAgQXV0aFNlcnZpY2UudXNlci5hY2Nlc3NfdG9rZW4gPSB0b2tlbjtcclxuICAgIEF1dGhTZXJ2aWNlLnVzZXIucHJvZmlsZSA9IHRoaXMuand0SGVscGVyLmRlY29kZVRva2VuKHRva2VuKTtcclxuICAgIEF1dGhTZXJ2aWNlLnVzZXIuZXhwaXJlc19hdCA9IHRoaXMuand0SGVscGVyLmdldFRva2VuRXhwaXJhdGlvbkRhdGUodG9rZW4pO1xyXG4gICAgQXV0aFNlcnZpY2UudGltZXJzLm1hcCh0ID0+IGNsZWFySW50ZXJ2YWwodCkpO1xyXG4gICAgQXV0aFNlcnZpY2UudGltZXJzID0gW107XHJcbiAgICB0aGlzLnNldFRva2VuU2Vjb25kcygpXHJcbiAgICBBdXRoU2VydmljZS50aW1lcnMucHVzaCh0aGlzLmNoZWNrUmVmcmVzaFRva2VuKCkpO1xyXG4gICAgdGhpcy51c2VyID0gQXV0aFNlcnZpY2UudXNlclxyXG4gICAgYXdhaXQgdGhpcy51cGRhdGVMYW5ndWFnZSgpXHJcbiAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KFRPS0VOX0tFWSwgdG9rZW4sIG51bGwsIG51bGwsIG51bGwsIHRydWUsICdTdHJpY3QnKTtcclxuICAgIHRoaXMuaXNBdXRoZW50aWNhdGVkU3ViamVjdC5uZXh0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQWNjZXNzVG9rZW5XaXRob3V0TGFuZ3VhZ2UocmVzcG9uc2U6IGFueSkge1xyXG4gICAgY29uc3QgdG9rZW4gPSByZXNwb25zZTtcclxuICAgIEF1dGhTZXJ2aWNlLnVzZXIgPSBuZXcgVXNlcigpO1xyXG4gICAgQXV0aFNlcnZpY2UudXNlci50b2tlbl90eXBlID0gXCJCZWFyZXJcIlxyXG4gICAgQXV0aFNlcnZpY2UudXNlci5hY2Nlc3NfdG9rZW4gPSB0b2tlbjtcclxuICAgIEF1dGhTZXJ2aWNlLnVzZXIucHJvZmlsZSA9IHRoaXMuand0SGVscGVyLmRlY29kZVRva2VuKHRva2VuKTtcclxuICAgIEF1dGhTZXJ2aWNlLnVzZXIuZXhwaXJlc19hdCA9IHRoaXMuand0SGVscGVyLmdldFRva2VuRXhwaXJhdGlvbkRhdGUodG9rZW4pO1xyXG4gICAgdGhpcy5zZXRUb2tlblNlY29uZHMoKVxyXG4gICAgdGhpcy51c2VyID0gQXV0aFNlcnZpY2UudXNlclxyXG4gICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChUT0tFTl9LRVksIHRva2VuLCBudWxsLCBudWxsLCBudWxsLCB0cnVlLCAnU3RyaWN0Jyk7XHJcbiAgICB0aGlzLmlzQXV0aGVudGljYXRlZFN1YmplY3QubmV4dCh0cnVlKTtcclxuICB9XHJcbiAgYXN5bmMgdXBkYXRlTGFuZ3VhZ2UoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgICFsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZ3VhZ2UnKSB8fFxyXG4gICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZ3VhZ2UnKSA9PSB0aGlzLnVzZXIucHJvZmlsZS5sb2NhbGVcclxuICAgIClcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2xhbmd1YWdlJywgdGhpcy51c2VyLnByb2ZpbGUubG9jYWxlKTtcclxuXHJcbiAgICBpZiAodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nICE9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5ndWFnZScpKSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5yZXNldExhbmcodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nKTtcclxuICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlXHJcbiAgICAgICAgLnJlbG9hZExhbmcobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhbmd1YWdlJykpXHJcbiAgICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhyZXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hlY2tSZWZyZXNoVG9rZW4oKSB7XHJcbiAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKCkgYXMgYW55O1xyXG4gICAgcmV0dXJuIHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgaWYgKE1hdGguZmxvb3IoQXV0aFNlcnZpY2Uuc2Vjb25kcykgPCAxMjAgJiYgdGhpcy5pc0F1dGhlbnRpY2F0ZWQoKSlcclxuICAgICAgICB0aGlzLnJlZnJlc2goKVxyXG4gICAgICBBdXRoU2VydmljZS5zZWNvbmRzLS07XHJcbiAgICB9LCAxMDAwKTtcclxuICB9XHJcbiAgc2V0VG9rZW5TZWNvbmRzKCkge1xyXG4gICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSgpIGFzIGFueTtcclxuICAgIEF1dGhTZXJ2aWNlLnNlY29uZHMgPSAoQXV0aFNlcnZpY2UudXNlci5leHBpcmVzX2F0IC0gZGF0ZSkgLyAxMDAwXHJcbiAgfVxyXG4gIHJlZnJlc2goKSB7XHJcbiAgICBjb25zdCBodHRwT3B0aW9ucyA9IHtcclxuICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgICdBdXRob3JpemF0aW9uJzogdGhpcy5hdXRob3JpemF0aW9uSGVhZGVyVmFsdWUoKSxcclxuICAgICAgfSksXHJcbiAgICB9O1xyXG4gICAgbGV0IEFwaVVybCA9ICcvYXBpL0hvbWUvJztcclxuICAgIHRoaXMuaHR0cC5nZXQodGhpcy5lbnZpcm9ubWVudFNlcnZpY2UuZ2V0QXBpVXJsKCkgKyBBcGlVcmwgKyAnUmVmcmVzaEFjY2Vzc1Rva2VuJywgaHR0cE9wdGlvbnMpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLmRlbGV0ZShUT0tFTl9LRVkpO1xyXG4gICAgICB0aGlzLmhhbmRsZUFjY2Vzc1Rva2VuV2l0aG91dExhbmd1YWdlKHJlcy52YWwpXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbG9naW5XaXRoVUFFUGFzcygpIHtcclxuICAgIGNvbnN0IGF1dGhFbmRwb2ludCA9IGAke3RoaXMuZW52aXJvbm1lbnRTZXJ2aWNlLmdldFVBRVBhc3NCYXNlVXJsKCl9JHt0aGlzLmVudmlyb25tZW50U2VydmljZS5nZXRVQUVQYXNzQXV0aG9yaXphdGlvbkVuZFBvaW50KCl9YDtcclxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0ge1xyXG4gICAgICByZXNwb25zZV90eXBlOiAnY29kZScsXHJcbiAgICAgIGNsaWVudF9pZDogYCR7dGhpcy5lbnZpcm9ubWVudFNlcnZpY2UuZ2V0VUFFUGFzc0NsaWVudElEKCl9YCxcclxuICAgICAgcmVkaXJlY3RfdXJpOiBgJHt0aGlzLmVudmlyb25tZW50U2VydmljZS5nZXRCYXNlVXJsKCl9JHt0aGlzLmVudmlyb25tZW50U2VydmljZS5nZXRVQUVQYXNzUmVkaXJlY3RVcmwoKX1gLFxyXG4gICAgICBzY29wZTogJ3Vybjp1YWU6ZGlnaXRhbGlkOnByb2ZpbGU6Z2VuZXJhbCB1cm46dWFlOmRpZ2l0YWxpZDpwcm9maWxlOmdlbmVyYWw6cHJvZmlsZVR5cGUgdXJuOnVhZTpkaWdpdGFsaWQ6cHJvZmlsZTpnZW5lcmFsOnVuaWZpZWRJZCcsXHJcbiAgICAgIHN0YXRlOiAncGQzUGdlelJ3azU5NnUyeWZSd3FPZ3J1JyxcclxuICAgICAgYWNyX3ZhbHVlczogJ3VybjpzYWZlbGF5ZXI6dHdzOnBvbGljaWVzOmF1dGhlbnRpY2F0aW9uOmxldmVsOmxvdydcclxuICAgIH1cclxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zU3RyaW5nID0gT2JqZWN0LmVudHJpZXMocXVlcnlQYXJhbXMpXHJcbiAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fT0ke2VuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSl9YClcclxuICAgICAgLmpvaW4oJyYnKTtcclxuICAgIGNvbnN0IGxvZ2luVXJsID0gYCR7YXV0aEVuZHBvaW50fT8ke3F1ZXJ5UGFyYW1zU3RyaW5nfWA7XHJcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGxvZ2luVXJsO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0RnJvbVVBRVBhc3MoKSB7XHJcbiAgICBjb25zdCBsb2dvdXRFbmRwb2ludCA9IGAke3RoaXMuZW52aXJvbm1lbnRTZXJ2aWNlLmdldFVBRVBhc3NCYXNlVXJsKCl9JHt0aGlzLmVudmlyb25tZW50U2VydmljZS5nZXRVQUVQYXNzTG9nb3V0RW5kUG9pbnQoKX1gXHJcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHtcclxuICAgICAgcmVkaXJlY3RfdXJpOiBgJHt0aGlzLmVudmlyb25tZW50U2VydmljZS5nZXRCYXNlVXJsKCl9YCxcclxuICAgIH1cclxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zU3RyaW5nID0gT2JqZWN0LmVudHJpZXMocXVlcnlQYXJhbXMpXHJcbiAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fT0ke2VuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSl9YClcclxuICAgICAgLmpvaW4oJyYnKTtcclxuXHJcbiAgICBjb25zdCBsb2dvdXRVcmwgPSBgJHtsb2dvdXRFbmRwb2ludH0/JHtxdWVyeVBhcmFtc1N0cmluZ31gO1xyXG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBsb2dvdXRVcmw7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
- export * from './auth.service';
1
+ export * from './auth.service';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9hdXRoZW50aWNhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xyXG4iXX0=
@@ -1,12 +1,12 @@
1
- // This file can be replaced during build by using the `fileReplacements` array.
2
- // `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.
3
- // The list of file replacements can be found in `angular.json`.
4
- export const environment = Object.assign({}, window.Environment);
5
- /*
6
- * In development mode, to ignore zone related error stack frames such as
7
- * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can
8
- * import the following file, but please comment it out in production mode
9
- * because it will have performance impact when throw error
10
- */
11
- // import 'zone.js/dist/zone-error'; // Included with Angular CLI.
1
+ // This file can be replaced during build by using the `fileReplacements` array.
2
+ // `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.
3
+ // The list of file replacements can be found in `angular.json`.
4
+ export const environment = Object.assign({}, window.Environment);
5
+ /*
6
+ * In development mode, to ignore zone related error stack frames such as
7
+ * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can
8
+ * import the following file, but please comment it out in production mode
9
+ * because it will have performance impact when throw error
10
+ */
11
+ // import 'zone.js/dist/zone-error'; // Included with Angular CLI.
12
12
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9jb25maWcvZW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0ZBQWdGO0FBQ2hGLDJFQUEyRTtBQUMzRSxnRUFBZ0U7QUFFaEUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFDeEMsRUFDSSxNQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7QUFHakM7Ozs7O0dBS0c7QUFDSCxtRUFBbUUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGZpbGUgY2FuIGJlIHJlcGxhY2VkIGR1cmluZyBidWlsZCBieSB1c2luZyB0aGUgYGZpbGVSZXBsYWNlbWVudHNgIGFycmF5LlxyXG4vLyBgbmcgYnVpbGQgLS0tcHJvZGAgcmVwbGFjZXMgYGVudmlyb25tZW50LnRzYCB3aXRoIGBlbnZpcm9ubWVudC5wcm9kLnRzYC5cclxuLy8gVGhlIGxpc3Qgb2YgZmlsZSByZXBsYWNlbWVudHMgY2FuIGJlIGZvdW5kIGluIGBhbmd1bGFyLmpzb25gLlxyXG5cclxuZXhwb3J0IGNvbnN0IGVudmlyb25tZW50ID0gT2JqZWN0LmFzc2lnbih7XHJcbn0sXHJcbiAgICAod2luZG93IGFzIGFueSkuRW52aXJvbm1lbnQpO1xyXG5cclxuXHJcbi8qXHJcbiAqIEluIGRldmVsb3BtZW50IG1vZGUsIHRvIGlnbm9yZSB6b25lIHJlbGF0ZWQgZXJyb3Igc3RhY2sgZnJhbWVzIHN1Y2ggYXNcclxuICogYHpvbmUucnVuYCwgYHpvbmVEZWxlZ2F0ZS5pbnZva2VUYXNrYCBmb3IgZWFzaWVyIGRlYnVnZ2luZywgeW91IGNhblxyXG4gKiBpbXBvcnQgdGhlIGZvbGxvd2luZyBmaWxlLCBidXQgcGxlYXNlIGNvbW1lbnQgaXQgb3V0IGluIHByb2R1Y3Rpb24gbW9kZVxyXG4gKiBiZWNhdXNlIGl0IHdpbGwgaGF2ZSBwZXJmb3JtYW5jZSBpbXBhY3Qgd2hlbiB0aHJvdyBlcnJvclxyXG4gKi9cclxuLy8gaW1wb3J0ICd6b25lLmpzL2Rpc3Qvem9uZS1lcnJvcic7ICAvLyBJbmNsdWRlZCB3aXRoIEFuZ3VsYXIgQ0xJLlxyXG4iXX0=