@tuki-io/tuki-widgets 0.0.165 → 0.0.166

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 (99) hide show
  1. package/esm2020/contact-center/cc-readiness/cc-readiness.module.mjs +1 -1
  2. package/esm2020/contact-center/cc-readiness/cc-readiness.service.mjs +1 -1
  3. package/esm2020/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.mjs +3 -3
  4. package/esm2020/di2mt/shared/services/api.service.mjs +3 -3
  5. package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +3 -3
  6. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +2 -2
  7. package/esm2020/di2mt/widgets/upgrade-overview/cards/pending-activation-users/pending-activation-users.component.mjs +17 -17
  8. package/esm2020/user-device-manage/src/app.constants.mjs +1 -1
  9. package/esm2020/user-device-manage/src/classes/deviceProfile.mjs +1 -1
  10. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +3 -3
  11. package/esm2020/user-device-manage/src/device-info/device-info.component.mjs +3 -3
  12. package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +2 -2
  13. package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
  14. package/esm2020/user-device-manage/src/pipes/mac-address.pipe.mjs +1 -1
  15. package/esm2020/user-device-manage/src/services/api.service.mjs +1 -1
  16. package/esm2020/user-device-manage/src/services/dns.service.mjs +1 -1
  17. package/esm2020/user-device-manage/src/services/line.service.mjs +2 -2
  18. package/esm2020/user-device-manage/src/services/user.service.mjs +1 -1
  19. package/esm2020/user-device-manage/src/shared/tk-page-section/page-section.component.mjs +1 -1
  20. package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +3 -3
  21. package/esm2020/user-manage/src/app.constants.mjs +1 -1
  22. package/esm2020/user-manage/src/classes/line-association-interface.mjs +1 -1
  23. package/esm2020/user-manage/src/classes/line-directory.mjs +1 -1
  24. package/esm2020/user-manage/src/classes/line.mjs +1 -1
  25. package/esm2020/user-manage/src/classes/pagination.mjs +1 -1
  26. package/esm2020/user-manage/src/classes/simplified-user.mjs +1 -1
  27. package/esm2020/user-manage/src/device-list/device-list.component.mjs +3 -3
  28. package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +3 -3
  29. package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
  30. package/esm2020/user-manage/src/services/api.service.mjs +1 -1
  31. package/esm2020/user-manage/src/services/user.service.mjs +1 -1
  32. package/esm2020/user-manage/src/user-info/user-info.component.mjs +3 -3
  33. package/esm2020/user-manage/src/user-manage.module.mjs +1 -1
  34. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +3 -3
  35. package/esm2020/users-list/src/app.constants.mjs +1 -1
  36. package/esm2020/users-list/src/classes/move-user.mjs +1 -1
  37. package/esm2020/users-list/src/components/table-toolbar/table-toolbar.component.mjs +3 -9
  38. package/esm2020/users-list/src/services/dns.service.mjs +1 -1
  39. package/esm2020/users-list/src/services/user.service.mjs +1 -1
  40. package/esm2020/users-list/src/users-list.component.mjs +3 -9
  41. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +3 -3
  42. package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs +2 -2
  43. package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
  44. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +22 -22
  45. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  46. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +10 -10
  47. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  48. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +10 -10
  49. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  50. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +6 -18
  51. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  52. package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs +2 -2
  53. package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
  54. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +22 -22
  55. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  56. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +10 -10
  57. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  58. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +10 -10
  59. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  60. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +6 -18
  61. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  62. package/package.json +1 -9
  63. package/user-device-manage/src/services/line.service.d.ts +1 -1
  64. package/users-list/src/components/table-toolbar/table-toolbar.component.d.ts +1 -3
  65. package/users-list/src/users-list.component.d.ts +1 -3
  66. package/esm2020/user-creation/public-api.mjs +0 -13
  67. package/esm2020/user-creation/src/app.constants.mjs +0 -16
  68. package/esm2020/user-creation/src/classes/site.mjs +0 -53
  69. package/esm2020/user-creation/src/shared/api/api.service.mjs +0 -86
  70. package/esm2020/user-creation/src/shared/material.module.mjs +0 -76
  71. package/esm2020/user-creation/src/shared/services/user-creation-api.service.mjs +0 -112
  72. package/esm2020/user-creation/src/shared/services/utils.mjs +0 -19
  73. package/esm2020/user-creation/src/shared/shared.module.mjs +0 -33
  74. package/esm2020/user-creation/src/user-creation.module.mjs +0 -69
  75. package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.mjs +0 -23
  76. package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-overview-step/user-overview-step.component.mjs +0 -19
  77. package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.mjs +0 -114
  78. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +0 -60
  79. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.mjs +0 -273
  80. package/esm2020/user-creation/tuki-io-tuki-widgets-user-creation.mjs +0 -5
  81. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +0 -919
  82. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +0 -1
  83. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +0 -915
  84. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +0 -1
  85. package/user-creation/index.d.ts +0 -5
  86. package/user-creation/public-api.d.ts +0 -2
  87. package/user-creation/src/app.constants.d.ts +0 -15
  88. package/user-creation/src/classes/site.d.ts +0 -203
  89. package/user-creation/src/shared/api/api.service.d.ts +0 -20
  90. package/user-creation/src/shared/material.module.d.ts +0 -15
  91. package/user-creation/src/shared/services/user-creation-api.service.d.ts +0 -24
  92. package/user-creation/src/shared/services/utils.d.ts +0 -1
  93. package/user-creation/src/shared/shared.module.d.ts +0 -10
  94. package/user-creation/src/user-creation.module.d.ts +0 -17
  95. package/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.d.ts +0 -8
  96. package/user-creation/src/widgets/user-creation-wizard/components/user-overview-step/user-overview-step.component.d.ts +0 -11
  97. package/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.d.ts +0 -37
  98. package/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.d.ts +0 -18
  99. package/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.d.ts +0 -87
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tuki-io/tuki-widgets",
3
- "version": "0.0.165",
3
+ "version": "0.0.166",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^15.2.0",
6
6
  "@angular/core": "^15.2.0",
@@ -44,14 +44,6 @@
44
44
  "node": "./fesm2015/tuki-io-tuki-widgets-di2mt.mjs",
45
45
  "default": "./fesm2020/tuki-io-tuki-widgets-di2mt.mjs"
46
46
  },
47
- "./user-creation": {
48
- "types": "./user-creation/index.d.ts",
49
- "esm2020": "./esm2020/user-creation/tuki-io-tuki-widgets-user-creation.mjs",
50
- "es2020": "./fesm2020/tuki-io-tuki-widgets-user-creation.mjs",
51
- "es2015": "./fesm2015/tuki-io-tuki-widgets-user-creation.mjs",
52
- "node": "./fesm2015/tuki-io-tuki-widgets-user-creation.mjs",
53
- "default": "./fesm2020/tuki-io-tuki-widgets-user-creation.mjs"
54
- },
55
47
  "./user-device-manage": {
56
48
  "types": "./user-device-manage/index.d.ts",
57
49
  "esm2020": "./esm2020/user-device-manage/tuki-io-tuki-widgets-user-device-manage.mjs",
@@ -13,7 +13,7 @@ export declare class LineService {
13
13
  generateLineAssociationFromLine(lineAssociation?: any): {
14
14
  directoryNumber: any;
15
15
  didPattern: any;
16
- mappedDids: string;
16
+ mappedDids: any;
17
17
  index: any;
18
18
  position: any;
19
19
  textLabel: any;
@@ -5,11 +5,9 @@ export declare class TableToolbarComponent {
5
5
  totalUsersCount: number;
6
6
  readonly searchChange: EventEmitter<string>;
7
7
  readonly searchByType: EventEmitter<USER_TYPES_TYPE>;
8
- readonly addUser: EventEmitter<void>;
9
8
  private timerId;
10
9
  onSearchInputChange(event: Event): void;
11
10
  onTypeChange(event: Event): void;
12
- onAddUser(): void;
13
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TableToolbarComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<TableToolbarComponent, "tk-users-table-toolbar", never, { "totalUsersCount": "totalUsersCount"; }, { "searchChange": "searchChange"; "searchByType": "searchByType"; "addUser": "addUser"; }, never, never, false, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableToolbarComponent, "tk-users-table-toolbar", never, { "totalUsersCount": "totalUsersCount"; }, { "searchChange": "searchChange"; "searchByType": "searchByType"; }, never, never, false, never>;
15
13
  }
@@ -24,7 +24,6 @@ export declare class UsersListComponent implements OnInit, OnDestroy {
24
24
  openUser: EventEmitter<any>;
25
25
  userMoved: EventEmitter<any>;
26
26
  switchToWizard: EventEmitter<any>;
27
- createUserRequested: EventEmitter<void>;
28
27
  host: string;
29
28
  dataPending: boolean;
30
29
  moveInProgressUserId: string;
@@ -62,7 +61,6 @@ export declare class UsersListComponent implements OnInit, OnDestroy {
62
61
  runMoveUserToMT(): void;
63
62
  searchUsers(token: string, type?: USER_TYPES_TYPE): void;
64
63
  searchByType(userType: USER_TYPES_TYPE): void;
65
- onCreateUserRequested(): void;
66
64
  private filterByToken;
67
65
  private filterByType;
68
66
  onFirmwareUpgradeClicked(user: ListUser): void;
@@ -70,5 +68,5 @@ export declare class UsersListComponent implements OnInit, OnDestroy {
70
68
  private setUserPendingStatus;
71
69
  private setOriginalUserStatus;
72
70
  static ɵfac: i0.ɵɵFactoryDeclaration<UsersListComponent, never>;
73
- static ɵcmp: i0.ɵɵComponentDeclaration<UsersListComponent, "app-users-list", never, { "token": "token"; "customerId": "customerId"; "siteId": "siteId"; "host": "host"; }, { "openUser": "openUser"; "userMoved": "userMoved"; "switchToWizard": "switchToWizard"; "createUserRequested": "createUserRequested"; }, never, never, false, never>;
71
+ static ɵcmp: i0.ɵɵComponentDeclaration<UsersListComponent, "app-users-list", never, { "token": "token"; "customerId": "customerId"; "siteId": "siteId"; "host": "host"; }, { "openUser": "openUser"; "userMoved": "userMoved"; "switchToWizard": "switchToWizard"; }, never, never, false, never>;
74
72
  }
@@ -1,13 +0,0 @@
1
- /*
2
- * Public API Surface of @tuki-io/tuki-widgets
3
- */
4
- // Shared Components
5
- // export * from './shared/shared.module';
6
- // Widget Modules
7
- export * from './src/user-creation.module';
8
- // Components
9
- // export * from './shared/components/index';
10
- export * from './src/widgets/user-creation-wizard/user-creation-wizard.component';
11
- // Types
12
- // export * from './shared/types/data-table';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxvQkFBb0I7QUFDcEIsMENBQTBDO0FBRTFDLGlCQUFpQjtBQUNqQixjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGFBQWE7QUFDYiw2Q0FBNkM7QUFDN0MsY0FBYyxtRUFBbUUsQ0FBQztBQUVsRixRQUFRO0FBQ1IsNkNBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIEB0dWtpLWlvL3R1a2ktd2lkZ2V0c1xyXG4gKi9cclxuXHJcbi8vIFNoYXJlZCBDb21wb25lbnRzXHJcbi8vIGV4cG9ydCAqIGZyb20gJy4vc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xyXG5cclxuLy8gV2lkZ2V0IE1vZHVsZXNcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvdXNlci1jcmVhdGlvbi5tb2R1bGUnO1xyXG5cclxuLy8gQ29tcG9uZW50c1xyXG4vLyBleHBvcnQgKiBmcm9tICcuL3NoYXJlZC9jb21wb25lbnRzL2luZGV4JztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvd2lkZ2V0cy91c2VyLWNyZWF0aW9uLXdpemFyZC91c2VyLWNyZWF0aW9uLXdpemFyZC5jb21wb25lbnQnO1xyXG5cclxuLy8gVHlwZXNcclxuLy8gZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQvdHlwZXMvZGF0YS10YWJsZSc7Il19
@@ -1,16 +0,0 @@
1
- export const API = {
2
- WEBEX_CHECK_CONTROL_HUB_INTEGRATION: "/webex/api/search/webex/customers/:customerId/controlhubexists",
3
- SITES: "/api/customers/:customerId/sites",
4
- SITE: "/dcp/api/sites/:siteId",
5
- DEVICE_TYPES: "/dcp/api/provision/options/:siteId/devicetypes",
6
- SITE_SETTINGS: "/dcp/api/sites/:siteId/settings",
7
- VM_USER_TEMPLATES: "/dcp/api/provision/options/:siteId/vmusertemplates",
8
- USER_TEMPLATES_UPLOAD_LIST: "/dcp/api/searchbulkupdate/uploadedusertemplatelist",
9
- USER_TEMPLATE_TOKEN: "/dcp/api/bulkupdate/:customerId/usertemplate/:id/token",
10
- };
11
- export const USER_CREATION_TYPES = {
12
- CUCM: 'CUCM',
13
- MT: 'MT'
14
- };
15
- export const MAX_INTEGER = 2147483647;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9hcHAuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRztJQUNmLG1DQUFtQyxFQUFFLGdFQUFnRTtJQUNyRyxLQUFLLEVBQUUsa0NBQWtDO0lBQ3pDLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsWUFBWSxFQUFFLGdEQUFnRDtJQUM5RCxhQUFhLEVBQUUsaUNBQWlDO0lBQ2hELGlCQUFpQixFQUFFLG9EQUFvRDtJQUN2RSwwQkFBMEIsRUFBRSxvREFBb0Q7SUFDaEYsbUJBQW1CLEVBQUUsd0RBQXdEO0NBQ2hGLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUNqQyxJQUFJLEVBQUUsTUFBTTtJQUNaLEVBQUUsRUFBRSxJQUFJO0NBQ1QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQVBJID0ge1xuICAgIFdFQkVYX0NIRUNLX0NPTlRST0xfSFVCX0lOVEVHUkFUSU9OOiBcIi93ZWJleC9hcGkvc2VhcmNoL3dlYmV4L2N1c3RvbWVycy86Y3VzdG9tZXJJZC9jb250cm9saHViZXhpc3RzXCIsXG4gICAgU0lURVM6IFwiL2FwaS9jdXN0b21lcnMvOmN1c3RvbWVySWQvc2l0ZXNcIixcbiAgICBTSVRFOiBcIi9kY3AvYXBpL3NpdGVzLzpzaXRlSWRcIixcbiAgICBERVZJQ0VfVFlQRVM6IFwiL2RjcC9hcGkvcHJvdmlzaW9uL29wdGlvbnMvOnNpdGVJZC9kZXZpY2V0eXBlc1wiLFxuICAgIFNJVEVfU0VUVElOR1M6IFwiL2RjcC9hcGkvc2l0ZXMvOnNpdGVJZC9zZXR0aW5nc1wiLFxuICAgIFZNX1VTRVJfVEVNUExBVEVTOiBcIi9kY3AvYXBpL3Byb3Zpc2lvbi9vcHRpb25zLzpzaXRlSWQvdm11c2VydGVtcGxhdGVzXCIsXG4gICAgVVNFUl9URU1QTEFURVNfVVBMT0FEX0xJU1Q6IFwiL2RjcC9hcGkvc2VhcmNoYnVsa3VwZGF0ZS91cGxvYWRlZHVzZXJ0ZW1wbGF0ZWxpc3RcIixcbiAgICBVU0VSX1RFTVBMQVRFX1RPS0VOOiBcIi9kY3AvYXBpL2J1bGt1cGRhdGUvOmN1c3RvbWVySWQvdXNlcnRlbXBsYXRlLzppZC90b2tlblwiLFxufVxuXG5leHBvcnQgY29uc3QgVVNFUl9DUkVBVElPTl9UWVBFUyA9IHtcbiAgQ1VDTTogJ0NVQ00nLFxuICBNVDogJ01UJ1xufTtcblxuZXhwb3J0IGNvbnN0IE1BWF9JTlRFR0VSID0gMjE0NzQ4MzY0NzsiXX0=
@@ -1,53 +0,0 @@
1
- import { FormBuilder, Validators } from "@angular/forms";
2
- import { getSavableData } from '../shared/services/utils';
3
- export class Site {
4
- constructor(site) {
5
- Object.assign(this, site);
6
- this.initForm();
7
- }
8
- initForm() {
9
- const formBuilder = new FormBuilder();
10
- const formSettings = {
11
- name: [this.name || '', [Validators.required]],
12
- shortName: [this.shortName || '', [Validators.required]],
13
- cucm: [this.cucm || ''],
14
- cuc: [this.cuc || ''],
15
- address1: [this.address1 || ''],
16
- zipCode: [this.country || ''],
17
- city: [this.city || ''],
18
- state: [this.state || ''],
19
- country: [this.country || '', [Validators.required]],
20
- isAfterTtu: [this.isAfterTtu || ''],
21
- ttuEnableDate: [this.ttuEnableDate || '']
22
- };
23
- this.form = formBuilder.group(formSettings);
24
- }
25
- getSavableData() {
26
- const nonSavableData = ['form'];
27
- return getSavableData(this, nonSavableData);
28
- }
29
- getId() {
30
- return this.id;
31
- }
32
- }
33
- export class SiteDefaults {
34
- constructor(siteDefaults, isSharedLineSite) {
35
- this.routePartitionFilter = [];
36
- this.devicePoolFilter = [];
37
- this.cssFilter = [];
38
- this.voicemailProfileFilter = [];
39
- if (siteDefaults) {
40
- Object.assign(this, siteDefaults);
41
- this.enableEm = siteDefaults.enableEm === 'true';
42
- this.routePartitionFilter.sort();
43
- this.devicePoolFilter.sort();
44
- this.cssFilter.sort();
45
- this.voicemailProfileFilter.sort();
46
- }
47
- if (isSharedLineSite) {
48
- this.cssFilter = siteDefaults?.sharedSitesCssFilter || [];
49
- this.routePartitionFilter = siteDefaults?.sharedSitesRPFilter || [];
50
- }
51
- }
52
- }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9jbGFzc2VzL3NpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUF3QjFELE1BQU0sT0FBTyxJQUFJO0lBb0JmLFlBQVksSUFBb0I7UUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUN0QyxNQUFNLFlBQVksR0FBRztZQUNuQixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5QyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4RCxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUNyQixRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUMvQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUM3QixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QixLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN6QixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRCxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUNuQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztTQUMxQyxDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxPQUFPLGNBQWMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBNkVELE1BQU0sT0FBTyxZQUFZO0lBdUV2QixZQUFZLFlBQW9DLEVBQUUsZ0JBQTBCO1FBQzFFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFDO1FBQ2pDLElBQUksWUFBWSxFQUFFO1lBQ2hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUM7WUFDakQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNwQztRQUNELElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLEVBQUUsb0JBQW9CLElBQUksRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxZQUFZLEVBQUUsbUJBQW1CLElBQUksRUFBRSxDQUFDO1NBQ3JFO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgZ2V0U2F2YWJsZURhdGEgfSBmcm9tICcuLi9zaGFyZWQvc2VydmljZXMvdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpdGVJbnRlcmZhY2Uge1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvdW50cnk6IGFueTtcbiAgbG9jYXRpb25OYW1lOiBzdHJpbmc7XG4gIGlzQWZ0ZXJUdHU6IGJvb2xlYW47XG4gIHNob3J0TmFtZTogc3RyaW5nO1xuICB0dHVFbmFibGVEYXRlPzogc3RyaW5nO1xuICBjdWNtOiBhbnk7XG4gIGN1YzogYW55O1xuICBoYXNBY3RpdmF0ZWQ/OiBib29sZWFuO1xuICAvLyBocVN0YXR1czogYm9vbGVhbjtcbiAgZGVhY3RpdmF0ZURhdGU/OiBzdHJpbmc7XG4gIHNpdGVVbmlxdWVJZD86IG51bWJlcjtcbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGluaXRGb3JtOiAoKSA9PiB2b2lkO1xuICBnZXRTYXZhYmxlRGF0YTogKCkgPT4gdm9pZDtcbiAgZ2V0SWQ6ICgpID0+IHZvaWQ7XG59XG5cblxuZXhwb3J0IGNsYXNzIFNpdGUgaW1wbGVtZW50cyBTaXRlSW50ZXJmYWNlIHtcbiAgaWQhOiBudW1iZXI7XG4gIG5hbWUhOiBzdHJpbmc7XG4gIGNvdW50cnk6IGFueTtcbiAgbG9jYXRpb25OYW1lITogc3RyaW5nO1xuICBpc0FmdGVyVHR1ITogYm9vbGVhbjtcbiAgc2hvcnROYW1lITogc3RyaW5nO1xuICB0dHVFbmFibGVEYXRlPzogc3RyaW5nO1xuICBjdWNtOiBhbnk7XG4gIGN1YzogYW55O1xuICBoYXNBY3RpdmF0ZWQ/OiBib29sZWFuO1xuICAvLyBocVN0YXR1czogYm9vbGVhbjtcbiAgZGVhY3RpdmF0ZURhdGU/OiBzdHJpbmc7XG4gIGFkZHJlc3MxPzogc3RyaW5nO1xuICBhZGRyZXNzMj86IHN0cmluZztcbiAgY2l0eT86IHN0cmluZztcbiAgc3RhdGU/OiBzdHJpbmc7XG4gIHppcENvZGU/OiBzdHJpbmc7XG4gIGZvcm0hOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3Ioc2l0ZT86IFNpdGVJbnRlcmZhY2UpIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIHNpdGUpO1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIGNvbnN0IGZvcm1CdWlsZGVyID0gbmV3IEZvcm1CdWlsZGVyKCk7XG4gICAgY29uc3QgZm9ybVNldHRpbmdzID0ge1xuICAgICAgbmFtZTogW3RoaXMubmFtZSB8fCAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHNob3J0TmFtZTogW3RoaXMuc2hvcnROYW1lIHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgY3VjbTogW3RoaXMuY3VjbSB8fCAnJ10sXG4gICAgICBjdWM6IFt0aGlzLmN1YyB8fCAnJ10sXG4gICAgICBhZGRyZXNzMTogW3RoaXMuYWRkcmVzczEgfHwgJyddLFxuICAgICAgemlwQ29kZTogW3RoaXMuY291bnRyeSB8fCAnJ10sXG4gICAgICBjaXR5OiBbdGhpcy5jaXR5IHx8ICcnXSxcbiAgICAgIHN0YXRlOiBbdGhpcy5zdGF0ZSB8fCAnJ10sXG4gICAgICBjb3VudHJ5OiBbdGhpcy5jb3VudHJ5IHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgaXNBZnRlclR0dTogW3RoaXMuaXNBZnRlclR0dSB8fCAnJ10sXG4gICAgICB0dHVFbmFibGVEYXRlOiBbdGhpcy50dHVFbmFibGVEYXRlIHx8ICcnXVxuICAgIH07XG5cbiAgICB0aGlzLmZvcm0gPSBmb3JtQnVpbGRlci5ncm91cChmb3JtU2V0dGluZ3MpO1xuICB9XG5cbiAgZ2V0U2F2YWJsZURhdGEoKSB7XG4gICAgY29uc3Qgbm9uU2F2YWJsZURhdGEgPSBbJ2Zvcm0nXTtcbiAgICByZXR1cm4gZ2V0U2F2YWJsZURhdGEodGhpcywgbm9uU2F2YWJsZURhdGEpO1xuICB9XG5cbiAgZ2V0SWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaWQ7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaXRlVGVtcGxhdGVJbnRlcmZhY2Uge1xuICBpZDogbnVtYmVyO1xuICByb3V0ZVBhcnRpdGlvbkZpbHRlcjogc3RyaW5nIHwgc3RyaW5nW107XG4gIGRldmljZVBvb2xGaWx0ZXI6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBjc3NGaWx0ZXI6IHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICB2b2ljZW1haWxQcm9maWxlRmlsdGVyOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgbGluZUNzczogc3RyaW5nO1xuICBkZXZpY2VDc3M6IHN0cmluZztcbiAgY2FsbEZvcndhcmRBbGxDc3M6IHN0cmluZztcbiAgbG9jYXRpb246IHN0cmluZztcbiAgdm9pY2VtYWlsVXNlclRlbXBsYXRlOiBzdHJpbmc7XG4gIHJvdXRlUGFydGl0aW9uOiBzdHJpbmc7XG4gIGRldmljZVBvb2w6IHN0cmluZztcbiAgdm9pY2VtYWlsUHJvZmlsZTogc3RyaW5nO1xuICBleHRlcm5hbENhbGxlcklkOiBzdHJpbmc7XG4gIGh1bnRQaWxvdFBhcnRpdGlvbjogc3RyaW5nO1xuICBjYWxsUGlja3VwR3JvdXBQYXJ0aXRpb246IHN0cmluZztcbiAgbWVldE1lQ29uZmVyZW5jZVBhcnRpdGlvbjogc3RyaW5nO1xuICBjYWxsUGFya1BhcnRpdGlvbjogc3RyaW5nO1xuICB1c2VyTG9jYWxlOiBzdHJpbmc7XG4gIG5ldHdvcmtMb2NhbGU6IHN0cmluZztcbiAgY3VjbUdyb3VwOiBzdHJpbmc7XG4gIHNvZnRrZXlUZW1wbGF0ZXM6IHN0cmluZztcbiAgcGhvbmVCdXR0b25UZW1wbGF0ZTogc3RyaW5nO1xuICBwaG9uZVNlY3VyaXR5UHJvZmlsZTogc3RyaW5nO1xuICBzaXBQcm9maWxlOiBzdHJpbmc7XG4gIHJkcENzczogc3RyaW5nO1xuICByZHBSZXJvdXRlQ3NzOiBzdHJpbmc7XG4gIGNvbW1vblBob25lUHJvZmlsZTogc3RyaW5nO1xuICBzdWJzY3JpYmVDc3M6IHN0cmluZztcbiAgZW5hYmxlRW06IGJvb2xlYW4gfCBzdHJpbmc7XG4gIGZvcndhcmRIdW50QnVzeUNTUzogc3RyaW5nO1xuICBmb3J3YXJkSHVudE5vQW5zd2VyQ1NTOiBzdHJpbmc7XG4gIGZvcndhcmRCdXN5SW50ZXJuYWxDc3M6IHN0cmluZztcbiAgZm9yd2FyZEJ1c3lFeHRlcm5hbENzczogc3RyaW5nO1xuICBmb3J3YXJkTm9BbnN3ZXJJbnRlcm5hbENzczogc3RyaW5nO1xuICBmb3J3YXJkTm9BbnN3ZXJFeHRlcm5hbENzczogc3RyaW5nO1xuICBmb3J3YXJkTm9Db3ZlcmFnZUludGVybmFsQ3NzOiBzdHJpbmc7XG4gIGZvcndhcmROb0NvdmVyYWdlRXh0ZXJuYWxDc3M6IHN0cmluZztcbiAgZm9yd2FyZE9uQ3RpRmFpbHVyZUNzczogc3RyaW5nO1xuICBmb3J3YXJkVW5yZWdpc3RlcmVkSW50ZXJuYWxDc3M6IHN0cmluZztcbiAgZm9yd2FyZFVucmVnaXN0ZXJlZEV4dGVybmFsQ3NzOiBzdHJpbmc7XG4gIHJkcEV4dGVybmFsQ2FsbGVySWQ6IHN0cmluZztcbiAgbm9BbnN3ZXJSaW5nRHVyYXRpb246IHN0cmluZztcbiAgdWNTZXJ2aWNlUHJvZmlsZTogc3RyaW5nO1xuICBwaG9uZVN5c3RlbTogc3RyaW5nO1xuICBtYXhOdW1iZXJPZkNhbGxzOiBzdHJpbmc7XG4gIGJ1c3lUcmlnZ2VyOiBzdHJpbmc7XG4gIGRpZFBhcnRpdGlvbjogc3RyaW5nO1xuICBkaWRDc3M6IHN0cmluZztcbiAgdm9zc0NvbXBhdGliaWxpdHlTaXRlQ29kZTogc3RyaW5nO1xuICB2b3NzQ29tcGF0aWJpbGl0eVJpZENvZGU6IHN0cmluZztcbiAgZGlhbFBsYW5UeXBlOiBzdHJpbmc7XG4gIGVtU2VydmljZTogc3RyaW5nO1xuICBlbWVyZ2VuY3lQYXJ0aXRpb24/OiBzdHJpbmc7XG4gIGN1Y1BhcnRpdGlvbjogc3RyaW5nO1xuICBhbGVydGluZ05hbWU/OiBzdHJpbmc7XG4gIGRpc3BsYXlDYWxsZXJJZD86IHN0cmluZztcbiAgbGluZVRleHRMYWJlbD86IHN0cmluZztcbiAgdGV4dExhYmVsPzogc3RyaW5nO1xuICBpbnRlcm5hbFRyYW5zbGF0aW9uUGFydGl0aW9uPzogc3RyaW5nO1xuICBpbnRlcm5hbFRyYW5zbGF0aW9uQ3NzPzogc3RyaW5nO1xuICBwbGFyQ3NzPzogc3RyaW5nO1xuICBsaW5lRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGRldmljZURlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBzaGFyZWRTaXRlc0Nzc0ZpbHRlcj86IHN0cmluZ1tdO1xuICBzaGFyZWRTaXRlc1JQRmlsdGVyPzogc3RyaW5nW107XG4gIHJlcm91dGluZ0Nzcz86IHN0cmluZztcbiAgdWRwRGV2aWNlVHlwZTogc3RyaW5nO1xuICB1ZHBEZXZpY2VQcm90b2NvbDogc3RyaW5nO1xuICB1ZHBCdXR0b25UZW1wbGF0ZTogc3RyaW5nO1xuICB1c2VyVXNlckxvY2FsZTogc3RyaW5nO1xuICB1c2VyQWNjZXNzQ29udHJvbEdyb3Vwcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFNpdGVEZWZhdWx0cyBpbXBsZW1lbnRzIFNpdGVUZW1wbGF0ZUludGVyZmFjZSB7XG4gIGlkITogbnVtYmVyO1xuICByb3V0ZVBhcnRpdGlvbkZpbHRlcjogc3RyaW5nW107XG4gIGRldmljZVBvb2xGaWx0ZXI6IHN0cmluZ1tdO1xuICBjc3NGaWx0ZXI6IHN0cmluZ1tdO1xuICB2b2ljZW1haWxQcm9maWxlRmlsdGVyOiBzdHJpbmdbXTtcbiAgbGluZUNzcyE6IHN0cmluZztcbiAgZGV2aWNlQ3NzITogc3RyaW5nO1xuICBjYWxsRm9yd2FyZEFsbENzcyE6IHN0cmluZztcbiAgbG9jYXRpb24hOiBzdHJpbmc7XG4gIHZvaWNlbWFpbFVzZXJUZW1wbGF0ZSE6IHN0cmluZztcbiAgcm91dGVQYXJ0aXRpb24hOiBzdHJpbmc7XG4gIGRldmljZVBvb2whOiBzdHJpbmc7XG4gIHZvaWNlbWFpbFByb2ZpbGUhOiBzdHJpbmc7XG4gIGV4dGVybmFsQ2FsbGVySWQhOiBzdHJpbmc7XG4gIGh1bnRQaWxvdFBhcnRpdGlvbiE6IHN0cmluZztcbiAgY2FsbFBpY2t1cEdyb3VwUGFydGl0aW9uITogc3RyaW5nO1xuICBtZWV0TWVDb25mZXJlbmNlUGFydGl0aW9uITogc3RyaW5nO1xuICBjYWxsUGFya1BhcnRpdGlvbiE6IHN0cmluZztcbiAgdXNlckxvY2FsZSE6IHN0cmluZztcbiAgbmV0d29ya0xvY2FsZSE6IHN0cmluZztcbiAgY3VjbUdyb3VwITogc3RyaW5nO1xuICBzb2Z0a2V5VGVtcGxhdGVzITogc3RyaW5nO1xuICBwaG9uZUJ1dHRvblRlbXBsYXRlITogc3RyaW5nO1xuICBwaG9uZVNlY3VyaXR5UHJvZmlsZSE6IHN0cmluZztcbiAgc2lwUHJvZmlsZSE6IHN0cmluZztcbiAgcmRwQ3NzITogc3RyaW5nO1xuICByZHBSZXJvdXRlQ3NzITogc3RyaW5nO1xuICBjb21tb25QaG9uZVByb2ZpbGUhOiBzdHJpbmc7XG4gIHN1YnNjcmliZUNzcyE6IHN0cmluZztcbiAgZW5hYmxlRW0hOiBib29sZWFuO1xuICBmb3J3YXJkSHVudEJ1c3lDU1MhOiBzdHJpbmc7XG4gIGZvcndhcmRIdW50Tm9BbnN3ZXJDU1MhOiBzdHJpbmc7XG4gIGZvcndhcmRCdXN5SW50ZXJuYWxDc3MhOiBzdHJpbmc7XG4gIGZvcndhcmRCdXN5RXh0ZXJuYWxDc3MhOiBzdHJpbmc7XG4gIGZvcndhcmROb0Fuc3dlckludGVybmFsQ3NzITogc3RyaW5nO1xuICBmb3J3YXJkTm9BbnN3ZXJFeHRlcm5hbENzcyE6IHN0cmluZztcbiAgZm9yd2FyZE5vQ292ZXJhZ2VJbnRlcm5hbENzcyE6IHN0cmluZztcbiAgZm9yd2FyZE5vQ292ZXJhZ2VFeHRlcm5hbENzcyE6IHN0cmluZztcbiAgZm9yd2FyZE9uQ3RpRmFpbHVyZUNzcyE6IHN0cmluZztcbiAgZm9yd2FyZFVucmVnaXN0ZXJlZEludGVybmFsQ3NzITogc3RyaW5nO1xuICBmb3J3YXJkVW5yZWdpc3RlcmVkRXh0ZXJuYWxDc3MhOiBzdHJpbmc7XG4gIHJkcEV4dGVybmFsQ2FsbGVySWQhOiBzdHJpbmc7XG4gIG5vQW5zd2VyUmluZ0R1cmF0aW9uITogc3RyaW5nO1xuICB1Y1NlcnZpY2VQcm9maWxlITogc3RyaW5nO1xuICBwaG9uZVN5c3RlbSE6IHN0cmluZztcbiAgbWF4TnVtYmVyT2ZDYWxscyE6IHN0cmluZztcbiAgYnVzeVRyaWdnZXIhOiBzdHJpbmc7XG4gIGRpZFBhcnRpdGlvbiE6IHN0cmluZztcbiAgZGlkQ3NzITogc3RyaW5nO1xuICB2b3NzQ29tcGF0aWJpbGl0eVNpdGVDb2RlITogc3RyaW5nO1xuICB2b3NzQ29tcGF0aWJpbGl0eVJpZENvZGUhOiBzdHJpbmc7XG4gIGRpYWxQbGFuVHlwZSE6IHN0cmluZztcbiAgZW1TZXJ2aWNlITogc3RyaW5nO1xuICBjdWNQYXJ0aXRpb24hOiBzdHJpbmc7XG4gIGFsZXJ0aW5nTmFtZT86IHN0cmluZztcbiAgZGlzcGxheUNhbGxlcklkPzogc3RyaW5nO1xuICB0ZXh0TGFiZWw/OiBzdHJpbmc7XG4gIGludGVybmFsVHJhbnNsYXRpb25QYXJ0aXRpb24/OiBzdHJpbmc7XG4gIGludGVybmFsVHJhbnNsYXRpb25Dc3M/OiBzdHJpbmc7XG4gIHBsYXJDc3M/OiBzdHJpbmc7XG4gIGxpbmVEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZGV2aWNlRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHNoYXJlZFNpdGVzQ3NzRmlsdGVyITogc3RyaW5nW107XG4gIHNoYXJlZFNpdGVzUlBGaWx0ZXIhOiBzdHJpbmdbXTtcbiAgdWRwRGV2aWNlVHlwZSE6IHN0cmluZztcbiAgdWRwRGV2aWNlUHJvdG9jb2whOiBzdHJpbmc7XG4gIHVkcEJ1dHRvblRlbXBsYXRlITogc3RyaW5nO1xuICB1c2VyVXNlckxvY2FsZSE6IHN0cmluZztcbiAgdXNlckFjY2Vzc0NvbnRyb2xHcm91cHM/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2l0ZURlZmF1bHRzPzogU2l0ZVRlbXBsYXRlSW50ZXJmYWNlLCBpc1NoYXJlZExpbmVTaXRlPzogYm9vbGVhbikge1xuICAgIHRoaXMucm91dGVQYXJ0aXRpb25GaWx0ZXIgPSBbXTtcbiAgICB0aGlzLmRldmljZVBvb2xGaWx0ZXIgPSBbXTtcbiAgICB0aGlzLmNzc0ZpbHRlciA9IFtdO1xuICAgIHRoaXMudm9pY2VtYWlsUHJvZmlsZUZpbHRlciA9IFtdO1xuICAgIGlmIChzaXRlRGVmYXVsdHMpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgc2l0ZURlZmF1bHRzKTtcbiAgICAgIHRoaXMuZW5hYmxlRW0gPSBzaXRlRGVmYXVsdHMuZW5hYmxlRW0gPT09ICd0cnVlJztcbiAgICAgIHRoaXMucm91dGVQYXJ0aXRpb25GaWx0ZXIuc29ydCgpO1xuICAgICAgdGhpcy5kZXZpY2VQb29sRmlsdGVyLnNvcnQoKTtcbiAgICAgIHRoaXMuY3NzRmlsdGVyLnNvcnQoKTtcbiAgICAgIHRoaXMudm9pY2VtYWlsUHJvZmlsZUZpbHRlci5zb3J0KCk7XG4gICAgfVxuICAgIGlmIChpc1NoYXJlZExpbmVTaXRlKSB7XG4gICAgICB0aGlzLmNzc0ZpbHRlciA9IHNpdGVEZWZhdWx0cz8uc2hhcmVkU2l0ZXNDc3NGaWx0ZXIgfHwgW107XG4gICAgICB0aGlzLnJvdXRlUGFydGl0aW9uRmlsdGVyID0gc2l0ZURlZmF1bHRzPy5zaGFyZWRTaXRlc1JQRmlsdGVyIHx8IFtdO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJUZW1wbGF0ZUludGVyZmFjZSB7XG4gIGlkOiBudW1iZXI7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgY3VzdG9tZXJJZDogbnVtYmVyO1xuICBlbmRVc2VyOiBhbnk7XG4gIHVzZXJSZXF1aXJlZEZpZWxkcz86IHN0cmluZ1tdO1xuICBkZXZpY2VSZXF1aXJlZEZpZWxkcz86IHN0cmluZ1tdO1xuICBsaW5lUmVxdWlyZWRGaWVsZHM/OiBzdHJpbmdbXTtcbiAgZWRpdE1vZGU/OiBib29sZWFuO1xuICBpc0NoYW5nZWQ/OiBib29sZWFuO1xuICB0eXBlPzogc3RyaW5nO1xuICBvd25lclR5cGU/OiBzdHJpbmc7XG4gIGdsb2JhbFRlbXBsYXRlPzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -1,86 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpHeaders } from '@angular/common/http';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common/http";
5
- export class APIService {
6
- constructor(httpClient) {
7
- this.httpClient = httpClient;
8
- this.apiUrl = window.location.protocol + '//' + window.location.hostname + '/dcp';
9
- this.token = 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbkBjb3JyZW5ldC5jb20iLCJyb2xlcyI6IlNVUEVSX1VTRVIiLCJpYXQiOjE3NzM5MjU4NzAsImV4cCI6MTc3Mzk0Mzg3MH0.OFxsG5XvtI3zKpGtPSXVvDCkr3ls4k1Jp7_K1jO7V8Q';
10
- // this.apiUrl = window.location.protocol + '//' + window.location.host + '/dcp';
11
- this.apiUrl = 'https://dev.tuki.io';
12
- // this.apiUrl = 'http://localhost:8088/dcp';
13
- }
14
- fetch(url, params, cache) {
15
- const headers = this.getHeaders(cache);
16
- params = params || {};
17
- return this.httpClient.get(this.apiUrl + url, { params: this.prepareEncodedParams(params), headers });
18
- }
19
- post(url, body, params = {}) {
20
- body = body || null;
21
- const headers = this.getHeaders();
22
- return this.httpClient.post(this.apiUrl + url, body, { params: this.prepareEncodedParams(params), headers });
23
- }
24
- // use when response extended data is necessary:
25
- postExtended(url, body = null, params = {}, headers = {}) {
26
- headers = headers || this.getHeaders();
27
- return this.httpClient.post(this.apiUrl + url, body, {
28
- headers,
29
- observe: 'response',
30
- params: this.prepareEncodedParams(params)
31
- });
32
- }
33
- put(url, body = null, params = {}) {
34
- const headers = this.getHeaders();
35
- return this.httpClient.put(this.apiUrl + url, body, { headers, params: this.prepareEncodedParams(params) });
36
- }
37
- delete(url, params = {}) {
38
- const headers = this.getHeaders();
39
- return this.httpClient.delete(this.apiUrl + url, { headers, params: this.prepareEncodedParams(params) });
40
- }
41
- fetchPagination(url, pageSize, pageNumber, additionalParams = {}, cache) {
42
- const copyAdditionalParams = JSON.parse(JSON.stringify(additionalParams));
43
- const params = Object.assign(copyAdditionalParams, { size: pageSize.toString(), page: pageNumber.toString() });
44
- return this.fetch(url, params, cache);
45
- }
46
- prepareEncodedParams(params) {
47
- const result = {};
48
- if (!params) {
49
- return {};
50
- }
51
- for (const key of Object.keys(params)) {
52
- if (params[key]) {
53
- const stringParam = params[key].toString();
54
- result[key] = stringParam.includes('+') ? encodeURIComponent(stringParam) : stringParam;
55
- }
56
- }
57
- return result;
58
- }
59
- getHeaders(cache) {
60
- let headers = new HttpHeaders();
61
- if (cache) {
62
- headers = headers.append('_Cache', 'true ');
63
- }
64
- const token = this.token || this.getParameterByName('token');
65
- headers = headers.append('Authorization', 'Bearer ' + token);
66
- return headers;
67
- }
68
- getParameterByName(name, url = window.location.href) {
69
- name = name.replace(/[\[\]]/g, '\\$&');
70
- var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url);
71
- if (!results)
72
- return null;
73
- if (!results[2])
74
- return '';
75
- return decodeURIComponent(results[2].replace(/\+/g, ' '));
76
- }
77
- }
78
- APIService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
79
- APIService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, providedIn: 'root' });
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, decorators: [{
81
- type: Injectable,
82
- args: [{
83
- providedIn: 'root'
84
- }]
85
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1jcmVhdGlvbi9zcmMvc2hhcmVkL2FwaS9hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBTS9ELE1BQU0sT0FBTyxVQUFVO0lBR3JCLFlBQ1UsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUZoQyxXQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztRQUkzRSxJQUFJLENBQUMsS0FBSyxHQUFHLGtMQUFrTCxDQUFBO1FBQy9MLGlGQUFpRjtRQUNqRixJQUFJLENBQUMsTUFBTSxHQUFHLHFCQUFxQixDQUFDO1FBQ3BDLDZDQUE2QztJQUMvQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQVcsRUFBRSxNQUFZLEVBQUUsS0FBZTtRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFXLEVBQUUsSUFBUyxFQUFFLE1BQU0sR0FBRyxFQUFFO1FBQ3RDLElBQUksR0FBRyxJQUFJLElBQUks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VSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBUElTZXJ2aWNlIHtcclxuICBwdWJsaWMgdG9rZW46IGFueTtcclxuICBhcGlVcmwgPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgKyAnLy8nICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lICsgJy9kY3AnO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50XHJcbiAgKSB7XHJcbiAgICB0aGlzLnRva2VuID0gJ2V5SmhiR2NpT2lKSVV6STFOaUo5LmV5SnpkV0lpT2lKaFpHMXBia0JqYjNKeVpXNWxkQzVqYjIwaUxDSnliMnhsY3lJNklsTlZVRVZTWDFWVFJWSWlMQ0pwWVhRaU9qRTNOek01TWpVNE56QXNJbVY0Y0NJNk1UYzNNemswTXpnM01IMC5PRnhzRzVYdnRJM3pLcEd0UFNYVnZEQ2tyM2xzNGsxSnA3X0sxak83VjhRJ1xyXG4gICAgLy8gdGhpcy5hcGlVcmwgPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgKyAnLy8nICsgd2luZG93LmxvY2F0aW9uLmhvc3QgKyAnL2RjcCc7XHJcbiAgICB0aGlzLmFwaVVybCA9ICdodHRwczovL2Rldi50dWtpLmlvJztcclxuICAgIC8vIHRoaXMuYXBpVXJsID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6ODA4OC9kY3AnO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2godXJsOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgY2FjaGU/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoY2FjaGUpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQodGhpcy5hcGlVcmwgKyB1cmwsIHtwYXJhbXM6IHRoaXMucHJlcGFyZUVuY29kZWRQYXJhbXMocGFyYW1zKSwgaGVhZGVyc30pO1xyXG4gIH1cclxuXHJcbiAgcG9zdCh1cmw6IHN0cmluZywgYm9keTogYW55LCBwYXJhbXMgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBib2R5ID0gYm9keSB8fCBudWxsO1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHRoaXMuYXBpVXJsICsgdXJsLCBib2R5LCB7cGFyYW1zOiB0aGlzLnByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtcyksIGhlYWRlcnN9KTtcclxuICB9XHJcblxyXG4gIC8vIHVzZSB3aGVuIHJlc3BvbnNlIGV4dGVuZGVkIGRhdGEgaXMgbmVjZXNzYXJ5OlxyXG4gIHBvc3RFeHRlbmRlZCh1cmw6IHN0cmluZywgYm9keSA9IG51bGwsIHBhcmFtcyA9IHt9LCBoZWFkZXJzID0ge30pIHtcclxuICAgIGhlYWRlcnMgPSBoZWFkZXJzIHx8IHRoaXMuZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHRoaXMuYXBpVXJsICsgdXJsLCBib2R5LCB7XHJcbiAgICAgIGhlYWRlcnMsXHJcbiAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXHJcbiAgICAgIHBhcmFtczogdGhpcy5wcmVwYXJlRW5jb2RlZFBhcmFtcyhwYXJhbXMpXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1dCh1cmw6IHN0cmluZywgYm9keSA9IG51bGwsIHBhcmFtcyA9IHt9KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dCh0aGlzLmFwaVVybCArIHVybCwgYm9keSwge2hlYWRlcnMsIHBhcmFtczogdGhpcy5wcmVwYXJlRW5jb2RlZFBhcmFtcyhwYXJhbXMpfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGUodXJsOiBzdHJpbmcsIHBhcmFtcyA9IHt9KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZSh0aGlzLmFwaVVybCArIHVybCwge2hlYWRlcnMsIHBhcmFtczogdGhpcy5wcmVwYXJlRW5jb2RlZFBhcmFtcyhwYXJhbXMpfSk7XHJcbiAgfVxyXG5cclxuICBmZXRjaFBhZ2luYXRpb24odXJsOiBzdHJpbmcsIHBhZ2VTaXplOiBudW1iZXIsIHBhZ2VOdW1iZXI6IG51bWJlciwgYWRkaXRpb25hbFBhcmFtcyA9IHt9LCBjYWNoZT86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgY29weUFkZGl0aW9uYWxQYXJhbXMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGFkZGl0aW9uYWxQYXJhbXMpKTtcclxuICAgIGNvbnN0IHBhcmFtcyA9IE9iamVjdC5hc3NpZ24oY29weUFkZGl0aW9uYWxQYXJhbXMsIHtzaXplOiBwYWdlU2l6ZS50b1N0cmluZygpLCBwYWdlOiBwYWdlTnVtYmVyLnRvU3RyaW5nKCl9KTtcclxuICAgIHJldHVybiB0aGlzLmZldGNoKHVybCwgcGFyYW1zLCBjYWNoZSkgYXMgT2JzZXJ2YWJsZTxhbnk+O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcmVwYXJlRW5jb2RlZFBhcmFtcyhwYXJhbXM6IGFueSkge1xyXG4gICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fTtcclxuXHJcbiAgICBpZiAoIXBhcmFtcykge1xyXG4gICAgICByZXR1cm4ge307XHJcbiAgICB9XHJcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhwYXJhbXMpKSB7XHJcbiAgICAgIGlmIChwYXJhbXNba2V5XSkge1xyXG4gICAgICAgIGNvbnN0IHN0cmluZ1BhcmFtID0gcGFyYW1zW2tleV0udG9TdHJpbmcoKTtcclxuICAgICAgICByZXN1bHRba2V5XSA9IHN0cmluZ1BhcmFtLmluY2x1ZGVzKCcrJykgPyBlbmNvZGVVUklDb21wb25lbnQoc3RyaW5nUGFyYW0pIDogc3RyaW5nUGFyYW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEhlYWRlcnMoY2FjaGU/OiBib29sZWFuKTogSHR0cEhlYWRlcnMge1xyXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICBoZWFkZXJzID0gaGVhZGVycy5hcHBlbmQoJ19DYWNoZScsICd0cnVlICcpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnRva2VuIHx8IHRoaXMuZ2V0UGFyYW1ldGVyQnlOYW1lKCd0b2tlbicpO1xyXG4gICAgaGVhZGVycyA9IGhlYWRlcnMuYXBwZW5kKCdBdXRob3JpemF0aW9uJywgJ0JlYXJlciAnKyB0b2tlbik7XHJcbiAgICByZXR1cm4gaGVhZGVycztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UGFyYW1ldGVyQnlOYW1lKG5hbWU6IGFueSwgdXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYpIHtcclxuICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoL1tcXFtcXF1dL2csICdcXFxcJCYnKTtcclxuICAgIHZhciByZWdleCA9IG5ldyBSZWdFeHAoJ1s/Jl0nICsgbmFtZSArICcoPShbXiYjXSopfCZ8I3wkKScpLFxyXG4gICAgICByZXN1bHRzID0gcmVnZXguZXhlYyh1cmwpO1xyXG4gICAgaWYgKCFyZXN1bHRzKSByZXR1cm4gbnVsbDtcclxuICAgIGlmICghcmVzdWx0c1syXSkgcmV0dXJuICcnO1xyXG4gICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChyZXN1bHRzWzJdLnJlcGxhY2UoL1xcKy9nLCAnICcpKTtcclxuICB9XHJcbn0iXX0=
@@ -1,76 +0,0 @@
1
- import { NgModule } from "@angular/core";
2
- import { MatProgressBarModule } from "@angular/material/progress-bar";
3
- import { MatTableModule } from "@angular/material/table";
4
- import { MatTooltipModule } from "@angular/material/tooltip";
5
- import { MatCheckboxModule } from "@angular/material/checkbox";
6
- import { MatButtonModule } from "@angular/material/button";
7
- import { MatIconModule } from "@angular/material/icon";
8
- import { MatFormFieldModule } from "@angular/material/form-field";
9
- import { MatInputModule } from "@angular/material/input";
10
- import { MatSelectModule } from "@angular/material/select";
11
- import * as i0 from "@angular/core";
12
- export class MaterialModule {
13
- }
14
- MaterialModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- MaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, imports: [MatProgressBarModule,
16
- MatTooltipModule,
17
- MatTableModule,
18
- MatCheckboxModule,
19
- MatButtonModule,
20
- MatIconModule,
21
- MatFormFieldModule,
22
- MatInputModule,
23
- MatSelectModule], exports: [MatProgressBarModule,
24
- MatTooltipModule,
25
- MatTableModule,
26
- MatCheckboxModule,
27
- MatButtonModule,
28
- MatIconModule,
29
- MatFormFieldModule,
30
- MatInputModule,
31
- MatSelectModule] });
32
- MaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, imports: [MatProgressBarModule,
33
- MatTooltipModule,
34
- MatTableModule,
35
- MatCheckboxModule,
36
- MatButtonModule,
37
- MatIconModule,
38
- MatFormFieldModule,
39
- MatInputModule,
40
- MatSelectModule, MatProgressBarModule,
41
- MatTooltipModule,
42
- MatTableModule,
43
- MatCheckboxModule,
44
- MatButtonModule,
45
- MatIconModule,
46
- MatFormFieldModule,
47
- MatInputModule,
48
- MatSelectModule] });
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MaterialModule, decorators: [{
50
- type: NgModule,
51
- args: [{
52
- imports: [
53
- MatProgressBarModule,
54
- MatTooltipModule,
55
- MatTableModule,
56
- MatCheckboxModule,
57
- MatButtonModule,
58
- MatIconModule,
59
- MatFormFieldModule,
60
- MatInputModule,
61
- MatSelectModule
62
- ],
63
- exports: [
64
- MatProgressBarModule,
65
- MatTooltipModule,
66
- MatTableModule,
67
- MatCheckboxModule,
68
- MatButtonModule,
69
- MatIconModule,
70
- MatFormFieldModule,
71
- MatInputModule,
72
- MatSelectModule
73
- ]
74
- }]
75
- }] });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItY3JlYXRpb24vc3JjL3NoYXJlZC9tYXRlcmlhbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQTBCM0QsTUFBTSxPQUFPLGNBQWM7OzRHQUFkLGNBQWM7NkdBQWQsY0FBYyxZQXRCbkIsb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxlQUFlLGFBR2Ysb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxlQUFlOzZHQUdWLGNBQWMsWUF0Qm5CLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixlQUFlO1FBQ2YsYUFBYTtRQUNiLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsZUFBZSxFQUdmLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixlQUFlO1FBQ2YsYUFBYTtRQUNiLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsZUFBZTs0RkFHVixjQUFjO2tCQXhCMUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsb0JBQW9CO3dCQUNwQixnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGVBQWU7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsZUFBZTtxQkFDbEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhclwiXHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcFwiO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveFwiO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dFwiO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0XCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICAgICAgTWF0VGFibGVNb2R1bGUsXHJcbiAgICAgICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgICAgIE1hdFNlbGVjdE1vZHVsZVxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcclxuICAgICAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgICAgIE1hdFRhYmxlTW9kdWxlLFxyXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgICAgICBNYXRTZWxlY3RNb2R1bGVcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsTW9kdWxlIHsgfSJdfQ==
@@ -1,112 +0,0 @@
1
- import { inject, Injectable } from "@angular/core";
2
- import { BehaviorSubject, forkJoin, map, tap } from "rxjs";
3
- import { Site } from "../../classes/site";
4
- // import { APIService } from "./api.service";
5
- import { API, MAX_INTEGER } from "../../app.constants";
6
- import { APIService } from "../api/api.service";
7
- import * as i0 from "@angular/core";
8
- export class UserCreationApiService {
9
- constructor() {
10
- this._allSites = [];
11
- this.sitesListSubject$ = new BehaviorSubject([]);
12
- this.sitesList$ = this.sitesListSubject$.asObservable();
13
- this.templatesListSubject$ = new BehaviorSubject([]);
14
- this.templatesList$ = this.templatesListSubject$.asObservable();
15
- this.apiService = inject(APIService);
16
- }
17
- getSitesList() {
18
- }
19
- checkControlHubIntegration(customerId) {
20
- const URL = API.WEBEX_CHECK_CONTROL_HUB_INTEGRATION.replace(':customerId', String(customerId));
21
- return this.apiService.fetch(URL);
22
- // .pipe(this.handleError(true, true));
23
- }
24
- getAllCustomerSites(customerId, onlySitesWithLocation) {
25
- const params = {};
26
- if (onlySitesWithLocation) {
27
- params['onlySitesWithLocation'] = 'true';
28
- }
29
- return this.apiService.fetchPagination(API.SITES.replace(':customerId', String(customerId)), MAX_INTEGER, 0, params, false)
30
- .pipe(tap((res) => {
31
- // this._allSites = [];
32
- // if (res.pageData && res.pageData.length) {
33
- // this.assignAllSites(customerId, res.pageData);
34
- // }
35
- // this.allCustomerSites$.next(true);
36
- // return this._allSites;
37
- this.sitesListSubject$.next(res.pageData);
38
- }));
39
- // .pipe(this.handleError(true));
40
- }
41
- getSiteData(siteId) {
42
- // this.dataPending = true;
43
- return forkJoin([
44
- this.getSite(siteId),
45
- this.getDeviceTypes(siteId),
46
- this.getSiteDefaults(siteId, false),
47
- this.getVoiceMailUserTemplates(siteId)
48
- ]).pipe(tap(() => {
49
- // this.userFeaturesService.setDefaultUcProfile();
50
- }));
51
- }
52
- getSite(siteId, isEdit) {
53
- return this.apiService.fetch(API.SITE.replace(':siteId', String(siteId)), null, false)
54
- .pipe(map((siteData) => {
55
- const site = new Site(siteData);
56
- // if (isEdit) {
57
- // this.setEditSite(site);
58
- // } else {
59
- // this.setCurrentSite(site);
60
- // }
61
- return site;
62
- }));
63
- }
64
- getDeviceTypes(siteId) {
65
- return this.apiService.fetch(API.DEVICE_TYPES.replace(':siteId', String(siteId)), null, true);
66
- // .pipe(
67
- // map((types: string[]) => {
68
- // // this.deviceTypes = types)
69
- // })
70
- // );
71
- // .pipe(this.handleError(false, true));
72
- }
73
- getSiteDefaults(siteId, directAccess, sharedLineSiteIds) {
74
- const params = { directAccess: directAccess };
75
- // if (sharedLineSiteIds) {
76
- // params['sharedLineSiteIds'] = sharedLineSiteIds;
77
- // }
78
- return this.apiService.fetch(API.SITE_SETTINGS.replace(':siteId', String(siteId)), params);
79
- // .pipe(map((siteDefaults: SiteTemplateInterface) => {
80
- // // this.siteDefaults = new SiteDefaults(siteDefaults, !!sharedLineSiteIds);
81
- // // const copiedSiteDefaults = JSON.parse(JSON.stringify(siteDefaults));
82
- // // this.originalSiteDefaults = new SiteDefaults(copiedSiteDefaults, !!sharedLineSiteIds);
83
- // }));
84
- // .pipe(this.handleError(true, true));
85
- }
86
- getVoiceMailUserTemplates(siteId) {
87
- return this.apiService.fetch(API.VM_USER_TEMPLATES.replace(':siteId', String(siteId)), null, true)
88
- .pipe(map((templates) => {
89
- // this.voiceMailTemplates = templates;
90
- }));
91
- // .pipe(this.handleError(false, true));
92
- }
93
- fetchAllUserTemplates(siteId) {
94
- const params = {
95
- siteId: siteId,
96
- };
97
- return this.apiService.fetch(API.USER_TEMPLATES_UPLOAD_LIST, params)
98
- .pipe(tap((result) => {
99
- this.templatesListSubject$.next(result);
100
- }));
101
- }
102
- getUserTemplateToken(id, customerId) {
103
- return this.apiService.fetch(API.USER_TEMPLATE_TOKEN.replace(':customerId', customerId).replace(':id', id));
104
- // .pipe(this.handleError(false, true));
105
- }
106
- }
107
- UserCreationApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCreationApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
108
- UserCreationApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCreationApiService });
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCreationApiService, decorators: [{
110
- type: Injectable
111
- }], ctorParameters: function () { return []; } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jcmVhdGlvbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9zaGFyZWQvc2VydmljZXMvdXNlci1jcmVhdGlvbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxJQUFJLEVBQTZFLE1BQU0sb0JBQW9CLENBQUM7QUFDckgsOENBQThDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUdoRCxNQUFNLE9BQU8sc0JBQXNCO0lBV2pDO1FBVFEsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUNkLHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELGVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFbEQsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQTBCLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLG1CQUFjLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRW5FLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFeEIsQ0FBQztJQUVWLFlBQVk7SUFFbkIsQ0FBQztJQUVNLDBCQUEwQixDQUFDLFVBQWtCO1FBQ2xELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxF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bnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZm9ya0pvaW4sIG1hcCwgT2JzZXJ2YWJsZSwgdGFwIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFNpdGUsIFNpdGVEZWZhdWx0cywgU2l0ZUludGVyZmFjZSwgU2l0ZVRlbXBsYXRlSW50ZXJmYWNlLCBVc2VyVGVtcGxhdGVJbnRlcmZhY2UgfSBmcm9tIFwiLi4vLi4vY2xhc3Nlcy9zaXRlXCI7XG4vLyBpbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSBcIi4vYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IEFQSSwgTUFYX0lOVEVHRVIgfSBmcm9tIFwiLi4vLi4vYXBwLmNvbnN0YW50c1wiO1xuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gXCIuLi9hcGkvYXBpLnNlcnZpY2VcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVzZXJDcmVhdGlvbkFwaVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgX2FsbFNpdGVzOiBTaXRlW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBzaXRlc0xpc3RTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2l0ZVtdPihbXSk7XG4gIHB1YmxpYyByZWFkb25seSBzaXRlc0xpc3QkID0gdGhpcy5zaXRlc0xpc3RTdWJqZWN0JC5hc09ic2VydmFibGUoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlc0xpc3RTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VXNlclRlbXBsYXRlSW50ZXJmYWNlW10+KFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IHRlbXBsYXRlc0xpc3QkID0gdGhpcy50ZW1wbGF0ZXNMaXN0U3ViamVjdCQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFQSVNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHVibGljIGdldFNpdGVzTGlzdCgpIHtcblxuICB9XG5cbiAgcHVibGljIGNoZWNrQ29udHJvbEh1YkludGVncmF0aW9uKGN1c3RvbWVySWQ6IHN0cmluZykge1xuICAgIGNvbnN0IFVSTCA9IEFQSS5XRUJFWF9DSEVDS19DT05UUk9MX0hVQl9JTlRFR1JBVElPTi5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIFN0cmluZyhjdXN0b21lcklkKSk7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChVUkwpO1xuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgdHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbEN1c3RvbWVyU2l0ZXMoY3VzdG9tZXJJZDogc3RyaW5nLCBvbmx5U2l0ZXNXaXRoTG9jYXRpb24/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxTaXRlW10+IHtcbiAgICBjb25zdCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICBpZiAob25seVNpdGVzV2l0aExvY2F0aW9uKSB7XG4gICAgICBwYXJhbXNbJ29ubHlTaXRlc1dpdGhMb2NhdGlvbiddID0gJ3RydWUnO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoUGFnaW5hdGlvbihBUEkuU0lURVMucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBTdHJpbmcoY3VzdG9tZXJJZCkpLCBNQVhfSU5URUdFUiwgMCwgcGFyYW1zLCBmYWxzZSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgLy8gdGhpcy5fYWxsU2l0ZXMgPSBbXTtcbiAgICAgICAgICAvLyBpZiAocmVzLnBhZ2VEYXRhICYmIHJlcy5wYWdlRGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAvLyB0aGlzLmFzc2lnbkFsbFNpdGVzKGN1c3RvbWVySWQsIHJlcy5wYWdlRGF0YSk7XG4gICAgICAgICAgLy8gfVxuICAgICAgICAgIC8vIHRoaXMuYWxsQ3VzdG9tZXJTaXRlcyQubmV4dCh0cnVlKTtcbiAgICAgICAgICAvLyByZXR1cm4gdGhpcy5fYWxsU2l0ZXM7XG4gICAgICAgICAgdGhpcy5zaXRlc0xpc3RTdWJqZWN0JC5uZXh0KHJlcy5wYWdlRGF0YSk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgLy8gICAucGlwZSh0aGlzLmhhbmRsZUVycm9yKHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaXRlRGF0YShzaXRlSWQ6IG51bWJlcikge1xuICAgIC8vIHRoaXMuZGF0YVBlbmRpbmcgPSB0cnVlO1xuICAgIHJldHVybiBmb3JrSm9pbihbXG4gICAgICB0aGlzLmdldFNpdGUoc2l0ZUlkKSxcbiAgICAgIHRoaXMuZ2V0RGV2aWNlVHlwZXMoc2l0ZUlkKSxcbiAgICAgIHRoaXMuZ2V0U2l0ZURlZmF1bHRzKHNpdGVJZCwgZmFsc2UpLFxuICAgICAgdGhpcy5nZXRWb2ljZU1haWxVc2VyVGVtcGxhdGVzKHNpdGVJZClcbiAgICBdKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgLy8gICB0aGlzLnVzZXJGZWF0dXJlc1NlcnZpY2Uuc2V0RGVmYXVsdFVjUHJvZmlsZSgpO1xuICAgICAgfSkpXG4gIH1cblxuICBwdWJsaWMgZ2V0U2l0ZShzaXRlSWQ6IG51bWJlciwgaXNFZGl0PzogYm9vbGVhbik6IE9ic2VydmFibGU8U2l0ZUludGVyZmFjZT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLlNJVEUucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKSwgbnVsbCwgZmFsc2UpXG4gICAgICAucGlwZShtYXAoKHNpdGVEYXRhOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3Qgc2l0ZSA9IG5ldyBTaXRlKHNpdGVEYXRhKTtcbiAgICAgICAgLy8gaWYgKGlzRWRpdCkge1xuICAgICAgICAvLyAgIHRoaXMuc2V0RWRpdFNpdGUoc2l0ZSk7XG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgIC8vICAgdGhpcy5zZXRDdXJyZW50U2l0ZShzaXRlKTtcbiAgICAgICAgLy8gfVxuICAgICAgICByZXR1cm4gc2l0ZTtcbiAgICAgIH0pKVxuICB9XG5cbiAgcHVibGljIGdldERldmljZVR5cGVzKHNpdGVJZDogbnVtYmVyIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLkRFVklDRV9UWVBFUy5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHNpdGVJZCkpLCBudWxsLCB0cnVlKVxuICAgIC8vICAgLnBpcGUoXG4gICAgLy8gICAgIG1hcCgodHlwZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgLy8gICAgICAgICAvLyB0aGlzLmRldmljZVR5cGVzID0gdHlwZXMpXG4gICAgLy8gICAgIH0pXG4gICAgLy8gKTtcbiAgICAvLyAgIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IoZmFsc2UsIHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaXRlRGVmYXVsdHMoc2l0ZUlkOiBudW1iZXIsIGRpcmVjdEFjY2VzczogYm9vbGVhbiwgc2hhcmVkTGluZVNpdGVJZHM/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNpdGVEZWZhdWx0cz4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHsgZGlyZWN0QWNjZXNzOiBkaXJlY3RBY2Nlc3MgfTtcbiAgICAvLyBpZiAoc2hhcmVkTGluZVNpdGVJZHMpIHtcbiAgICAvLyAgIHBhcmFtc1snc2hhcmVkTGluZVNpdGVJZHMnXSA9IHNoYXJlZExpbmVTaXRlSWRzO1xuICAgIC8vIH1cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5TSVRFX1NFVFRJTkdTLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSksIHBhcmFtcylcbiAgICAvLyAgIC5waXBlKG1hcCgoc2l0ZURlZmF1bHRzOiBTaXRlVGVtcGxhdGVJbnRlcmZhY2UpID0+IHtcbiAgICAvLyAgICAgLy8gdGhpcy5zaXRlRGVmYXVsdHMgPSBuZXcgU2l0ZURlZmF1bHRzKHNpdGVEZWZhdWx0cywgISFzaGFyZWRMaW5lU2l0ZUlkcyk7XG4gICAgLy8gICAgIC8vIGNvbnN0IGNvcGllZFNpdGVEZWZhdWx0cyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc2l0ZURlZmF1bHRzKSk7XG4gICAgLy8gICAgIC8vIHRoaXMub3JpZ2luYWxTaXRlRGVmYXVsdHMgPSBuZXcgU2l0ZURlZmF1bHRzKGNvcGllZFNpdGVEZWZhdWx0cywgISFzaGFyZWRMaW5lU2l0ZUlkcyk7XG4gICAgLy8gICB9KSk7XG4gICAgLy8gICAucGlwZSh0aGlzLmhhbmRsZUVycm9yKHRydWUsIHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWb2ljZU1haWxVc2VyVGVtcGxhdGVzKHNpdGVJZDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuVk1fVVNFUl9URU1QTEFURVMucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKSwgbnVsbCwgdHJ1ZSlcbiAgICAgIC5waXBlKG1hcCgodGVtcGxhdGVzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgICAvLyB0aGlzLnZvaWNlTWFpbFRlbXBsYXRlcyA9IHRlbXBsYXRlcztcbiAgICAgIH0pKTtcbiAgICAvLyAgIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IoZmFsc2UsIHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaEFsbFVzZXJUZW1wbGF0ZXMoc2l0ZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFVzZXJUZW1wbGF0ZUludGVyZmFjZVtdPiB7XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgc2l0ZUlkOiBzaXRlSWQsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5VU0VSX1RFTVBMQVRFU19VUExPQURfTElTVCwgcGFyYW1zKVxuICAgICAgLnBpcGUodGFwKChyZXN1bHQ6IFVzZXJUZW1wbGF0ZUludGVyZmFjZVtdKSA9PiB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzTGlzdFN1YmplY3QkLm5leHQocmVzdWx0KTtcbiAgICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVc2VyVGVtcGxhdGVUb2tlbihpZDogc3RyaW5nLCBjdXN0b21lcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLlVTRVJfVEVNUExBVEVfVE9LRU4ucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBjdXN0b21lcklkKS5yZXBsYWNlKCc6aWQnLCBpZCkpXG4gICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcihmYWxzZSwgdHJ1ZSkpO1xuICB9XG59Il19
@@ -1,19 +0,0 @@
1
- export const getSavableData = (model, exclude) => {
2
- let result = Object.keys(model);
3
- if (exclude && exclude.length) {
4
- result = result.filter(key => !exclude.some(item => item === key));
5
- }
6
- return result.reduce((result, key) => {
7
- if (model[key] instanceof Array && model[key].length && model[key][0].getSavableData) {
8
- result[key] = model[key].map((item) => item.getSavableData());
9
- }
10
- else if (model[key] instanceof Object && model[key].getSavableData) {
11
- result[key] = model[key].getSavableData();
12
- }
13
- else {
14
- result[key] = model[key];
15
- }
16
- return result;
17
- }, {});
18
- };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1jcmVhdGlvbi9zcmMvc2hhcmVkL3NlcnZpY2VzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQVUsRUFBRSxPQUF1QixFQUFFLEVBQUU7SUFDcEUsSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1FBQzdCLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDcEU7SUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFXLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDeEMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksS0FBSyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRTtZQUNwRixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7U0FDcEU7YUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRTtZQUNwRSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzNDO2FBQU07WUFDTCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGdldFNhdmFibGVEYXRhID0gKG1vZGVsOiBhbnksIGV4Y2x1ZGU/OiBBcnJheTxzdHJpbmc+KSA9PiB7XG4gIGxldCByZXN1bHQgPSBPYmplY3Qua2V5cyhtb2RlbCk7XG4gIGlmIChleGNsdWRlICYmIGV4Y2x1ZGUubGVuZ3RoKSB7XG4gICAgcmVzdWx0ID0gcmVzdWx0LmZpbHRlcihrZXkgPT4gIWV4Y2x1ZGUuc29tZShpdGVtID0+IGl0ZW0gPT09IGtleSkpO1xuICB9XG4gIHJldHVybiByZXN1bHQucmVkdWNlKChyZXN1bHQ6IGFueSwga2V5KSA9PiB7XG4gICAgaWYgKG1vZGVsW2tleV0gaW5zdGFuY2VvZiBBcnJheSAmJiBtb2RlbFtrZXldLmxlbmd0aCAmJiBtb2RlbFtrZXldWzBdLmdldFNhdmFibGVEYXRhKSB7XG4gICAgICByZXN1bHRba2V5XSA9IG1vZGVsW2tleV0ubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0uZ2V0U2F2YWJsZURhdGEoKSk7XG4gICAgfSBlbHNlIGlmIChtb2RlbFtrZXldIGluc3RhbmNlb2YgT2JqZWN0ICYmIG1vZGVsW2tleV0uZ2V0U2F2YWJsZURhdGEpIHtcbiAgICAgIHJlc3VsdFtrZXldID0gbW9kZWxba2V5XS5nZXRTYXZhYmxlRGF0YSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHRba2V5XSA9IG1vZGVsW2tleV07XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0sIHt9KTtcbn07Il19
@@ -1,33 +0,0 @@
1
- import { NgModule } from "@angular/core";
2
- import { CommonModule } from "@angular/common";
3
- import { MaterialModule } from "./material.module";
4
- import { NgApexchartsModule } from "ng-apexcharts";
5
- import { HttpClientModule } from "@angular/common/http";
6
- import * as i0 from "@angular/core";
7
- export class SharedModule {
8
- }
9
- SharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SharedModule, imports: [CommonModule,
11
- MaterialModule,
12
- NgApexchartsModule,
13
- HttpClientModule], exports: [MaterialModule] });
14
- SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedModule, imports: [CommonModule,
15
- MaterialModule,
16
- NgApexchartsModule,
17
- HttpClientModule, MaterialModule] });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedModule, decorators: [{
19
- type: NgModule,
20
- args: [{
21
- declarations: [],
22
- imports: [
23
- CommonModule,
24
- MaterialModule,
25
- NgApexchartsModule,
26
- HttpClientModule,
27
- ],
28
- exports: [
29
- MaterialModule
30
- ]
31
- }]
32
- }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9zaGFyZWQvc2hhcmVkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRWxELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQWN4RCxNQUFNLE9BQU8sWUFBWTs7MEdBQVosWUFBWTsyR0FBWixZQUFZLFlBVGpCLFlBQVk7UUFDWixjQUFjO1FBQ2Qsa0JBQWtCO1FBQ2xCLGdCQUFnQixhQUdoQixjQUFjOzJHQUdULFlBQVksWUFUakIsWUFBWTtRQUNaLGNBQWM7UUFDZCxrQkFBa0I7UUFDbEIsZ0JBQWdCLEVBR2hCLGNBQWM7NEZBR1QsWUFBWTtrQkFaeEIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLGdCQUFnQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGNBQWM7cUJBQ2pCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE1hdGVyaWFsTW9kdWxlIH0gZnJvbSBcIi4vbWF0ZXJpYWwubW9kdWxlXCI7XHJcbmltcG9ydCB7IE5nQXBleGNoYXJ0c01vZHVsZSB9IGZyb20gXCJuZy1hcGV4Y2hhcnRzXCJcclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW10sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIE1hdGVyaWFsTW9kdWxlLFxyXG4gICAgICAgIE5nQXBleGNoYXJ0c01vZHVsZSxcclxuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBNYXRlcmlhbE1vZHVsZVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hhcmVkTW9kdWxlIHt9Il19