@cleavelandprice/ngx-lib 3.0.11 → 3.1.2

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 +5 -5
  2. package/authentication/authentication.module.d.ts +3 -16
  3. package/authentication/model/abstract-authentication-service.d.ts +14 -0
  4. package/authentication/model/service-config.d.ts +1 -0
  5. package/authentication/object/authentication-object.module.d.ts +11 -0
  6. package/authentication/object/index.d.ts +5 -0
  7. package/authentication/object/model/default-config.d.ts +2 -0
  8. package/authentication/object/model/service-config.d.ts +3 -0
  9. package/authentication/object/public_api.d.ts +4 -0
  10. package/authentication/object/services/authentication-object.service.d.ts +23 -0
  11. package/authentication/public_api.d.ts +1 -6
  12. package/authentication/token/authentication-token.module.d.ts +11 -0
  13. package/authentication/token/gui/authentication-token-gui.module.d.ts +20 -0
  14. package/authentication/{components → token/gui/components}/login/login.component.d.ts +3 -3
  15. package/authentication/{components → token/gui/components}/login-form/login-form.component.d.ts +3 -3
  16. package/authentication/token/gui/index.d.ts +5 -0
  17. package/authentication/token/gui/model/default-config.d.ts +2 -0
  18. package/authentication/{model → token/gui/model}/login-form-data.d.ts +0 -0
  19. package/authentication/token/gui/model/service-config.d.ts +3 -0
  20. package/authentication/token/gui/public_api.d.ts +7 -0
  21. package/authentication/token/gui/services/authentication-token-gui.service.d.ts +15 -0
  22. package/authentication/token/index.d.ts +5 -0
  23. package/authentication/{model → token/model}/authentication-token.d.ts +0 -0
  24. package/authentication/token/model/default-config.d.ts +2 -0
  25. package/authentication/token/model/service-config.d.ts +4 -0
  26. package/authentication/token/public_api.d.ts +5 -0
  27. package/authentication/token/services/authentication-token.service.d.ts +22 -0
  28. package/esm2020/active-directory/active-directory.module.mjs +5 -5
  29. package/esm2020/active-directory/services/active-directory.service.mjs +3 -3
  30. package/esm2020/authentication/authentication.module.mjs +10 -68
  31. package/esm2020/authentication/model/abstract-authentication-service.mjs +2 -0
  32. package/esm2020/authentication/model/service-config.mjs +1 -1
  33. package/esm2020/authentication/object/authentication-object.module.mjs +39 -0
  34. package/esm2020/authentication/object/cleavelandprice-ngx-lib-authentication-object.mjs +5 -0
  35. package/esm2020/authentication/object/model/default-config.mjs +5 -0
  36. package/esm2020/authentication/object/model/service-config.mjs +4 -0
  37. package/esm2020/authentication/object/public_api.mjs +5 -0
  38. package/esm2020/authentication/object/services/authentication-object.service.mjs +101 -0
  39. package/esm2020/authentication/public_api.mjs +2 -7
  40. package/esm2020/authentication/token/authentication-token.module.mjs +39 -0
  41. package/esm2020/authentication/token/cleavelandprice-ngx-lib-authentication-token.mjs +5 -0
  42. package/esm2020/authentication/token/gui/authentication-token-gui.module.mjs +77 -0
  43. package/esm2020/authentication/token/gui/cleavelandprice-ngx-lib-authentication-token-gui.mjs +5 -0
  44. package/esm2020/authentication/{components → token/gui/components}/login/login.component.mjs +6 -6
  45. package/esm2020/authentication/{components → token/gui/components}/login-form/login-form.component.mjs +6 -6
  46. package/esm2020/authentication/token/gui/model/default-config.mjs +6 -0
  47. package/esm2020/authentication/token/gui/model/login-form-data.mjs +2 -0
  48. package/esm2020/authentication/token/gui/model/service-config.mjs +4 -0
  49. package/esm2020/authentication/token/gui/public_api.mjs +8 -0
  50. package/esm2020/authentication/token/gui/services/authentication-token-gui.service.mjs +74 -0
  51. package/esm2020/authentication/token/model/authentication-token.mjs +2 -0
  52. package/esm2020/authentication/token/model/default-config.mjs +6 -0
  53. package/esm2020/authentication/token/model/service-config.mjs +4 -0
  54. package/esm2020/authentication/token/public_api.mjs +6 -0
  55. package/esm2020/authentication/token/services/authentication-token.service.mjs +112 -0
  56. package/esm2020/dialog/components/base/base.component.mjs +5 -5
  57. package/esm2020/dialog/components/choice/choice.component.mjs +5 -5
  58. package/esm2020/dialog/components/confirmation/confirmation.component.mjs +5 -5
  59. package/esm2020/dialog/components/input/input.component.mjs +5 -5
  60. package/esm2020/dialog/components/message/message.component.mjs +5 -5
  61. package/esm2020/dialog/dialog.module.mjs +5 -5
  62. package/esm2020/lib/ngx-lib.module.mjs +5 -5
  63. package/esm2020/lib/services/app-path-config.service.mjs +3 -3
  64. package/esm2020/public_api.mjs +2 -1
  65. package/esm2020/sharepoint/services/sharepoint.service.mjs +5 -5
  66. package/esm2020/sharepoint/sharepoint.module.mjs +11 -11
  67. package/esm2020/upload/components/upload/upload.component.mjs +5 -5
  68. package/esm2020/upload/components/upload-dialog/upload-dialog.component.mjs +5 -5
  69. package/esm2020/upload/services/upload.service.mjs +3 -3
  70. package/esm2020/upload/upload.module.mjs +5 -5
  71. package/esm2020/url-utilities/pipes/safe-resource-url.pipe.mjs +4 -4
  72. package/esm2020/url-utilities/pipes/safe-url.pipe.mjs +4 -4
  73. package/esm2020/url-utilities/pipes/uri-scheme.pipe.mjs +4 -4
  74. package/esm2020/url-utilities/url-utilities.module.mjs +5 -5
  75. package/fesm2015/cleavelandprice-ngx-lib-active-directory.mjs +7 -7
  76. package/fesm2015/cleavelandprice-ngx-lib-active-directory.mjs.map +1 -1
  77. package/fesm2015/cleavelandprice-ngx-lib-authentication-object.mjs +151 -0
  78. package/fesm2015/cleavelandprice-ngx-lib-authentication-object.mjs.map +1 -0
  79. package/fesm2015/cleavelandprice-ngx-lib-authentication-token-gui.mjs +251 -0
  80. package/fesm2015/cleavelandprice-ngx-lib-authentication-token-gui.mjs.map +1 -0
  81. package/fesm2015/cleavelandprice-ngx-lib-authentication-token.mjs +163 -0
  82. package/fesm2015/cleavelandprice-ngx-lib-authentication-token.mjs.map +1 -0
  83. package/fesm2015/cleavelandprice-ngx-lib-authentication.mjs +10 -280
  84. package/fesm2015/cleavelandprice-ngx-lib-authentication.mjs.map +1 -1
  85. package/fesm2015/cleavelandprice-ngx-lib-dialog.mjs +24 -24
  86. package/fesm2015/cleavelandprice-ngx-lib-dialog.mjs.map +1 -1
  87. package/fesm2015/cleavelandprice-ngx-lib-sharepoint.mjs +14 -14
  88. package/fesm2015/cleavelandprice-ngx-lib-sharepoint.mjs.map +1 -1
  89. package/fesm2015/cleavelandprice-ngx-lib-upload.mjs +15 -15
  90. package/fesm2015/cleavelandprice-ngx-lib-upload.mjs.map +1 -1
  91. package/fesm2015/cleavelandprice-ngx-lib-url-utilities.mjs +13 -13
  92. package/fesm2015/cleavelandprice-ngx-lib-url-utilities.mjs.map +1 -1
  93. package/fesm2015/cleavelandprice-ngx-lib.mjs +11 -11
  94. package/fesm2015/cleavelandprice-ngx-lib.mjs.map +1 -1
  95. package/fesm2020/cleavelandprice-ngx-lib-active-directory.mjs +7 -7
  96. package/fesm2020/cleavelandprice-ngx-lib-active-directory.mjs.map +1 -1
  97. package/fesm2020/cleavelandprice-ngx-lib-authentication-object.mjs +150 -0
  98. package/fesm2020/cleavelandprice-ngx-lib-authentication-object.mjs.map +1 -0
  99. package/fesm2020/cleavelandprice-ngx-lib-authentication-token-gui.mjs +246 -0
  100. package/fesm2020/cleavelandprice-ngx-lib-authentication-token-gui.mjs.map +1 -0
  101. package/fesm2020/cleavelandprice-ngx-lib-authentication-token.mjs +162 -0
  102. package/fesm2020/cleavelandprice-ngx-lib-authentication-token.mjs.map +1 -0
  103. package/fesm2020/cleavelandprice-ngx-lib-authentication.mjs +10 -275
  104. package/fesm2020/cleavelandprice-ngx-lib-authentication.mjs.map +1 -1
  105. package/fesm2020/cleavelandprice-ngx-lib-dialog.mjs +24 -24
  106. package/fesm2020/cleavelandprice-ngx-lib-dialog.mjs.map +1 -1
  107. package/fesm2020/cleavelandprice-ngx-lib-sharepoint.mjs +14 -14
  108. package/fesm2020/cleavelandprice-ngx-lib-sharepoint.mjs.map +1 -1
  109. package/fesm2020/cleavelandprice-ngx-lib-upload.mjs +15 -15
  110. package/fesm2020/cleavelandprice-ngx-lib-upload.mjs.map +1 -1
  111. package/fesm2020/cleavelandprice-ngx-lib-url-utilities.mjs +13 -13
  112. package/fesm2020/cleavelandprice-ngx-lib-url-utilities.mjs.map +1 -1
  113. package/fesm2020/cleavelandprice-ngx-lib.mjs +11 -11
  114. package/fesm2020/cleavelandprice-ngx-lib.mjs.map +1 -1
  115. package/package.json +28 -3
  116. package/public_api.d.ts +1 -0
  117. package/sharepoint/services/sharepoint.service.d.ts +3 -3
  118. package/sharepoint/sharepoint.module.d.ts +6 -6
  119. package/upload/components/upload/upload.component.d.ts +1 -1
  120. package/upload/components/upload-dialog/upload-dialog.component.d.ts +1 -1
  121. package/authentication/model/default-config.d.ts +0 -2
  122. package/authentication/services/authentication.service.d.ts +0 -25
  123. package/esm2020/authentication/model/authentication-token.mjs +0 -2
  124. package/esm2020/authentication/model/default-config.mjs +0 -4
  125. package/esm2020/authentication/model/login-form-data.mjs +0 -2
  126. package/esm2020/authentication/services/authentication.service.mjs +0 -124
@@ -1 +1 @@
1
- {"version":3,"file":"cleavelandprice-ngx-lib-url-utilities.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/url-utilities/src/pipes/safe-resource-url.pipe.ts","../../../../projects/cleavelandprice/ngx-lib/url-utilities/src/pipes/safe-url.pipe.ts","../../../../projects/cleavelandprice/ngx-lib/url-utilities/src/pipes/uri-scheme.pipe.ts","../../../../projects/cleavelandprice/ngx-lib/url-utilities/src/url-utilities.module.ts","../../../../projects/cleavelandprice/ngx-lib/url-utilities/src/cleavelandprice-ngx-lib-url-utilities.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safeResourceUrl'\r\n})\r\nexport class SafeResourceUrlPipe implements PipeTransform {\r\n constructor(private domSanitizer: DomSanitizer) { }\r\n\r\n transform(value: string): SafeUrl {\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'safeUrl'\r\n})\r\nexport class SafeUrlPipe implements PipeTransform {\r\n\r\n constructor(private domSanitizer: DomSanitizer) { }\r\n\r\n transform(value: string): SafeUrl {\r\n return this.domSanitizer.bypassSecurityTrustUrl(value);\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'uriScheme',\r\n pure: false\r\n})\r\nexport class UriSchemePipe implements PipeTransform {\r\n // https://docs.microsoft.com/en-us/office/client-developer/office-uri-schemes\r\n\r\n transform(value: string, ignoreLocalStorage = false): string {\r\n if (!localStorage.getItem('useUriScheme') && !ignoreLocalStorage) { return value; }\r\n\r\n const urlSplit = value.split('.');\r\n const extension = urlSplit[urlSplit.length - 1];\r\n\r\n if (!extension) { return value; }\r\n\r\n const command = this.command(extension);\r\n const app = this.app(extension);\r\n\r\n return `ms-${app}:${command}|u|${value}`;\r\n }\r\n\r\n private app(extension: string): string {\r\n switch (extension.toLowerCase()) {\r\n // documents\r\n case 'doc': case 'docx':\r\n case 'docm': case 'docb':\r\n case 'dot': case 'dotx': case 'dotm': // templates\r\n return 'word';\r\n case 'xls': case 'xlsx':\r\n case 'xlm': case 'xlsm': case 'xlsb': case 'xlw':\r\n case 'xlt': case 'xltx': case 'xltm': // templates\r\n return 'excel';\r\n case 'ppt': case 'pptx':\r\n case 'pps': case 'ppsx': case 'pptm': case 'ppsm':\r\n case 'sldx': case 'sldm':\r\n case 'pot': case 'potx': case 'potm': // templates\r\n return 'powerpoint';\r\n case 'vsd': case 'vsdx':\r\n case 'vst': case 'vstx': // templates\r\n return 'visio';\r\n case 'mdb': case 'accdb': case 'accde': case 'accdr':\r\n case 'accdt': // templates\r\n return 'access';\r\n case 'mpp': case 'mppx':\r\n case 'mpt': // templates\r\n return 'project';\r\n case 'pub':\r\n return 'publisher';\r\n case 'xsn':\r\n return 'infopath';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n private command(extension: string): string {\r\n switch (extension.toLowerCase()) {\r\n case 'dot': case 'dotx': case 'dotm':\r\n case 'xlt': case 'xltx': case 'xltm':\r\n case 'pot': case 'potx': case 'potm':\r\n case 'vst': case 'vstx':\r\n case 'accdt':\r\n case 'mpt':\r\n return 'nft'; // new from template\r\n default:\r\n const openMode = 'v'; // for view, or 'e' or edit\r\n return `of${openMode}`; // default: open file as view/edit\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { SafeResourceUrlPipe } from './pipes/safe-resource-url.pipe';\r\nimport { SafeUrlPipe } from './pipes/safe-url.pipe';\r\nimport { UriSchemePipe } from './pipes/uri-scheme.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n SafeResourceUrlPipe,\r\n SafeUrlPipe,\r\n UriSchemePipe\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n SafeResourceUrlPipe,\r\n SafeUrlPipe,\r\n UriSchemePipe\r\n ]\r\n})\r\nexport class UrlUtilitiesModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleavelandprice-ngx-lib-url-utilities.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/url-utilities/src/pipes/safe-resource-url.pipe.ts","../../../../projects/cleavelandprice/ngx-lib/url-utilities/src/pipes/safe-url.pipe.ts","../../../../projects/cleavelandprice/ngx-lib/url-utilities/src/pipes/uri-scheme.pipe.ts","../../../../projects/cleavelandprice/ngx-lib/url-utilities/src/url-utilities.module.ts","../../../../projects/cleavelandprice/ngx-lib/url-utilities/src/cleavelandprice-ngx-lib-url-utilities.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeResourceUrl'\n})\nexport class SafeResourceUrlPipe implements PipeTransform {\n constructor(private domSanitizer: DomSanitizer) { }\n\n transform(value: string): SafeUrl {\n return this.domSanitizer.bypassSecurityTrustResourceUrl(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\n\n@Pipe({\n name: 'safeUrl'\n})\nexport class SafeUrlPipe implements PipeTransform {\n\n constructor(private domSanitizer: DomSanitizer) { }\n\n transform(value: string): SafeUrl {\n return this.domSanitizer.bypassSecurityTrustUrl(value);\n }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'uriScheme',\n pure: false\n})\nexport class UriSchemePipe implements PipeTransform {\n // https://docs.microsoft.com/en-us/office/client-developer/office-uri-schemes\n\n transform(value: string, ignoreLocalStorage = false): string {\n if (!localStorage.getItem('useUriScheme') && !ignoreLocalStorage) { return value; }\n\n const urlSplit = value.split('.');\n const extension = urlSplit[urlSplit.length - 1];\n\n if (!extension) { return value; }\n\n const command = this.command(extension);\n const app = this.app(extension);\n\n return `ms-${app}:${command}|u|${value}`;\n }\n\n private app(extension: string): string {\n switch (extension.toLowerCase()) {\n // documents\n case 'doc': case 'docx':\n case 'docm': case 'docb':\n case 'dot': case 'dotx': case 'dotm': // templates\n return 'word';\n case 'xls': case 'xlsx':\n case 'xlm': case 'xlsm': case 'xlsb': case 'xlw':\n case 'xlt': case 'xltx': case 'xltm': // templates\n return 'excel';\n case 'ppt': case 'pptx':\n case 'pps': case 'ppsx': case 'pptm': case 'ppsm':\n case 'sldx': case 'sldm':\n case 'pot': case 'potx': case 'potm': // templates\n return 'powerpoint';\n case 'vsd': case 'vsdx':\n case 'vst': case 'vstx': // templates\n return 'visio';\n case 'mdb': case 'accdb': case 'accde': case 'accdr':\n case 'accdt': // templates\n return 'access';\n case 'mpp': case 'mppx':\n case 'mpt': // templates\n return 'project';\n case 'pub':\n return 'publisher';\n case 'xsn':\n return 'infopath';\n default:\n return '';\n }\n }\n\n private command(extension: string): string {\n switch (extension.toLowerCase()) {\n case 'dot': case 'dotx': case 'dotm':\n case 'xlt': case 'xltx': case 'xltm':\n case 'pot': case 'potx': case 'potm':\n case 'vst': case 'vstx':\n case 'accdt':\n case 'mpt':\n return 'nft'; // new from template\n default:\n const openMode = 'v'; // for view, or 'e' or edit\n return `of${openMode}`; // default: open file as view/edit\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { SafeResourceUrlPipe } from './pipes/safe-resource-url.pipe';\nimport { SafeUrlPipe } from './pipes/safe-url.pipe';\nimport { UriSchemePipe } from './pipes/uri-scheme.pipe';\n\n@NgModule({\n declarations: [\n SafeResourceUrlPipe,\n SafeUrlPipe,\n UriSchemePipe\n ],\n imports: [\n CommonModule\n ],\n exports: [\n SafeResourceUrlPipe,\n SafeUrlPipe,\n UriSchemePipe\n ]\n})\nexport class UrlUtilitiesModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@ import * as i0 from '@angular/core';
2
2
  import { Injectable, Optional, NgModule, SkipSelf } from '@angular/core';
3
3
  import * as i2 from '@angular/common/http';
4
4
 
5
- class ServiceConfig {
6
- }
7
-
8
5
  const defaultConfig = {
9
6
  apiUrl: 'http://utilityapi'
10
7
  };
11
8
 
9
+ class ServiceConfig {
10
+ }
11
+
12
12
  class AppPathConfigService {
13
13
  constructor(config, http) {
14
14
  this.config = config;
@@ -41,9 +41,9 @@ class AppPathConfigService {
41
41
  return this.http.get(`${this.url}/function/${name}`);
42
42
  }
43
43
  }
44
- AppPathConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AppPathConfigService, deps: [{ token: ServiceConfig, optional: true }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
45
- AppPathConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AppPathConfigService, providedIn: 'root' });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AppPathConfigService, decorators: [{
44
+ AppPathConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: AppPathConfigService, deps: [{ token: ServiceConfig, optional: true }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
45
+ AppPathConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: AppPathConfigService, providedIn: 'root' });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: AppPathConfigService, decorators: [{
47
47
  type: Injectable,
48
48
  args: [{
49
49
  providedIn: 'root'
@@ -68,10 +68,10 @@ class NgxLibModule {
68
68
  };
69
69
  }
70
70
  }
71
- NgxLibModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgxLibModule, deps: [{ token: NgxLibModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
72
- NgxLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: NgxLibModule });
73
- NgxLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgxLibModule });
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: NgxLibModule, decorators: [{
71
+ NgxLibModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: NgxLibModule, deps: [{ token: NgxLibModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
72
+ NgxLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: NgxLibModule });
73
+ NgxLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: NgxLibModule });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: NgxLibModule, decorators: [{
75
75
  type: NgModule,
76
76
  args: [{
77
77
  declarations: [],
@@ -92,5 +92,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
92
92
  * Generated bundle index. Do not edit.
93
93
  */
94
94
 
95
- export { AppPathConfigService, NgxLibModule, ServiceConfig };
95
+ export { AppPathConfigService, NgxLibModule, ServiceConfig, defaultConfig };
96
96
  //# sourceMappingURL=cleavelandprice-ngx-lib.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"cleavelandprice-ngx-lib.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/src/lib/model/service-config.ts","../../../../projects/cleavelandprice/ngx-lib/src/lib/model/default-config.ts","../../../../projects/cleavelandprice/ngx-lib/src/lib/services/app-path-config.service.ts","../../../../projects/cleavelandprice/ngx-lib/src/lib/ngx-lib.module.ts","../../../../projects/cleavelandprice/ngx-lib/src/public_api.ts","../../../../projects/cleavelandprice/ngx-lib/src/cleavelandprice-ngx-lib.ts"],"sourcesContent":["export class ServiceConfig {\r\n apiUrl!: string;\r\n}","import { ServiceConfig } from \"./service-config\";\r\n\r\nexport const defaultConfig: ServiceConfig = {\r\n apiUrl: 'http://utilityapi'\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { AppPathConfig } from '../model/app-path-config';\r\nimport { defaultConfig } from '../model/default-config';\r\nimport { ServiceConfig } from '../model/service-config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppPathConfigService {\r\n url!: string;\r\n\r\n constructor(@Optional() private config: ServiceConfig,\r\n private http: HttpClient) {\r\n\r\n this.config = {\r\n ...defaultConfig,\r\n ...this.config\r\n };\r\n \r\n this.url = `${this.config.apiUrl}/apppathconfigs`\r\n }\r\n\r\n getAll(): Observable<AppPathConfig[]> {\r\n return this.http.get<AppPathConfig[]>(this.url);\r\n }\r\n\r\n getById(id: number): Observable<AppPathConfig> {\r\n return this.http.get<AppPathConfig>(`${this.url}/${id}`);\r\n }\r\n\r\n getByAppId(id: number): Observable<AppPathConfig[]> {\r\n return this.http.get<AppPathConfig[]>(`${this.url}/appid/${id}`);\r\n }\r\n\r\n getByApp(name: string): Observable<AppPathConfig[]> {\r\n return this.http.get<AppPathConfig[]>(`${this.url}/app/${name}`);\r\n }\r\n\r\n getByAppTypeId(id: number): Observable<AppPathConfig[]> {\r\n return this.http.get<AppPathConfig[]>(`${this.url}/apptypeid/${id}`);\r\n }\r\n\r\n getByAppType(name: string): Observable<AppPathConfig[]> {\r\n return this.http.get<AppPathConfig[]>(`${this.url}/apptype/${name}`);\r\n }\r\n\r\n getByAppFunction(name: string): Observable<AppPathConfig[]> {\r\n return this.http.get<AppPathConfig[]>(`${this.url}/function/${name}`);\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\r\n\r\nimport { AppPathConfigService } from './services/app-path-config.service';\r\n\r\nimport { ServiceConfig } from './model/service-config';\r\n\r\n@NgModule({\r\n declarations: [\r\n ],\r\n imports: [\r\n ],\r\n exports: [\r\n ]\r\n})\r\nexport class NgxLibModule {\r\n static forRoot(config: ServiceConfig): ModuleWithProviders<NgxLibModule> {\r\n return {\r\n ngModule: NgxLibModule,\r\n providers: [\r\n AppPathConfigService,\r\n { provide: ServiceConfig, useValue: config }\r\n ]\r\n };\r\n }\r\n\r\n constructor( @Optional() @SkipSelf() parentModule: NgxLibModule) {\r\n if (parentModule) {\r\n throw new Error(\r\n 'NgxLibModule is already loaded. Import it in the AppModule only');\r\n }\r\n }\r\n}","/*\r\n * Public API Surface of ngx-lib\r\n */\r\n\r\nexport * from './lib/model/app';\r\nexport * from './lib/model/app-path-config';\r\nexport * from './lib/model/app-type';\r\nexport * from './lib/model/service-config';\r\n\r\nexport * from './lib/services/app-path-config.service';\r\n\r\nexport * from './lib/ngx-lib.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.ServiceConfig"],"mappings":"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"}
1
+ {"version":3,"file":"cleavelandprice-ngx-lib.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/src/lib/model/default-config.ts","../../../../projects/cleavelandprice/ngx-lib/src/lib/model/service-config.ts","../../../../projects/cleavelandprice/ngx-lib/src/lib/services/app-path-config.service.ts","../../../../projects/cleavelandprice/ngx-lib/src/lib/ngx-lib.module.ts","../../../../projects/cleavelandprice/ngx-lib/src/public_api.ts","../../../../projects/cleavelandprice/ngx-lib/src/cleavelandprice-ngx-lib.ts"],"sourcesContent":["import { ServiceConfig } from \"./service-config\";\r\n\r\nexport const defaultConfig: ServiceConfig = {\r\n apiUrl: 'http://utilityapi'\r\n}","export class ServiceConfig {\r\n apiUrl!: string;\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, Optional } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { AppPathConfig } from '../model/app-path-config';\r\nimport { defaultConfig } from '../model/default-config';\r\nimport { ServiceConfig } from '../model/service-config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppPathConfigService {\r\n url!: string;\r\n\r\n constructor(@Optional() private config: ServiceConfig,\r\n private http: HttpClient) {\r\n\r\n this.config = {\r\n ...defaultConfig,\r\n ...this.config\r\n };\r\n \r\n this.url = `${this.config.apiUrl}/apppathconfigs`\r\n }\r\n\r\n getAll(): Observable<AppPathConfig[]> {\r\n return this.http.get<AppPathConfig[]>(this.url);\r\n }\r\n\r\n getById(id: number): Observable<AppPathConfig> {\r\n return this.http.get<AppPathConfig>(`${this.url}/${id}`);\r\n }\r\n\r\n getByAppId(id: number): Observable<AppPathConfig[]> {\r\n return this.http.get<AppPathConfig[]>(`${this.url}/appid/${id}`);\r\n }\r\n\r\n getByApp(name: string): Observable<AppPathConfig[]> {\r\n return this.http.get<AppPathConfig[]>(`${this.url}/app/${name}`);\r\n }\r\n\r\n getByAppTypeId(id: number): Observable<AppPathConfig[]> {\r\n return this.http.get<AppPathConfig[]>(`${this.url}/apptypeid/${id}`);\r\n }\r\n\r\n getByAppType(name: string): Observable<AppPathConfig[]> {\r\n return this.http.get<AppPathConfig[]>(`${this.url}/apptype/${name}`);\r\n }\r\n\r\n getByAppFunction(name: string): Observable<AppPathConfig[]> {\r\n return this.http.get<AppPathConfig[]>(`${this.url}/function/${name}`);\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\r\n\r\nimport { AppPathConfigService } from './services/app-path-config.service';\r\n\r\nimport { ServiceConfig } from './model/service-config';\r\n\r\n@NgModule({\r\n declarations: [\r\n ],\r\n imports: [\r\n ],\r\n exports: [\r\n ]\r\n})\r\nexport class NgxLibModule {\r\n static forRoot(config: ServiceConfig): ModuleWithProviders<NgxLibModule> {\r\n return {\r\n ngModule: NgxLibModule,\r\n providers: [\r\n AppPathConfigService,\r\n { provide: ServiceConfig, useValue: config }\r\n ]\r\n };\r\n }\r\n\r\n constructor(@Optional() @SkipSelf() parentModule: NgxLibModule) {\r\n if (parentModule) {\r\n throw new Error(\r\n 'NgxLibModule is already loaded. Import it in the AppModule only');\r\n }\r\n }\r\n}","/*\r\n * Public API Surface of ngx-lib\r\n */\r\n\r\nexport * from './lib/model/app';\r\nexport * from './lib/model/app-path-config';\r\nexport * from './lib/model/app-type';\r\nexport * from './lib/model/default-config';\r\nexport * from './lib/model/service-config';\r\n\r\nexport * from './lib/services/app-path-config.service';\r\n\r\nexport * from './lib/ngx-lib.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.ServiceConfig"],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
+ "comment": "NGX-LIB primary entry point package.json",
2
3
  "name": "@cleavelandprice/ngx-lib",
3
- "version": "3.0.11",
4
+ "version": "3.1.2",
4
5
  "description": "Angular 14+ library providing foundational functionality to Cleaveland-Price applications",
5
6
  "peerDependencies": {
6
- "@angular/common": "^14.1.0",
7
- "@angular/core": "^14.1.0"
7
+ "@angular/common": "^14.2.1",
8
+ "@angular/core": "^14.2.1"
8
9
  },
9
10
  "dependencies": {
10
11
  "tslib": "^2.3.0"
@@ -55,6 +56,30 @@
55
56
  "node": "./fesm2015/cleavelandprice-ngx-lib-authentication.mjs",
56
57
  "default": "./fesm2020/cleavelandprice-ngx-lib-authentication.mjs"
57
58
  },
59
+ "./authentication/object": {
60
+ "types": "./authentication/object/index.d.ts",
61
+ "esm2020": "./esm2020/authentication/object/cleavelandprice-ngx-lib-authentication-object.mjs",
62
+ "es2020": "./fesm2020/cleavelandprice-ngx-lib-authentication-object.mjs",
63
+ "es2015": "./fesm2015/cleavelandprice-ngx-lib-authentication-object.mjs",
64
+ "node": "./fesm2015/cleavelandprice-ngx-lib-authentication-object.mjs",
65
+ "default": "./fesm2020/cleavelandprice-ngx-lib-authentication-object.mjs"
66
+ },
67
+ "./authentication/token/gui": {
68
+ "types": "./authentication/token/gui/index.d.ts",
69
+ "esm2020": "./esm2020/authentication/token/gui/cleavelandprice-ngx-lib-authentication-token-gui.mjs",
70
+ "es2020": "./fesm2020/cleavelandprice-ngx-lib-authentication-token-gui.mjs",
71
+ "es2015": "./fesm2015/cleavelandprice-ngx-lib-authentication-token-gui.mjs",
72
+ "node": "./fesm2015/cleavelandprice-ngx-lib-authentication-token-gui.mjs",
73
+ "default": "./fesm2020/cleavelandprice-ngx-lib-authentication-token-gui.mjs"
74
+ },
75
+ "./authentication/token": {
76
+ "types": "./authentication/token/index.d.ts",
77
+ "esm2020": "./esm2020/authentication/token/cleavelandprice-ngx-lib-authentication-token.mjs",
78
+ "es2020": "./fesm2020/cleavelandprice-ngx-lib-authentication-token.mjs",
79
+ "es2015": "./fesm2015/cleavelandprice-ngx-lib-authentication-token.mjs",
80
+ "node": "./fesm2015/cleavelandprice-ngx-lib-authentication-token.mjs",
81
+ "default": "./fesm2020/cleavelandprice-ngx-lib-authentication-token.mjs"
82
+ },
58
83
  "./dialog": {
59
84
  "types": "./dialog/index.d.ts",
60
85
  "esm2020": "./esm2020/dialog/cleavelandprice-ngx-lib-dialog.mjs",
package/public_api.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './lib/model/app';
2
2
  export * from './lib/model/app-path-config';
3
3
  export * from './lib/model/app-type';
4
+ export * from './lib/model/default-config';
4
5
  export * from './lib/model/service-config';
5
6
  export * from './lib/services/app-path-config.service';
6
7
  export * from './lib/ngx-lib.module';
@@ -7,7 +7,7 @@ import { ServiceConfig } from '../model/service-config';
7
7
  import { UserRequest } from '../model/user-request';
8
8
  import { User } from '../model/user';
9
9
  import * as i0 from "@angular/core";
10
- export declare class SharepointService {
10
+ export declare class SharePointService {
11
11
  private config;
12
12
  private http;
13
13
  private cache;
@@ -20,6 +20,6 @@ export declare class SharepointService {
20
20
  getPhotos(): Observable<PhotoItem[]>;
21
21
  getUsers(request: UserRequest, id?: number): Observable<User | User[]>;
22
22
  clearCache(): void;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<SharepointService, [{ optional: true; }, null]>;
24
- static ɵprov: i0.ɵɵInjectableDeclaration<SharepointService>;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<SharePointService, [{ optional: true; }, null]>;
24
+ static ɵprov: i0.ɵɵInjectableDeclaration<SharePointService>;
25
25
  }
@@ -2,10 +2,10 @@ import { ModuleWithProviders } from '@angular/core';
2
2
  import { ServiceConfig } from './model/service-config';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
- export declare class SharepointModule {
6
- static forRoot(config: ServiceConfig): ModuleWithProviders<SharepointModule>;
7
- constructor(parentModule: SharepointModule);
8
- static ɵfac: i0.ɵɵFactoryDeclaration<SharepointModule, [{ optional: true; skipSelf: true; }]>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<SharepointModule, never, [typeof i1.CommonModule], never>;
10
- static ɵinj: i0.ɵɵInjectorDeclaration<SharepointModule>;
5
+ export declare class SharePointModule {
6
+ static forRoot(config: ServiceConfig): ModuleWithProviders<SharePointModule>;
7
+ constructor(parentModule: SharePointModule);
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<SharePointModule, [{ optional: true; skipSelf: true; }]>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SharePointModule, never, [typeof i1.CommonModule], never>;
10
+ static ɵinj: i0.ɵɵInjectorDeclaration<SharePointModule>;
11
11
  }
@@ -11,5 +11,5 @@ export declare class UploadComponent implements OnInit {
11
11
  ngOnInit(): void;
12
12
  openUploadDialog(): void;
13
13
  static ɵfac: i0.ɵɵFactoryDeclaration<UploadComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<UploadComponent, "cp-upload", never, {}, { "dialogClosed": "dialogClosed"; }, never, never, false>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<UploadComponent, "upload", never, {}, { "dialogClosed": "dialogClosed"; }, never, never, false>;
15
15
  }
@@ -20,5 +20,5 @@ export declare class UploadDialogComponent implements OnInit {
20
20
  onFilesAdded(): void;
21
21
  closeDialog(): void;
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<UploadDialogComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<UploadDialogComponent, "cp-upload-dialog", never, {}, {}, never, never, false>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<UploadDialogComponent, "upload-dialog", never, {}, {}, never, never, false>;
24
24
  }
@@ -1,2 +0,0 @@
1
- import { ServiceConfig } from "./service-config";
2
- export declare const defaultConfig: ServiceConfig;
@@ -1,25 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- import { HttpClient } from '@angular/common/http';
3
- import { SharepointService } from '@cleavelandprice/ngx-lib/sharepoint';
4
- import { AuthenticatedUser } from '../model/authenticated-user';
5
- import { ServiceConfig } from '../model/service-config';
6
- import * as i0 from "@angular/core";
7
- export declare class AuthenticationService {
8
- private config;
9
- private http;
10
- private sharePointService;
11
- authenticatedChanged: EventEmitter<boolean>;
12
- authenticatingChanged: EventEmitter<boolean>;
13
- authenticationError: EventEmitter<any>;
14
- authenticating: boolean;
15
- authenticated: boolean;
16
- authenticatedUser: AuthenticatedUser | null;
17
- constructor(config: ServiceConfig, http: HttpClient, sharePointService: SharepointService);
18
- login(username: string, password: string, adminGroup?: string): void;
19
- logout(): void;
20
- private validateUser;
21
- private getPhoto;
22
- private checkForExistingToken;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<AuthenticationService, [{ optional: true; }, null, null]>;
24
- static ɵprov: i0.ɵɵInjectableDeclaration<AuthenticationService>;
25
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24tdG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hdXRoZW50aWNhdGlvbi9zcmMvbW9kZWwvYXV0aGVudGljYXRpb24tdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXV0aGVudGljYXRpb25Ub2tlbiB7XHJcbiAgICBhdWQ6IHN0cmluZztcclxuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XHJcbiAgICBkaXN0aW5ndWlzaGVkTmFtZTogc3RyaW5nO1xyXG4gICAgZW1haWw6IHN0cmluZztcclxuICAgIGVtcGxveWVlTnVtYmVyOiBzdHJpbmc7XHJcbiAgICBleHA6IG51bWJlcjtcclxuICAgIGZpcnN0TmFtZTogc3RyaW5nO1xyXG4gICAgaXNzOiBzdHJpbmc7XHJcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xyXG4gICAgbWVtYmVyT2Y6IHN0cmluZztcclxuICAgIG5iZjogbnVtYmVyO1xyXG4gICAgcGhvbmU6IHN0cmluZztcclxuICAgIHJvbGU6IHN0cmluZztcclxuICAgIHNpZDogc3RyaW5nO1xyXG4gICAgd2luYWNjb3VudG5hbWU6IHN0cmluZztcclxufVxyXG4iXX0=
@@ -1,4 +0,0 @@
1
- export const defaultConfig = {
2
- apiUrl: 'http://utilityapi/authenticate/token'
3
- };
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hdXRoZW50aWNhdGlvbi9zcmMvbW9kZWwvZGVmYXVsdC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFrQjtJQUN4QyxNQUFNLEVBQUUsc0NBQXNDO0NBQ2pELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJ2aWNlQ29uZmlnIH0gZnJvbSBcIi4vc2VydmljZS1jb25maWdcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBkZWZhdWx0Q29uZmlnOiBTZXJ2aWNlQ29uZmlnID0ge1xyXG4gICAgYXBpVXJsOiAnaHR0cDovL3V0aWxpdHlhcGkvYXV0aGVudGljYXRlL3Rva2VuJ1xyXG59Il19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZm9ybS1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvYXV0aGVudGljYXRpb24vc3JjL21vZGVsL2xvZ2luLWZvcm0tZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBMb2dpbkZvcm1EYXRhIHtcclxuICAgIGFkbWluR3JvdXA6IHN0cmluZztcclxufVxyXG4iXX0=
@@ -1,124 +0,0 @@
1
- import { Injectable, Output, EventEmitter, Optional } from '@angular/core';
2
- import { JwtHelperService } from '@auth0/angular-jwt';
3
- import { defaultConfig } from '../model/default-config';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../model/service-config";
6
- import * as i2 from "@angular/common/http";
7
- import * as i3 from "@cleavelandprice/ngx-lib/sharepoint";
8
- export class AuthenticationService {
9
- //#endregion
10
- //#region Lifecycle
11
- // If a ServiceConfig object is not provided when the module is imported, then default values are pulled in from default-config.ts.
12
- constructor(config, http, sharePointService) {
13
- this.config = config;
14
- this.http = http;
15
- this.sharePointService = sharePointService;
16
- //#region Fields
17
- this.authenticatedChanged = new EventEmitter();
18
- this.authenticatingChanged = new EventEmitter();
19
- this.authenticationError = new EventEmitter();
20
- // Flag set to true while the service is attempting to authenticate the user
21
- this.authenticating = false;
22
- //Flag set to true when the user is successfully authenticated
23
- this.authenticated = false;
24
- this.config = {
25
- ...defaultConfig,
26
- ...this.config
27
- };
28
- this.checkForExistingToken();
29
- }
30
- //#endregion
31
- //#region Utilities
32
- //Authenticate the user and store the token in Local Storage
33
- login(username, password, adminGroup) {
34
- const today = new Date();
35
- //const expiration = new Date().setFullYear(today.getFullYear() + 10);
36
- const request = {
37
- username: username,
38
- password: password,
39
- adminGroup: adminGroup
40
- //expirationDate: expiration // moment().add(10, 'years').toDate()
41
- };
42
- this.authenticating = true;
43
- this.authenticatingChanged.emit(this.authenticating);
44
- // Sending a 'raw' POST request so that we can tell HttpClient that we are expecting text instead of Json
45
- // Otherwise, it would throw an error trying to decode Json from the response
46
- this.http.request('POST', this.config.apiUrl, { body: request, responseType: 'text' })
47
- .subscribe({
48
- next: (token) => this.validateUser(token),
49
- error: (err) => {
50
- //console.log('Authentication error', err);
51
- this.authenticating = false;
52
- this.authenticatingChanged.emit(this.authenticating);
53
- this.authenticationError.emit(err);
54
- }
55
- });
56
- }
57
- //Logout the user and delete the token from Local Storage
58
- logout() {
59
- if (localStorage.getItem('token')) {
60
- localStorage.removeItem('token');
61
- }
62
- this.authenticatedUser = null;
63
- this.authenticated = false;
64
- this.authenticatedChanged.emit(false);
65
- }
66
- validateUser(token) {
67
- if (!token) {
68
- return;
69
- }
70
- const jwtHelper = new JwtHelperService();
71
- const decoded = jwtHelper.decodeToken(token);
72
- if (jwtHelper.isTokenExpired(token)) {
73
- this.logout();
74
- return;
75
- }
76
- this.authenticatedUser = {
77
- admin: decoded.role === 'Admin',
78
- displayName: decoded.displayName,
79
- accountName: decoded.winaccountname,
80
- distinguishedName: decoded.distinguishedName,
81
- employeeNumber: decoded.employeeNumber,
82
- memberOf: decoded.memberOf
83
- };
84
- localStorage.setItem('token', token);
85
- this.getPhoto();
86
- this.authenticated = true;
87
- this.authenticatedChanged.emit(this.authenticated);
88
- this.authenticating = false;
89
- this.authenticatingChanged.emit(this.authenticating);
90
- }
91
- getPhoto() {
92
- this.sharePointService.getPhotos()
93
- .subscribe(photos => {
94
- // The user may have been logged out by the time the photos came back
95
- if (!this.authenticatedUser?.employeeNumber) {
96
- return;
97
- }
98
- const photo = photos.find(pic => pic.employeeNumber === +this.authenticatedUser.employeeNumber);
99
- if (photo) {
100
- this.authenticatedUser.photoUrl = photo.encodedAbsUrl;
101
- }
102
- });
103
- }
104
- checkForExistingToken() {
105
- this.validateUser(localStorage.getItem('token'));
106
- }
107
- }
108
- AuthenticationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AuthenticationService, deps: [{ token: i1.ServiceConfig, optional: true }, { token: i2.HttpClient }, { token: i3.SharepointService }], target: i0.ɵɵFactoryTarget.Injectable });
109
- AuthenticationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AuthenticationService, providedIn: 'root' });
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AuthenticationService, decorators: [{
111
- type: Injectable,
112
- args: [{
113
- providedIn: 'root'
114
- }]
115
- }], ctorParameters: function () { return [{ type: i1.ServiceConfig, decorators: [{
116
- type: Optional
117
- }] }, { type: i2.HttpClient }, { type: i3.SharepointService }]; }, propDecorators: { authenticatedChanged: [{
118
- type: Output
119
- }], authenticatingChanged: [{
120
- type: Output
121
- }], authenticationError: [{
122
- type: Output
123
- }] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL2F1dGhlbnRpY2F0aW9uL3NyYy9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQVV4RCxNQUFNLE9BQU8scUJBQXFCO0lBY2hDLFlBQVk7SUFFWixtQkFBbUI7SUFDbkIsbUlBQW1JO0lBQ25JLFlBQWdDLE1BQXFCLEVBQ2pDLElBQWdCLEVBQ2hCLGlCQUFvQztRQUZ4QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ2pDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQW5CeEQsZ0JBQWdCO1FBQ04seUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNuRCwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3BELHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbkQsNEVBQTRFO1FBQzVFLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXZCLDhEQUE4RDtRQUM5RCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQVlSLElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDWixHQUFHLGFBQWE7WUFDaEIsR0FBRyxJQUFJLENBQUMsTUFBTTtTQUNmLENBQUM7UUFFRixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsWUFBWTtJQUVaLG1CQUFt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LENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxFQUFFO2FBQy9CLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixxRUFBcUU7WUFDckUsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxjQUFjLEVBQUU7Z0JBQzNDLE9BQU87YUFDUjtZQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBRWpHLElBQUksS0FBSyxFQUFFO2dCQUNULElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQzthQUN2RDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDOztrSEExSFUscUJBQXFCO3NIQUFyQixxQkFBcUIsY0FGcEIsTUFBTTsyRkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFtQmMsUUFBUTtxR0FoQlgsb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSnd0SGVscGVyU2VydmljZSB9IGZyb20gJ0BhdXRoMC9hbmd1bGFyLWp3dCc7XHJcbmltcG9ydCB7IFNoYXJlcG9pbnRTZXJ2aWNlIH0gZnJvbSAnQGNsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3NoYXJlcG9pbnQnO1xyXG5cclxuaW1wb3J0IHsgZGVmYXVsdENvbmZpZyB9IGZyb20gJy4uL21vZGVsL2RlZmF1bHQtY29uZmlnJztcclxuXHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uVG9rZW4gfSBmcm9tICcuLi9tb2RlbC9hdXRoZW50aWNhdGlvbi10b2tlbic7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0ZWRVc2VyIH0gZnJvbSAnLi4vbW9kZWwvYXV0aGVudGljYXRlZC11c2VyJztcclxuaW1wb3J0IHsgQXV0aGVudGljYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi4vbW9kZWwvYXV0aGVudGljYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7IFNlcnZpY2VDb25maWcgfSBmcm9tICcuLi9tb2RlbC9zZXJ2aWNlLWNvbmZpZyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvblNlcnZpY2Uge1xyXG4gIC8vI3JlZ2lvbiBGaWVsZHNcclxuICBAT3V0cHV0KCkgYXV0aGVudGljYXRlZENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIGF1dGhlbnRpY2F0aW5nQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgYXV0aGVudGljYXRpb25FcnJvciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuIFxyXG4gIC8vIEZsYWcgc2V0IHRvIHRydWUgd2hpbGUgdGhlIHNlcnZpY2UgaXMgYXR0ZW1wdGluZyB0byBhdXRoZW50aWNhdGUgdGhlIHVzZXJcclxuICBhdXRoZW50aWNhdGluZyA9IGZhbHNlO1xyXG4gXHJcbiAgLy9GbGFnIHNldCB0byB0cnVlIHdoZW4gdGhlIHVzZXIgaXMgc3VjY2Vzc2Z1bGx5IGF1dGhlbnRpY2F0ZWRcclxuICBhdXRoZW50aWNhdGVkID0gZmFsc2U7XHJcbiBcclxuICAvLyBPYmplY3QgcmVwcmVzZW50aW5nIHRoZSBhdXRoZW50aWNhdGVkIHVzZXJcclxuICBhdXRoZW50aWNhdGVkVXNlciE6IEF1dGhlbnRpY2F0ZWRVc2VyIHwgbnVsbDtcclxuICAvLyNlbmRyZWdpb25cclxuIFxyXG4gIC8vI3JlZ2lvbiBMaWZlY3ljbGVcclxuICAvLyBJZiBhIFNlcnZpY2VDb25maWcgb2JqZWN0IGlzIG5vdCBwcm92aWRlZCB3aGVuIHRoZSBtb2R1bGUgaXMgaW1wb3J0ZWQsIHRoZW4gZGVmYXVsdCB2YWx1ZXMgYXJlIHB1bGxlZCBpbiBmcm9tIGRlZmF1bHQtY29uZmlnLnRzLlxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlnOiBTZXJ2aWNlQ29uZmlnLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICAgICAgICBwcml2YXRlIHNoYXJlUG9pbnRTZXJ2aWNlOiBTaGFyZXBvaW50U2VydmljZSkge1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnID0ge1xyXG4gICAgICAgICAgICAgICAgICAuLi5kZWZhdWx0Q29uZmlnLFxyXG4gICAgICAgICAgICAgICAgICAuLi50aGlzLmNvbmZpZ1xyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja0ZvckV4aXN0aW5nVG9rZW4oKTtcclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIC8vI3JlZ2lvbiBVdGlsaXRpZXNcclxuICAvL0F1dGhlbnRpY2F0ZSB0aGUgdXNlciBhbmQgc3RvcmUgdGhlIHRva2VuIGluIExvY2FsIFN0b3JhZ2VcclxuICBsb2dpbih1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nLCBhZG1pbkdyb3VwPzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XHJcbiAgICAvL2NvbnN0IGV4cGlyYXRpb24gPSBuZXcgRGF0ZSgpLnNldEZ1bGxZZWFyKHRvZGF5LmdldEZ1bGxZZWFyKCkgKyAxMCk7XHJcblxyXG4gICAgY29uc3QgcmVxdWVzdDogQXV0aGVudGljYXRpb25SZXF1ZXN0ID0ge1xyXG4gICAgICB1c2VybmFtZTogdXNlcm5hbWUsXHJcbiAgICAgIHBhc3N3b3JkOiBwYXNzd29yZCxcclxuICAgICAgYWRtaW5Hcm91cDogYWRtaW5Hcm91cFxyXG4gICAgICAvL2V4cGlyYXRpb25EYXRlOiBleHBpcmF0aW9uIC8vIG1vbWVudCgpLmFkZCgxMCwgJ3llYXJzJykudG9EYXRlKClcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5hdXRoZW50aWNhdGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW5nQ2hhbmdlZC5lbWl0KHRoaXMuYXV0aGVudGljYXRpbmcpO1xyXG5cclxuICAgIC8vIFNlbmRpbmcgYSAncmF3JyBQT1NUIHJlcXVlc3Qgc28gdGhhdCB3ZSBjYW4gdGVsbCBIdHRwQ2xpZW50IHRoYXQgd2UgYXJlIGV4cGVjdGluZyB0ZXh0IGluc3RlYWQgb2YgSnNvblxyXG4gICAgLy8gT3RoZXJ3aXNlLCBpdCB3b3VsZCB0aHJvdyBhbiBlcnJvciB0cnlpbmcgdG8gZGVjb2RlIEpzb24gZnJvbSB0aGUgcmVzcG9uc2VcclxuICAgIHRoaXMuaHR0cC5yZXF1ZXN0KCdQT1NUJywgdGhpcy5jb25maWcuYXBpVXJsLCB7IGJvZHk6IHJlcXVlc3QsIHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6ICh0b2tlbikgPT5cclxuICAgICAgICAgIHRoaXMudmFsaWRhdGVVc2VyKHRva2VuKVxyXG4gICAgICAgICwgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIC8vY29uc29sZS5sb2coJ0F1dGhlbnRpY2F0aW9uIGVycm9yJywgZXJyKTtcclxuICAgICAgICAgIHRoaXMuYXV0aGVudGljYXRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuYXV0aGVudGljYXRpbmdDaGFuZ2VkLmVtaXQodGhpcy5hdXRoZW50aWNhdGluZyk7XHJcbiAgICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9uRXJyb3IuZW1pdChlcnIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gXHJcbiAgLy9Mb2dvdXQgdGhlIHVzZXIgYW5kIGRlbGV0ZSB0aGUgdG9rZW4gZnJvbSBMb2NhbCBTdG9yYWdlXHJcbiAgbG9nb3V0KCk6IHZvaWQge1xyXG4gICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpKSB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCd0b2tlbicpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYXV0aGVudGljYXRlZFVzZXIgPSBudWxsO1xyXG4gICAgdGhpcy5hdXRoZW50aWNhdGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZWRDaGFuZ2VkLmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuIFxyXG4gIHByaXZhdGUgdmFsaWRhdGVVc2VyKHRva2VuOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XHJcbiAgICBpZiAoIXRva2VuKSB7IHJldHVybjsgfVxyXG5cclxuICAgIGNvbnN0IGp3dEhlbHBlciA9IG5ldyBKd3RIZWxwZXJTZXJ2aWNlKCk7XHJcbiAgICBjb25zdCBkZWNvZGVkID0gand0SGVscGVyLmRlY29kZVRva2VuKHRva2VuKSBhcyBBdXRoZW50aWNhdGlvblRva2VuO1xyXG5cclxuICAgIGlmIChqd3RIZWxwZXIuaXNUb2tlbkV4cGlyZWQodG9rZW4pKSB7XHJcbiAgICAgIHRoaXMubG9nb3V0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmF1dGhlbnRpY2F0ZWRVc2VyID0ge1xyXG4gICAgICBhZG1pbjogZGVjb2RlZC5yb2xlID09PSAnQWRtaW4nLFxyXG4gICAgICBkaXNwbGF5TmFtZTogZGVjb2RlZC5kaXNwbGF5TmFtZSxcclxuICAgICAgYWNjb3VudE5hbWU6IGRlY29kZWQud2luYWNjb3VudG5hbWUsXHJcbiAgICAgIGRpc3Rpbmd1aXNoZWROYW1lOiBkZWNvZGVkLmRpc3Rpbmd1aXNoZWROYW1lLFxyXG4gICAgICBlbXBsb3llZU51bWJlcjogZGVjb2RlZC5lbXBsb3llZU51bWJlcixcclxuICAgICAgbWVtYmVyT2Y6IGRlY29kZWQubWVtYmVyT2ZcclxuICAgIH07XHJcblxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3Rva2VuJywgdG9rZW4pO1xyXG5cclxuICAgIHRoaXMuZ2V0UGhvdG8oKTtcclxuICAgIFxyXG4gICAgdGhpcy5hdXRoZW50aWNhdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMuYXV0aGVudGljYXRlZENoYW5nZWQuZW1pdCh0aGlzLmF1dGhlbnRpY2F0ZWQpO1xyXG5cclxuICAgIHRoaXMuYXV0aGVudGljYXRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuYXV0aGVudGljYXRpbmdDaGFuZ2VkLmVtaXQodGhpcy5hdXRoZW50aWNhdGluZyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBob3RvKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaGFyZVBvaW50U2VydmljZS5nZXRQaG90b3MoKVxyXG4gICAgICAuc3Vic2NyaWJlKHBob3RvcyA9PiB7XHJcbiAgICAgICAgLy8gVGhlIHVzZXIgbWF5IGhhdmUgYmVlbiBsb2dnZWQgb3V0IGJ5IHRoZSB0aW1lIHRoZSBwaG90b3MgY2FtZSBiYWNrXHJcbiAgICAgICAgaWYgKCF0aGlzLmF1dGhlbnRpY2F0ZWRVc2VyPy5lbXBsb3llZU51bWJlcikge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgcGhvdG8gPSBwaG90b3MuZmluZChwaWMgPT4gcGljLmVtcGxveWVlTnVtYmVyID09PSArdGhpcy5hdXRoZW50aWNhdGVkVXNlciEuZW1wbG95ZWVOdW1iZXIpO1xyXG5cclxuICAgICAgICBpZiAocGhvdG8pIHtcclxuICAgICAgICAgIHRoaXMuYXV0aGVudGljYXRlZFVzZXIucGhvdG9VcmwgPSBwaG90by5lbmNvZGVkQWJzVXJsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNoZWNrRm9yRXhpc3RpbmdUb2tlbigpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsaWRhdGVVc2VyKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpKTtcclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcbn1cclxuICJdfQ==