@tuki-io/tuki-widgets 0.0.219-dev.6 → 0.0.219-dev.60
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.
- package/contact-center/cc-import/cc-import.module.d.ts +13 -0
- package/contact-center/cc-import/cc-import.service.d.ts +85 -0
- package/contact-center/cc-import/components/import-contact-center-panel/import-contact-center-panel.component.d.ts +56 -0
- package/contact-center/cc-import/components/import-contact-center-wizard/import-contact-center-wizard.component.d.ts +77 -0
- package/contact-center/cc-import/components/import-contact-center-wizard/import-contact-center-wizard.types.d.ts +3 -0
- package/contact-center/cc-import/constants/cc-import.constants.d.ts +37 -0
- package/contact-center/cc-import/mock/cc-import.mock.d.ts +4 -0
- package/contact-center/cc-import/types/cc-import.d.ts +73 -0
- package/contact-center/cc-import/types/uccx.d.ts +109 -0
- package/contact-center/cc-readiness/cc-readiness.module.d.ts +3 -3
- package/contact-center/public-api.d.ts +8 -0
- package/contact-center/shared/api.endpoints.d.ts +25 -0
- package/contact-center/shared/api.service.d.ts +3 -1
- package/contact-center/shared/components/card/card.component.d.ts +13 -0
- package/contact-center/shared/dcp-api.service.d.ts +15 -0
- package/contact-center/shared/shared.module.d.ts +11 -5
- package/di2mt/api/api.endpoints.d.ts +3 -0
- package/esm2020/contact-center/cc-import/cc-import.module.mjs +45 -0
- package/esm2020/contact-center/cc-import/cc-import.service.mjs +228 -0
- package/esm2020/contact-center/cc-import/components/import-contact-center-panel/import-contact-center-panel.component.mjs +144 -0
- package/esm2020/contact-center/cc-import/components/import-contact-center-wizard/import-contact-center-wizard.component.mjs +243 -0
- package/esm2020/contact-center/cc-import/components/import-contact-center-wizard/import-contact-center-wizard.types.mjs +3 -0
- package/esm2020/contact-center/cc-import/constants/cc-import.constants.mjs +62 -0
- package/esm2020/contact-center/cc-import/mock/cc-import.mock.mjs +78 -0
- package/esm2020/contact-center/cc-import/types/cc-import.mjs +2 -0
- package/esm2020/contact-center/cc-import/types/uccx.mjs +24 -0
- package/esm2020/contact-center/cc-readiness/cc-readiness.module.mjs +7 -6
- package/esm2020/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.mjs +5 -5
- package/esm2020/contact-center/cc-readiness/widgets/summary-grid/summary-grid.component.mjs +2 -2
- package/esm2020/contact-center/public-api.mjs +9 -1
- package/esm2020/contact-center/shared/api.endpoints.mjs +26 -1
- package/esm2020/contact-center/shared/api.service.mjs +8 -3
- package/esm2020/contact-center/shared/components/card/card.component.mjs +24 -0
- package/esm2020/contact-center/shared/dcp-api.service.mjs +26 -0
- package/esm2020/contact-center/shared/shared.module.mjs +15 -5
- package/esm2020/di2mt/api/api.endpoints.mjs +4 -1
- package/esm2020/locations/public-api.mjs +8 -0
- package/esm2020/locations/src/app.constants.mjs +18 -0
- package/esm2020/locations/src/location-confirm-dialog/location-confirm-dialog.component.mjs +23 -0
- package/esm2020/locations/src/locations.component.mjs +398 -0
- package/esm2020/locations/src/locations.module.mjs +42 -0
- package/esm2020/locations/src/material.module.mjs +55 -0
- package/esm2020/locations/src/services/api.service.mjs +67 -0
- package/esm2020/locations/src/services/locations.service.mjs +69 -0
- package/esm2020/locations/src/types/location.mjs +2 -0
- package/esm2020/locations/src/utils/app-loader/app-loader.mjs +14 -0
- package/esm2020/locations/tuki-io-tuki-widgets-locations.mjs +5 -0
- package/esm2020/meetings/public-api.mjs +8 -0
- package/esm2020/meetings/src/app.constants.mjs +9 -0
- package/esm2020/meetings/src/components/live-meetings/live-meeting/live-meeting.component.mjs +107 -0
- package/esm2020/meetings/src/components/live-meetings/live-meetings.component.mjs +98 -0
- package/esm2020/meetings/src/components/meeting-spaces/meeting-space/meeting-space.component.mjs +110 -0
- package/esm2020/meetings/src/components/meeting-spaces/meeting-spaces.component.mjs +65 -0
- package/esm2020/meetings/src/material.module.mjs +76 -0
- package/esm2020/meetings/src/meetings.component.mjs +65 -0
- package/esm2020/meetings/src/meetings.module.mjs +51 -0
- package/esm2020/meetings/src/services/api.service.mjs +67 -0
- package/esm2020/meetings/src/services/live-meetings.service.mjs +178 -0
- package/esm2020/meetings/src/services/meeting-spaces.service.mjs +102 -0
- package/esm2020/meetings/src/types/live-meeting.mjs +2 -0
- package/esm2020/meetings/src/types/meeting-space.mjs +2 -0
- package/esm2020/meetings/src/utils/app-loader/app-loader.mjs +14 -0
- package/esm2020/meetings/tuki-io-tuki-widgets-meetings.mjs +5 -0
- package/esm2020/shared/public-api.mjs +4 -0
- package/esm2020/shared/src/ui/material.module.mjs +188 -0
- package/esm2020/shared/src/ui/shared.module.mjs +36 -0
- package/esm2020/shared/src/ui/tk-page-section/tk-page-section.component.mjs +13 -0
- package/esm2020/shared/src/ui/tk-page-section-row/tk-page-section-row.component.mjs +13 -0
- package/esm2020/shared/src/ui/ui.module.mjs +37 -0
- package/esm2020/shared/tuki-io-tuki-widgets-shared.mjs +5 -0
- package/esm2020/user-creation/src/utils/device-default-prefix.mjs +19 -2
- package/esm2020/user-creation/src/utils/device-name-dynamic-tokens.mjs +4 -0
- package/esm2020/user-creation/src/utils/parse-device-name-rule.mjs +6 -3
- package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.mjs +60 -13
- package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-template-step/user-template-step.component.mjs +2 -1
- package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +8 -6
- package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.mjs +13 -9
- package/esm2020/user-device-manage/public-api.mjs +4 -1
- package/esm2020/user-device-manage/src/app.constants.mjs +9 -3
- package/esm2020/user-device-manage/src/associate-lines/associate-lines.component.mjs +311 -0
- package/esm2020/user-device-manage/src/classes/device.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/deviceProfile.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/simplified-user.mjs +1 -1
- package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +2 -2
- package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +34 -17
- package/esm2020/user-device-manage/src/device-settings/device-settings.component.mjs +207 -0
- package/esm2020/user-device-manage/src/line-key-config/line-key-config.component.mjs +401 -0
- package/esm2020/user-device-manage/src/services/device.service.mjs +32 -2
- package/esm2020/user-device-manage/src/services/user.service.mjs +34 -6
- package/esm2020/user-device-manage/src/user-device-manage.module.mjs +19 -7
- package/esm2020/user-manage/src/app.constants.mjs +8 -1
- package/esm2020/user-manage/src/classes/simplified-user.mjs +19 -4
- package/esm2020/user-manage/src/device-list/device-list.component.mjs +7 -4
- package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +6 -3
- package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +9 -5
- package/esm2020/user-manage/src/material.module.mjs +21 -7
- package/esm2020/user-manage/src/services/dcp-api.service.mjs +79 -0
- package/esm2020/user-manage/src/services/site-settings.service.mjs +11 -4
- package/esm2020/user-manage/src/services/user.service.mjs +94 -19
- package/esm2020/user-manage/src/user-calling/user-calling.component.mjs +12 -7
- package/esm2020/user-manage/src/user-manage-widget.component.mjs +90 -39
- package/esm2020/user-manage/src/user-manage.module.mjs +14 -4
- package/esm2020/user-manage/src/user-summary/user-summary.component.mjs +30 -0
- package/esm2020/users-list/src/app.constants.mjs +2 -1
- package/esm2020/users-list/src/classes/simlified-user.mjs +1 -1
- package/esm2020/users-list/src/classes/user-list.mjs +2 -1
- package/esm2020/users-list/src/components/table-toolbar/table-toolbar.component.mjs +3 -3
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs +14 -3
- package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +5 -3
- package/esm2020/users-list/src/users-list.component.mjs +100 -17
- package/esm2020/workspaces/public-api.mjs +8 -0
- package/esm2020/workspaces/src/app.constants.mjs +27 -0
- package/esm2020/workspaces/src/components/workspace-confirm-dialog/workspace-confirm-dialog.component.mjs +32 -0
- package/esm2020/workspaces/src/components/workspace-detail/workspace-detail.component.mjs +96 -0
- package/esm2020/workspaces/src/components/workspace-device-detail/workspace-device-detail.component.mjs +66 -0
- package/esm2020/workspaces/src/components/workspaces-filters/workspaces-filters.component.mjs +56 -0
- package/esm2020/workspaces/src/components/workspaces-table/workspaces-table.component.mjs +130 -0
- package/esm2020/workspaces/src/material.module.mjs +83 -0
- package/esm2020/workspaces/src/services/api-webex.service.mjs +14 -0
- package/esm2020/workspaces/src/services/api.service.mjs +67 -0
- package/esm2020/workspaces/src/services/workspace-detail.service.mjs +169 -0
- package/esm2020/workspaces/src/services/workspaces-migration.service.mjs +59 -0
- package/esm2020/workspaces/src/services/workspaces.service.mjs +150 -0
- package/esm2020/workspaces/src/types/workspace.mjs +4 -0
- package/esm2020/workspaces/src/utils/app-loader/app-loader.mjs +14 -0
- package/esm2020/workspaces/src/utils/device-icon.mjs +13 -0
- package/esm2020/workspaces/src/utils/workspace-name.mjs +8 -0
- package/esm2020/workspaces/src/workspaces.component.mjs +306 -0
- package/esm2020/workspaces/src/workspaces.module.mjs +54 -0
- package/esm2020/workspaces/tuki-io-tuki-widgets-workspaces.mjs +5 -0
- package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs +998 -127
- package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +3 -0
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-locations.mjs +679 -0
- package/fesm2015/tuki-io-tuki-widgets-locations.mjs.map +1 -0
- package/fesm2015/tuki-io-tuki-widgets-meetings.mjs +894 -0
- package/fesm2015/tuki-io-tuki-widgets-meetings.mjs.map +1 -0
- package/fesm2015/tuki-io-tuki-widgets-shared.mjs +280 -0
- package/fesm2015/tuki-io-tuki-widgets-shared.mjs.map +1 -0
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +111 -32
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +1013 -48
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +380 -89
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +121 -22
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-workspaces.mjs +1275 -0
- package/fesm2015/tuki-io-tuki-widgets-workspaces.mjs.map +1 -0
- package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs +989 -127
- package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +3 -0
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-locations.mjs +672 -0
- package/fesm2020/tuki-io-tuki-widgets-locations.mjs.map +1 -0
- package/fesm2020/tuki-io-tuki-widgets-meetings.mjs +902 -0
- package/fesm2020/tuki-io-tuki-widgets-meetings.mjs.map +1 -0
- package/fesm2020/tuki-io-tuki-widgets-shared.mjs +280 -0
- package/fesm2020/tuki-io-tuki-widgets-shared.mjs.map +1 -0
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +104 -28
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +996 -47
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +366 -82
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +120 -22
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-workspaces.mjs +1276 -0
- package/fesm2020/tuki-io-tuki-widgets-workspaces.mjs.map +1 -0
- package/locations/index.d.ts +5 -0
- package/locations/public-api.d.ts +2 -0
- package/locations/src/app.constants.d.ts +10 -0
- package/locations/src/location-confirm-dialog/location-confirm-dialog.component.d.ts +15 -0
- package/locations/src/locations.component.d.ts +92 -0
- package/locations/src/locations.module.d.ts +13 -0
- package/locations/src/material.module.d.ts +12 -0
- package/locations/src/services/api.service.d.ts +18 -0
- package/locations/src/services/locations.service.d.ts +25 -0
- package/locations/src/types/location.d.ts +30 -0
- package/locations/src/utils/app-loader/app-loader.d.ts +6 -0
- package/meetings/index.d.ts +5 -0
- package/meetings/public-api.d.ts +2 -0
- package/meetings/src/app.constants.d.ts +8 -0
- package/meetings/src/components/live-meetings/live-meeting/live-meeting.component.d.ts +34 -0
- package/meetings/src/components/live-meetings/live-meetings.component.d.ts +43 -0
- package/meetings/src/components/meeting-spaces/meeting-space/meeting-space.component.d.ts +39 -0
- package/meetings/src/components/meeting-spaces/meeting-spaces.component.d.ts +27 -0
- package/meetings/src/material.module.d.ts +15 -0
- package/meetings/src/meetings.component.d.ts +29 -0
- package/meetings/src/meetings.module.d.ts +16 -0
- package/meetings/src/services/api.service.d.ts +18 -0
- package/meetings/src/services/live-meetings.service.d.ts +9 -0
- package/meetings/src/services/meeting-spaces.service.d.ts +16 -0
- package/meetings/src/types/live-meeting.d.ts +71 -0
- package/meetings/src/types/meeting-space.d.ts +52 -0
- package/meetings/src/utils/app-loader/app-loader.d.ts +6 -0
- package/package.json +33 -1
- package/shared/index.d.ts +5 -0
- package/shared/public-api.d.ts +3 -0
- package/shared/src/ui/material.module.d.ts +28 -0
- package/shared/src/ui/shared.module.d.ts +10 -0
- package/{user-device-manage/src/shared/tk-page-section/page-section.component.d.ts → shared/src/ui/tk-page-section/tk-page-section.component.d.ts} +1 -1
- package/shared/src/ui/tk-page-section-row/tk-page-section-row.component.d.ts +6 -0
- package/shared/src/ui/ui.module.d.ts +11 -0
- package/user-creation/src/utils/device-default-prefix.d.ts +7 -2
- package/user-creation/src/utils/device-name-dynamic-tokens.d.ts +1 -0
- package/user-creation/src/utils/parse-device-name-rule.d.ts +1 -0
- package/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.d.ts +2 -0
- package/user-device-manage/public-api.d.ts +3 -0
- package/user-device-manage/src/app.constants.d.ts +6 -0
- package/user-device-manage/src/associate-lines/associate-lines.component.d.ts +95 -0
- package/user-device-manage/src/classes/device.d.ts +15 -0
- package/user-device-manage/src/classes/deviceProfile.d.ts +5 -0
- package/user-device-manage/src/classes/simplified-user.d.ts +1 -1
- package/user-device-manage/src/device-associated-line/device-associated-line.component.d.ts +1 -0
- package/user-device-manage/src/device-manage-widget.component.d.ts +6 -1
- package/user-device-manage/src/device-settings/device-settings.component.d.ts +53 -0
- package/user-device-manage/src/line-key-config/line-key-config.component.d.ts +84 -0
- package/user-device-manage/src/services/device.service.d.ts +6 -1
- package/user-device-manage/src/services/user.service.d.ts +2 -1
- package/user-device-manage/src/user-device-manage.module.d.ts +12 -10
- package/user-manage/src/app.constants.d.ts +7 -0
- package/user-manage/src/classes/simplified-user.d.ts +17 -1
- package/user-manage/src/device-list/device-list.component.d.ts +2 -0
- package/user-manage/src/material.module.d.ts +3 -1
- package/user-manage/src/services/dcp-api.service.d.ts +21 -0
- package/user-manage/src/services/user.service.d.ts +19 -1
- package/user-manage/src/user-calling/user-calling.component.d.ts +3 -2
- package/user-manage/src/user-manage-widget.component.d.ts +14 -2
- package/user-manage/src/user-manage.module.d.ts +9 -7
- package/user-manage/src/user-summary/user-summary.component.d.ts +10 -0
- package/users-list/src/app.constants.d.ts +1 -0
- package/users-list/src/classes/simlified-user.d.ts +1 -1
- package/users-list/src/classes/user-list.d.ts +4 -0
- package/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.d.ts +3 -1
- package/users-list/src/move-user-wizard/move-user-wizard.component.d.ts +2 -1
- package/users-list/src/users-list.component.d.ts +6 -1
- package/workspaces/index.d.ts +5 -0
- package/workspaces/public-api.d.ts +2 -0
- package/workspaces/src/app.constants.d.ts +25 -0
- package/workspaces/src/components/workspace-confirm-dialog/workspace-confirm-dialog.component.d.ts +20 -0
- package/workspaces/src/components/workspace-detail/workspace-detail.component.d.ts +34 -0
- package/workspaces/src/components/workspace-device-detail/workspace-device-detail.component.d.ts +25 -0
- package/workspaces/src/components/workspaces-filters/workspaces-filters.component.d.ts +20 -0
- package/workspaces/src/components/workspaces-table/workspaces-table.component.d.ts +43 -0
- package/workspaces/src/material.module.d.ts +16 -0
- package/workspaces/src/services/api-webex.service.d.ts +6 -0
- package/workspaces/src/services/api.service.d.ts +18 -0
- package/workspaces/src/services/workspace-detail.service.d.ts +22 -0
- package/workspaces/src/services/workspaces-migration.service.d.ts +18 -0
- package/workspaces/src/services/workspaces.service.d.ts +11 -0
- package/workspaces/src/types/workspace.d.ts +439 -0
- package/workspaces/src/utils/app-loader/app-loader.d.ts +6 -0
- package/workspaces/src/utils/device-icon.d.ts +1 -0
- package/workspaces/src/utils/workspace-name.d.ts +1 -0
- package/workspaces/src/workspaces.component.d.ts +74 -0
- package/workspaces/src/workspaces.module.d.ts +17 -0
- package/contact-center/cc-readiness/components/card/card.component.d.ts +0 -6
- package/esm2020/contact-center/cc-readiness/components/card/card.component.mjs +0 -13
- package/esm2020/user-device-manage/src/shared/tk-page-section/page-section.component.mjs +0 -13
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { forkJoin } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { API } from '../app.constants';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./api.service";
|
|
7
|
+
import * as i2 from "./api-webex.service";
|
|
8
|
+
export class WorkspaceDetailService {
|
|
9
|
+
constructor(apiService, apiWebexService) {
|
|
10
|
+
this.apiService = apiService;
|
|
11
|
+
this.apiWebexService = apiWebexService;
|
|
12
|
+
}
|
|
13
|
+
getByWorkspace(workspace, connectionType, customerId) {
|
|
14
|
+
if (connectionType === 'webex' && workspace.device.webexUUID) {
|
|
15
|
+
return this.getWebexDetails(customerId, workspace.device.webexUUID);
|
|
16
|
+
}
|
|
17
|
+
return this.getCucmDetails(workspace);
|
|
18
|
+
}
|
|
19
|
+
getWebexDetails(customerId, workspaceId) {
|
|
20
|
+
const params = { customerId: String(customerId), workspaceId };
|
|
21
|
+
return forkJoin([
|
|
22
|
+
this.apiWebexService.fetch(this.buildUrl(API.DETAILS.WEBEX.WORKSPACE, params)),
|
|
23
|
+
this.apiWebexService.fetch(this.buildUrl(API.DETAILS.WEBEX.NUMBERS, params)),
|
|
24
|
+
this.apiWebexService.fetch(this.buildUrl(API.DETAILS.WEBEX.CALLERID, params)),
|
|
25
|
+
]).pipe(map(([workspaceRes, numbersRes, callerIdRes]) => this.toWebexDetails(workspaceRes, numbersRes, callerIdRes)));
|
|
26
|
+
}
|
|
27
|
+
toWebexDetails(workspaceRes, numbersRes, callerIdRes) {
|
|
28
|
+
const primaryNumber = numbersRes.phoneNumbers?.find(number => number.primary) ?? numbersRes.phoneNumbers?.[0];
|
|
29
|
+
return {
|
|
30
|
+
issues: this.buildIssues(workspaceRes.type, workspaceRes.capacity),
|
|
31
|
+
location: {
|
|
32
|
+
country: numbersRes.location?.name || workspaceRes.locationName || 'Not set',
|
|
33
|
+
address: numbersRes.location?.address || 'Address not available',
|
|
34
|
+
},
|
|
35
|
+
calling: {
|
|
36
|
+
license: workspaceRes.licenseName || 'Not set',
|
|
37
|
+
sipAddress: workspaceRes.sipAddress || 'Not assigned',
|
|
38
|
+
directoryNumber: primaryNumber?.external || primaryNumber?.extension || 'Not assigned',
|
|
39
|
+
extension: primaryNumber?.extension || undefined,
|
|
40
|
+
routePartition: '',
|
|
41
|
+
callingSearchSpace: '',
|
|
42
|
+
securityProfile: '',
|
|
43
|
+
externalCallerIdName: callerIdRes.locationExternalCallerIdName || callerIdRes.customExternalCallerIdName || undefined,
|
|
44
|
+
externalCallerIdNumber: callerIdRes.locationNumber || callerIdRes.customNumber || callerIdRes.directNumber || undefined,
|
|
45
|
+
},
|
|
46
|
+
schedulingConfigured: false,
|
|
47
|
+
plannedMaintenanceEnabled: false,
|
|
48
|
+
notes: null,
|
|
49
|
+
capacity: workspaceRes.capacity,
|
|
50
|
+
device: this.buildWebexDeviceDetails(workspaceRes, numbersRes),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
buildWebexDeviceDetails(workspaceRes, numbersRes) {
|
|
54
|
+
const device = workspaceRes.devices?.[0];
|
|
55
|
+
const primaryNumber = numbersRes.phoneNumbers?.find(number => number.primary) ?? numbersRes.phoneNumbers?.[0];
|
|
56
|
+
return {
|
|
57
|
+
model: device?.model || 'Unknown device',
|
|
58
|
+
registrationStatus: device?.registered ? 'Registered' : 'Not Registered',
|
|
59
|
+
mac: device?.mac || 'N/A',
|
|
60
|
+
lineCount: numbersRes.phoneNumbers?.length ?? null,
|
|
61
|
+
hostIpAddress: 'N/A',
|
|
62
|
+
remoteIpAddress: 'N/A',
|
|
63
|
+
managedBy: 'Cisco',
|
|
64
|
+
softwareChannel: 'Unknown',
|
|
65
|
+
softwareVersion: 'N/A',
|
|
66
|
+
lines: primaryNumber ? [{
|
|
67
|
+
name: workspaceRes.workspaceName || '',
|
|
68
|
+
number: primaryNumber.external || primaryNumber.extension || 'NA',
|
|
69
|
+
registered: !!device?.registered,
|
|
70
|
+
}] : [],
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
getCucmDetails(workspace) {
|
|
74
|
+
const siteId = String(workspace.siteId);
|
|
75
|
+
const params = { siteId, workspaceId: workspace.cucmDeviceName ?? workspace.device.name };
|
|
76
|
+
return forkJoin([
|
|
77
|
+
this.apiService.fetch(this.buildUrl(API.DETAILS.CUCM.WORKSPACE, params)),
|
|
78
|
+
this.apiService.fetch(this.buildUrl(API.DETAILS.CUCM.SITE, { siteId })),
|
|
79
|
+
]).pipe(map(([workspaceRes, siteRes]) => this.toCucmDetails(workspace, workspaceRes, siteRes)));
|
|
80
|
+
}
|
|
81
|
+
toCucmDetails(workspace, workspaceRes, siteRes) {
|
|
82
|
+
const device = workspaceRes.device;
|
|
83
|
+
const directoryNumber = device.associatedDNs?.[0]?.directoryNumber ?? '';
|
|
84
|
+
const sipAddress = `${(device.name || workspace.displayName || 'workspace').toLowerCase()}@tukidev.rooms.webex.com`;
|
|
85
|
+
const address = [siteRes.address2, siteRes.address3].filter(Boolean).join(', ');
|
|
86
|
+
return {
|
|
87
|
+
issues: this.buildIssues(workspace.typeLabel, workspace.capacity),
|
|
88
|
+
location: {
|
|
89
|
+
country: siteRes.country || 'Not set',
|
|
90
|
+
address: address || 'Address not available',
|
|
91
|
+
},
|
|
92
|
+
calling: {
|
|
93
|
+
license: workspace.callingLicense || 'Cisco Webex Calling Professional Workspace',
|
|
94
|
+
sipAddress,
|
|
95
|
+
directoryNumber: directoryNumber || 'Not assigned',
|
|
96
|
+
routePartition: device.associatedDNs?.[0]?.routePartitionName || 'Not set',
|
|
97
|
+
callingSearchSpace: device.callingSearchSpaceName || 'Not set',
|
|
98
|
+
securityProfile: device.securityProfile || 'Not set',
|
|
99
|
+
},
|
|
100
|
+
schedulingConfigured: false,
|
|
101
|
+
plannedMaintenanceEnabled: false,
|
|
102
|
+
notes: null,
|
|
103
|
+
device: this.buildCucmDeviceDetails(workspaceRes),
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
buildCucmDeviceDetails(workspaceRes) {
|
|
107
|
+
const device = workspaceRes.device;
|
|
108
|
+
const isRegistered = (device.deviceRegStatus || '').toLowerCase() === 'registered';
|
|
109
|
+
return {
|
|
110
|
+
model: device.deviceType || 'Unknown device',
|
|
111
|
+
registrationStatus: device.deviceRegStatus || 'Not Registered',
|
|
112
|
+
mac: workspaceRes.workspaceDevices?.[0]?.mac || 'N/A',
|
|
113
|
+
lineCount: workspaceRes.lines?.length ?? null,
|
|
114
|
+
hostIpAddress: device.ipAddress || 'N/A',
|
|
115
|
+
remoteIpAddress: 'N/A',
|
|
116
|
+
managedBy: 'Cisco',
|
|
117
|
+
softwareChannel: 'Unknown',
|
|
118
|
+
softwareVersion: device.firmwareVersion || 'N/A',
|
|
119
|
+
lines: (workspaceRes.lines || []).map(line => ({
|
|
120
|
+
name: line.alertingName || line.description || '',
|
|
121
|
+
number: line.directoryNumber?.directoryNumber || 'NA',
|
|
122
|
+
registered: isRegistered,
|
|
123
|
+
})),
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
buildUrl(template, params) {
|
|
127
|
+
return Object.keys(params).reduce((url, key) => url.replace(`:${key}`, params[key]), template);
|
|
128
|
+
}
|
|
129
|
+
buildIssues(typeLabel, capacity) {
|
|
130
|
+
const timestamp = this.formatTimestamp(new Date());
|
|
131
|
+
return [
|
|
132
|
+
!typeLabel || typeLabel === 'No type' || typeLabel.toLowerCase() === 'notset' ? {
|
|
133
|
+
id: 'type',
|
|
134
|
+
message: 'Workspace type not set',
|
|
135
|
+
timestamp,
|
|
136
|
+
actionLabel: 'Assign type',
|
|
137
|
+
description: 'Adding a type specifies what the workspace is used for.',
|
|
138
|
+
suggestedAction: 'Set a type for this workspace.',
|
|
139
|
+
} : null,
|
|
140
|
+
capacity == null ? {
|
|
141
|
+
id: 'capacity',
|
|
142
|
+
message: 'Workspace capacity not set',
|
|
143
|
+
timestamp,
|
|
144
|
+
actionLabel: 'Set capacity',
|
|
145
|
+
description: 'Adding a capacity specifies how many people can use this workspace.',
|
|
146
|
+
suggestedAction: 'Set a capacity for this workspace.',
|
|
147
|
+
} : null,
|
|
148
|
+
].filter((issue) => issue !== null);
|
|
149
|
+
}
|
|
150
|
+
formatTimestamp(date) {
|
|
151
|
+
return date.toLocaleString('en-US', {
|
|
152
|
+
year: '2-digit',
|
|
153
|
+
month: 'numeric',
|
|
154
|
+
day: 'numeric',
|
|
155
|
+
hour: 'numeric',
|
|
156
|
+
minute: '2-digit',
|
|
157
|
+
hour12: true,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
WorkspaceDetailService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspaceDetailService, deps: [{ token: i1.APIService }, { token: i2.ApiWebexService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
162
|
+
WorkspaceDetailService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspaceDetailService, providedIn: 'root' });
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspaceDetailService, decorators: [{
|
|
164
|
+
type: Injectable,
|
|
165
|
+
args: [{
|
|
166
|
+
providedIn: 'root'
|
|
167
|
+
}]
|
|
168
|
+
}], ctorParameters: function () { return [{ type: i1.APIService }, { type: i2.ApiWebexService }]; } });
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWRldGFpbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3dvcmtzcGFjZXMvc3JjL3NlcnZpY2VzL3dvcmtzcGFjZS1kZXRhaWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQW1CdkMsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUNVLFVBQXNCLEVBQ3RCLGVBQWdDO1FBRGhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQ3RDLENBQUM7SUFFTCxjQUFjLENBQ1osU0FBb0IsRUFDcEIsY0FBdUMsRUFDdkMsVUFBMkI7UUFFM0IsSUFBSSxjQUFjLEtBQUssT0FBTyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1lBQzVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNyRTtRQUNELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU8sZUFBZSxDQUFDLFVBQTJCLEVBQUUsV0FBbUI7UUFDdEUsTUFBTSxNQUFNLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBRS9ELE9BQU8sUUFBUSxDQUFDO1lBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxD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QUMsS0FBSyxFQUFzQyxFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTyxlQUFlLENBQUMsSUFBVTtRQUNoQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO1lBQ2xDLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLFNBQVM7WUFDaEIsR0FBRyxFQUFFLFNBQVM7WUFDZCxJQUFJLEVBQUUsU0FBUztZQUNmLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7b0hBaE1VLHNCQUFzQjt3SEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBUEkgfSBmcm9tICcuLi9hcHAuY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQXBpV2ViZXhTZXJ2aWNlIH0gZnJvbSAnLi9hcGktd2ViZXguc2VydmljZSc7XHJcbmltcG9ydCB7IEFQSVNlcnZpY2UgfSBmcm9tICcuL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBDdWNtU2l0ZVJlc3BvbnNlLFxyXG4gIEN1Y21Xb3Jrc3BhY2VEZXRhaWxzUmVzcG9uc2UsXHJcbiAgV2ViZXhDYWxsZXJJZFJlc3BvbnNlLFxyXG4gIFdlYmV4TnVtYmVyc1Jlc3BvbnNlLFxyXG4gIFdlYmV4V29ya3NwYWNlRGV0YWlsc1Jlc3BvbnNlLFxyXG4gIFdvcmtzcGFjZSxcclxuICBXb3Jrc3BhY2VDb25uZWN0aW9uVHlwZSxcclxuICBXb3Jrc3BhY2VEZXRhaWxzLFxyXG4gIFdvcmtzcGFjZURldmljZURldGFpbHMsXHJcbiAgV29ya3NwYWNlSXNzdWUsXHJcbn0gZnJvbSAnLi4vdHlwZXMvd29ya3NwYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFdvcmtzcGFjZURldGFpbFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcGlXZWJleFNlcnZpY2U6IEFwaVdlYmV4U2VydmljZSxcclxuICApIHsgfVxyXG5cclxuICBnZXRCeVdvcmtzcGFjZShcclxuICAgIHdvcmtzcGFjZTogV29ya3NwYWNlLFxyXG4gICAgY29ubmVjdGlvblR5cGU6IFdvcmtzcGFjZUNvbm5lY3Rpb25UeXBlLFxyXG4gICAgY3VzdG9tZXJJZDogc3RyaW5nIHwgbnVtYmVyLFxyXG4gICk6IE9ic2VydmFibGU8V29ya3NwYWNlRGV0YWlscz4ge1xyXG4gICAgaWYgKGNvbm5lY3Rpb25UeXBlID09PSAnd2ViZXgnICYmIHdvcmtzcGFjZS5kZXZpY2Uud2ViZXhVVUlEKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmdldFdlYmV4RGV0YWlscyhjdXN0b21lcklkLCB3b3Jrc3BhY2UuZGV2aWNlLndlYmV4VVVJRCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5nZXRDdWNtRGV0YWlscyh3b3Jrc3BhY2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRXZWJleERldGFpbHMoY3VzdG9tZXJJZDogc3RyaW5nIHwgbnVtYmVyLCB3b3Jrc3BhY2VJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxXb3Jrc3BhY2VEZXRhaWxzPiB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7IGN1c3RvbWVySWQ6IFN0cmluZyhjdXN0b21lcklkKSwgd29ya3NwYWNlSWQgfTtcclxuXHJcbiAgICByZXR1cm4gZm9ya0pvaW4oW1xyXG4gICAgICB0aGlzLmFwaVdlYmV4U2VydmljZS5mZXRjaCh0aGlzLmJ1aWxkVXJsKEFQSS5ERVRBSUxTLldFQkVYLldPUktTUEFDRSwgcGFyYW1zKSksXHJcbiAgICAgIHRoaXMuYXBpV2ViZXhTZXJ2aWNlLmZldGNoKHRoaXMuYnVpbGRVcmwoQVBJLkRFVEFJTFMuV0VCRVguTlVNQkVSUywgcGFyYW1zKSksXHJcbiAgICAgIHRoaXMuYXBpV2ViZXhTZXJ2aWNlLmZldGNoKHRoaXMuYnVpbGRVcmwoQVBJLkRFVEFJTFMuV0VCRVguQ0FMTEVSSUQsIHBhcmFtcykpLFxyXG4gICAgXSkucGlwZShcclxuICAgICAgbWFwKChbd29ya3NwYWNlUmVzLCBudW1iZXJzUmVzLCBjYWxsZXJJZFJlc106IFtcclxuICAgICAgICBXZWJleFdvcmtzcGFjZURldGFpbHNSZXNwb25zZSxcclxuICAgICAgICBXZWJleE51bWJlcnNSZXNwb25zZSxcclxuICAgICAgICBXZWJleENhbGxlcklkUmVzcG9uc2UsXHJcbiAgICAgIF0pID0+IHRoaXMudG9XZWJleERldGFpbHMod29ya3NwYWNlUmVzLCBudW1iZXJzUmVzLCBjYWxsZXJJZFJlcykpLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdG9XZWJleERldGFpbHMoXHJcbiAgICB3b3Jrc3BhY2VSZXM6IFdlYmV4V29ya3NwYWNlRGV0YWlsc1Jlc3BvbnNlLFxyXG4gICAgbnVtYmVyc1JlczogV2ViZXhOdW1iZXJzUmVzcG9uc2UsXHJcbiAgICBjYWxsZXJJZFJlczogV2ViZXhDYWxsZXJJZFJlc3BvbnNlLFxyXG4gICk6IFdvcmtzcGFjZURldGFpbHMge1xyXG4gICAgY29uc3QgcHJpbWFyeU51bWJlciA9IG51bWJlcnNSZXMucGhvbmVOdW1iZXJzPy5maW5kKG51bWJlciA9PiBudW1iZXIucHJpbWFyeSkgPz8gbnVtYmVyc1Jlcy5waG9uZU51bWJlcnM/LlswXTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpc3N1ZXM6IHRoaXMuYnVpbGRJc3N1ZXMod29ya3NwYWNlUmVzLnR5cGUsIHdvcmtzcGFjZVJlcy5jYXBhY2l0eSksXHJcbiAgICAgIGxvY2F0aW9uOiB7XHJcbiAgICAgICAgY291bnRyeTogbnVtYmVyc1Jlcy5sb2NhdGlvbj8ubmFtZSB8fCB3b3Jrc3BhY2VSZXMubG9jYXRpb25OYW1lIHx8ICdOb3Qgc2V0JyxcclxuICAgICAgICBhZGRyZXNzOiBudW1iZXJzUmVzLmxvY2F0aW9uPy5hZGRyZXNzIHx8ICdBZGRyZXNzIG5vdCBhdmFpbGFibGUnLFxyXG4gICAgICB9LFxyXG4gICAgICBjYWxsaW5nOiB7XHJcbiAgICAgICAgbGljZW5zZTogd29ya3NwYWNlUmVzLmxpY2Vuc2VOYW1lIHx8ICdOb3Qgc2V0JyxcclxuICAgICAgICBzaXBBZGRyZXNzOiB3b3Jrc3BhY2VSZXMuc2lwQWRkcmVzcyB8fCAnTm90IGFzc2lnbmVkJyxcclxuICAgICAgICBkaXJlY3RvcnlOdW1iZXI6IHByaW1hcnlOdW1iZXI/LmV4dGVybmFsIHx8IHByaW1hcnlOdW1iZXI/LmV4dGVuc2lvbiB8fCAnTm90IGFzc2lnbmVkJyxcclxuICAgICAgICBleHRlbnNpb246IHByaW1hcnlOdW1iZXI/LmV4dGVuc2lvbiB8fCB1bmRlZmluZWQsXHJcbiAgICAgICAgcm91dGVQYXJ0aXRpb246ICcnLFxyXG4gICAgICAgIGNhbGxpbmdTZWFyY2hTcGFjZTogJycsXHJcbiAgICAgICAgc2VjdXJpdHlQcm9maWxlOiAnJyxcclxuICAgICAgICBleHRlcm5hbENhbGxlcklkTmFtZTogY2FsbGVySWRSZXMubG9jYXRpb25FeHRlcm5hbENhbGxlcklkTmFtZSB8fCBjYWxsZXJJZFJlcy5jdXN0b21FeHRlcm5hbENhbGxlcklkTmFtZSB8fCB1bmRlZmluZWQsXHJcbiAgICAgICAgZXh0ZXJuYWxDYWxsZXJJZE51bWJlcjogY2FsbGVySWRSZXMubG9jYXRpb25OdW1iZXIgfHwgY2FsbGVySWRSZXMuY3VzdG9tTnVtYmVyIHx8IGNhbGxlcklkUmVzLmRpcmVjdE51bWJlciB8fCB1bmRlZmluZWQsXHJcbiAgICAgIH0sXHJcbiAgICAgIHNjaGVkdWxpbmdDb25maWd1cmVkOiBmYWxzZSxcclxuICAgICAgcGxhbm5lZE1haW50ZW5hbmNlRW5hYmxlZDogZmFsc2UsXHJcbiAgICAgIG5vdGVzOiBudWxsLFxyXG4gICAgICBjYXBhY2l0eTogd29ya3NwYWNlUmVzLmNhcGFjaXR5LFxyXG4gICAgICBkZXZpY2U6IHRoaXMuYnVpbGRXZWJleERldmljZURldGFpbHMod29ya3NwYWNlUmVzLCBudW1iZXJzUmVzKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkV2ViZXhEZXZpY2VEZXRhaWxzKFxyXG4gICAgd29ya3NwYWNlUmVzOiBXZWJleFdvcmtzcGFjZURldGFpbHNSZXNwb25zZSxcclxuICAgIG51bWJlcnNSZXM6IFdlYmV4TnVtYmVyc1Jlc3BvbnNlLFxyXG4gICk6IFdvcmtzcGFjZURldmljZURldGFpbHMge1xyXG4gICAgY29uc3QgZGV2aWNlID0gd29ya3NwYWNlUmVzLmRldmljZXM/LlswXTtcclxuICAgIGNvbnN0IHByaW1hcnlOdW1iZXIgPSBudW1iZXJzUmVzLnBob25lTnVtYmVycz8uZmluZChudW1iZXIgPT4gbnVtYmVyLnByaW1hcnkpID8/IG51bWJlcnNSZXMucGhvbmVOdW1iZXJzPy5bMF07XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbW9kZWw6IGRldmljZT8ubW9kZWwgfHwgJ1Vua25vd24gZGV2aWNlJyxcclxuICAgICAgcmVnaXN0cmF0aW9uU3RhdHVzOiBkZXZpY2U/LnJlZ2lzdGVyZWQgPyAnUmVnaXN0ZXJlZCcgOiAnTm90IFJlZ2lzdGVyZWQnLFxyXG4gICAgICBtYWM6IGRldmljZT8ubWFjIHx8ICdOL0EnLFxyXG4gICAgICBsaW5lQ291bnQ6IG51bWJlcnNSZXMucGhvbmVOdW1iZXJzPy5sZW5ndGggPz8gbnVsbCxcclxuICAgICAgaG9zdElwQWRkcmVzczogJ04vQScsXHJcbiAgICAgIHJlbW90ZUlwQWRkcmVzczogJ04vQScsXHJcbiAgICAgIG1hbmFnZWRCeTogJ0Npc2NvJyxcclxuICAgICAgc29mdHdhcmVDaGFubmVsOiAnVW5rbm93bicsXHJcbiAgICAgIHNvZnR3YXJlVmVyc2lvbjogJ04vQScsXHJcbiAgICAgIGxpbmVzOiBwcmltYXJ5TnVtYmVyID8gW3tcclxuICAgICAgICBuYW1lOiB3b3Jrc3BhY2VSZXMud29ya3NwYWNlTmFtZSB8fCAnJyxcclxuICAgICAgICBudW1iZXI6IHByaW1hcnlOdW1iZXIuZXh0ZXJuYWwgfHwgcHJpbWFyeU51bWJlci5leHRlbnNpb24gfHwgJ05BJyxcclxuICAgICAgICByZWdpc3RlcmVkOiAhIWRldmljZT8ucmVnaXN0ZXJlZCxcclxuICAgICAgfV0gOiBbXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEN1Y21EZXRhaWxzKHdvcmtzcGFjZTogV29ya3NwYWNlKTogT2JzZXJ2YWJsZTxXb3Jrc3BhY2VEZXRhaWxzPiB7XHJcbiAgICBjb25zdCBzaXRlSWQgPSBTdHJpbmcod29ya3NwYWNlLnNpdGVJZCk7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7IHNpdGVJZCwgd29ya3NwYWNlSWQ6IHdvcmtzcGFjZS5jdWNtRGV2aWNlTmFtZSA/PyB3b3Jrc3BhY2UuZGV2aWNlLm5hbWUgfTtcclxuXHJcbiAgICByZXR1cm4gZm9ya0pvaW4oW1xyXG4gICAgICB0aGlzLmFwaVNlcnZpY2UuZmV0Y2godGhpcy5idWlsZFVybChBUEkuREVUQUlMUy5DVUNNLldPUktTUEFDRSwgcGFyYW1zKSksXHJcbiAgICAgIHRoaXMuYXBpU2VydmljZS5mZXRjaCh0aGlzLmJ1aWxkVXJsKEFQSS5ERVRBSUxTLkNVQ00uU0lURSwgeyBzaXRlSWQgfSkpLFxyXG4gICAgXSkucGlwZShcclxuICAgICAgbWFwKChbd29ya3NwYWNlUmVzLCBzaXRlUmVzXTogW0N1Y21Xb3Jrc3BhY2VEZXRhaWxzUmVzcG9uc2UsIEN1Y21TaXRlUmVzcG9uc2VdKSA9PlxyXG4gICAgICAgIHRoaXMudG9DdWNtRGV0YWlscyh3b3Jrc3BhY2UsIHdvcmtzcGFjZVJlcywgc2l0ZVJlcykpLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdG9DdWNtRGV0YWlscyhcclxuICAgIHdvcmtzcGFjZTogV29ya3NwYWNlLFxyXG4gICAgd29ya3NwYWNlUmVzOiBDdWNtV29ya3NwYWNlRGV0YWlsc1Jlc3BvbnNlLFxyXG4gICAgc2l0ZVJlczogQ3VjbVNpdGVSZXNwb25zZSxcclxuICApOiBXb3Jrc3BhY2VEZXRhaWxzIHtcclxuICAgIGNvbnN0IGRldmljZSA9IHdvcmtzcGFjZVJlcy5kZXZpY2U7XHJcbiAgICBjb25zdCBkaXJlY3RvcnlOdW1iZXIgPSBkZXZpY2UuYXNzb2NpYXRlZEROcz8uWzBdPy5kaXJlY3RvcnlOdW1iZXIgPz8gJyc7XHJcbiAgICBjb25zdCBzaXBBZGRyZXNzID0gYCR7KGRldmljZS5uYW1lIHx8IHdvcmtzcGFjZS5kaXNwbGF5TmFtZSB8fCAnd29ya3NwYWNlJykudG9Mb3dlckNhc2UoKX1AdHVraWRldi5yb29tcy53ZWJleC5jb21gO1xyXG4gICAgY29uc3QgYWRkcmVzcyA9IFtzaXRlUmVzLmFkZHJlc3MyLCBzaXRlUmVzLmFkZHJlc3MzXS5maWx0ZXIoQm9vbGVhbikuam9pbignLCAnKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpc3N1ZXM6IHRoaXMuYnVpbGRJc3N1ZXMod29ya3NwYWNlLnR5cGVMYWJlbCwgd29ya3NwYWNlLmNhcGFjaXR5KSxcclxuICAgICAgbG9jYXRpb246IHtcclxuICAgICAgICBjb3VudHJ5OiBzaXRlUmVzLmNvdW50cnkgfHwgJ05vdCBzZXQnLFxyXG4gICAgICAgIGFkZHJlc3M6IGFkZHJlc3MgfHwgJ0FkZHJlc3Mgbm90IGF2YWlsYWJsZScsXHJcbiAgICAgIH0sXHJcbiAgICAgIGNhbGxpbmc6IHtcclxuICAgICAgICBsaWNlbnNlOiB3b3Jrc3BhY2UuY2FsbGluZ0xpY2Vuc2UgfHwgJ0Npc2NvIFdlYmV4IENhbGxpbmcgUHJvZmVzc2lvbmFsIFdvcmtzcGFjZScsXHJcbiAgICAgICAgc2lwQWRkcmVzcyxcclxuICAgICAgICBkaXJlY3RvcnlOdW1iZXI6IGRpcmVjdG9yeU51bWJlciB8fCAnTm90IGFzc2lnbmVkJyxcclxuICAgICAgICByb3V0ZVBhcnRpdGlvbjogZGV2aWNlLmFzc29jaWF0ZWRETnM/LlswXT8ucm91dGVQYXJ0aXRpb25OYW1lIHx8ICdOb3Qgc2V0JyxcclxuICAgICAgICBjYWxsaW5nU2VhcmNoU3BhY2U6IGRldmljZS5jYWxsaW5nU2VhcmNoU3BhY2VOYW1lIHx8ICdOb3Qgc2V0JyxcclxuICAgICAgICBzZWN1cml0eVByb2ZpbGU6IGRldmljZS5zZWN1cml0eVByb2ZpbGUgfHwgJ05vdCBzZXQnLFxyXG4gICAgICB9LFxyXG4gICAgICBzY2hlZHVsaW5nQ29uZmlndXJlZDogZmFsc2UsXHJcbiAgICAgIHBsYW5uZWRNYWludGVuYW5jZUVuYWJsZWQ6IGZhbHNlLFxyXG4gICAgICBub3RlczogbnVsbCxcclxuICAgICAgZGV2aWNlOiB0aGlzLmJ1aWxkQ3VjbURldmljZURldGFpbHMod29ya3NwYWNlUmVzKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkQ3VjbURldmljZURldGFpbHMod29ya3NwYWNlUmVzOiBDdWNtV29ya3NwYWNlRGV0YWlsc1Jlc3BvbnNlKTogV29ya3NwYWNlRGV2aWNlRGV0YWlscyB7XHJcbiAgICBjb25zdCBkZXZpY2UgPSB3b3Jrc3BhY2VSZXMuZGV2aWNlO1xyXG4gICAgY29uc3QgaXNSZWdpc3RlcmVkID0gKGRldmljZS5kZXZpY2VSZWdTdGF0dXMgfHwgJycpLnRvTG93ZXJDYXNlKCkgPT09ICdyZWdpc3RlcmVkJztcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBtb2RlbDogZGV2aWNlLmRldmljZVR5cGUgfHwgJ1Vua25vd24gZGV2aWNlJyxcclxuICAgICAgcmVnaXN0cmF0aW9uU3RhdHVzOiBkZXZpY2UuZGV2aWNlUmVnU3RhdHVzIHx8ICdOb3QgUmVnaXN0ZXJlZCcsXHJcbiAgICAgIG1hYzogd29ya3NwYWNlUmVzLndvcmtzcGFjZURldmljZXM/LlswXT8ubWFjIHx8ICdOL0EnLFxyXG4gICAgICBsaW5lQ291bnQ6IHdvcmtzcGFjZVJlcy5saW5lcz8ubGVuZ3RoID8/IG51bGwsXHJcbiAgICAgIGhvc3RJcEFkZHJlc3M6IGRldmljZS5pcEFkZHJlc3MgfHwgJ04vQScsXHJcbiAgICAgIHJlbW90ZUlwQWRkcmVzczogJ04vQScsXHJcbiAgICAgIG1hbmFnZWRCeTogJ0Npc2NvJyxcclxuICAgICAgc29mdHdhcmVDaGFubmVsOiAnVW5rbm93bicsXHJcbiAgICAgIHNvZnR3YXJlVmVyc2lvbjogZGV2aWNlLmZpcm13YXJlVmVyc2lvbiB8fCAnTi9BJyxcclxuICAgICAgbGluZXM6ICh3b3Jrc3BhY2VSZXMubGluZXMgfHwgW10pLm1hcChsaW5lID0+ICh7XHJcbiAgICAgICAgbmFtZTogbGluZS5hbGVydGluZ05hbWUgfHwgbGluZS5kZXNjcmlwdGlvbiB8fCAnJyxcclxuICAgICAgICBudW1iZXI6IGxpbmUuZGlyZWN0b3J5TnVtYmVyPy5kaXJlY3RvcnlOdW1iZXIgfHwgJ05BJyxcclxuICAgICAgICByZWdpc3RlcmVkOiBpc1JlZ2lzdGVyZWQsXHJcbiAgICAgIH0pKSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJ1aWxkVXJsKHRlbXBsYXRlOiBzdHJpbmcsIHBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmtleXMocGFyYW1zKS5yZWR1Y2UoKHVybCwga2V5KSA9PiB1cmwucmVwbGFjZShgOiR7a2V5fWAsIHBhcmFtc1trZXldKSwgdGVtcGxhdGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZElzc3Vlcyh0eXBlTGFiZWw6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIGNhcGFjaXR5OiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkKTogV29ya3NwYWNlSXNzdWVbXSB7XHJcbiAgICBjb25zdCB0aW1lc3RhbXAgPSB0aGlzLmZvcm1hdFRpbWVzdGFtcChuZXcgRGF0ZSgpKTtcclxuXHJcbiAgICByZXR1cm4gW1xyXG4gICAgICAhdHlwZUxhYmVsIHx8IHR5cGVMYWJlbCA9PT0gJ05vIHR5cGUnIHx8IHR5cGVMYWJlbC50b0xvd2VyQ2FzZSgpID09PSAnbm90c2V0JyA/IHtcclxuICAgICAgICBpZDogJ3R5cGUnLFxyXG4gICAgICAgIG1lc3NhZ2U6ICdXb3Jrc3BhY2UgdHlwZSBub3Qgc2V0JyxcclxuICAgICAgICB0aW1lc3RhbXAsXHJcbiAgICAgICAgYWN0aW9uTGFiZWw6ICdBc3NpZ24gdHlwZScsXHJcbiAgICAgICAgZGVzY3JpcHRpb246ICdBZGRpbmcgYSB0eXBlIHNwZWNpZmllcyB3aGF0IHRoZSB3b3Jrc3BhY2UgaXMgdXNlZCBmb3IuJyxcclxuICAgICAgICBzdWdnZXN0ZWRBY3Rpb246ICdTZXQgYSB0eXBlIGZvciB0aGlzIHdvcmtzcGFjZS4nLFxyXG4gICAgICB9IDogbnVsbCxcclxuICAgICAgY2FwYWNpdHkgPT0gbnVsbCA/IHtcclxuICAgICAgICBpZDogJ2NhcGFjaXR5JyxcclxuICAgICAgICBtZXNzYWdlOiAnV29ya3NwYWNlIGNhcGFjaXR5IG5vdCBzZXQnLFxyXG4gICAgICAgIHRpbWVzdGFtcCxcclxuICAgICAgICBhY3Rpb25MYWJlbDogJ1NldCBjYXBhY2l0eScsXHJcbiAgICAgICAgZGVzY3JpcHRpb246ICdBZGRpbmcgYSBjYXBhY2l0eSBzcGVjaWZpZXMgaG93IG1hbnkgcGVvcGxlIGNhbiB1c2UgdGhpcyB3b3Jrc3BhY2UuJyxcclxuICAgICAgICBzdWdnZXN0ZWRBY3Rpb246ICdTZXQgYSBjYXBhY2l0eSBmb3IgdGhpcyB3b3Jrc3BhY2UuJyxcclxuICAgICAgfSA6IG51bGwsXHJcbiAgICBdLmZpbHRlcigoaXNzdWUpOiBpc3N1ZSBpcyBOb25OdWxsYWJsZTx0eXBlb2YgaXNzdWU+ID0+IGlzc3VlICE9PSBudWxsKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9ybWF0VGltZXN0YW1wKGRhdGU6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGRhdGUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICB5ZWFyOiAnMi1kaWdpdCcsXHJcbiAgICAgIG1vbnRoOiAnbnVtZXJpYycsXHJcbiAgICAgIGRheTogJ251bWVyaWMnLFxyXG4gICAgICBob3VyOiAnbnVtZXJpYycsXHJcbiAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxyXG4gICAgICBob3VyMTI6IHRydWUsXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { API } from '../app.constants';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./api-webex.service";
|
|
5
|
+
export class WorkspacesMigrationService {
|
|
6
|
+
constructor(apiWebexService) {
|
|
7
|
+
this.apiWebexService = apiWebexService;
|
|
8
|
+
}
|
|
9
|
+
moveToMT(customerId, device) {
|
|
10
|
+
return this.apiWebexService.post(API.MIGRATION.MOVE, this.getMoveBody(customerId, device));
|
|
11
|
+
}
|
|
12
|
+
getMigrationFormStatus(customerId, formId) {
|
|
13
|
+
const url = API.MIGRATION.MIGRATION_FORM
|
|
14
|
+
.replace(':customerId', String(customerId))
|
|
15
|
+
.replace(':formId', String(formId));
|
|
16
|
+
return this.apiWebexService.fetch(url);
|
|
17
|
+
}
|
|
18
|
+
getMigratedMigrationFormEntities(customerId, webexUUID, feature = 'ORPHANED_DEVICE') {
|
|
19
|
+
const url = API.MIGRATION.MIGRATION_FORM_ENTITIES_MIGRATED.replace(':customerId', String(customerId));
|
|
20
|
+
return this.apiWebexService.fetch(url, { webexUUID, feature });
|
|
21
|
+
}
|
|
22
|
+
triggerFirmwareUpgrade(customerId, migrationFormId, deviceMap) {
|
|
23
|
+
const url = API.MIGRATION.TRIGGER_FIRMWARE_MIGRATION
|
|
24
|
+
.replace(':migrationType', 'WEBEX')
|
|
25
|
+
.replace(':customerId', String(customerId))
|
|
26
|
+
.replace(':migrationFormId', String(migrationFormId));
|
|
27
|
+
return this.apiWebexService.post(url, deviceMap);
|
|
28
|
+
}
|
|
29
|
+
removeUcmLicense(customerId, migrationFormId, controlHubType = 'WEBEX') {
|
|
30
|
+
const url = API.MIGRATION.REMOVE_UCM_LICENSE
|
|
31
|
+
.replace(':controlHubType', controlHubType)
|
|
32
|
+
.replace(':customerId', String(customerId))
|
|
33
|
+
.replace(':migrationFormId', String(migrationFormId));
|
|
34
|
+
return this.apiWebexService.post(url, {});
|
|
35
|
+
}
|
|
36
|
+
revertMigration(customerId, personId) {
|
|
37
|
+
const url = API.MIGRATION.WEBEX_REVERT
|
|
38
|
+
.replace(':customerId', String(customerId))
|
|
39
|
+
.replace(':personId', personId);
|
|
40
|
+
return this.apiWebexService.post(url, {});
|
|
41
|
+
}
|
|
42
|
+
getMoveBody(customerId, device) {
|
|
43
|
+
return {
|
|
44
|
+
customerId,
|
|
45
|
+
entities: {
|
|
46
|
+
ORPHANED_DEVICE: [{ cucmId: device.cucmId, entityId: device.name }],
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
WorkspacesMigrationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspacesMigrationService, deps: [{ token: i1.ApiWebexService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
52
|
+
WorkspacesMigrationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspacesMigrationService, providedIn: 'root' });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspacesMigrationService, decorators: [{
|
|
54
|
+
type: Injectable,
|
|
55
|
+
args: [{
|
|
56
|
+
providedIn: 'root',
|
|
57
|
+
}]
|
|
58
|
+
}], ctorParameters: function () { return [{ type: i1.ApiWebexService }]; } });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlcy1taWdyYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy93b3Jrc3BhY2VzL3NyYy9zZXJ2aWNlcy93b3Jrc3BhY2VzLW1pZ3JhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFTdkMsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQyxZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFBSSxDQUFDO0lBRXpELFFBQVEsQ0FBQyxVQUEyQixFQUFFLE1BQTZCO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQsc0JBQXNCLENBQUMsVUFBMkIsRUFBRSxNQUFjO1FBQ2hFLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsY0FBYzthQUNyQyxPQUFPLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMxQyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGdDQUFnQyxDQUM5QixVQUEyQixFQUMzQixTQUFpQixFQUNqQixPQUFPLEdBQUcsaUJBQWlCO1FBRTNCLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsZ0NBQWdDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN0RyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxzQkFBc0IsQ0FDcEIsVUFBMkIsRUFDM0IsZUFBdUIsRUFDdkIsU0FBNEI7UUFFNUIsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQywwQkFBMEI7YUFDakQsT0FBTyxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQzthQUNsQyxPQUFPLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMxQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGdCQUFnQixDQUNkLFVBQTJCLEVBQzNCLGVBQXVCLEVBQ3ZCLGNBQWMsR0FBRyxPQUFPO1FBRXhCLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsa0JBQWtCO2FBQ3pDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxjQUFjLENBQUM7YUFDMUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDMUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxlQUFlLENBQUMsVUFBMkIsRUFBRSxRQUFnQjtRQUMzRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLFlBQVk7YUFDbkMsT0FBTyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDMUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNsQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8sV0FBVyxDQUFDLFVBQTJCLEVBQUUsTUFBNkI7UUFDNUUsT0FBTztZQUNMLFVBQVU7WUFDVixRQUFRLEVBQUU7Z0JBQ1IsZUFBZSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3BFO1NBQ0YsQ0FBQztJQUNKLENBQUM7O3dIQTdEVSwwQkFBMEI7NEhBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQVBJIH0gZnJvbSAnLi4vYXBwLmNvbnN0YW50cyc7XHJcbmltcG9ydCB7IFdvcmtzcGFjZURldmljZVJlY29yZCB9IGZyb20gJy4uL3R5cGVzL3dvcmtzcGFjZSc7XHJcbmltcG9ydCB7IEFwaVdlYmV4U2VydmljZSB9IGZyb20gJy4vYXBpLXdlYmV4LnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IHR5cGUgRmlybXdhcmVEZXZpY2VNYXAgPSBSZWNvcmQ8bnVtYmVyLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+O1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFdvcmtzcGFjZXNNaWdyYXRpb25TZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaVdlYmV4U2VydmljZTogQXBpV2ViZXhTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbW92ZVRvTVQoY3VzdG9tZXJJZDogc3RyaW5nIHwgbnVtYmVyLCBkZXZpY2U6IFdvcmtzcGFjZURldmljZVJlY29yZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlXZWJleFNlcnZpY2UucG9zdChBUEkuTUlHUkFUSU9OLk1PVkUsIHRoaXMuZ2V0TW92ZUJvZHkoY3VzdG9tZXJJZCwgZGV2aWNlKSk7XHJcbiAgfVxyXG5cclxuICBnZXRNaWdyYXRpb25Gb3JtU3RhdHVzKGN1c3RvbWVySWQ6IHN0cmluZyB8IG51bWJlciwgZm9ybUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gQVBJLk1JR1JBVElPTi5NSUdSQVRJT05fRk9STVxyXG4gICAgICAucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBTdHJpbmcoY3VzdG9tZXJJZCkpXHJcbiAgICAgIC5yZXBsYWNlKCc6Zm9ybUlkJywgU3RyaW5nKGZvcm1JZCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpV2ViZXhTZXJ2aWNlLmZldGNoKHVybCk7XHJcbiAgfVxyXG5cclxuICBnZXRNaWdyYXRlZE1pZ3JhdGlvbkZvcm1FbnRpdGllcyhcclxuICAgIGN1c3RvbWVySWQ6IHN0cmluZyB8IG51bWJlcixcclxuICAgIHdlYmV4VVVJRDogc3RyaW5nLFxyXG4gICAgZmVhdHVyZSA9ICdPUlBIQU5FRF9ERVZJQ0UnLFxyXG4gICk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSBBUEkuTUlHUkFUSU9OLk1JR1JBVElPTl9GT1JNX0VOVElUSUVTX01JR1JBVEVELnJlcGxhY2UoJzpjdXN0b21lcklkJywgU3RyaW5nKGN1c3RvbWVySWQpKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVdlYmV4U2VydmljZS5mZXRjaCh1cmwsIHsgd2ViZXhVVUlELCBmZWF0dXJlIH0pO1xyXG4gIH1cclxuXHJcbiAgdHJpZ2dlckZpcm13YXJlVXBncmFkZShcclxuICAgIGN1c3RvbWVySWQ6IHN0cmluZyB8IG51bWJlcixcclxuICAgIG1pZ3JhdGlvbkZvcm1JZDogbnVtYmVyLFxyXG4gICAgZGV2aWNlTWFwOiBGaXJtd2FyZURldmljZU1hcCxcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gQVBJLk1JR1JBVElPTi5UUklHR0VSX0ZJUk1XQVJFX01JR1JBVElPTlxyXG4gICAgICAucmVwbGFjZSgnOm1pZ3JhdGlvblR5cGUnLCAnV0VCRVgnKVxyXG4gICAgICAucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBTdHJpbmcoY3VzdG9tZXJJZCkpXHJcbiAgICAgIC5yZXBsYWNlKCc6bWlncmF0aW9uRm9ybUlkJywgU3RyaW5nKG1pZ3JhdGlvbkZvcm1JZCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpV2ViZXhTZXJ2aWNlLnBvc3QodXJsLCBkZXZpY2VNYXApO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlVWNtTGljZW5zZShcclxuICAgIGN1c3RvbWVySWQ6IHN0cmluZyB8IG51bWJlcixcclxuICAgIG1pZ3JhdGlvbkZvcm1JZDogbnVtYmVyLFxyXG4gICAgY29udHJvbEh1YlR5cGUgPSAnV0VCRVgnLFxyXG4gICk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSBBUEkuTUlHUkFUSU9OLlJFTU9WRV9VQ01fTElDRU5TRVxyXG4gICAgICAucmVwbGFjZSgnOmNvbnRyb2xIdWJUeXBlJywgY29udHJvbEh1YlR5cGUpXHJcbiAgICAgIC5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIFN0cmluZyhjdXN0b21lcklkKSlcclxuICAgICAgLnJlcGxhY2UoJzptaWdyYXRpb25Gb3JtSWQnLCBTdHJpbmcobWlncmF0aW9uRm9ybUlkKSk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlXZWJleFNlcnZpY2UucG9zdCh1cmwsIHt9KTtcclxuICB9XHJcblxyXG4gIHJldmVydE1pZ3JhdGlvbihjdXN0b21lcklkOiBzdHJpbmcgfCBudW1iZXIsIHBlcnNvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgdXJsID0gQVBJLk1JR1JBVElPTi5XRUJFWF9SRVZFUlRcclxuICAgICAgLnJlcGxhY2UoJzpjdXN0b21lcklkJywgU3RyaW5nKGN1c3RvbWVySWQpKVxyXG4gICAgICAucmVwbGFjZSgnOnBlcnNvbklkJywgcGVyc29uSWQpO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpV2ViZXhTZXJ2aWNlLnBvc3QodXJsLCB7fSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldE1vdmVCb2R5KGN1c3RvbWVySWQ6IHN0cmluZyB8IG51bWJlciwgZGV2aWNlOiBXb3Jrc3BhY2VEZXZpY2VSZWNvcmQpOiBhbnkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgY3VzdG9tZXJJZCxcclxuICAgICAgZW50aXRpZXM6IHtcclxuICAgICAgICBPUlBIQU5FRF9ERVZJQ0U6IFt7IGN1Y21JZDogZGV2aWNlLmN1Y21JZCwgZW50aXR5SWQ6IGRldmljZS5uYW1lIH1dLFxyXG4gICAgICB9LFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { forkJoin } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { API } from '../app.constants';
|
|
5
|
+
import { withoutSep } from '../utils/workspace-name';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./api.service";
|
|
8
|
+
function parseResponse(response) {
|
|
9
|
+
return typeof response === 'string' ? JSON.parse(response) : response;
|
|
10
|
+
}
|
|
11
|
+
function toStatus(provisioningStatus) {
|
|
12
|
+
if (!provisioningStatus) {
|
|
13
|
+
return 'unavailable';
|
|
14
|
+
}
|
|
15
|
+
return provisioningStatus.toLowerCase() === 'active' ? 'active' : 'inactive';
|
|
16
|
+
}
|
|
17
|
+
function toWorkspaceDevices(item, index) {
|
|
18
|
+
if (item.workspaceDevices?.length) {
|
|
19
|
+
return item.workspaceDevices.map(workspaceDevice => ({
|
|
20
|
+
id: workspaceDevice.deviceId,
|
|
21
|
+
kind: 'device',
|
|
22
|
+
label: workspaceDevice.model || workspaceDevice.mac,
|
|
23
|
+
model: workspaceDevice.model,
|
|
24
|
+
mac: workspaceDevice.mac,
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
const device = item.device;
|
|
28
|
+
if (!device) {
|
|
29
|
+
return [];
|
|
30
|
+
}
|
|
31
|
+
const model = device.deviceType || device.userDeviceType || undefined;
|
|
32
|
+
return [{
|
|
33
|
+
id: device.pkid || device.webexUUID || device.name || `device-${index}`,
|
|
34
|
+
kind: 'device',
|
|
35
|
+
label: model || device.name || 'Unnamed device',
|
|
36
|
+
model,
|
|
37
|
+
mac: /^SEP/i.test(device.name || '') ? device.name.slice(3) : undefined,
|
|
38
|
+
}];
|
|
39
|
+
}
|
|
40
|
+
function toWorkspace(item, index, isCucm) {
|
|
41
|
+
const device = item.device;
|
|
42
|
+
const firstDirectoryNumber = device.associatedDNs?.[0]?.directoryNumber ?? '';
|
|
43
|
+
return {
|
|
44
|
+
id: device.pkid || item.workspaceDevices?.[0]?.deviceId || device.name || `workspace-${index}`,
|
|
45
|
+
displayName: device.newName || device.name || 'Unnamed device',
|
|
46
|
+
typeLabel: device.userDeviceType || 'No type',
|
|
47
|
+
capacity: null,
|
|
48
|
+
location: item.site?.name || device.siteName || device.location || '',
|
|
49
|
+
siteId: item.site?.id ?? null,
|
|
50
|
+
devices: toWorkspaceDevices(item, index),
|
|
51
|
+
scheduling: 'Not set',
|
|
52
|
+
callingLicense: firstDirectoryNumber,
|
|
53
|
+
provisioningType: 'On-premises',
|
|
54
|
+
status: toStatus(device.provisioningStatus),
|
|
55
|
+
statusLabel: device.provisioningStatus || 'Status unavailable',
|
|
56
|
+
device,
|
|
57
|
+
isHybrid: false,
|
|
58
|
+
cucmDeviceName: isCucm ? (device.name || null) : null,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function mergeDevices(a, b) {
|
|
62
|
+
return {
|
|
63
|
+
...a,
|
|
64
|
+
...b,
|
|
65
|
+
cucmId: b.cucmId ?? a.cucmId,
|
|
66
|
+
webexUUID: b.webexUUID ?? a.webexUUID,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function toMacKey(value) {
|
|
70
|
+
return value ? withoutSep(value).replace(/[^0-9A-F]/g, '') : '';
|
|
71
|
+
}
|
|
72
|
+
function mergeCucmAndWebexWorkspaces(cucmWorkspaces, webexItems, webexWorkspaces) {
|
|
73
|
+
const result = [...cucmWorkspaces];
|
|
74
|
+
const cucmIndexByMac = new Map();
|
|
75
|
+
cucmWorkspaces.forEach((workspace, index) => {
|
|
76
|
+
const key = toMacKey(workspace.device.name);
|
|
77
|
+
if (key && !cucmIndexByMac.has(key)) {
|
|
78
|
+
cucmIndexByMac.set(key, index);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
webexWorkspaces.forEach((webexWorkspace, webexIndex) => {
|
|
82
|
+
const matchedMac = (webexItems[webexIndex].workspaceDevices || [])
|
|
83
|
+
.map(workspaceDevice => toMacKey(workspaceDevice.mac))
|
|
84
|
+
.find(key => key && cucmIndexByMac.has(key));
|
|
85
|
+
if (!matchedMac) {
|
|
86
|
+
result.push(webexWorkspace);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const cucmIndex = cucmIndexByMac.get(matchedMac);
|
|
90
|
+
cucmIndexByMac.delete(matchedMac);
|
|
91
|
+
const cucmWorkspace = result[cucmIndex];
|
|
92
|
+
result[cucmIndex] = {
|
|
93
|
+
...cucmWorkspace,
|
|
94
|
+
...webexWorkspace,
|
|
95
|
+
displayName: cucmWorkspace.displayName,
|
|
96
|
+
device: {
|
|
97
|
+
...mergeDevices(cucmWorkspace.device, webexWorkspace.device),
|
|
98
|
+
name: cucmWorkspace.device.name,
|
|
99
|
+
newName: cucmWorkspace.device.newName,
|
|
100
|
+
},
|
|
101
|
+
isHybrid: true,
|
|
102
|
+
cucmDeviceName: cucmWorkspace.cucmDeviceName,
|
|
103
|
+
};
|
|
104
|
+
});
|
|
105
|
+
return result;
|
|
106
|
+
}
|
|
107
|
+
const FETCH_ALL_SIZE = 9999;
|
|
108
|
+
export class WorkspacesService {
|
|
109
|
+
constructor(apiService) {
|
|
110
|
+
this.apiService = apiService;
|
|
111
|
+
}
|
|
112
|
+
fetchWorkspaces(customerId) {
|
|
113
|
+
const baseParams = {
|
|
114
|
+
type: 'ORPHAN_DEVICE',
|
|
115
|
+
customerid: customerId.toString(),
|
|
116
|
+
size: FETCH_ALL_SIZE.toString(),
|
|
117
|
+
page: '0',
|
|
118
|
+
};
|
|
119
|
+
const cucm$ = this.apiService.fetch(API.WORKSPACES.GET_ALL, {
|
|
120
|
+
...baseParams,
|
|
121
|
+
'device-name': 'SEP',
|
|
122
|
+
provisionType: 'CUCM',
|
|
123
|
+
});
|
|
124
|
+
const webex$ = this.apiService.fetch(API.WORKSPACES.GET_ALL, {
|
|
125
|
+
...baseParams,
|
|
126
|
+
provisionType: 'WEBEX',
|
|
127
|
+
});
|
|
128
|
+
return forkJoin([cucm$, webex$]).pipe(map(([cucmResponse, webexResponse]) => {
|
|
129
|
+
const cucmParsed = parseResponse(cucmResponse);
|
|
130
|
+
const webexParsed = parseResponse(webexResponse);
|
|
131
|
+
const webexItems = webexParsed?.pageData || [];
|
|
132
|
+
const cucmWorkspaces = (cucmParsed?.pageData || []).map((item, index) => toWorkspace(item, index, true));
|
|
133
|
+
const webexWorkspaces = webexItems.map((item, index) => toWorkspace(item, index, false));
|
|
134
|
+
const workspaces = mergeCucmAndWebexWorkspaces(cucmWorkspaces, webexItems, webexWorkspaces);
|
|
135
|
+
return {
|
|
136
|
+
workspaces,
|
|
137
|
+
total: workspaces.length,
|
|
138
|
+
};
|
|
139
|
+
}));
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
WorkspacesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspacesService, deps: [{ token: i1.APIService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
143
|
+
WorkspacesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspacesService, providedIn: 'root' });
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkspacesService, decorators: [{
|
|
145
|
+
type: Injectable,
|
|
146
|
+
args: [{
|
|
147
|
+
providedIn: 'root'
|
|
148
|
+
}]
|
|
149
|
+
}], ctorParameters: function () { return [{ type: i1.APIService }]; } });
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3dvcmtzcGFjZXMvc3JjL3NlcnZpY2VzL3dvcmtzcGFjZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUVyRCxTQUFTLGFBQWEsQ0FBQyxRQUFhO0lBQ2xDLE9BQU8sT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDeEUsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLGtCQUFpQztJQUNqRCxJQUFJLENBQUMsa0JBQWtCLEVBQUU7UUFDdkIsT0FBTyxhQUFhLENBQUM7S0FDdEI7SUFDRCxPQUFPLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDL0UsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsSUFBdUIsRUFBRSxLQUFhO0lBQ2hFLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sRUFBRTtRQUNqQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELEVBQUUsRUFBRSxlQUFlLENBQUMsUUFBUTtZQUM1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LGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07NEZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBUEkgfSBmcm9tICcuLi9hcHAuY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBXb3Jrc3BhY2UsIFdvcmtzcGFjZURldmljZSwgV29ya3NwYWNlTGlzdEl0ZW0sIFdvcmtzcGFjZXNQYWdlLCBXb3Jrc3BhY2VzUmVzcG9uc2UsIFdvcmtzcGFjZVN0YXR1cyB9IGZyb20gJy4uL3R5cGVzL3dvcmtzcGFjZSc7XHJcbmltcG9ydCB7IHdpdGhvdXRTZXAgfSBmcm9tICcuLi91dGlscy93b3Jrc3BhY2UtbmFtZSc7XHJcblxyXG5mdW5jdGlvbiBwYXJzZVJlc3BvbnNlKHJlc3BvbnNlOiBhbnkpOiBhbnkge1xyXG4gIHJldHVybiB0eXBlb2YgcmVzcG9uc2UgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShyZXNwb25zZSkgOiByZXNwb25zZTtcclxufVxyXG5cclxuZnVuY3Rpb24gdG9TdGF0dXMocHJvdmlzaW9uaW5nU3RhdHVzOiBzdHJpbmcgfCBudWxsKTogV29ya3NwYWNlU3RhdHVzIHtcclxuICBpZiAoIXByb3Zpc2lvbmluZ1N0YXR1cykge1xyXG4gICAgcmV0dXJuICd1bmF2YWlsYWJsZSc7XHJcbiAgfVxyXG4gIHJldHVybiBwcm92aXNpb25pbmdTdGF0dXMudG9Mb3dlckNhc2UoKSA9PT0gJ2FjdGl2ZScgPyAnYWN0aXZlJyA6ICdpbmFjdGl2ZSc7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRvV29ya3NwYWNlRGV2aWNlcyhpdGVtOiBXb3Jrc3BhY2VMaXN0SXRlbSwgaW5kZXg6IG51bWJlcik6IFdvcmtzcGFjZURldmljZVtdIHtcclxuICBpZiAoaXRlbS53b3Jrc3BhY2VEZXZpY2VzPy5sZW5ndGgpIHtcclxuICAgIHJldHVybiBpdGVtLndvcmtzcGFjZURldmljZXMubWFwKHdvcmtzcGFjZURldmljZSA9PiAoe1xyXG4gICAgICBpZDogd29ya3NwYWNlRGV2aWNlLmRldmljZUlkLFxyXG4gICAgICBraW5kOiAnZGV2aWNlJyBhcyBjb25zdCxcclxuICAgICAgbGFiZWw6IHdvcmtzcGFjZURldmljZS5tb2RlbCB8fCB3b3Jrc3BhY2VEZXZpY2UubWFjLFxyXG4gICAgICBtb2RlbDogd29ya3NwYWNlRGV2aWNlLm1vZGVsLFxyXG4gICAgICBtYWM6IHdvcmtzcGFjZURldmljZS5tYWMsXHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBjb25zdCBkZXZpY2UgPSBpdGVtLmRldmljZTtcclxuICBpZiAoIWRldmljZSkge1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgbW9kZWwgPSBkZXZpY2UuZGV2aWNlVHlwZSB8fCBkZXZpY2UudXNlckRldmljZVR5cGUgfHwgdW5kZWZpbmVkO1xyXG4gIHJldHVybiBbe1xyXG4gICAgaWQ6IGRldmljZS5wa2lkIHx8IGRldmljZS53ZWJleFVVSUQgfHwgZGV2aWNlLm5hbWUgfHwgYGRldmljZS0ke2luZGV4fWAsXHJcbiAgICBraW5kOiAnZGV2aWNlJyBhcyBjb25zdCxcclxuICAgIGxhYmVsOiBtb2RlbCB8fCBkZXZpY2UubmFtZSB8fCAnVW5uYW1lZCBkZXZpY2UnLFxyXG4gICAgbW9kZWwsXHJcbiAgICBtYWM6IC9eU0VQL2kudGVzdChkZXZpY2UubmFtZSB8fCAnJykgPyBkZXZpY2UubmFtZS5zbGljZSgzKSA6IHVuZGVmaW5lZCxcclxuICB9XTtcclxufVxyXG5cclxuZnVuY3Rpb24gdG9Xb3Jrc3BhY2UoaXRlbTogV29ya3NwYWNlTGlzdEl0ZW0sIGluZGV4OiBudW1iZXIsIGlzQ3VjbTogYm9vbGVhbik6IFdvcmtzcGFjZSB7XHJcbiAgY29uc3QgZGV2aWNlID0gaXRlbS5kZXZpY2U7XHJcbiAgY29uc3QgZmlyc3REaXJlY3RvcnlOdW1iZXIgPSBkZXZpY2UuYXNzb2NpYXRlZEROcz8uWzBdPy5kaXJlY3RvcnlOdW1iZXIgPz8gJyc7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBpZDogZGV2aWNlLnBraWQgfHwgaXRlbS53b3Jrc3BhY2VEZXZpY2VzPy5bMF0/LmRldmljZUlkIHx8IGRldmljZS5uYW1lIHx8IGB3b3Jrc3BhY2UtJHtpbmRleH1gLFxyXG4gICAgZGlzcGxheU5hbWU6IGRldmljZS5uZXdOYW1lIHx8IGRldmljZS5uYW1lIHx8ICdVbm5hbWVkIGRldmljZScsXHJcbiAgICB0eXBlTGFiZWw6IGRldmljZS51c2VyRGV2aWNlVHlwZSB8fCAnTm8gdHlwZScsXHJcbiAgICBjYXBhY2l0eTogbnVsbCxcclxuICAgIGxvY2F0aW9uOiBpdGVtLnNpdGU/Lm5hbWUgfHwgZGV2aWNlLnNpdGVOYW1lIHx8IGRldmljZS5sb2NhdGlvbiB8fCAnJyxcclxuICAgIHNpdGVJZDogaXRlbS5zaXRlPy5pZCA/PyBudWxsLFxyXG4gICAgZGV2aWNlczogdG9Xb3Jrc3BhY2VEZXZpY2VzKGl0ZW0sIGluZGV4KSxcclxuICAgIHNjaGVkdWxpbmc6ICdOb3Qgc2V0JyxcclxuICAgIGNhbGxpbmdMaWNlbnNlOiBmaXJzdERpcmVjdG9yeU51bWJlcixcclxuICAgIHByb3Zpc2lvbmluZ1R5cGU6ICdPbi1wcmVtaXNlcycsXHJcbiAgICBzdGF0dXM6IHRvU3RhdHVzKGRldmljZS5wcm92aXNpb25pbmdTdGF0dXMpLFxyXG4gICAgc3RhdHVzTGFiZWw6IGRldmljZS5wcm92aXNpb25pbmdTdGF0dXMgfHwgJ1N0YXR1cyB1bmF2YWlsYWJsZScsXHJcbiAgICBkZXZpY2UsXHJcbiAgICBpc0h5YnJpZDogZmFsc2UsXHJcbiAgICBjdWNtRGV2aWNlTmFtZTogaXNDdWNtID8gKGRldmljZS5uYW1lIHx8IG51bGwpIDogbnVsbCxcclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBtZXJnZURldmljZXMoYTogV29ya3NwYWNlWydkZXZpY2UnXSwgYjogV29ya3NwYWNlWydkZXZpY2UnXSk6IFdvcmtzcGFjZVsnZGV2aWNlJ10ge1xyXG4gIHJldHVybiB7XHJcbiAgICAuLi5hLFxyXG4gICAgLi4uYixcclxuICAgIGN1Y21JZDogYi5jdWNtSWQgPz8gYS5jdWNtSWQsXHJcbiAgICB3ZWJleFVVSUQ6IGIud2ViZXhVVUlEID8/IGEud2ViZXhVVUlELFxyXG4gIH07XHJcbn1cclxuXHJcblxyXG5mdW5jdGlvbiB0b01hY0tleSh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIHZhbHVlID8gd2l0aG91dFNlcCh2YWx1ZSkucmVwbGFjZSgvW14wLTlBLUZdL2csICcnKSA6ICcnO1xyXG59XHJcblxyXG5mdW5jdGlvbiBtZXJnZUN1Y21BbmRXZWJleFdvcmtzcGFjZXMoY3VjbVdvcmtzcGFjZXM6IFdvcmtzcGFjZVtdLCB3ZWJleEl0ZW1zOiBXb3Jrc3BhY2VMaXN0SXRlbVtdLCB3ZWJleFdvcmtzcGFjZXM6IFdvcmtzcGFjZVtdKTogV29ya3NwYWNlW10ge1xyXG4gIGNvbnN0IHJlc3VsdCA9IFsuLi5jdWNtV29ya3NwYWNlc107XHJcbiAgY29uc3QgY3VjbUluZGV4QnlNYWMgPSBuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpO1xyXG4gIGN1Y21Xb3Jrc3BhY2VzLmZvckVhY2goKHdvcmtzcGFjZSwgaW5kZXgpID0+IHtcclxuICAgIGNvbnN0IGtleSA9IHRvTWFjS2V5KHdvcmtzcGFjZS5kZXZpY2UubmFtZSk7XHJcbiAgICBpZiAoa2V5ICYmICFjdWNtSW5kZXhCeU1hYy5oYXMoa2V5KSkge1xyXG4gICAgICBjdWNtSW5kZXhCeU1hYy5zZXQoa2V5LCBpbmRleCk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIHdlYmV4V29ya3NwYWNlcy5mb3JFYWNoKCh3ZWJleFdvcmtzcGFjZSwgd2ViZXhJbmRleCkgPT4ge1xyXG4gICAgY29uc3QgbWF0Y2hlZE1hYyA9ICh3ZWJleEl0ZW1zW3dlYmV4SW5kZXhdLndvcmtzcGFjZURldmljZXMgfHwgW10pXHJcbiAgICAgIC5tYXAod29ya3NwYWNlRGV2aWNlID0+IHRvTWFjS2V5KHdvcmtzcGFjZURldmljZS5tYWMpKVxyXG4gICAgICAuZmluZChrZXkgPT4ga2V5ICYmIGN1Y21JbmRleEJ5TWFjLmhhcyhrZXkpKTtcclxuXHJcbiAgICBpZiAoIW1hdGNoZWRNYWMpIHtcclxuICAgICAgcmVzdWx0LnB1c2god2ViZXhXb3Jrc3BhY2UpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY3VjbUluZGV4ID0gY3VjbUluZGV4QnlNYWMuZ2V0KG1hdGNoZWRNYWMpITtcclxuICAgIGN1Y21JbmRleEJ5TWFjLmRlbGV0ZShtYXRjaGVkTWFjKTtcclxuICAgIGNvbnN0IGN1Y21Xb3Jrc3BhY2UgPSByZXN1bHRbY3VjbUluZGV4XTtcclxuICAgIHJlc3VsdFtjdWNtSW5kZXhdID0ge1xyXG4gICAgICAuLi5jdWNtV29ya3NwYWNlLFxyXG4gICAgICAuLi53ZWJleFdvcmtzcGFjZSxcclxuICAgICAgZGlzcGxheU5hbWU6IGN1Y21Xb3Jrc3BhY2UuZGlzcGxheU5hbWUsXHJcbiAgICAgIGRldmljZToge1xyXG4gICAgICAgIC4uLm1lcmdlRGV2aWNlcyhjdWNtV29ya3NwYWNlLmRldmljZSwgd2ViZXhXb3Jrc3BhY2UuZGV2aWNlKSxcclxuICAgICAgICBuYW1lOiBjdWNtV29ya3NwYWNlLmRldmljZS5uYW1lLFxyXG4gICAgICAgIG5ld05hbWU6IGN1Y21Xb3Jrc3BhY2UuZGV2aWNlLm5ld05hbWUsXHJcbiAgICAgIH0sXHJcbiAgICAgIGlzSHlicmlkOiB0cnVlLFxyXG4gICAgICBjdWNtRGV2aWNlTmFtZTogY3VjbVdvcmtzcGFjZS5jdWNtRGV2aWNlTmFtZSxcclxuICAgIH07XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmNvbnN0IEZFVENIX0FMTF9TSVpFID0gOTk5OTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFdvcmtzcGFjZXNTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaVNlcnZpY2U6IEFQSVNlcnZpY2UpIHsgfVxyXG5cclxuICBmZXRjaFdvcmtzcGFjZXMoY3VzdG9tZXJJZDogc3RyaW5nIHwgbnVtYmVyKTogT2JzZXJ2YWJsZTxXb3Jrc3BhY2VzUGFnZT4ge1xyXG4gICAgY29uc3QgYmFzZVBhcmFtczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcclxuICAgICAgdHlwZTogJ09SUEhBTl9ERVZJQ0UnLFxyXG4gICAgICBjdXN0b21lcmlkOiBjdXN0b21lcklkLnRvU3RyaW5nKCksXHJcbiAgICAgIHNpemU6IEZFVENIX0FMTF9TSVpFLnRvU3RyaW5nKCksXHJcbiAgICAgIHBhZ2U6ICcwJyxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY3VjbSQgPSB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLldPUktTUEFDRVMuR0VUX0FMTCwge1xyXG4gICAgICAuLi5iYXNlUGFyYW1zLFxyXG4gICAgICAnZGV2aWNlLW5hbWUnOiAnU0VQJyxcclxuICAgICAgcHJvdmlzaW9uVHlwZTogJ0NVQ00nLFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3Qgd2ViZXgkID0gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5XT1JLU1BBQ0VTLkdFVF9BTEwsIHtcclxuICAgICAgLi4uYmFzZVBhcmFtcyxcclxuICAgICAgcHJvdmlzaW9uVHlwZTogJ1dFQkVYJyxcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBmb3JrSm9pbihbY3VjbSQsIHdlYmV4JF0pLnBpcGUoXHJcbiAgICAgIG1hcCgoW2N1Y21SZXNwb25zZSwgd2ViZXhSZXNwb25zZV0pID0+IHtcclxuICAgICAgICBjb25zdCBjdWNtUGFyc2VkID0gcGFyc2VSZXNwb25zZShjdWNtUmVzcG9uc2UpIGFzIFdvcmtzcGFjZXNSZXNwb25zZTtcclxuICAgICAgICBjb25zdCB3ZWJleFBhcnNlZCA9IHBhcnNlUmVzcG9uc2Uod2ViZXhSZXNwb25zZSkgYXMgV29ya3NwYWNlc1Jlc3BvbnNlO1xyXG4gICAgICAgIGNvbnN0IHdlYmV4SXRlbXMgPSB3ZWJleFBhcnNlZD8ucGFnZURhdGEgfHwgW107XHJcbiAgICAgICAgY29uc3QgY3VjbVdvcmtzcGFjZXMgPSAoY3VjbVBhcnNlZD8ucGFnZURhdGEgfHwgW10pLm1hcCgoaXRlbSwgaW5kZXgpID0+IHRvV29ya3NwYWNlKGl0ZW0sIGluZGV4LCB0cnVlKSk7XHJcbiAgICAgICAgY29uc3Qgd2ViZXhXb3Jrc3BhY2VzID0gd2ViZXhJdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB0b1dvcmtzcGFjZShpdGVtLCBpbmRleCwgZmFsc2UpKTtcclxuICAgICAgICBjb25zdCB3b3Jrc3BhY2VzID0gbWVyZ2VDdWNtQW5kV2ViZXhXb3Jrc3BhY2VzKGN1Y21Xb3Jrc3BhY2VzLCB3ZWJleEl0ZW1zLCB3ZWJleFdvcmtzcGFjZXMpO1xyXG5cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgd29ya3NwYWNlcyxcclxuICAgICAgICAgIHRvdGFsOiB3b3Jrc3BhY2VzLmxlbmd0aCxcclxuICAgICAgICB9O1xyXG4gICAgICB9KSxcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
// Raw shapes returned by /api/search/quicknonuserdevices (a paginated CUCM
|
|
2
|
+
// non-user/shared device search, reused here as the "Workspaces" list).
|
|
3
|
+
export {};
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3dvcmtzcGFjZXMvc3JjL3R5cGVzL3dvcmtzcGFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyRUFBMkU7QUFDM0Usd0VBQXdFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUmF3IHNoYXBlcyByZXR1cm5lZCBieSAvYXBpL3NlYXJjaC9xdWlja25vbnVzZXJkZXZpY2VzIChhIHBhZ2luYXRlZCBDVUNNXHJcbi8vIG5vbi11c2VyL3NoYXJlZCBkZXZpY2Ugc2VhcmNoLCByZXVzZWQgaGVyZSBhcyB0aGUgXCJXb3Jrc3BhY2VzXCIgbGlzdCkuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtzcGFjZUFzc29jaWF0ZWREaXJlY3RvcnlOdW1iZXIge1xyXG4gIGRpcmVjdG9yeU51bWJlcjogc3RyaW5nO1xyXG4gIHJvdXRlUGFydGl0aW9uTmFtZTogc3RyaW5nO1xyXG4gIHBraWQ6IHN0cmluZyB8IG51bGw7XHJcbiAgZG5UeXBlOiBzdHJpbmcgfCBudWxsO1xyXG4gIHN1YlR5cGU6IHN0cmluZyB8IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV29ya3NwYWNlTGluZUFzc29jaWF0aW9uIHtcclxuICBsaW5lUGtpZDogc3RyaW5nIHwgbnVsbDtcclxuICBpbmRleDogbnVtYmVyIHwgbnVsbDtcclxuICBwb3NpdGlvbjogbnVtYmVyIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBXb3Jrc3BhY2VTaXRlIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIG5hbWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBXb3Jrc3BhY2VEZXZpY2VBc3NvY2lhdGlvbiB7XHJcbiAgZGV2aWNlSWQ6IHN0cmluZztcclxuICBtYWM6IHN0cmluZztcclxuICBtb2RlbDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtzcGFjZURldmljZVJlY29yZCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIG5ld05hbWU6IHN0cmluZztcclxuICBwa2lkOiBzdHJpbmcgfCBudWxsO1xyXG4gIGVudGl0eUNoYW5nZVR5cGU6IHN0cmluZyB8IG51bGw7XHJcbiAgZGV2aWNlVHlwZTogc3RyaW5nIHwgbnVsbDtcclxuICBhY3RpdmVMb2FkSWQ6IHN0cmluZyB8IG51bGw7XHJcbiAgYXNzb2NpYXRlZEROczogV29ya3NwYWNlQXNzb2NpYXRlZERpcmVjdG9yeU51bWJlcltdO1xyXG4gIGF1dGhlbnRpY2F0aW9uTW9kZTogc3RyaW5nIHwgbnVsbDtcclxuICBhdXRoZW50aWNhdGlvblN0cmluZzogc3RyaW5nIHwgbnVsbDtcclxuICBidWlsdEluQnJpZGdlOiBzdHJpbmcgfCBudWxsO1xyXG4gIGJ1c3lMYW1wRmllbGRzOiB1bmtub3duW107XHJcbiAgYnV0dG9uVGVtcGxhdGU6IHN0cmluZyB8IG51bGw7XHJcbiAgY2FsbGluZ1NlYXJjaFNwYWNlTmFtZTogc3RyaW5nIHwgbnVsbDtcclxuICBjZXJ0aWZpY2F0ZU9wZXJhdGlvbjogc3RyaW5nIHwgbnVsbDtcclxuICBjZXJ0aWZpY2F0ZVN0YXR1czogc3RyaW5nIHwgbnVsbDtcclxuICBjaGFuZ2VkTGluZUFwcEVudGl0eTogc3RyaW5nIHwgbnVsbDtcclxuICBjaGFuZ2VkTWVldE1lRW50aXR5OiBzdHJpbmcgfCBudWxsO1xyXG4gIGNvbW1vblBob25lQ29uZmlnTmFtZTogc3RyaW5nIHwgbnVsbDtcclxuICBjdGlSZW1vdGVEZXZpY2U6IGJvb2xlYW47XHJcbiAgY3VjbUlkOiBzdHJpbmcgfCBudWxsO1xyXG4gIGN1c3RvbWVySWQ6IG51bWJlcjtcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbDtcclxuICBkZXZpY2VQb29sTmFtZTogc3RyaW5nIHwgbnVsbDtcclxuICBkZXZpY2VSZWdTdGF0dXM6IHN0cmluZyB8IG51bGw7XHJcbiAgZGV2aWNlU2VjdXJpdHlNb2RlOiBzdHJpbmcgfCBudWxsO1xyXG4gIGVuYWJsZWRFeHRlbnNpb25Nb2JpbGl0eTogYm9vbGVhbjtcclxuICBleGNsdWRlRGV2aWNlRXh0cmFPcHRpb25zOiBib29sZWFuO1xyXG4gIGV4dHJhT3B0aW9uczogdW5rbm93biB8IG51bGw7XHJcbiAgZmlybXdhcmVWZXJzaW9uOiBzdHJpbmcgfCBudWxsO1xyXG4gIGZpcnN0RXhwYW5zaW9uTW9kdWxlOiBzdHJpbmcgfCBudWxsO1xyXG4gIGludGVyY29tTGluZUFzc29jaWF0aW9uczogdW5rbm93bltdO1xyXG4gIGlwQWRkcmVzczogc3RyaW5nIHwgbnVsbDtcclxuICBsYXN0UmVnVGltZTogc3RyaW5nIHwgbnVsbDtcclxuICBsaW5lQXNzb2NpYXRpb25zOiBXb3Jrc3BhY2VMaW5lQXNzb2NpYXRpb25bXTtcclxuICBsaW5lczogdW5rbm93bltdO1xyXG4gIGxvY2F0aW9uOiBzdHJpbmcgfCBudWxsO1xyXG4gIG1lZXRNZUVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgbmV0d29ya0xvY2FsZTogc3RyaW5nIHwgbnVsbDtcclxuICBvcGVyYXRpb25Db21wbGV0ZXNCeTogc3RyaW5nIHwgbnVsbDtcclxuICBvd25lclVzZXJJZDogc3RyaW5nIHwgbnVsbDtcclxuICBwbGFyRGV2aWNlOiBib29sZWFuO1xyXG4gIHByb3RvY29sOiBzdHJpbmcgfCBudWxsO1xyXG4gIHByb3Zpc2lvbmluZ1N0YXR1czogc3RyaW5nIHwgbnVsbDtcclxuICByZXJvdXRpbmdDc3M6IHN0cmluZyB8IG51bGw7XHJcbiAgcnNhS2V5U2l6ZTogc3RyaW5nIHwgbnVsbDtcclxuICBzZWNvbmRFeHBhbnNpb25Nb2R1bGU6IHN0cmluZyB8IG51bGw7XHJcbiAgc2VjdXJpdHlQcm9maWxlOiBzdHJpbmcgfCBudWxsO1xyXG4gIHNlY3VyaXR5UHJvZmlsZVV1aWQ6IHN0cmluZyB8IG51bGw7XHJcbiAgc2VsZWN0ZWREZXZpY2VzQWFyU2V0dGluZ3M6IHVua25vd25bXTtcclxuICBzZWxlY3RlZERldmljZXNBZGRpdGlvbmFsSW5mb3M6IHVua25vd25bXTtcclxuICBzZWxlY3RlZERldmljZXNEbmRTZXR0aW5nczogdW5rbm93bltdO1xyXG4gIHNlbGVjdGVkRGV2aWNlc0V4dGVybmFsRGF0YUxvY2F0aW9uczogdW5rbm93bltdO1xyXG4gIHNlbGVjdGVkRGV2aWNlc0dlbmVyYWxJbmZvczogdW5rbm93bltdO1xyXG4gIHNlbGVjdGVkRGV2aWNlc01lZGlhU2V0dGluZ3M6IHVua25vd25bXTtcclxuICBzZWxlY3RlZERldmljZXNNbHBwSW5mb3M6IHVua25vd25bXTtcclxuICBzZWxlY3RlZERldmljZXNOdW1iZXJQcmVzZW50YXRpb25zOiB1bmtub3duW107XHJcbiAgc2VsZWN0ZWREZXZpY2VzUGhvbmVTcGVjaWZpY3M6IHVua25vd25bXTtcclxuICBzZWxlY3RlZERldmljZXNQcm90b2NvbFNwZWNpZmljczogdW5rbm93bltdO1xyXG4gIHNlbGVjdGVkSW5kZXg6IG51bWJlcjtcclxuICBzZXJ2aWNlczogc3RyaW5nW107XHJcbiAgc2hhcmVkVXNlcnM6IHN0cmluZ1tdO1xyXG4gIHNpcFByb2ZpbGU6IHN0cmluZyB8IG51bGw7XHJcbiAgc2l0ZUlkOiBudW1iZXI7XHJcbiAgc2l0ZU5hbWU6IHN0cmluZyB8IG51bGw7XHJcbiAgc29mdGtleVRlbXBsYXRlOiBzdHJpbmcgfCBudWxsO1xyXG4gIHNwZWVkRGlhbHM6IHVua25vd25bXTtcclxuICBzdWJzY3JpYmVDYWxsaW5nU2VhcmNoU3BhY2VOYW1lOiBzdHJpbmcgfCBudWxsO1xyXG4gIHRoaXJkRXhwYW5zaW9uTW9kdWxlOiBzdHJpbmcgfCBudWxsO1xyXG4gIHVuU3VwcG9ydGVkRm9yU0Q6IHVua25vd24gfCBudWxsO1xyXG4gIHVzZXJEZXZpY2VUeXBlOiBzdHJpbmcgfCBudWxsO1xyXG4gIHVzZXJMb2NhbGU6IHN0cmluZyB8IG51bGw7XHJcbiAgdm9pY2VtYWlsRW5hYmxlZDogYm9vbGVhbjtcclxuICB3ZWJleFVVSUQ6IHN0cmluZyB8IG51bGw7XHJcbiAgd2l0aFVkcDogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBXb3Jrc3BhY2VMaXN0SXRlbSB7XHJcbiAgZGV2aWNlOiBXb3Jrc3BhY2VEZXZpY2VSZWNvcmQ7XHJcbiAgbGluZXM6IHVua25vd25bXTtcclxuICBzaXRlOiBXb3Jrc3BhY2VTaXRlIHwgbnVsbDtcclxuICB3b3Jrc3BhY2VEZXZpY2VzOiBXb3Jrc3BhY2VEZXZpY2VBc3NvY2lhdGlvbltdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtzcGFjZXNSZXNwb25zZSB7XHJcbiAgdG90YWw6IG51bWJlcjtcclxuICBwYWdlRGF0YTogV29ya3NwYWNlTGlzdEl0ZW1bXTtcclxufVxyXG5cclxuLy8gRGlzcGxheS1mcmllbmRseSBzaGFwZSBjb25zdW1lZCBieSB0aGUgZmlsdGVycy90YWJsZSBjb21wb25lbnRzLlxyXG5cclxuZXhwb3J0IHR5cGUgV29ya3NwYWNlU3RhdHVzID0gJ2FjdGl2ZScgfCAnaW5hY3RpdmUnIHwgJ3VuYXZhaWxhYmxlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV29ya3NwYWNlRGV2aWNlIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIGtpbmQ6ICdkZXZpY2UnIHwgJ3BlcnNvbic7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBpbml0aWFscz86IHN0cmluZztcclxuICBjb2xvcj86IHN0cmluZztcclxuICBtb2RlbD86IHN0cmluZztcclxuICBtYWM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV29ya3NwYWNlc1BhZ2Uge1xyXG4gIHdvcmtzcGFjZXM6IFdvcmtzcGFjZVtdO1xyXG4gIHRvdGFsOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV29ya3NwYWNlIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XHJcbiAgdHlwZUxhYmVsOiBzdHJpbmc7XHJcbiAgY2FwYWNpdHk6IG51bWJlciB8IG51bGw7XHJcbiAgbG9jYXRpb246IHN0cmluZztcclxuICBzaXRlSWQ6IG51bWJlciB8IG51bGw7XHJcbiAgZGV2aWNlczogV29ya3NwYWNlRGV2aWNlW107XHJcbiAgc2NoZWR1bGluZzogc3RyaW5nO1xyXG4gIGNhbGxpbmdMaWNlbnNlOiBzdHJpbmc7XHJcbiAgcHJvdmlzaW9uaW5nVHlwZTogc3RyaW5nO1xyXG4gIHN0YXR1czogV29ya3NwYWNlU3RhdHVzO1xyXG4gIHN0YXR1c0xhYmVsOiBzdHJpbmc7XHJcbiAgZGV2aWNlOiBXb3Jrc3BhY2VEZXZpY2VSZWNvcmQ7XHJcbiAgaXNIeWJyaWQ6IGJvb2xlYW47XHJcbiAgLy8gVGhlIENVQ00gZGV2aWNlJ3Mgb3duIG5hbWUgKGUuZy4gXCJTRVAuLi5cIikgYXMgaXQgd2FzIGJlZm9yZSBtZXJnaW5nIHdpdGhcclxuICAvLyBpdHMgV2ViZXggY291bnRlcnBhcnQsIHdoaWNoIGNhbiBvdGhlcndpc2Ugb3ZlcndyaXRlIGRldmljZS5uYW1lLiBVc2VkIHRvXHJcbiAgLy8gYWRkcmVzcyB0aGUgQ1VDTSBkZXRhaWwgZW5kcG9pbnQgZm9yIGEgaHlicmlkIHdvcmtzcGFjZS5cclxuICBjdWNtRGV2aWNlTmFtZTogc3RyaW5nIHwgbnVsbDtcclxufVxyXG5cclxuLy8gV2hpY2ggaWRlbnRpdHkgYSB3b3Jrc3BhY2Ugc2hvdWxkIGJlIG9wZW5lZC9hZGRyZXNzZWQgYnk6IHRoZSBwbGFpbiBXZWJleFxyXG4vLyBDYWxsaW5nIGNvbm5lY3Rpb24gKGtleWVkIGJ5IGRldmljZS53ZWJleFVVSUQpIG9yIHRoZSBXZWJleCBDYWxsaW5nIERJIC9cclxuLy8gb24tcHJlbSBjb25uZWN0aW9uIChrZXllZCBieSBkZXZpY2UubmFtZSkuIEEgaHlicmlkIHdvcmtzcGFjZSBoYXMgYm90aCBhbmRcclxuLy8gdGhlIGNhbGxlciBwaWNrcyB3aGljaCBvbmUgdGhleSBjbGlja2VkOyBhIG5vbi1oeWJyaWQgd29ya3NwYWNlIG9ubHkgZXZlclxyXG4vLyBoYXMgb25lIG9mIHRoZSB0d28gc2V0LlxyXG5leHBvcnQgdHlwZSBXb3Jrc3BhY2VDb25uZWN0aW9uVHlwZSA9ICd3ZWJleCcgfCAnZGknO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBXb3Jrc3BhY2VPcGVuRXZlbnQge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgY29ubmVjdGlvblR5cGU6IFdvcmtzcGFjZUNvbm5lY3Rpb25UeXBlO1xyXG59XHJcblxyXG4vLyBNb2NrIGRhdGEgc2hvd24gb24gdGhlIHdvcmtzcGFjZSBkZXRhaWwgKE92ZXJ2aWV3IC8gQ2FsbGluZykgdmlldywgdW50aWwgYVxyXG4vLyBkZWRpY2F0ZWQgZGV0YWlsIEFQSSBpcyBhdmFpbGFibGUuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtzcGFjZUlzc3VlIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIG1lc3NhZ2U6IHN0cmluZztcclxuICB0aW1lc3RhbXA6IHN0cmluZztcclxuICBhY3Rpb25MYWJlbDogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgc3VnZ2VzdGVkQWN0aW9uOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV29ya3NwYWNlTG9jYXRpb25EZXRhaWxzIHtcclxuICBjb3VudHJ5OiBzdHJpbmc7XHJcbiAgYWRkcmVzczogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtzcGFjZUNhbGxpbmdEZXRhaWxzIHtcclxuICBsaWNlbnNlOiBzdHJpbmc7XHJcbiAgc2lwQWRkcmVzczogc3RyaW5nO1xyXG4gIGRpcmVjdG9yeU51bWJlcjogc3RyaW5nO1xyXG4gIGV4dGVuc2lvbj86IHN0cmluZztcclxuICByb3V0ZVBhcnRpdGlvbjogc3RyaW5nO1xyXG4gIGNhbGxpbmdTZWFyY2hTcGFjZTogc3RyaW5nO1xyXG4gIHNlY3VyaXR5UHJvZmlsZTogc3RyaW5nO1xyXG4gIGV4dGVybmFsQ2FsbGVySWROYW1lPzogc3RyaW5nO1xyXG4gIGV4dGVybmFsQ2FsbGVySWROdW1iZXI/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV29ya3NwYWNlRGV2aWNlTGluZSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIG51bWJlcjogc3RyaW5nO1xyXG4gIHJlZ2lzdGVyZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV29ya3NwYWNlRGV2aWNlRGV0YWlscyB7XHJcbiAgbW9kZWw6IHN0cmluZztcclxuICByZWdpc3RyYXRpb25TdGF0dXM6IHN0cmluZztcclxuICBtYWM6IHN0cmluZztcclxuICBsaW5lQ291bnQ6IG51bWJlciB8IG51bGw7XHJcbiAgaG9zdElwQWRkcmVzczogc3RyaW5nO1xyXG4gIHJlbW90ZUlwQWRkcmVzczogc3RyaW5nO1xyXG4gIG1hbmFnZWRCeTogc3RyaW5nO1xyXG4gIHNvZnR3YXJlQ2hhbm5lbDogc3RyaW5nO1xyXG4gIHNvZnR3YXJlVmVyc2lvbjogc3RyaW5nO1xyXG4gIGxpbmVzOiBXb3Jrc3BhY2VEZXZpY2VMaW5lW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV29ya3NwYWNlRGV0YWlscyB7XHJcbiAgaXNzdWVzOiBXb3Jrc3BhY2VJc3N1ZVtdO1xyXG4gIGxvY2F0aW9uOiBXb3Jrc3BhY2VMb2NhdGlvbkRldGFpbHM7XHJcbiAgY2FsbGluZzogV29ya3NwYWNlQ2FsbGluZ0RldGFpbHM7XHJcbiAgc2NoZWR1bGluZ0NvbmZpZ3VyZWQ6IGJvb2xlYW47XHJcbiAgcGxhbm5lZE1haW50ZW5hbmNlRW5hYmxlZDogYm9vbGVhbjtcclxuICBub3Rlczogc3RyaW5nIHwgbnVsbDtcclxuICBjYXBhY2l0eT86IG51bWJlciB8IG51bGw7XHJcbiAgZGV2aWNlPzogV29ya3NwYWNlRGV2aWNlRGV0YWlscztcclxufVxyXG5cclxuLy8gUmF3IHNoYXBlcyByZXR1cm5lZCBieSB0aGUgV2ViZXggQ2FsbGluZyB3b3Jrc3BhY2UtZGV0YWlsIGVuZHBvaW50c1xyXG4vLyAoQVBJLkRFVEFJTFMuV0VCRVguV09SS1NQQUNFIC8gTlVNQkVSUyAvIENBTExFUklEKS5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV2ViZXhXb3Jrc3BhY2VEZXZpY2VTdW1tYXJ5IHtcclxuICBkZXZpY2VJZDogc3RyaW5nO1xyXG4gIG1hYzogc3RyaW5nO1xyXG4gIG1vZGVsOiBzdHJpbmc7XHJcbiAgcmVnaXN0ZXJlZDogc3RyaW5nIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBXZWJleFdvcmtzcGFjZURldGFpbHNSZXNwb25zZSB7XHJcbiAgY3VzdG9tZXJJZDogbnVtYmVyO1xyXG4gIGNhcGFjaXR5OiBudW1iZXIgfCBudWxsO1xyXG4gIGRldmljZXM6IFdlYmV4V29ya3NwYWNlRGV2aWNlU3VtbWFyeVtdO1xyXG4gIGV4dGVuc2lvbnM6IHN0cmluZ1tdO1xyXG4gIGxpY2Vuc2VOYW1lOiBzdHJpbmc7XHJcbiAgbG9jYXRpb25JZDogc3RyaW5nO1xyXG4gIGxvY2F0aW9uTmFtZTogc3RyaW5nO1xyXG4gIHNpcEFkZHJlc3M6IHN0cmluZztcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgd29ya3NwYWNlSWQ6IHN0cmluZztcclxuICB3b3Jrc3BhY2VOYW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV2ViZXhOdW1iZXJMb2NhdGlvbiB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgb3JnSWQ6IHN0cmluZztcclxuICBhZGRyZXNzOiBzdHJpbmcgfCBudWxsO1xyXG4gIGFubm91bmNlbWVudExhbmd1YWdlOiBzdHJpbmcgfCBudWxsO1xyXG4gIGNpdHk6IHN0cmluZyB8IG51bGw7XHJcbiAgY291bnRyeTogc3RyaW5nIHwgbnVsbDtcclxuICBlbWFpbExhbmd1YWdlOiBzdHJpbmcgfCBudWxsO1xyXG4gIHBvc3RhbENvZGU6IHN0cmluZyB8IG51bGw7XHJcbiAgcHJlZmVycmVkTGFuZ3VhZ2U6IHN0cmluZyB8IG51bGw7XHJcbiAgc3RhdGU6IHN0cmluZyB8IG51bGw7XHJcbiAgdGltZVpvbmU6IHN0cmluZyB8IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV2ViZXhOdW1iZXJPcmdhbml6YXRpb24ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdlYmV4UGhvbmVOdW1iZXIge1xyXG4gIGVzbjogc3RyaW5nIHwgbnVsbDtcclxuICBleHRlbnNpb246IHN0cmluZyB8IG51bGw7XHJcbiAgZXh0ZXJuYWw6IHN0cmluZyB8IG51bGw7XHJcbiAgcHJpbWFyeTogYm9vbGVhbjtcclxuICB3b3Jrc3BhY2U/OiB7IGlkOiBzdHJpbmcgfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBXZWJleE51bWJlcnNSZXNwb25zZSB7XHJcbiAgcGhvbmVOdW1iZXJzOiBXZWJleFBob25lTnVtYmVyW107XHJcbiAgbG9jYXRpb246IFdlYmV4TnVtYmVyTG9jYXRpb247XHJcbiAgb3JnYW5pemF0aW9uOiBXZWJleE51bWJlck9yZ2FuaXphdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBXZWJleENhbGxlcklkUmVzcG9uc2Uge1xyXG4gIHR5cGVzOiBzdHJpbmdbXTtcclxuICBzZWxlY3RlZDogc3RyaW5nO1xyXG4gIGJsb2NrSW5Gb3J3YXJkQ2FsbHNFbmFibGVkOiBib29sZWFuO1xyXG4gIGN1c3RvbUV4dGVybmFsQ2FsbGVySWROYW1lOiBzdHJpbmcgfCBudWxsO1xyXG4gIGN1c3RvbU51bWJlcjogc3RyaW5nIHwgbnVsbDtcclxuICBjdXN0b21lck51bWJlcjogc3RyaW5nIHwgbnVsbDtcclxuICBkaXJlY3ROdW1iZXI6IHN0cmluZyB8IG51bGw7XHJcbiAgZGlzcGxheURldGFpbDogc3RyaW5nIHwgbnVsbDtcclxuICBkaXNwbGF5TmFtZTogc3RyaW5nIHwgbnVsbDtcclxuICBleHRlcm5hbENhbGxlcklkTmFtZVBvbGljeTogc3RyaW5nIHwgbnVsbDtcclxuICBsb2NhdGlvbkV4dGVybmFsQ2FsbGVySWROYW1lOiBzdHJpbmcgfCBudWxsO1xyXG4gIGxvY2F0aW9uTnVtYmVyOiBzdHJpbmcgfCBudWxsO1xyXG4gIHRvbGxGcmVlTG9jYXRpb25OdW1iZXI6IGJvb2xlYW47XHJcbn1cclxuXHJcbi8vIFJhdyBzaGFwZXMgcmV0dXJuZWQgYnkgdGhlIENVQ00gd29ya3NwYWNlLWRldGFpbCBlbmRwb2ludHNcclxuLy8gKEFQSS5ERVRBSUxTLkNVQ00uV09SS1NQQUNFIC8gU0lURSkuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1Y21DYWxsSW5mb0Rpc3BsYXkge1xyXG4gIGNhbGxlck5hbWU6IHN0cmluZztcclxuICBjYWxsZXJOdW1iZXI6IHN0cmluZztcclxuICByZWRpcmVjdGVkTnVtYmVyOiBzdHJpbmc7XHJcbiAgZGlhbGVkTnVtYmVyOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VjbUxpbmVBc3NvY2lhdGlvbiB7XHJcbiAgbGluZVBraWQ6IHN0cmluZyB8IG51bGw7XHJcbiAgaW5kZXg6IG51bWJlciB8IG51bGw7XHJcbiAgcG9zaXRpb246IG51bWJlciB8IG51bGw7XHJcbiAgZGlyZWN0b3J5TnVtYmVyOiBXb3Jrc3BhY2VBc3NvY2lhdGVkRGlyZWN0b3J5TnVtYmVyO1xyXG4gIGUxNjRNYXNrOiBzdHJpbmcgfCBudWxsO1xyXG4gIHRleHRMYWJlbDogc3RyaW5nIHwgbnVsbDtcclxuICBkaXNwbGF5TGFiZWw6IHN0cmluZyB8IG51bGw7XHJcbiAgZGlzcGxheUxhYmVsQXNjaWk6IHN0cmluZyB8IG51bGw7XHJcbiAgbWF4TnVtYmVyT2ZDYWxsczogbnVtYmVyIHwgbnVsbDtcclxuICBidXN5VHJpZ2dlcjogbnVtYmVyIHwgbnVsbDtcclxuICByZWNvcmRpbmdPcHRpb246IHN0cmluZyB8IG51bGw7XHJcbiAgcmVjb3JkaW5nUHJvZmlsZTogc3RyaW5nIHwgbnVsbDtcclxuICByZWNvcmRpbmdNZWRpYVNvdXJjZTogc3RyaW5nIHwgbnVsbDtcclxuICB2aXN1YWxNV0k6IHN0cmluZyB8IG51bGw7XHJcbiAgYXVkaWJsZU1XSTogc3RyaW5nIHwgbnVsbDtcclxuICByaW5nU2V0dGluZ19pZGxlOiBzdHJpbmcgfCBudWxsO1xyXG4gIHJpbmdTZXR0aW5nX2FjdGl2ZTogc3RyaW5nIHwgbnVsbDtcclxuICBwaWNrdXBBQVNfaWRsZTogc3RyaW5nIHwgbnVsbDtcclxuICBwaWNrdXBBQVNfYWN0aXZlOiBzdHJpbmcgfCBudWxsO1xyXG4gIG1vbml0b3JDU1M6IHN0cmluZyB8IG51bGw7XHJcbiAgbG9nTWlzc2VkQ2FsbDogc3RyaW5nIHwgbnVsbDtcclxuICBjYWxsSW5mb0Rpc3BsYXk6IEN1Y21DYWxsSW5mb0Rpc3BsYXk7XHJcbiAgbGluZUxvY2FsSWQ6IHN0cmluZyB8IG51bGw7XHJcbiAgZGlkUGF0dGVybjogdW5rbm93biB8IG51bGw7XHJcbiAgc2hhcmVkRGV2aWNlczogdW5rbm93bltdO1xyXG4gIHNoYXJlZFVzZXJzOiB1bmtub3duW107XHJcbiAgb3duZXJVc2VySWQ6IHVua25vd25bXTtcclxuICBhc3NvY2lhdGVkOiB1bmtub3duIHwgbnVsbDtcclxuICBwYXR0ZXJuVXNhZ2U6IHVua25vd24gfCBudWxsO1xyXG4gIGFsZXJ0aW5nTmFtZTogc3RyaW5nIHwgbnVsbDtcclxuICBwb3B1bGF0ZVdpdGhEaWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VjbVNlcnZpY2Uge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0ZWxlY2FzdGVyU2VydmljZU5hbWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdWNtRGV2aWNlRGV0YWlscyBleHRlbmRzIE9taXQ8V29ya3NwYWNlRGV2aWNlUmVjb3JkLCAnbGluZUFzc29jaWF0aW9ucycgfCAnc2VydmljZXMnPiB7XHJcbiAgbGluZUFzc29jaWF0aW9uczogQ3VjbUxpbmVBc3NvY2lhdGlvbltdO1xyXG4gIHNlcnZpY2VzOiBDdWNtU2VydmljZVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1Y21DYWxsRm9yd2FyZFNldHRpbmcge1xyXG4gIGZvcndhcmRUb1ZvaWNlTWFpbDogYm9vbGVhbiB8IG51bGw7XHJcbiAgZGVzdGluYXRpb246IHN0cmluZyB8IG51bGw7XHJcbiAgY2FsbGluZ1NlYXJjaFNwYWNlOiBzdHJpbmcgfCBudWxsO1xyXG4gIGR1cmF0aW9uOiBudW1iZXIgfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1Y21BYXJTZXR0aW5ncyB7XHJcbiAgYWFyRGVzdGluYXRpb25NYXNrOiBzdHJpbmcgfCBudWxsO1xyXG4gIGFhckdyb3VwOiBzdHJpbmcgfCBudWxsO1xyXG4gIGFhclZvaWNlTWFpbEVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgYWFyS2VlcENhbGxIaXN0b3J5OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1Y21QYXJrTW9uaXRvcmluZyB7XHJcbiAgZGVzdGluYXRpb246IHN0cmluZyB8IG51bGw7XHJcbiAgY2FsbGluZ1NlYXJjaFNwYWNlOiBzdHJpbmcgfCBudWxsO1xyXG4gIHZvaWNlTWFpbDogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdWNtRGlkUGF0dGVybiB7XHJcbiAgcGtpZDogc3RyaW5nIHwgbnVsbDtcclxuICBwYXR0ZXJuOiBzdHJpbmcgfCBudWxsO1xyXG4gIG5ld1BhdHRlcm46IHN0cmluZyB8IG51bGw7XHJcbiAgY2FsbGVkUGFydHlUcmFuc2Zvcm1hdGlvbk1hc2s6IHN0cmluZyB8IG51bGw7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGw7XHJcbiAgdXNlT3JpZ2luYXRvckNzczogdW5rbm93biB8IG51bGw7XHJcbiAgY2FsbGluZ1NlYXJjaFNwYWNlTmFtZTogc3RyaW5nIHwgbnVsbDtcclxuICByb3V0ZVBhcnRpdGlvbk5hbWU6IHN0cmluZyB8IG51bGw7XHJcbiAgbmV3Um91dGVQYXJ0aXRpb25OYW1lOiBzdHJpbmcgfCBudWxsO1xyXG4gIHVyZ2VudFByaW9yaXR5OiBib29sZWFuO1xyXG4gIG91dGdvaW5nQ2FsbHM6IHVua25vd24gfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1Y21MaW5lRGV0YWlscyB7XHJcbiAgZGlyZWN0b3J5TnVtYmVyOiBXb3Jrc3BhY2VBc3NvY2lhdGVkRGlyZWN0b3J5TnVtYmVyO1xyXG4gIHBraWQ6IHN0cmluZyB8IG51bGw7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGw7XHJcbiAgZW50aXR5Q2hhbmdlVHlwZTogc3RyaW5nIHwgbnVsbDtcclxuICBhbGVydGluZ05hbWU6IHN0cmluZyB8IG51bGw7XHJcbiAgYXNjaWlBbGVydGluZ05hbWU6IHN0cmluZyB8IG51bGw7XHJcbiAgY2FsbGluZ1NlYXJjaFNwYWNlOiBzdHJpbmcgfCBudWxsO1xyXG4gIGNhbGxGb3J3YXJkQWxsOiBDdWNtQ2FsbEZvcndhcmRTZXR0aW5nO1xyXG4gIGNhbGxGb3J3YXJkQWxsU2Vjb25kYXJ5Q1NTOiBDdWNtQ2FsbEZvcndhcmRTZXR0aW5nO1xyXG4gIGNhbGxGb3J3YXJkQnVzeUludGVybmFsOiBDdWNtQ2FsbEZvcndhcmRTZXR0aW5nO1xyXG4gIGNhbGxGb3J3YXJkQnVzeUV4dGVybmFsOiBDdWNtQ2FsbEZvcndhcmRTZXR0aW5nO1xyXG4gIGNhbGxGb3J3YXJkTm9BbnN3ZXJJbnRlcm5hbDogQ3VjbUNhbGxGb3J3YXJkU2V0dGluZztcclxuICBjYWxsRm9yd2FyZE5vQW5zd2VyRXh0ZXJuYWw6IEN1Y21DYWxsRm9yd2FyZFNldHRpbmc7XHJcbiAgY2FsbEZvcndhcmROb0NvdmVyYWdlSW50ZXJuYWw6IEN1Y21DYWxsRm9yd2FyZFNldHRpbmc7XHJcbiAgY2FsbEZvcndhcmROb0NvdmVyYWdlRXh0ZXJuYWw6IEN1Y21DYWxsRm9yd2FyZFNldHRpbmc7XHJcbiAgY2FsbEZvcndhcmRPbkNUSUZhaWx1cmU6IEN1Y21DYWxsRm9yd2FyZFNldHRpbmc7XHJcbiAgY2FsbEZvcndhcmRVbnJlZ2lzdGVyZWRJbnRlcm5hbDogQ3VjbUNhbGxGb3J3YXJkU2V0dGluZztcclxuICBjYWxsRm9yd2FyZFVucmVnaXN0ZXJlZEV4dGVybmFsOiBDdWNtQ2FsbEZvcndhcmRTZXR0aW5nO1xyXG4gIGNhbGxGb3J3YXJkQWx0ZXJuYXRlUGFydHk6IEN1Y21DYWxsRm9yd2FyZFNldHRpbmc7XHJcbiAgdm9pY2VNYWlsUHJvZmlsZTogc3RyaW5nIHwgbnVsbDtcclxuICBub0Fuc3dlclJpbmdEdXJhdGlvbjogbnVtYmVyIHwgbnVsbDtcclxuICBhdXRvQW5zd2VyOiBzdHJpbmcgfCBudWxsO1xyXG4gIGNhbGxQaWNrdXBHcm91cDogc3RyaW5nIHwgbnVsbDtcclxuICBhYXJTZXR0aW5nczogQ3VjbUFhclNldHRpbmdzO1xyXG4gIHBhcmtNb25pdG9yaW5nSW50ZXJuYWw6IEN1Y21QYXJrTW9uaXRvcmluZztcclxuICBwYXJrTW9uaXRvcmluZ0V4dGVybmFsOiBDdWNtUGFya01vbml0b3Jpbmc7XHJcbiAgdXJnZW50UHJpb3JpdHk6IGJvb2xlYW47XHJcbiAgYmxmUHJlc2VuY2VHcm91cDogc3RyaW5nIHwgbnVsbDtcclxuICB1c2VySG9sZE1PSEF1ZGlvU291cmNlSWQ6IHN0cmluZyB8IG51bGw7XHJcbiAgdXNlckhvbGRNT0hBdWRpb1NvdXJjZU5hbWU6IHN0cmluZyB8IG51bGw7XHJcbiAgbmV0d29ya01PSEF1ZGlvU291cmNlSWQ6IHN0cmluZyB8IG51bGw7XHJcbiAgbmV0d29ya01PSEF1ZGlvU291cmNlTmFtZTogc3RyaW5nIHwgbnVsbDtcclxuICByZWplY3RBbm9ueW1vdXNDYWxsOiBib29sZWFuO1xyXG4gIGVudGVycHJpc2VBbHROdW06IHVua25vd24gfCBudWxsO1xyXG4gIGUxNjRBbHROdW06IHVua25vd24gfCBudWxsO1xyXG4gIGRpcmVjdG9yeVVyaXM6IHVua25vd25bXTtcclxuICBtbHBwTm9BbnN3ZXJSaW5nRHVyYXRpb246IG51bWJlciB8IG51bGw7XHJcbiAgY29uZmlkZW50aWFsQWNjZXNzTW9kZTogdW5rbm93biB8IG51bGw7XHJcbiAgY29uZmlkZW50aWFsQWNjZXNzTGV2ZWw6IHVua25vd24gfCBudWxsO1xyXG4gIGNvbmZpZGVudGlhbEFjY2Vzc0xldmVsTmFtZTogdW5rbm93biB8IG51bGw7XHJcbiAgY2FsbENvbnRyb2xBZ2VudFByb2ZpbGU6IHVua25vd24gfCBudWxsO1xyXG4gIGhvbGRSZXZlcnNpb25SaW5nRHVyYXRpb246IG51bWJlciB8IG51bGw7XHJcbiAgaG9sZFJldmVyc2lvbk5vdGlmaWNhdGlvbkludGVydmFsOiBudW1iZXIgfCBudWxsO1xyXG4gIHBhcnR5RW50cmFuY2VUb25lOiBzdHJpbmcgfCBudWxsO1xyXG4gIHBzdG5GYWlsb3Zlcjogc3RyaW5nIHwgbnVsbDtcclxuICBsb2NhbElkOiBzdHJpbmcgfCBudWxsO1xyXG4gIGN1c3RvbWVySWQ6IG51bWJlcjtcclxuICBjdWNtSWQ6IG51bWJlcjtcclxuICBzaXRlSWQ6IG51bWJlcjtcclxuICBzaXRlTmFtZTogc3RyaW5nIHwgbnVsbDtcclxuICBsb2NhdGlvbjogc3RyaW5nIHwgbnVsbDtcclxuICBsb2NhdGlvbk5hbWVzOiBzdHJpbmdbXTtcclxuICBzZWxlY3RlZEluZGV4OiBudW1iZXI7XHJcbiAgZGlkUGF0dGVybnM6IEN1Y21EaWRQYXR0ZXJuW107XHJcbiAgbWFwcGVkRGlkczogc3RyaW5nW107XHJcbiAgc2VsZWN0ZWRMaW5lc0dlbmVyYWxTZXR0aW5nczogdW5rbm93bltdO1xyXG4gIHNlbGVjdGVkTGluZXNBc3NvY2lhdGVkU2V0dGluZ3M6IHVua25vd25bXTtcclxuICBzZWxlY3RlZExpbmVzTXVsdGlwbGVDYWxsczogdW5rbm93bltdO1xyXG4gIHNlbGVjdGVkTGluZXNDYWxsUmVjb3JkaW5nczogdW5rbm93bltdO1xyXG4gIHNlbGVjdGVkTGluZXNBZGRpdGlvbmFsU2V0dGluZ3M6IHVua25vd25bXTtcclxuICBzZWxlY3RlZExpbmVzRm9yd2FyZENhbGxzOiB1bmtub3duW107XHJcbiAgbmV3VG9Vc2VyOiBib29sZWFuO1xyXG4gIHBsYXJEZXN0aW5hdGlvbk51bWJlcjogc3RyaW5nIHwgbnVsbDtcclxuICBwcmVmaXhEaWdpdHM6IHN0cmluZyB8IG51bGw7XHJcbiAgcGxhckRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsO1xyXG4gIHBsYXJDc3M6IHN0cmluZyB8IG51bGw7XHJcbiAgcGxhclJvdXRlUGFydGl0aW9uOiBzdHJpbmcgfCBudWxsO1xyXG4gIHBsYXJFbmFibGVkOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1Y21Xb3Jrc3BhY2VEZXRhaWxzUmVzcG9uc2Uge1xyXG4gIGRldmljZTogQ3VjbURldmljZURldGFpbHM7XHJcbiAgbGluZXM6IEN1Y21MaW5lRGV0YWlsc1tdO1xyXG4gIHNpdGU6IFdvcmtzcGFjZVNpdGUgfCBudWxsO1xyXG4gIHdvcmtzcGFjZURldmljZXM6IFdvcmtzcGFjZURldmljZUFzc29jaWF0aW9uW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VjbVNpdGVDdWNJbmZvIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIG5hbWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdWNtU2l0ZUN1Y21JbmZvIHtcclxuICBwbGF0Zm9ybVR5cGU6IHN0cmluZztcclxuICBpZDogbnVtYmVyO1xyXG4gIG5hbWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdWNtU2l0ZVJlc3BvbnNlIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBzaG9ydE5hbWU6IHN0cmluZztcclxuICBhZGRyZXNzMjogc3RyaW5nIHwgbnVsbDtcclxuICBhZGRyZXNzMzogc3RyaW5nIHwgbnVsbDtcclxuICBjb3VudHJ5OiBzdHJpbmcgfCBudWxsO1xyXG4gIGN1YzogQ3VjbVNpdGVDdWNJbmZvIHwgbnVsbDtcclxuICBjdWNtOiBDdWNtU2l0ZUN1Y21JbmZvIHwgbnVsbDtcclxuICBoYXNBY3RpdmF0ZWQ6IGJvb2xlYW47XHJcbiAgaHFTdGF0dXM6IGJvb2xlYW47XHJcbiAgaXNBZnRlclR0dTogYm9vbGVhbjtcclxuICBsb2NhdGlvbk5hbWU6IHN0cmluZztcclxuICBwcmVmZXRjaERuOiBib29sZWFuO1xyXG4gIHNldHRpbmdzOiB1bmtub3duW107XHJcbiAgc3RhdGU6IHN0cmluZyB8IG51bGw7XHJcbiAgdGltZXpvbmU6IHN0cmluZyB8IG51bGw7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Component, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/material/progress-spinner";
|
|
4
|
+
export class AppLoaderComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
AppLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
AppLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppLoaderComponent, selector: "app-loader", ngImport: i0, template: "<div class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"70\"\r\n strokeWidth=\"3\"></mat-progress-spinner>\r\n</div>\r\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200}.mat-progress-spinner circle,.mat-spinner circle{stroke:#000!important}\n"], dependencies: [{ kind: "component", type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: 'app-loader', encapsulation: ViewEncapsulation.None, template: "<div class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"70\"\r\n strokeWidth=\"3\"></mat-progress-spinner>\r\n</div>\r\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200}.mat-progress-spinner circle,.mat-spinner circle{stroke:#000!important}\n"] }]
|
|
13
|
+
}], ctorParameters: function () { return []; } });
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy93b3Jrc3BhY2VzL3NyYy91dGlscy9hcHAtbG9hZGVyL2FwcC1sb2FkZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvd29ya3NwYWNlcy9zcmMvdXRpbHMvYXBwLWxvYWRlci9hcHAtbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVE3RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCO0lBQ0EsQ0FBQzs7Z0hBRlUsa0JBQWtCO29HQUFsQixrQkFBa0Isa0RDUi9CLHdNQU9BOzRGRENhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1sb2FkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHAtbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hcHAtbG9hZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcExvYWRlckNvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwib3ZlcmxheVwiPlxyXG4gIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lclxyXG4gICAgY2xhc3M9XCJwYWdlLXNwaW5uZXJcIlxyXG4gICAgbW9kZT1cImluZGV0ZXJtaW5hdGVcIlxyXG4gICAgW2RpYW1ldGVyXT1cIjcwXCJcclxuICAgIHN0cm9rZVdpZHRoPVwiM1wiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const DEFAULT_DEVICE_ICON = 'assets/icons/cisco_8851.png';
|
|
2
|
+
const DEVICE_MODEL_ICONS = {
|
|
3
|
+
'cisco 8851': 'assets/icons/cisco_8851.png',
|
|
4
|
+
'cisco 8845': 'assets/icons/cisco_8845.png',
|
|
5
|
+
'cisco 9841': 'assets/icons/cisco_9841.png',
|
|
6
|
+
};
|
|
7
|
+
export function getDeviceIcon(model) {
|
|
8
|
+
if (!model) {
|
|
9
|
+
return DEFAULT_DEVICE_ICON;
|
|
10
|
+
}
|
|
11
|
+
return DEVICE_MODEL_ICONS[model.trim().toLowerCase()] ?? DEFAULT_DEVICE_ICON;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWljb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvd29ya3NwYWNlcy9zcmMvdXRpbHMvZGV2aWNlLWljb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxtQkFBbUIsR0FBRyw2QkFBNkIsQ0FBQztBQUUxRCxNQUFNLGtCQUFrQixHQUEyQjtJQUNqRCxZQUFZLEVBQUUsNkJBQTZCO0lBQzNDLFlBQVksRUFBRSw2QkFBNkI7SUFDM0MsWUFBWSxFQUFFLDZCQUE2QjtDQUM1QyxDQUFDO0FBRUYsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFjO0lBQzFDLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLG1CQUFtQixDQUFDO0tBQzVCO0lBQ0QsT0FBTyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxtQkFBbUIsQ0FBQztBQUMvRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgREVGQVVMVF9ERVZJQ0VfSUNPTiA9ICdhc3NldHMvaWNvbnMvY2lzY29fODg1MS5wbmcnO1xyXG5cclxuY29uc3QgREVWSUNFX01PREVMX0lDT05TOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xyXG4gICdjaXNjbyA4ODUxJzogJ2Fzc2V0cy9pY29ucy9jaXNjb184ODUxLnBuZycsXHJcbiAgJ2Npc2NvIDg4NDUnOiAnYXNzZXRzL2ljb25zL2Npc2NvXzg4NDUucG5nJyxcclxuICAnY2lzY28gOTg0MSc6ICdhc3NldHMvaWNvbnMvY2lzY29fOTg0MS5wbmcnLFxyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldERldmljZUljb24obW9kZWw/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gIGlmICghbW9kZWwpIHtcclxuICAgIHJldHVybiBERUZBVUxUX0RFVklDRV9JQ09OO1xyXG4gIH1cclxuICByZXR1cm4gREVWSUNFX01PREVMX0lDT05TW21vZGVsLnRyaW0oKS50b0xvd2VyQ2FzZSgpXSA/PyBERUZBVUxUX0RFVklDRV9JQ09OO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// CUCM and Webex Calling device names for the same physical workspace can differ
|
|
2
|
+
// only by the 'SEP' substring (Cisco's MAC-based device naming for CUCM
|
|
3
|
+
// endpoints). Comparing/rendering with it stripped is how the two get treated
|
|
4
|
+
// as one workspace, without altering the underlying device name data.
|
|
5
|
+
export function withoutSep(name) {
|
|
6
|
+
return name.toLocaleUpperCase().replace(/SEP/gi, '');
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvd29ya3NwYWNlcy9zcmMvdXRpbHMvd29ya3NwYWNlLW5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUZBQWlGO0FBQ2pGLHdFQUF3RTtBQUN4RSw4RUFBOEU7QUFDOUUsc0VBQXNFO0FBQ3RFLE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBWTtJQUNyQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENVQ00gYW5kIFdlYmV4IENhbGxpbmcgZGV2aWNlIG5hbWVzIGZvciB0aGUgc2FtZSBwaHlzaWNhbCB3b3Jrc3BhY2UgY2FuIGRpZmZlclxyXG4vLyBvbmx5IGJ5IHRoZSAnU0VQJyBzdWJzdHJpbmcgKENpc2NvJ3MgTUFDLWJhc2VkIGRldmljZSBuYW1pbmcgZm9yIENVQ01cclxuLy8gZW5kcG9pbnRzKS4gQ29tcGFyaW5nL3JlbmRlcmluZyB3aXRoIGl0IHN0cmlwcGVkIGlzIGhvdyB0aGUgdHdvIGdldCB0cmVhdGVkXHJcbi8vIGFzIG9uZSB3b3Jrc3BhY2UsIHdpdGhvdXQgYWx0ZXJpbmcgdGhlIHVuZGVybHlpbmcgZGV2aWNlIG5hbWUgZGF0YS5cclxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhvdXRTZXAobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICByZXR1cm4gbmFtZS50b0xvY2FsZVVwcGVyQ2FzZSgpLnJlcGxhY2UoL1NFUC9naSwgJycpO1xyXG59XHJcbiJdfQ==
|