@tuki-io/tuki-widgets 0.0.73 → 0.0.74
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/.editorconfig +16 -0
- package/.hintrc +14 -0
- package/.vscode/extensions.json +4 -0
- package/.vscode/launch.json +20 -0
- package/.vscode/tasks.json +42 -0
- package/README.md +25 -24
- package/angular.json +141 -0
- package/package.json +48 -65
- package/projects/tuki/widgets/README.md +24 -0
- package/projects/tuki/widgets/di2mt/api/api.endpoints.ts +26 -0
- package/projects/tuki/widgets/di2mt/assets/icons/already_upgraded.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/check2_icon.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/check_icon.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/details_d_icon.svg +3 -0
- package/projects/tuki/widgets/di2mt/assets/icons/expand_icon.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/issue_icon.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/menu_icon.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/ready_to_upgrade.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/search_icon.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/site.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/user.png +0 -0
- package/projects/tuki/widgets/di2mt/assets/icons/warning_icon.png +0 -0
- package/projects/tuki/widgets/di2mt/ng-package.json +7 -0
- package/{di2mt/public-api.d.ts → projects/tuki/widgets/di2mt/public-api.ts} +27 -12
- package/projects/tuki/widgets/di2mt/shared/components/card/card.component.html +11 -0
- package/projects/tuki/widgets/di2mt/shared/components/card/card.component.scss +48 -0
- package/projects/tuki/widgets/di2mt/shared/components/card/card.component.ts +10 -0
- package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.html +15 -0
- package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.scss +38 -0
- package/projects/tuki/widgets/di2mt/shared/components/chart-card/chart-card.component.ts +71 -0
- package/projects/tuki/widgets/di2mt/shared/components/index.ts +6 -0
- package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.html +57 -0
- package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.scss +74 -0
- package/projects/tuki/widgets/di2mt/shared/components/stat-card/stat-card.component.ts +44 -0
- package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.html +28 -0
- package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.scss +55 -0
- package/projects/tuki/widgets/di2mt/shared/components/status-list-card/status-list-card.component.ts +11 -0
- package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.html +12 -0
- package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.scss +79 -0
- package/projects/tuki/widgets/di2mt/shared/components/summary-card/summary-card.component.ts +27 -0
- package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.html +28 -0
- package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.scss +244 -0
- package/projects/tuki/widgets/di2mt/shared/components/table-filters/table-filters.component.ts +28 -0
- package/projects/tuki/widgets/di2mt/shared/constants/app.constants.ts +96 -0
- package/projects/tuki/widgets/di2mt/shared/material.module.ts +36 -0
- package/projects/tuki/widgets/di2mt/shared/services/api.service.ts +92 -0
- package/projects/tuki/widgets/di2mt/shared/shared.module.ts +38 -0
- package/projects/tuki/widgets/di2mt/shared/types/constants.ts +15 -0
- package/projects/tuki/widgets/di2mt/shared/types/data-table.ts +5 -0
- package/projects/tuki/widgets/di2mt/shared/types/table/filter.ts +14 -0
- package/projects/tuki/widgets/di2mt/styles/tuki-widgets-theme.scss +13 -0
- package/projects/tuki/widgets/di2mt/styles/variables.scss +92 -0
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.html +3 -0
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.scss +37 -0
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.ts +40 -0
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.html +158 -0
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.scss +430 -0
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.ts +362 -0
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.module.ts +33 -0
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/site-upgrade.service.ts +102 -0
- package/projects/tuki/widgets/di2mt/widgets/site-upgrade/types/user-upgrade.ts +22 -0
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.ts +52 -0
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.ts +53 -0
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.ts +67 -0
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.html +7 -0
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.scss +0 -0
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.ts +45 -0
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.html +7 -0
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.scss +0 -0
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.ts +45 -0
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.ts +59 -0
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.ts +70 -0
- package/{di2mt/widgets/upgrade-overview/types/upgrade-overview.d.ts → projects/tuki/widgets/di2mt/widgets/upgrade-overview/types/upgrade-overview.ts} +58 -56
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/upgrade-overview.module.ts +42 -0
- package/projects/tuki/widgets/di2mt/widgets/upgrade-overview/upgrade-overview.service.ts +95 -0
- package/{di2mt/widgets/user-upgrade/types/user-upgrade.d.ts → projects/tuki/widgets/di2mt/widgets/user-upgrade/types/user-upgrade.ts} +19 -16
- package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.html +186 -0
- package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.scss +345 -0
- package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.ts +313 -0
- package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade.module.ts +34 -0
- package/projects/tuki/widgets/di2mt/widgets/user-upgrade/user-upgrade.service.ts +79 -0
- package/projects/tuki/widgets/karma.conf.js +44 -0
- package/projects/tuki/widgets/ng-package.json +10 -0
- package/projects/tuki/widgets/package.json +13 -0
- package/projects/tuki/widgets/src/lib/widgets.component.spec.ts +23 -0
- package/projects/tuki/widgets/src/lib/widgets.component.ts +20 -0
- package/projects/tuki/widgets/src/lib/widgets.module.ts +16 -0
- package/projects/tuki/widgets/src/lib/widgets.service.spec.ts +16 -0
- package/projects/tuki/widgets/src/lib/widgets.service.ts +9 -0
- package/{public-api.d.ts → projects/tuki/widgets/src/public-api.ts} +7 -3
- package/projects/tuki/widgets/src/test.ts +27 -0
- package/projects/tuki/widgets/styles.scss +572 -0
- package/projects/tuki/widgets/tsconfig.lib.json +36 -0
- package/projects/tuki/widgets/tsconfig.lib.prod.json +10 -0
- package/projects/tuki/widgets/tsconfig.spec.json +17 -0
- package/projects/tuki/widgets/user-device-manage/ng-package.json +7 -0
- package/{user-device-manage/public-api.d.ts → projects/tuki/widgets/user-device-manage/public-api.ts} +8 -8
- package/projects/tuki/widgets/user-device-manage/src/app.constants.ts +96 -0
- package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-left.svg +5 -0
- package/projects/tuki/widgets/user-device-manage/src/assets/icons/arrow-right.svg +5 -0
- package/projects/tuki/widgets/user-device-manage/src/assets/icons/close_icon_x.svg +3 -0
- package/projects/tuki/widgets/user-device-manage/src/assets/icons/delete_icon.svg +5 -0
- package/projects/tuki/widgets/user-device-manage/src/assets/icons/dragger-vertical-icon.svg +3 -0
- package/projects/tuki/widgets/user-device-manage/src/assets/icons/icon_user.svg +1 -0
- package/projects/tuki/widgets/user-device-manage/src/assets/icons/vartical_divider_icon.svg +3 -0
- package/projects/tuki/widgets/user-device-manage/src/classes/device.ts +292 -0
- package/projects/tuki/widgets/user-device-manage/src/classes/line-association-interface.ts +50 -0
- package/projects/tuki/widgets/user-device-manage/src/classes/line-association.ts +177 -0
- package/projects/tuki/widgets/user-device-manage/src/classes/line-call-info-display.ts +21 -0
- package/projects/tuki/widgets/user-device-manage/src/classes/line-directory.ts +41 -0
- package/projects/tuki/widgets/user-device-manage/src/classes/line.ts +144 -0
- package/projects/tuki/widgets/user-device-manage/src/classes/notification.ts +40 -0
- package/projects/tuki/widgets/user-device-manage/src/classes/recording-options.ts +6 -0
- package/projects/tuki/widgets/user-device-manage/src/classes/simplified-user.ts +169 -0
- package/projects/tuki/widgets/user-device-manage/src/classes/site-defaults.ts +167 -0
- package/projects/tuki/widgets/user-device-manage/src/classes/translation-pattern.ts +50 -0
- package/projects/tuki/widgets/user-device-manage/src/classes/types.ts +19 -0
- package/projects/tuki/widgets/user-device-manage/src/classes/user-interface.ts +225 -0
- package/projects/tuki/widgets/user-device-manage/src/classes/user.ts +8 -0
- package/projects/tuki/widgets/user-device-manage/src/common-functions.ts +16 -0
- package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.html +14 -0
- package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.scss +80 -0
- package/projects/tuki/widgets/user-device-manage/src/confirm-dialog/info-dialog.component.ts +35 -0
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.html +21 -0
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.scss +97 -0
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.ts +28 -0
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.html +6 -0
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.scss +20 -0
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.ts +13 -0
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.html +6 -0
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.scss +4 -0
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.ts +63 -0
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.html +241 -0
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.scss +500 -0
- package/projects/tuki/widgets/user-device-manage/src/device-associated-line/device-associated-line.component.ts +194 -0
- package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.html +27 -0
- package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.scss +131 -0
- package/projects/tuki/widgets/user-device-manage/src/device-list/device-list.component.ts +25 -0
- package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.html +209 -0
- package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.scss +502 -0
- package/projects/tuki/widgets/user-device-manage/src/device-manage-widget.component.ts +354 -0
- package/projects/tuki/widgets/user-device-manage/src/environments/environment.prod.ts +9 -0
- package/projects/tuki/widgets/user-device-manage/src/environments/environment.ts +10 -0
- package/projects/tuki/widgets/user-device-manage/src/interseptors/auth.interceptor.ts +35 -0
- package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.html +50 -0
- package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.scss +8 -0
- package/projects/tuki/widgets/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -0
- package/projects/tuki/widgets/user-device-manage/src/material.module.ts +87 -0
- package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.html +33 -0
- package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.scss +84 -0
- package/projects/tuki/widgets/user-device-manage/src/notifications/notification.component.ts +46 -0
- package/projects/tuki/widgets/user-device-manage/src/removeKynFromIBM.service.ts +25 -0
- package/projects/tuki/widgets/user-device-manage/src/services/api.service.ts +87 -0
- package/projects/tuki/widgets/user-device-manage/src/services/common-functions.ts +17 -0
- package/projects/tuki/widgets/user-device-manage/src/services/device.service.ts +95 -0
- package/projects/tuki/widgets/user-device-manage/src/services/dns.service.ts +111 -0
- package/projects/tuki/widgets/user-device-manage/src/services/line.service.ts +89 -0
- package/projects/tuki/widgets/user-device-manage/src/services/notification.service.ts +68 -0
- package/projects/tuki/widgets/user-device-manage/src/services/removeKynFromIBM.service.ts +25 -0
- package/projects/tuki/widgets/user-device-manage/src/services/site-settings.service.ts +82 -0
- package/projects/tuki/widgets/user-device-manage/src/services/sorting-utils.service.ts +203 -0
- package/projects/tuki/widgets/user-device-manage/src/services/user.service.ts +283 -0
- package/projects/tuki/widgets/user-device-manage/src/services/utils.service.ts +87 -0
- package/projects/tuki/widgets/user-device-manage/src/services/validation.service.ts +829 -0
- package/projects/tuki/widgets/user-device-manage/src/styles/_variables.scss +90 -0
- package/projects/tuki/widgets/user-device-manage/src/styles/form.scss +231 -0
- package/projects/tuki/widgets/user-device-manage/src/styles/icons.scss +32 -0
- package/projects/tuki/widgets/user-device-manage/src/styles/styles.scss +110 -0
- package/projects/tuki/widgets/user-device-manage/src/styles/tables.scss +30 -0
- package/projects/tuki/widgets/user-device-manage/src/user-device-manage.module.ts +73 -0
- package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.html +6 -0
- package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.component.scss +11 -0
- package/projects/tuki/widgets/user-device-manage/src/utils/app-loader/app-loader.ts +13 -0
- package/projects/tuki/widgets/user-manage/ng-package.json +7 -0
- package/{user-manage/public-api.d.ts → projects/tuki/widgets/user-manage/public-api.ts} +6 -6
- package/projects/tuki/widgets/user-manage/src/app.constants.ts +50 -0
- package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-left.svg +5 -0
- package/projects/tuki/widgets/user-manage/src/assets/icons/arrow-right.svg +5 -0
- package/projects/tuki/widgets/user-manage/src/assets/icons/delete_icon.svg +5 -0
- package/projects/tuki/widgets/user-manage/src/assets/icons/dragger-vertical-icon.svg +3 -0
- package/projects/tuki/widgets/user-manage/src/assets/icons/icon_user.svg +1 -0
- package/projects/tuki/widgets/user-manage/src/assets/icons/vartical_divider_icon.svg +3 -0
- package/projects/tuki/widgets/user-manage/src/classes/device.ts +232 -0
- package/projects/tuki/widgets/user-manage/src/classes/line-association-interface.ts +43 -0
- package/projects/tuki/widgets/user-manage/src/classes/line-association.ts +161 -0
- package/projects/tuki/widgets/user-manage/src/classes/line-call-info-display.ts +21 -0
- package/projects/tuki/widgets/user-manage/src/classes/line-directory.ts +42 -0
- package/projects/tuki/widgets/user-manage/src/classes/line.ts +144 -0
- package/projects/tuki/widgets/user-manage/src/classes/notification.ts +39 -0
- package/projects/tuki/widgets/user-manage/src/classes/pagination.ts +18 -0
- package/projects/tuki/widgets/user-manage/src/classes/recording-options.ts +6 -0
- package/projects/tuki/widgets/user-manage/src/classes/simplified-user.ts +165 -0
- package/projects/tuki/widgets/user-manage/src/classes/table-data.ts +6 -0
- package/projects/tuki/widgets/user-manage/src/classes/translation-pattern.ts +49 -0
- package/projects/tuki/widgets/user-manage/src/classes/user-interface.ts +225 -0
- package/projects/tuki/widgets/user-manage/src/classes/user-list.ts +42 -0
- package/projects/tuki/widgets/user-manage/src/classes/user.ts +8 -0
- package/projects/tuki/widgets/user-manage/src/common-functions.ts +16 -0
- package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.html +27 -0
- package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.scss +131 -0
- package/projects/tuki/widgets/user-manage/src/device-list/device-list.component.ts +25 -0
- package/projects/tuki/widgets/user-manage/src/environments/environment.prod.ts +9 -0
- package/projects/tuki/widgets/user-manage/src/environments/environment.ts +10 -0
- package/projects/tuki/widgets/user-manage/src/interseptors/auth.interceptor.ts +35 -0
- package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.html +50 -0
- package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.scss +8 -0
- package/projects/tuki/widgets/user-manage/src/lazy-loading-select/lazy-loading-select.component.ts +81 -0
- package/projects/tuki/widgets/user-manage/src/material.module.ts +85 -0
- package/projects/tuki/widgets/user-manage/src/notifications/notification.component.html +33 -0
- package/projects/tuki/widgets/user-manage/src/notifications/notification.component.scss +84 -0
- package/projects/tuki/widgets/user-manage/src/notifications/notification.component.ts +46 -0
- package/projects/tuki/widgets/user-manage/src/removeKynFromIBM.service.ts +25 -0
- package/projects/tuki/widgets/user-manage/src/services/api.service.ts +90 -0
- package/projects/tuki/widgets/user-manage/src/services/dns.service.ts +116 -0
- package/projects/tuki/widgets/user-manage/src/services/line.service.ts +31 -0
- package/projects/tuki/widgets/user-manage/src/services/notification.service.ts +68 -0
- package/projects/tuki/widgets/user-manage/src/services/removeKynFromIBM.service.ts +25 -0
- package/projects/tuki/widgets/user-manage/src/services/site-settings.service.ts +35 -0
- package/projects/tuki/widgets/user-manage/src/services/sorting-utils.service.ts +203 -0
- package/projects/tuki/widgets/user-manage/src/services/user.service.ts +242 -0
- package/projects/tuki/widgets/user-manage/src/services/users-search.service.ts +59 -0
- package/projects/tuki/widgets/user-manage/src/services/utils.service.ts +71 -0
- package/projects/tuki/widgets/user-manage/src/styles/_variables.scss +90 -0
- package/projects/tuki/widgets/user-manage/src/styles/form.scss +231 -0
- package/projects/tuki/widgets/user-manage/src/styles/icons.scss +32 -0
- package/projects/tuki/widgets/user-manage/src/styles/styles.scss +110 -0
- package/projects/tuki/widgets/user-manage/src/styles/tables.scss +30 -0
- package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.html +10 -0
- package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.scss +429 -0
- package/projects/tuki/widgets/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.ts +63 -0
- package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.html +32 -0
- package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.scss +444 -0
- package/projects/tuki/widgets/user-manage/src/user-calling/user-calling.component.ts +89 -0
- package/projects/tuki/widgets/user-manage/src/user-details/notification.service.ts +68 -0
- package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.html +29 -0
- package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.scss +64 -0
- package/projects/tuki/widgets/user-manage/src/user-info/user-info.component.ts +19 -0
- package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.html +290 -0
- package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.scss +463 -0
- package/projects/tuki/widgets/user-manage/src/user-manage-widget.component.ts +212 -0
- package/projects/tuki/widgets/user-manage/src/user-manage.module.ts +63 -0
- package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.html +6 -0
- package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.component.scss +11 -0
- package/projects/tuki/widgets/user-manage/src/utils/app-loader/app-loader.ts +13 -0
- package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.html +26 -0
- package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.scss +41 -0
- package/projects/tuki/widgets/user-manage/src/utils/pagination/pagination.component.ts +41 -0
- package/projects/tuki/widgets/users-list/ng-package.json +7 -0
- package/{users-list/public-api.d.ts → projects/tuki/widgets/users-list/public-api.ts} +8 -8
- package/projects/tuki/widgets/users-list/src/app.constants.ts +54 -0
- package/projects/tuki/widgets/users-list/src/assets/icons/close_icon_modal.svg +3 -0
- package/projects/tuki/widgets/users-list/src/assets/icons/icon_user.svg +1 -0
- package/projects/tuki/widgets/users-list/src/assets/icons/move_user_to_another_location.svg +14 -0
- package/projects/tuki/widgets/users-list/src/assets/icons/white-close-icon.svg +3 -0
- package/projects/tuki/widgets/users-list/src/classes/app-location.ts +36 -0
- package/projects/tuki/widgets/users-list/src/classes/device.ts +225 -0
- package/projects/tuki/widgets/users-list/src/classes/line.ts +144 -0
- package/projects/tuki/widgets/users-list/src/classes/move-user.ts +225 -0
- package/projects/tuki/widgets/users-list/src/classes/notification.ts +38 -0
- package/projects/tuki/widgets/users-list/src/classes/pagination.ts +18 -0
- package/projects/tuki/widgets/users-list/src/classes/simlified-user.ts +74 -0
- package/projects/tuki/widgets/users-list/src/classes/table-data.ts +6 -0
- package/projects/tuki/widgets/users-list/src/classes/user-interface.ts +225 -0
- package/projects/tuki/widgets/users-list/src/classes/user-list.ts +47 -0
- package/projects/tuki/widgets/users-list/src/classes/user.ts +8 -0
- package/projects/tuki/widgets/users-list/src/material.module.ts +94 -0
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.html +37 -0
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.scss +129 -0
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.ts +46 -0
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.html +31 -0
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.scss +20 -0
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.ts +26 -0
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.html +222 -0
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.scss +239 -0
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.ts +206 -0
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.html +12 -0
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.scss +41 -0
- package/projects/tuki/widgets/users-list/src/move-user-wizard/move-user-wizard.component.ts +36 -0
- package/projects/tuki/widgets/users-list/src/services/api-webex.service.ts +14 -0
- package/projects/tuki/widgets/users-list/src/services/api.service.ts +90 -0
- package/projects/tuki/widgets/users-list/src/services/dns.service.ts +128 -0
- package/projects/tuki/widgets/users-list/src/services/events-communication.service.ts +11 -0
- package/projects/tuki/widgets/users-list/src/services/move-user.service.ts +59 -0
- package/projects/tuki/widgets/users-list/src/services/notification.service.ts +68 -0
- package/projects/tuki/widgets/users-list/src/services/removeKynFromIBM.service.ts +25 -0
- package/projects/tuki/widgets/users-list/src/services/site-settings.service.ts +26 -0
- package/projects/tuki/widgets/users-list/src/services/user.service.ts +159 -0
- package/projects/tuki/widgets/users-list/src/services/users-search.service.ts +139 -0
- package/projects/tuki/widgets/users-list/src/styles/styles.scss +572 -0
- package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.html +15 -0
- package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.scss +103 -0
- package/projects/tuki/widgets/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.ts +35 -0
- package/projects/tuki/widgets/users-list/src/users-list.component.css +4 -0
- package/projects/tuki/widgets/users-list/src/users-list.component.css.map +1 -0
- package/projects/tuki/widgets/users-list/src/users-list.component.html +86 -0
- package/projects/tuki/widgets/users-list/src/users-list.component.scss +572 -0
- package/projects/tuki/widgets/users-list/src/users-list.component.ts +312 -0
- package/projects/tuki/widgets/users-list/src/users-list.module.ts +63 -0
- package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css +11 -0
- package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.css.map +1 -0
- package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.html +6 -0
- package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.component.scss +11 -0
- package/projects/tuki/widgets/users-list/src/utils/app-loader/app-loader.ts +13 -0
- package/projects/tuki/widgets/users-list/src/utils/common-functions.ts +32 -0
- package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.html +33 -0
- package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.scss +84 -0
- package/projects/tuki/widgets/users-list/src/utils/notifications/notification.component.ts +46 -0
- package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css +45 -0
- package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.css.map +1 -0
- package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.html +26 -0
- package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.scss +41 -0
- package/projects/tuki/widgets/users-list/src/utils/pagination/pagination.component.ts +41 -0
- package/projects/tuki/widgets/users-list/src/utils/utils.service.ts +71 -0
- package/projects/widgets-playground/src/app/app.component.html +109 -0
- package/projects/widgets-playground/src/app/app.component.scss +15 -0
- package/projects/widgets-playground/src/app/app.component.spec.ts +31 -0
- package/projects/widgets-playground/src/app/app.component.ts +31 -0
- package/projects/widgets-playground/src/app/app.module.ts +43 -0
- package/projects/widgets-playground/src/assets/.gitkeep +0 -0
- package/projects/widgets-playground/src/assets/icons/already_upgraded.png +0 -0
- package/projects/widgets-playground/src/assets/icons/check2_icon.png +0 -0
- package/projects/widgets-playground/src/assets/icons/check_icon.png +0 -0
- package/projects/widgets-playground/src/assets/icons/expand_icon.png +0 -0
- package/projects/widgets-playground/src/assets/icons/issue_icon.png +0 -0
- package/projects/widgets-playground/src/assets/icons/menu_icon.png +0 -0
- package/projects/widgets-playground/src/assets/icons/ready_to_upgrade.png +0 -0
- package/projects/widgets-playground/src/assets/icons/search_icon.png +0 -0
- package/projects/widgets-playground/src/assets/icons/site.png +0 -0
- package/projects/widgets-playground/src/assets/icons/user.png +0 -0
- package/projects/widgets-playground/src/assets/icons/warning_icon.png +0 -0
- package/projects/widgets-playground/src/favicon.ico +0 -0
- package/projects/widgets-playground/src/index.html +13 -0
- package/projects/widgets-playground/src/main.ts +7 -0
- package/projects/widgets-playground/src/styles.scss +23 -0
- package/projects/widgets-playground/tsconfig.app.json +14 -0
- package/projects/widgets-playground/tsconfig.spec.json +14 -0
- package/proxy.conf.js +23 -0
- package/tsconfig.json +46 -0
- package/di2mt/api/api.endpoints.d.ts +0 -20
- package/di2mt/index.d.ts +0 -5
- package/di2mt/shared/components/card/card.component.d.ts +0 -6
- package/di2mt/shared/components/chart-card/chart-card.component.d.ts +0 -22
- package/di2mt/shared/components/stat-card/stat-card.component.d.ts +0 -14
- package/di2mt/shared/components/status-list-card/status-list-card.component.d.ts +0 -7
- package/di2mt/shared/components/summary-card/summary-card.component.d.ts +0 -9
- package/di2mt/shared/components/table-filters/table-filters.component.d.ts +0 -14
- package/di2mt/shared/material.module.d.ts +0 -15
- package/di2mt/shared/services/api.service.d.ts +0 -20
- package/di2mt/shared/shared.module.d.ts +0 -16
- package/di2mt/shared/types/constants.d.ts +0 -7
- package/di2mt/shared/types/data-table.d.ts +0 -5
- package/di2mt/shared/types/table/filter.d.ts +0 -16
- package/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.d.ts +0 -48
- package/di2mt/widgets/site-upgrade/site-upgrade.module.d.ts +0 -12
- package/di2mt/widgets/site-upgrade/site-upgrade.service.d.ts +0 -12
- package/di2mt/widgets/site-upgrade/types/user-upgrade.d.ts +0 -14
- package/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.d.ts +0 -19
- package/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.d.ts +0 -19
- package/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.d.ts +0 -18
- package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.d.ts +0 -19
- package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.d.ts +0 -19
- package/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.d.ts +0 -15
- package/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.d.ts +0 -18
- package/di2mt/widgets/upgrade-overview/upgrade-overview.module.d.ts +0 -15
- package/di2mt/widgets/upgrade-overview/upgrade-overview.service.d.ts +0 -17
- package/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.d.ts +0 -49
- package/di2mt/widgets/user-upgrade/user-upgrade.module.d.ts +0 -12
- package/di2mt/widgets/user-upgrade/user-upgrade.service.d.ts +0 -14
- package/esm2020/di2mt/api/api.endpoints.mjs +0 -21
- package/esm2020/di2mt/public-api.mjs +0 -23
- package/esm2020/di2mt/shared/components/card/card.component.mjs +0 -13
- package/esm2020/di2mt/shared/components/chart-card/chart-card.component.mjs +0 -62
- package/esm2020/di2mt/shared/components/stat-card/stat-card.component.mjs +0 -47
- package/esm2020/di2mt/shared/components/status-list-card/status-list-card.component.mjs +0 -17
- package/esm2020/di2mt/shared/components/summary-card/summary-card.component.mjs +0 -36
- package/esm2020/di2mt/shared/components/table-filters/table-filters.component.mjs +0 -37
- package/esm2020/di2mt/shared/material.module.mjs +0 -76
- package/esm2020/di2mt/shared/services/api.service.mjs +0 -86
- package/esm2020/di2mt/shared/shared.module.mjs +0 -61
- package/esm2020/di2mt/shared/types/constants.mjs +0 -12
- package/esm2020/di2mt/shared/types/data-table.mjs +0 -2
- package/esm2020/di2mt/shared/types/table/filter.mjs +0 -2
- package/esm2020/di2mt/tuki-io-tuki-widgets-di2mt.mjs +0 -5
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +0 -182
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.module.mjs +0 -40
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.service.mjs +0 -43
- package/esm2020/di2mt/widgets/site-upgrade/types/user-upgrade.mjs +0 -3
- package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.mjs +0 -64
- package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.mjs +0 -64
- package/esm2020/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.mjs +0 -68
- package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.mjs +0 -45
- package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.mjs +0 -45
- package/esm2020/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.mjs +0 -64
- package/esm2020/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.mjs +0 -74
- package/esm2020/di2mt/widgets/upgrade-overview/types/upgrade-overview.mjs +0 -2
- package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.module.mjs +0 -59
- package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.service.mjs +0 -82
- package/esm2020/di2mt/widgets/user-upgrade/types/user-upgrade.mjs +0 -3
- package/esm2020/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.mjs +0 -197
- package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.module.mjs +0 -40
- package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.service.mjs +0 -58
- package/esm2020/lib/widgets.component.mjs +0 -22
- package/esm2020/lib/widgets.module.mjs +0 -21
- package/esm2020/lib/widgets.service.mjs +0 -14
- package/esm2020/public-api.mjs +0 -7
- package/esm2020/tuki-io-tuki-widgets.mjs +0 -5
- package/esm2020/user-device-manage/public-api.mjs +0 -9
- package/esm2020/user-device-manage/src/app.constants.mjs +0 -95
- package/esm2020/user-device-manage/src/classes/device.mjs +0 -85
- package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +0 -2
- package/esm2020/user-device-manage/src/classes/line-association.mjs +0 -121
- package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +0 -10
- package/esm2020/user-device-manage/src/classes/line-directory.mjs +0 -27
- package/esm2020/user-device-manage/src/classes/line.mjs +0 -18
- package/esm2020/user-device-manage/src/classes/notification.mjs +0 -32
- package/esm2020/user-device-manage/src/classes/recording-options.mjs +0 -7
- package/esm2020/user-device-manage/src/classes/simplified-user.mjs +0 -111
- package/esm2020/user-device-manage/src/classes/site-defaults.mjs +0 -21
- package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +0 -32
- package/esm2020/user-device-manage/src/classes/types.mjs +0 -24
- package/esm2020/user-device-manage/src/common-functions.mjs +0 -19
- package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +0 -34
- package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +0 -31
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +0 -16
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +0 -64
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +0 -179
- package/esm2020/user-device-manage/src/device-list/device-list.component.mjs +0 -24
- package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +0 -335
- package/esm2020/user-device-manage/src/environments/environment.mjs +0 -11
- package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +0 -36
- package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +0 -74
- package/esm2020/user-device-manage/src/material.module.mjs +0 -192
- package/esm2020/user-device-manage/src/notifications/notification.component.mjs +0 -35
- package/esm2020/user-device-manage/src/services/api.service.mjs +0 -79
- package/esm2020/user-device-manage/src/services/device.service.mjs +0 -83
- package/esm2020/user-device-manage/src/services/dns.service.mjs +0 -104
- package/esm2020/user-device-manage/src/services/line.service.mjs +0 -76
- package/esm2020/user-device-manage/src/services/notification.service.mjs +0 -62
- package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +0 -25
- package/esm2020/user-device-manage/src/services/site-settings.service.mjs +0 -70
- package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +0 -197
- package/esm2020/user-device-manage/src/services/user.service.mjs +0 -243
- package/esm2020/user-device-manage/src/services/utils.service.mjs +0 -87
- package/esm2020/user-device-manage/src/services/validation.service.mjs +0 -760
- package/esm2020/user-device-manage/src/user-device-manage.module.mjs +0 -107
- package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +0 -14
- package/esm2020/user-device-manage/tuki-io-tuki-widgets-user-device-manage.mjs +0 -5
- package/esm2020/user-manage/public-api.mjs +0 -7
- package/esm2020/user-manage/src/app.constants.mjs +0 -50
- package/esm2020/user-manage/src/classes/device.mjs +0 -37
- package/esm2020/user-manage/src/classes/line-association-interface.mjs +0 -2
- package/esm2020/user-manage/src/classes/line-association.mjs +0 -110
- package/esm2020/user-manage/src/classes/line-call-info-display.mjs +0 -10
- package/esm2020/user-manage/src/classes/line-directory.mjs +0 -27
- package/esm2020/user-manage/src/classes/line.mjs +0 -18
- package/esm2020/user-manage/src/classes/notification.mjs +0 -32
- package/esm2020/user-manage/src/classes/pagination.mjs +0 -8
- package/esm2020/user-manage/src/classes/recording-options.mjs +0 -7
- package/esm2020/user-manage/src/classes/simplified-user.mjs +0 -109
- package/esm2020/user-manage/src/classes/table-data.mjs +0 -2
- package/esm2020/user-manage/src/classes/translation-pattern.mjs +0 -32
- package/esm2020/user-manage/src/classes/user-list.mjs +0 -10
- package/esm2020/user-manage/src/common-functions.mjs +0 -19
- package/esm2020/user-manage/src/device-list/device-list.component.mjs +0 -24
- package/esm2020/user-manage/src/environments/environment.mjs +0 -11
- package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +0 -36
- package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +0 -74
- package/esm2020/user-manage/src/material.module.mjs +0 -188
- package/esm2020/user-manage/src/notifications/notification.component.mjs +0 -35
- package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +0 -25
- package/esm2020/user-manage/src/services/api.service.mjs +0 -79
- package/esm2020/user-manage/src/services/dns.service.mjs +0 -110
- package/esm2020/user-manage/src/services/line.service.mjs +0 -34
- package/esm2020/user-manage/src/services/notification.service.mjs +0 -62
- package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +0 -25
- package/esm2020/user-manage/src/services/site-settings.service.mjs +0 -36
- package/esm2020/user-manage/src/services/sorting-utils.service.mjs +0 -197
- package/esm2020/user-manage/src/services/user.service.mjs +0 -207
- package/esm2020/user-manage/src/services/users-search.service.mjs +0 -50
- package/esm2020/user-manage/src/services/utils.service.mjs +0 -73
- package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +0 -65
- package/esm2020/user-manage/src/user-calling/user-calling.component.mjs +0 -78
- package/esm2020/user-manage/src/user-info/user-info.component.mjs +0 -20
- package/esm2020/user-manage/src/user-manage-widget.component.mjs +0 -208
- package/esm2020/user-manage/src/user-manage.module.mjs +0 -99
- package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +0 -14
- package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +0 -43
- package/esm2020/user-manage/tuki-io-tuki-widgets-user-manage.mjs +0 -5
- package/esm2020/users-list/public-api.mjs +0 -9
- package/esm2020/users-list/src/app.constants.mjs +0 -54
- package/esm2020/users-list/src/classes/app-location.mjs +0 -32
- package/esm2020/users-list/src/classes/device.mjs +0 -7
- package/esm2020/users-list/src/classes/line.mjs +0 -18
- package/esm2020/users-list/src/classes/move-user.mjs +0 -178
- package/esm2020/users-list/src/classes/notification.mjs +0 -31
- package/esm2020/users-list/src/classes/pagination.mjs +0 -8
- package/esm2020/users-list/src/classes/simlified-user.mjs +0 -50
- package/esm2020/users-list/src/classes/table-data.mjs +0 -2
- package/esm2020/users-list/src/classes/user-list.mjs +0 -14
- package/esm2020/users-list/src/material.module.mjs +0 -209
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +0 -38
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +0 -23
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs +0 -189
- package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +0 -38
- package/esm2020/users-list/src/services/api-webex.service.mjs +0 -18
- package/esm2020/users-list/src/services/api.service.mjs +0 -78
- package/esm2020/users-list/src/services/dns.service.mjs +0 -120
- package/esm2020/users-list/src/services/events-communication.service.mjs +0 -14
- package/esm2020/users-list/src/services/move-user.service.mjs +0 -53
- package/esm2020/users-list/src/services/notification.service.mjs +0 -62
- package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +0 -25
- package/esm2020/users-list/src/services/site-settings.service.mjs +0 -27
- package/esm2020/users-list/src/services/user.service.mjs +0 -142
- package/esm2020/users-list/src/services/users-search.service.mjs +0 -122
- package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +0 -34
- package/esm2020/users-list/src/users-list.component.mjs +0 -287
- package/esm2020/users-list/src/users-list.module.mjs +0 -92
- package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +0 -14
- package/esm2020/users-list/src/utils/common-functions.mjs +0 -32
- package/esm2020/users-list/src/utils/pagination/pagination.component.mjs +0 -43
- package/esm2020/users-list/src/utils/utils.service.mjs +0 -73
- package/esm2020/users-list/tuki-io-tuki-widgets-users-list.mjs +0 -5
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +0 -1469
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +0 -1
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +0 -3402
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +0 -1
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +0 -2124
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +0 -1994
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
- package/fesm2015/tuki-io-tuki-widgets.mjs +0 -63
- package/fesm2015/tuki-io-tuki-widgets.mjs.map +0 -1
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +0 -1460
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +0 -1
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +0 -3364
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +0 -1
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +0 -2107
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +0 -1
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +0 -1973
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +0 -1
- package/fesm2020/tuki-io-tuki-widgets.mjs +0 -63
- package/fesm2020/tuki-io-tuki-widgets.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/widgets.component.d.ts +0 -8
- package/lib/widgets.module.d.ts +0 -7
- package/lib/widgets.service.d.ts +0 -6
- package/user-device-manage/index.d.ts +0 -5
- package/user-device-manage/src/app.constants.d.ts +0 -74
- package/user-device-manage/src/classes/device.d.ts +0 -233
- package/user-device-manage/src/classes/line-association-interface.d.ts +0 -45
- package/user-device-manage/src/classes/line-association.d.ts +0 -62
- package/user-device-manage/src/classes/line-call-info-display.d.ts +0 -11
- package/user-device-manage/src/classes/line-directory.d.ts +0 -15
- package/user-device-manage/src/classes/line.d.ts +0 -140
- package/user-device-manage/src/classes/notification.d.ts +0 -18
- package/user-device-manage/src/classes/recording-options.d.ts +0 -5
- package/user-device-manage/src/classes/simplified-user.d.ts +0 -52
- package/user-device-manage/src/classes/site-defaults.d.ts +0 -146
- package/user-device-manage/src/classes/translation-pattern.d.ts +0 -19
- package/user-device-manage/src/classes/types.d.ts +0 -19
- package/user-device-manage/src/common-functions.d.ts +0 -1
- package/user-device-manage/src/confirm-dialog/info-dialog.component.d.ts +0 -20
- package/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.d.ts +0 -15
- package/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.d.ts +0 -7
- package/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.d.ts +0 -24
- package/user-device-manage/src/device-associated-line/device-associated-line.component.d.ts +0 -89
- package/user-device-manage/src/device-list/device-list.component.d.ts +0 -11
- package/user-device-manage/src/device-manage-widget.component.d.ts +0 -71
- package/user-device-manage/src/environments/environment.d.ts +0 -9
- package/user-device-manage/src/interseptors/auth.interceptor.d.ts +0 -9
- package/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +0 -35
- package/user-device-manage/src/material.module.d.ts +0 -29
- package/user-device-manage/src/notifications/notification.component.d.ts +0 -19
- package/user-device-manage/src/services/api.service.d.ts +0 -20
- package/user-device-manage/src/services/device.service.d.ts +0 -21
- package/user-device-manage/src/services/dns.service.d.ts +0 -14
- package/user-device-manage/src/services/line.service.d.ts +0 -33
- package/user-device-manage/src/services/notification.service.d.ts +0 -18
- package/user-device-manage/src/services/removeKynFromIBM.service.d.ts +0 -8
- package/user-device-manage/src/services/site-settings.service.d.ts +0 -25
- package/user-device-manage/src/services/sorting-utils.service.d.ts +0 -26
- package/user-device-manage/src/services/user.service.d.ts +0 -51
- package/user-device-manage/src/services/utils.service.d.ts +0 -10
- package/user-device-manage/src/services/validation.service.d.ts +0 -165
- package/user-device-manage/src/user-device-manage.module.d.ts +0 -22
- package/user-device-manage/src/utils/app-loader/app-loader.d.ts +0 -6
- package/user-manage/index.d.ts +0 -5
- package/user-manage/src/app.constants.d.ts +0 -29
- package/user-manage/src/classes/device.d.ts +0 -203
- package/user-manage/src/classes/line-association-interface.d.ts +0 -40
- package/user-manage/src/classes/line-association.d.ts +0 -55
- package/user-manage/src/classes/line-call-info-display.d.ts +0 -11
- package/user-manage/src/classes/line-directory.d.ts +0 -16
- package/user-manage/src/classes/line.d.ts +0 -140
- package/user-manage/src/classes/notification.d.ts +0 -18
- package/user-manage/src/classes/pagination.d.ts +0 -13
- package/user-manage/src/classes/recording-options.d.ts +0 -5
- package/user-manage/src/classes/simplified-user.d.ts +0 -50
- package/user-manage/src/classes/table-data.d.ts +0 -5
- package/user-manage/src/classes/translation-pattern.d.ts +0 -18
- package/user-manage/src/classes/user-list.d.ts +0 -34
- package/user-manage/src/common-functions.d.ts +0 -1
- package/user-manage/src/device-list/device-list.component.d.ts +0 -11
- package/user-manage/src/environments/environment.d.ts +0 -9
- package/user-manage/src/interseptors/auth.interceptor.d.ts +0 -9
- package/user-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +0 -35
- package/user-manage/src/material.module.d.ts +0 -28
- package/user-manage/src/notifications/notification.component.d.ts +0 -19
- package/user-manage/src/removeKynFromIBM.service.d.ts +0 -8
- package/user-manage/src/services/api.service.d.ts +0 -21
- package/user-manage/src/services/dns.service.d.ts +0 -14
- package/user-manage/src/services/line.service.d.ts +0 -17
- package/user-manage/src/services/notification.service.d.ts +0 -18
- package/user-manage/src/services/removeKynFromIBM.service.d.ts +0 -8
- package/user-manage/src/services/site-settings.service.d.ts +0 -9
- package/user-manage/src/services/sorting-utils.service.d.ts +0 -26
- package/user-manage/src/services/user.service.d.ts +0 -43
- package/user-manage/src/services/users-search.service.d.ts +0 -25
- package/user-manage/src/services/utils.service.d.ts +0 -9
- package/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.d.ts +0 -24
- package/user-manage/src/user-calling/user-calling.component.d.ts +0 -30
- package/user-manage/src/user-info/user-info.component.d.ts +0 -9
- package/user-manage/src/user-manage-widget.component.d.ts +0 -45
- package/user-manage/src/user-manage.module.d.ts +0 -21
- package/user-manage/src/utils/app-loader/app-loader.d.ts +0 -6
- package/user-manage/src/utils/pagination/pagination.component.d.ts +0 -18
- package/users-list/index.d.ts +0 -5
- package/users-list/src/app.constants.d.ts +0 -36
- package/users-list/src/classes/app-location.d.ts +0 -17
- package/users-list/src/classes/device.d.ts +0 -224
- package/users-list/src/classes/line.d.ts +0 -140
- package/users-list/src/classes/move-user.d.ts +0 -85
- package/users-list/src/classes/notification.d.ts +0 -18
- package/users-list/src/classes/pagination.d.ts +0 -13
- package/users-list/src/classes/simlified-user.d.ts +0 -25
- package/users-list/src/classes/table-data.d.ts +0 -5
- package/users-list/src/classes/user-list.d.ts +0 -36
- package/users-list/src/material.module.d.ts +0 -31
- package/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.d.ts +0 -21
- package/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.d.ts +0 -12
- package/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.d.ts +0 -55
- package/users-list/src/move-user-wizard/move-user-wizard.component.d.ts +0 -17
- package/users-list/src/services/api-webex.service.d.ts +0 -8
- package/users-list/src/services/api.service.d.ts +0 -21
- package/users-list/src/services/dns.service.d.ts +0 -18
- package/users-list/src/services/events-communication.service.d.ts +0 -8
- package/users-list/src/services/move-user.service.d.ts +0 -17
- package/users-list/src/services/notification.service.d.ts +0 -18
- package/users-list/src/services/removeKynFromIBM.service.d.ts +0 -8
- package/users-list/src/services/site-settings.service.d.ts +0 -11
- package/users-list/src/services/user.service.d.ts +0 -35
- package/users-list/src/services/users-search.service.d.ts +0 -34
- package/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.d.ts +0 -20
- package/users-list/src/users-list.component.d.ts +0 -60
- package/users-list/src/users-list.module.d.ts +0 -18
- package/users-list/src/utils/app-loader/app-loader.d.ts +0 -6
- package/users-list/src/utils/common-functions.d.ts +0 -2
- package/users-list/src/utils/pagination/pagination.component.d.ts +0 -18
- package/users-list/src/utils/utils.service.d.ts +0 -9
- /package/{di2mt → projects/tuki/widgets/di2mt}/README.md +0 -0
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { API } from '../app.constants';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import * as Big from 'big.js';
|
|
5
|
-
import { Observable } from 'rxjs';
|
|
6
|
-
import { DnRangeType } from '../classes/line';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./api.service";
|
|
9
|
-
import * as i2 from "../services/api-webex.service";
|
|
10
|
-
export class DnsService {
|
|
11
|
-
constructor(apiService, apiWebexService) {
|
|
12
|
-
this.apiService = apiService;
|
|
13
|
-
this.apiWebexService = apiWebexService;
|
|
14
|
-
this.availableNumbers = {};
|
|
15
|
-
this.phoneNumbers = [];
|
|
16
|
-
}
|
|
17
|
-
getNumberRange(siteId, routePartition, withdids, from, pageSize) {
|
|
18
|
-
// @ts-ignore
|
|
19
|
-
if (this.availableNumbers[routePartition]?.length) {
|
|
20
|
-
return new Observable(observer => {
|
|
21
|
-
// @ts-ignore
|
|
22
|
-
observer.next(this.availableNumbers[routePartition]);
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
this.availableDidPatternsMappedToDn = {};
|
|
26
|
-
pageSize = pageSize ? pageSize : 20;
|
|
27
|
-
const params = { dntype: DnRangeType.extension, routepartition: routePartition, size: pageSize, page: 0 };
|
|
28
|
-
if (withdids) {
|
|
29
|
-
// @ts-ignore
|
|
30
|
-
params['withdids'] = 'true';
|
|
31
|
-
}
|
|
32
|
-
if (from) {
|
|
33
|
-
// @ts-ignore
|
|
34
|
-
params['from'] = from;
|
|
35
|
-
}
|
|
36
|
-
// @ts-ignore
|
|
37
|
-
this.availableNumbers[routePartition] = this.availableNumbers[routePartition] || [];
|
|
38
|
-
return this.apiService.fetch(API.AVAILABLE_DN_IN_RANGES.replace(':siteId', siteId), params)
|
|
39
|
-
.pipe(map((res) => {
|
|
40
|
-
res.availableNumberList.forEach((availableNumber) => {
|
|
41
|
-
this.setAvailableDidMappedToDn(availableNumber);
|
|
42
|
-
// @ts-ignore
|
|
43
|
-
this.availableNumbers[routePartition] = [...this.availableNumbers[routePartition], ...this.getUnwrapNumberRange(availableNumber)];
|
|
44
|
-
});
|
|
45
|
-
}));
|
|
46
|
-
// .pipe(this.handleError(true, false));
|
|
47
|
-
}
|
|
48
|
-
setAvailableDidMappedToDn(availableNumber) {
|
|
49
|
-
if (availableNumber.unUsedNumbersWithDids && availableNumber.unUsedNumbersWithDids.length) {
|
|
50
|
-
availableNumber.unUsedNumbersWithDids.forEach((numberWithDids) => {
|
|
51
|
-
const dn = numberWithDids['unUsedNumber'];
|
|
52
|
-
this.availableDidPatternsMappedToDn[dn] = [{}];
|
|
53
|
-
if (numberWithDids['translationPatternList'] && numberWithDids['translationPatternList'].length > 0) {
|
|
54
|
-
this.availableDidPatternsMappedToDn[dn] = numberWithDids['translationPatternList'];
|
|
55
|
-
this.availableDidPatternsMappedToDn[dn][0]['mappedDids'] = [{}];
|
|
56
|
-
if (numberWithDids['mappedDids'] && numberWithDids['mappedDids'].length > 0) {
|
|
57
|
-
this.availableDidPatternsMappedToDn[dn][0]['mappedDids'] = numberWithDids['mappedDids'];
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
this.availableDidPatternsMappedToDn[dn][0]['vm'] = numberWithDids['vm'];
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
getUnwrapNumberRange(availableNumber) {
|
|
65
|
-
let unwrapNumberRange = this.unwrapNumberRange(availableNumber.phoneNumberRange.from, availableNumber.phoneNumberRange.to)
|
|
66
|
-
.map((unwrappedNumber) => {
|
|
67
|
-
const dn = availableNumber.phoneNumberRange.prefix + unwrappedNumber;
|
|
68
|
-
let str = dn;
|
|
69
|
-
if (this.availableDidPatternsMappedToDn[dn] && this.availableDidPatternsMappedToDn[dn].length > 0) {
|
|
70
|
-
if (this.availableDidPatternsMappedToDn[dn][0]['mappedDids'] && this.availableDidPatternsMappedToDn[dn][0]['mappedDids'].length > 0) {
|
|
71
|
-
str += ' DID: ' + (this.availableDidPatternsMappedToDn[dn][0]['mappedDids'].length > 1 ? 'multiple' :
|
|
72
|
-
this.availableDidPatternsMappedToDn[dn][0]['mappedDids'][0]);
|
|
73
|
-
}
|
|
74
|
-
if (this.availableDidPatternsMappedToDn[dn][0]['vm']) {
|
|
75
|
-
str += ' In Use - VM';
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return str;
|
|
79
|
-
});
|
|
80
|
-
unwrapNumberRange = unwrapNumberRange.filter((unwrappedNumber) => !availableNumber.usedNumbers.includes(unwrappedNumber));
|
|
81
|
-
return unwrapNumberRange;
|
|
82
|
-
}
|
|
83
|
-
unwrapNumberRange(start, end) {
|
|
84
|
-
const regExp = /(^0+)/;
|
|
85
|
-
let leadingZeros = '';
|
|
86
|
-
const matches = start.match(regExp);
|
|
87
|
-
if (matches) {
|
|
88
|
-
leadingZeros = matches[1];
|
|
89
|
-
}
|
|
90
|
-
const startNumeric = new Big(start);
|
|
91
|
-
const endNumeric = new Big(end);
|
|
92
|
-
// @ts-ignore
|
|
93
|
-
return Array.from({ length: (endNumeric.minus(startNumeric).plus(new Big(1)).toFixed(0)) }, (v, k) => {
|
|
94
|
-
const number = String(startNumeric.plus(new Big(k)).toFixed(0));
|
|
95
|
-
if ((leadingZeros + number).length > start.length) {
|
|
96
|
-
leadingZeros = leadingZeros.substr(1);
|
|
97
|
-
}
|
|
98
|
-
return leadingZeros + number;
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
fetchPhoneNumbers(customerId, locationId) {
|
|
102
|
-
const params = {
|
|
103
|
-
available: true,
|
|
104
|
-
numberType: 'NUMBER'
|
|
105
|
-
};
|
|
106
|
-
return this.apiWebexService.fetch(API.PHONE_NUMBERS.replace(':customerId', String(customerId)).replace(':locationId', locationId), params)
|
|
107
|
-
.pipe(map((result) => {
|
|
108
|
-
if (result?.length) {
|
|
109
|
-
this.phoneNumbers = result.map((item) => item.phoneNumber);
|
|
110
|
-
}
|
|
111
|
-
return result;
|
|
112
|
-
}));
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
DnsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DnsService, deps: [{ token: i1.APIService }, { token: i2.ApiWebexService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
116
|
-
DnsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DnsService });
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DnsService, decorators: [{
|
|
118
|
-
type: Injectable
|
|
119
|
-
}], ctorParameters: function () { return [{ type: i1.APIService }, { type: i2.ApiWebexService }]; } });
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlcnMtbGlzdC9zcmMvc2VydmljZXMvZG5zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxHQUFHLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFzQyxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUlsRixNQUFNLE9BQU8sVUFBVTtJQUtyQixZQUNVLFVBQXNCLEVBQ3RCLGVBQWdDO1FBRGhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBTjFDLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUV0QixpQkFBWSxHQUFhLEVBQUUsQ0FBQztJQU81QixDQUFDO0lBQ00sY0FBYyxDQUFDLE1BQWMsRUFBRSxjQUFzQixFQUFFLFFBQWtCLEVBQUUsSUFBYSxFQUFFLFFBQWlCO1FBQ2hILGFBQWE7UUFDYixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsRUFBRSxNQUFNLEVBQUU7WUFDakQsT0FBTyxJQUFJLFVBQVUsQ0FBTSxRQUFRLENBQUMsRUFBRTtnQkFDcEMsYUFBYTtnQkFDYixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsOEJBQThCLEdBQUcsRUFBRSxDQUFDO1FBQ3pDLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLEVBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUMsQ0FBQztRQUN4RyxJQUFJLFFBQVEsRUFBRTtZQUNaLGFBQWE7WUFDYixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxJQUFJLEVBQUU7WUFDUixhQUFhO1lBQ2IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztTQUN2QjtRQUNELGFBQWE7UUFDYixJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVwRixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQzthQUN4RixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDbkIsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQW1ELEVBQUUsRUFBRTtnQkFDdEYsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUNoRCxhQUFhO2dCQUNiLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDcEksQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFBO1FBQ0Qsd0NBQXdDO0lBQzVDLENBQUM7SUFFTSx5QkFBeUIsQ0FBQyxlQUFvQjtRQUNuRCxJQUFJLGVBQWUsQ0FBQyxxQkFBcUIsSUFBSSxlQUFlLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFO1lBRXpGLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxjQUFtQixFQUFFLEVBQUU7Z0JBQ3BFLE1BQU0sRUFBRSxHQUFHLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQy9DLElBQUksY0FBYyxDQUFDLHdCQUF3QixDQUFDLElBQUksY0FBYyxDQUFDLHdCQUF3QixDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDbkcsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsQ0FBQyxHQUFHLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO29CQUNuRixJQUFJLENBQUMsOEJBQThCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDaEUsSUFBSSxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7d0JBQzNFLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7cUJBQ3pGO2lCQUNGO2dCQUNELElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUUsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxlQUFvQjtRQUM5QyxJQUFJLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7YUFDdkgsR0FBRyxDQUFDLENBQUMsZUFBdUIsRUFBRSxFQUFFO1lBQy9CLE1BQU0sRUFBRSxHQUFHLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDO1lBQ3JFLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksSUFBSSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNqRyxJQUFJLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsOEJBQThCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDbkksR0FBRyxJQUFJLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUMzRyxJQUFJLENBQUMsOEJBQThCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDaEU7Z0JBQ0QsSUFBSSxJQUFJLENBQUMsOEJBQThCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3BELEdBQUcsSUFBSSxxQkFBcUIsQ0FBQztpQkFDOUI7YUFDRjtZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7UUFDTCxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDbEksT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRU0saUJBQWlCLENBQUMsS0FBYSxFQUFFLEdBQVc7UUFDakQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN0QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLElBQUksT0FBTyxFQUFFO1lBQ1gsWUFBWSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMzQjtRQUNELE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLGFBQWE7UUFDYixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDakcsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUNqRCxZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN2QztZQUNELE9BQU8sWUFBWSxHQUFHLE1BQU0sQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQzdELE1BQU0sTUFBTSxHQUFHO1lBQ2IsU0FBUyxFQUFFLElBQUk7WUFDZixVQUFVLEVBQUUsUUFBUTtTQUNyQixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsRUFBRSxNQUFNLENBQUM7YUFDdkksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ3hCLElBQUksTUFBTSxFQUFFLE1BQU0sRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDakU7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs7d0dBbkhVLFVBQVU7NEdBQVYsVUFBVTs0RkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVBJIH0gZnJvbSAnLi4vYXBwLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSAnLi9hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgKiBhcyBCaWcgZnJvbSAnYmlnLmpzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwaVdlYmV4U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwaS13ZWJleC5zZXJ2aWNlJztcbmltcG9ydCB7IEF2YWlsYWJsZVBob25lTnVtYmVyUmFuZ2VJbnRlcmZhY2UsIERuUmFuZ2VUeXBlIH0gZnJvbSAnLi4vY2xhc3Nlcy9saW5lJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRG5zU2VydmljZSB7XG4gIGF2YWlsYWJsZU51bWJlcnMgPSB7fTtcbiAgYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuITogYW55O1xuICBwaG9uZU51bWJlcnM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBpV2ViZXhTZXJ2aWNlOiBBcGlXZWJleFNlcnZpY2VcbiAgKSB7XG5cbiAgfVxuICBwdWJsaWMgZ2V0TnVtYmVyUmFuZ2Uoc2l0ZUlkOiBzdHJpbmcsIHJvdXRlUGFydGl0aW9uOiBzdHJpbmcsIHdpdGhkaWRzPzogYm9vbGVhbiwgZnJvbT86IHN0cmluZywgcGFnZVNpemU/OiBudW1iZXIpOiBhbnkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAodGhpcy5hdmFpbGFibGVOdW1iZXJzW3JvdXRlUGFydGl0aW9uXT8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8YW55PihvYnNlcnZlciA9PiB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb2JzZXJ2ZXIubmV4dCh0aGlzLmF2YWlsYWJsZU51bWJlcnNbcm91dGVQYXJ0aXRpb25dKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuID0ge307XG4gICAgcGFnZVNpemUgPSBwYWdlU2l6ZSA/IHBhZ2VTaXplIDogMjA7XG4gICAgY29uc3QgcGFyYW1zID0ge2RudHlwZTogRG5SYW5nZVR5cGUuZXh0ZW5zaW9uLCByb3V0ZXBhcnRpdGlvbjogcm91dGVQYXJ0aXRpb24sIHNpemU6IHBhZ2VTaXplLCBwYWdlOiAwfTtcbiAgICBpZiAod2l0aGRpZHMpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHBhcmFtc1snd2l0aGRpZHMnXSA9ICd0cnVlJztcbiAgICB9XG4gICAgaWYgKGZyb20pIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHBhcmFtc1snZnJvbSddID0gZnJvbTtcbiAgICB9XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMuYXZhaWxhYmxlTnVtYmVyc1tyb3V0ZVBhcnRpdGlvbl0gPSB0aGlzLmF2YWlsYWJsZU51bWJlcnNbcm91dGVQYXJ0aXRpb25dIHx8IFtdO1xuXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuQVZBSUxBQkxFX0ROX0lOX1JBTkdFUy5yZXBsYWNlKCc6c2l0ZUlkJywgc2l0ZUlkKSwgcGFyYW1zKVxuICAgICAgLnBpcGUobWFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHJlcy5hdmFpbGFibGVOdW1iZXJMaXN0LmZvckVhY2goKGF2YWlsYWJsZU51bWJlcjogQXZhaWxhYmxlUGhvbmVOdW1iZXJSYW5nZUludGVyZmFjZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRBdmFpbGFibGVEaWRNYXBwZWRUb0RuKGF2YWlsYWJsZU51bWJlcik7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICB0aGlzLmF2YWlsYWJsZU51bWJlcnNbcm91dGVQYXJ0aXRpb25dID0gWy4uLnRoaXMuYXZhaWxhYmxlTnVtYmVyc1tyb3V0ZVBhcnRpdGlvbl0sIC4uLnRoaXMuZ2V0VW53cmFwTnVtYmVyUmFuZ2UoYXZhaWxhYmxlTnVtYmVyKV07XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAvLyAucGlwZSh0aGlzLmhhbmRsZUVycm9yKHRydWUsIGZhbHNlKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0QXZhaWxhYmxlRGlkTWFwcGVkVG9EbihhdmFpbGFibGVOdW1iZXI6IGFueSk6IHZvaWQge1xuICAgIGlmIChhdmFpbGFibGVOdW1iZXIudW5Vc2VkTnVtYmVyc1dpdGhEaWRzICYmIGF2YWlsYWJsZU51bWJlci51blVzZWROdW1iZXJzV2l0aERpZHMubGVuZ3RoKSB7XG5cbiAgICAgIGF2YWlsYWJsZU51bWJlci51blVzZWROdW1iZXJzV2l0aERpZHMuZm9yRWFjaCgobnVtYmVyV2l0aERpZHM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBkbiA9IG51bWJlcldpdGhEaWRzWyd1blVzZWROdW1iZXInXTtcbiAgICAgICAgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dID0gW3t9XTtcbiAgICAgICAgaWYgKG51bWJlcldpdGhEaWRzWyd0cmFuc2xhdGlvblBhdHRlcm5MaXN0J10gJiYgbnVtYmVyV2l0aERpZHNbJ3RyYW5zbGF0aW9uUGF0dGVybkxpc3QnXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dID0gbnVtYmVyV2l0aERpZHNbJ3RyYW5zbGF0aW9uUGF0dGVybkxpc3QnXTtcbiAgICAgICAgICB0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl1bMF1bJ21hcHBlZERpZHMnXSA9IFt7fV07XG4gICAgICAgICAgaWYgKG51bWJlcldpdGhEaWRzWydtYXBwZWREaWRzJ10gJiYgbnVtYmVyV2l0aERpZHNbJ21hcHBlZERpZHMnXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl1bMF1bJ21hcHBlZERpZHMnXSA9IG51bWJlcldpdGhEaWRzWydtYXBwZWREaWRzJ107XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsndm0nXSA9IG51bWJlcldpdGhEaWRzWyd2bSddO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFVud3JhcE51bWJlclJhbmdlKGF2YWlsYWJsZU51bWJlcjogYW55KTogc3RyaW5nW10ge1xuICAgIGxldCB1bndyYXBOdW1iZXJSYW5nZSA9IHRoaXMudW53cmFwTnVtYmVyUmFuZ2UoYXZhaWxhYmxlTnVtYmVyLnBob25lTnVtYmVyUmFuZ2UuZnJvbSwgYXZhaWxhYmxlTnVtYmVyLnBob25lTnVtYmVyUmFuZ2UudG8pXG4gICAgICAubWFwKCh1bndyYXBwZWROdW1iZXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBkbiA9IGF2YWlsYWJsZU51bWJlci5waG9uZU51bWJlclJhbmdlLnByZWZpeCArIHVud3JhcHBlZE51bWJlcjtcbiAgICAgICAgbGV0IHN0ciA9IGRuO1xuICAgICAgICBpZiAodGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dICYmIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgaWYgKHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddICYmIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHN0ciArPSAnICAgICAgICBESUQ6ICAnICsgKHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddLmxlbmd0aCA+IDEgPyAnbXVsdGlwbGUnIDpcbiAgICAgICAgICAgICAgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWydtYXBwZWREaWRzJ11bMF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWyd2bSddKSB7XG4gICAgICAgICAgICBzdHIgKz0gJyAgICAgICAgSW4gVXNlIC0gVk0nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RyO1xuICAgICAgfSk7XG4gICAgdW53cmFwTnVtYmVyUmFuZ2UgPSB1bndyYXBOdW1iZXJSYW5nZS5maWx0ZXIoKHVud3JhcHBlZE51bWJlcjogc3RyaW5nKSA9PiAhYXZhaWxhYmxlTnVtYmVyLnVzZWROdW1iZXJzLmluY2x1ZGVzKHVud3JhcHBlZE51bWJlcikpO1xuICAgIHJldHVybiB1bndyYXBOdW1iZXJSYW5nZTtcbiAgfVxuXG4gIHB1YmxpYyB1bndyYXBOdW1iZXJSYW5nZShzdGFydDogc3RyaW5nLCBlbmQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCByZWdFeHAgPSAvKF4wKykvO1xuICAgIGxldCBsZWFkaW5nWmVyb3MgPSAnJztcbiAgICBjb25zdCBtYXRjaGVzID0gc3RhcnQubWF0Y2gocmVnRXhwKTtcbiAgICBpZiAobWF0Y2hlcykge1xuICAgICAgbGVhZGluZ1plcm9zID0gbWF0Y2hlc1sxXTtcbiAgICB9XG4gICAgY29uc3Qgc3RhcnROdW1lcmljID0gbmV3IEJpZyhzdGFydCk7XG4gICAgY29uc3QgZW5kTnVtZXJpYyA9IG5ldyBCaWcoZW5kKTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcmV0dXJuIEFycmF5LmZyb20oe2xlbmd0aDogKGVuZE51bWVyaWMubWludXMoc3RhcnROdW1lcmljKS5wbHVzKG5ldyBCaWcoMSkpLnRvRml4ZWQoMCkpfSwgKHYsIGspID0+IHtcbiAgICAgIGNvbnN0IG51bWJlciA9IFN0cmluZyhzdGFydE51bWVyaWMucGx1cyhuZXcgQmlnKGspKS50b0ZpeGVkKDApKTtcbiAgICAgIGlmICgobGVhZGluZ1plcm9zICsgbnVtYmVyKS5sZW5ndGggPiBzdGFydC5sZW5ndGgpIHtcbiAgICAgICAgbGVhZGluZ1plcm9zID0gbGVhZGluZ1plcm9zLnN1YnN0cigxKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBsZWFkaW5nWmVyb3MgKyBudW1iZXI7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZmV0Y2hQaG9uZU51bWJlcnMoY3VzdG9tZXJJZDogbnVtYmVyLCBsb2NhdGlvbklkOiBzdHJpbmcpOiBhbnkge1xuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIGF2YWlsYWJsZTogdHJ1ZSxcbiAgICAgIG51bWJlclR5cGU6ICdOVU1CRVInXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5hcGlXZWJleFNlcnZpY2UuZmV0Y2goQVBJLlBIT05FX05VTUJFUlMucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBTdHJpbmcoY3VzdG9tZXJJZCkpLnJlcGxhY2UoJzpsb2NhdGlvbklkJywgbG9jYXRpb25JZCksIHBhcmFtcylcbiAgICAgIC5waXBlKG1hcCgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdD8ubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5waG9uZU51bWJlcnMgPSByZXN1bHQubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0ucGhvbmVOdW1iZXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class EventsCommunicationService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.onSuccessfulLoginEvent = new Subject();
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
EventsCommunicationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EventsCommunicationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
10
|
-
EventsCommunicationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EventsCommunicationService });
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EventsCommunicationService, decorators: [{
|
|
12
|
-
type: Injectable
|
|
13
|
-
}], ctorParameters: function () { return []; } });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLWNvbW11bmljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2Vycy1saXN0L3NyYy9zZXJ2aWNlcy9ldmVudHMtY29tbXVuaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHL0IsTUFBTSxPQUFPLDBCQUEwQjtJQUdyQztRQUZPLDJCQUFzQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFHOUMsQ0FBQzs7d0hBSlUsMEJBQTBCOzRIQUExQiwwQkFBMEI7NEZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV2ZW50c0NvbW11bmljYXRpb25TZXJ2aWNlIHtcbiAgcHVibGljIG9uU3VjY2Vzc2Z1bExvZ2luRXZlbnQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { API } from '../app.constants';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import { PrepareMigrationData } from '../classes/move-user';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./api.service";
|
|
7
|
-
import * as i2 from "../services/api-webex.service";
|
|
8
|
-
export class MoveUserService {
|
|
9
|
-
constructor(apiService, apiWebexService) {
|
|
10
|
-
this.apiService = apiService;
|
|
11
|
-
this.apiWebexService = apiWebexService;
|
|
12
|
-
}
|
|
13
|
-
resetMigrationDataForNewLocation() {
|
|
14
|
-
this.prepareMigrationData.newExtension = '';
|
|
15
|
-
this.prepareMigrationData.newPhoneNumber = '';
|
|
16
|
-
this.prepareMigrationData.newExtension = '';
|
|
17
|
-
}
|
|
18
|
-
setOriginPrepareMigrationData() {
|
|
19
|
-
const data = JSON.parse(JSON.stringify(this.prepareMigrationData.getSavableData()));
|
|
20
|
-
this.originPrepareMigrationData = new PrepareMigrationData(data);
|
|
21
|
-
}
|
|
22
|
-
fetchPrepareMigrationData(data) {
|
|
23
|
-
return this.apiWebexService.post(API.PREPARE_PERSON_MIGRATION, data.getSavableData())
|
|
24
|
-
.pipe(map((result) => {
|
|
25
|
-
if (result) {
|
|
26
|
-
this.prepareMigrationData = new PrepareMigrationData(result, this.originPrepareMigrationData);
|
|
27
|
-
}
|
|
28
|
-
return result;
|
|
29
|
-
}));
|
|
30
|
-
// .pipe(this.handleError(false, true));
|
|
31
|
-
}
|
|
32
|
-
startMigration(data) {
|
|
33
|
-
/* return new Observable<boolean>(observer => {
|
|
34
|
-
setTimeout(() => {
|
|
35
|
-
observer.next(true);
|
|
36
|
-
|
|
37
|
-
}, 2000);
|
|
38
|
-
});*/
|
|
39
|
-
return this.apiWebexService.post(API.START_MIGRATION, data.getSavableData())
|
|
40
|
-
.pipe(map((result) => {
|
|
41
|
-
if (data) {
|
|
42
|
-
this.prepareMigrationData = new PrepareMigrationData(data);
|
|
43
|
-
}
|
|
44
|
-
}));
|
|
45
|
-
// .pipe(this.handleError(false, true));
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
MoveUserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserService, deps: [{ token: i1.APIService }, { token: i2.ApiWebexService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
49
|
-
MoveUserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserService });
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MoveUserService, decorators: [{
|
|
51
|
-
type: Injectable
|
|
52
|
-
}], ctorParameters: function () { return [{ type: i1.APIService }, { type: i2.ApiWebexService }]; } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS11c2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlcnMtbGlzdC9zcmMvc2VydmljZXMvbW92ZS11c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBdUMsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUlqRyxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUNVLFVBQXNCLEVBQ3RCLGVBQWdDO1FBRGhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBRzFDLENBQUM7SUFFRCxnQ0FBZ0M7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFFOUMsQ0FBQztJQUVELDZCQUE2QjtRQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQseUJBQXlCLENBQUMsSUFBMEI7UUFDbEQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ2xGLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUN4QixJQUFJLE1BQU0sRUFBRTtnQkFDVixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7YUFDL0Y7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ04sd0NBQXdDO0lBQzFDLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBbUI7UUFDakM7Ozs7O2NBS007UUFDTCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3pFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUN4QixJQUFJLElBQUksRUFBRTtnQkFDUixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM1RDtRQUNILENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDTix3Q0FBd0M7SUFDMUMsQ0FBQzs7NkdBaERVLGVBQWU7aUhBQWYsZUFBZTs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBpV2ViZXhTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXBpLXdlYmV4LnNlcnZpY2UnO1xuaW1wb3J0IHsgQVBJIH0gZnJvbSAnLi4vYXBwLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNaWdyYXRpb25EYXRhLCBQcmVwYXJlTWlncmF0aW9uQm9keSwgUHJlcGFyZU1pZ3JhdGlvbkRhdGEgfSBmcm9tICcuLi9jbGFzc2VzL21vdmUtdXNlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb3ZlVXNlclNlcnZpY2Uge1xuICBwcmVwYXJlTWlncmF0aW9uRGF0YSE6IFByZXBhcmVNaWdyYXRpb25EYXRhO1xuICBvcmlnaW5QcmVwYXJlTWlncmF0aW9uRGF0YSE6IFByZXBhcmVNaWdyYXRpb25EYXRhO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXBpU2VydmljZTogQVBJU2VydmljZSxcbiAgICBwcml2YXRlIGFwaVdlYmV4U2VydmljZTogQXBpV2ViZXhTZXJ2aWNlXG4gICkge1xuXG4gIH1cblxuICByZXNldE1pZ3JhdGlvbkRhdGFGb3JOZXdMb2NhdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnByZXBhcmVNaWdyYXRpb25EYXRhLm5ld0V4dGVuc2lvbiA9ICcnO1xuICAgIHRoaXMucHJlcGFyZU1pZ3JhdGlvbkRhdGEubmV3UGhvbmVOdW1iZXIgPSAnJztcbiAgICB0aGlzLnByZXBhcmVNaWdyYXRpb25EYXRhLm5ld0V4dGVuc2lvbiA9ICcnO1xuXG4gIH1cblxuICBzZXRPcmlnaW5QcmVwYXJlTWlncmF0aW9uRGF0YSgpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnByZXBhcmVNaWdyYXRpb25EYXRhLmdldFNhdmFibGVEYXRhKCkpKTtcbiAgICB0aGlzLm9yaWdpblByZXBhcmVNaWdyYXRpb25EYXRhID0gbmV3IFByZXBhcmVNaWdyYXRpb25EYXRhKGRhdGEpO1xuICB9XG5cbiAgZmV0Y2hQcmVwYXJlTWlncmF0aW9uRGF0YShkYXRhOiBQcmVwYXJlTWlncmF0aW9uQm9keSk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpV2ViZXhTZXJ2aWNlLnBvc3QoQVBJLlBSRVBBUkVfUEVSU09OX01JR1JBVElPTiwgZGF0YS5nZXRTYXZhYmxlRGF0YSgpKVxuICAgICAgLnBpcGUobWFwKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgdGhpcy5wcmVwYXJlTWlncmF0aW9uRGF0YSA9IG5ldyBQcmVwYXJlTWlncmF0aW9uRGF0YShyZXN1bHQsIHRoaXMub3JpZ2luUHJlcGFyZU1pZ3JhdGlvbkRhdGEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KSk7XG4gICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcihmYWxzZSwgdHJ1ZSkpO1xuICB9XG5cbiAgc3RhcnRNaWdyYXRpb24oZGF0YTogTWlncmF0aW9uRGF0YSk6IGFueSB7XG4gICAvKiByZXR1cm4gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4ob2JzZXJ2ZXIgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIG9ic2VydmVyLm5leHQodHJ1ZSk7XG5cbiAgICAgIH0sIDIwMDApO1xuICAgIH0pOyovXG4gICAgcmV0dXJuIHRoaXMuYXBpV2ViZXhTZXJ2aWNlLnBvc3QoQVBJLlNUQVJUX01JR1JBVElPTiwgZGF0YS5nZXRTYXZhYmxlRGF0YSgpKVxuICAgICAgLnBpcGUobWFwKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgIHRoaXMucHJlcGFyZU1pZ3JhdGlvbkRhdGEgPSBuZXcgUHJlcGFyZU1pZ3JhdGlvbkRhdGEoZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcbiAgICAvLyAucGlwZSh0aGlzLmhhbmRsZUVycm9yKGZhbHNlLCB0cnVlKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Notification } from '../classes/notification';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
const SUCCESS_TIME = 5000;
|
|
6
|
-
const INACTIVE_SESSION_MESSAGE = 'Your session was lost due to inactivity. Please login again';
|
|
7
|
-
const INACTIVE_SESSION = 'SESSION_INACTIVE';
|
|
8
|
-
export class NotificationService {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.listChange = new Subject();
|
|
11
|
-
this.max = 0;
|
|
12
|
-
this.list = [];
|
|
13
|
-
}
|
|
14
|
-
error(message, ttl) {
|
|
15
|
-
this.notify('error', message, ttl);
|
|
16
|
-
}
|
|
17
|
-
success(message, ttl) {
|
|
18
|
-
this.notify('success', message, (!ttl) ? SUCCESS_TIME : ttl);
|
|
19
|
-
}
|
|
20
|
-
warning(message, ttl) {
|
|
21
|
-
this.notify('warning', message, ttl);
|
|
22
|
-
}
|
|
23
|
-
info(message, ttl) {
|
|
24
|
-
this.notify('info', message, ttl);
|
|
25
|
-
}
|
|
26
|
-
notify(type, message, ttl) {
|
|
27
|
-
const found = this.list.find((n) => n.message === message);
|
|
28
|
-
if (found) {
|
|
29
|
-
this.remove(found);
|
|
30
|
-
}
|
|
31
|
-
const notification = new Notification({
|
|
32
|
-
id: ++this.max,
|
|
33
|
-
type, message, ttl
|
|
34
|
-
});
|
|
35
|
-
if (notification.ttl > 0) {
|
|
36
|
-
notification.timerId = setTimeout(() => this.remove(notification, true), notification.ttl);
|
|
37
|
-
}
|
|
38
|
-
this.list.push(notification);
|
|
39
|
-
this.listChange.next(this.list);
|
|
40
|
-
}
|
|
41
|
-
remove(notification, auto) {
|
|
42
|
-
if (!auto && notification.timerId) {
|
|
43
|
-
// clear timeout in case of manual remove
|
|
44
|
-
clearInterval(notification.timerId);
|
|
45
|
-
}
|
|
46
|
-
this.list = this.list.filter(n => n.id !== notification.id);
|
|
47
|
-
this.listChange.next(this.list);
|
|
48
|
-
}
|
|
49
|
-
removeInactiveSessionError() {
|
|
50
|
-
if (!this.list || !this.list.length) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
this.list = this.list.filter(n => n.message !== INACTIVE_SESSION_MESSAGE && n.message !== INACTIVE_SESSION);
|
|
54
|
-
this.listChange.next(this.list);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
NotificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
-
NotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationService });
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationService, decorators: [{
|
|
60
|
-
type: Injectable
|
|
61
|
-
}], ctorParameters: function () { return []; } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlcnMtbGlzdC9zcmMvc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFDL0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBQzFCLE1BQU0sd0JBQXdCLEdBQUcsNkRBQTZELENBQUM7QUFDL0YsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQztBQUc1QyxNQUFNLE9BQU8sbUJBQW1CO0lBTzlCO1FBTE8sZUFBVSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFMUIsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUNSLFNBQUksR0FBbUIsRUFBRSxDQUFDO0lBSWxDLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBZSxFQUFFLEdBQVk7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZSxFQUFFLEdBQVk7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQWUsRUFBRSxHQUFZO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQWUsRUFBRSxHQUFZO1FBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ08sTUFBTSxDQUFDLElBQVksRUFBRSxPQUFlLEVBQUUsR0FBWTtRQUN4RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQztRQUN6RSxJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEI7UUFDRCxNQUFNLFlBQVksR0FBRyxJQUFJLFlBQVksQ0FBQztZQUNwQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNkLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRztTQUNuQixDQUFDLENBQUM7UUFDSCxJQUFJLFlBQVksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLFlBQVksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM1RjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQTBCLEVBQUUsSUFBYztRQUMvQyxJQUFJLENBQUMsSUFBSSxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUU7WUFDakMseUNBQXlDO1lBQ3pDLGFBQWEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckM7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNuQyxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyx3QkFBd0IsSUFBSSxDQUFDLENBQUMsT0FBTyxLQUFLLGdCQUFnQixDQUFDLENBQUM7UUFDNUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7O2lIQXpEVSxtQkFBbUI7cUhBQW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vY2xhc3Nlcy9ub3RpZmljYXRpb24nO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuY29uc3QgU1VDQ0VTU19USU1FID0gNTAwMDtcbmNvbnN0IElOQUNUSVZFX1NFU1NJT05fTUVTU0FHRSA9ICdZb3VyIHNlc3Npb24gd2FzIGxvc3QgZHVlIHRvIGluYWN0aXZpdHkuIFBsZWFzZSBsb2dpbiBhZ2Fpbic7XG5jb25zdCBJTkFDVElWRV9TRVNTSU9OID0gJ1NFU1NJT05fSU5BQ1RJVkUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uU2VydmljZSB7XG5cbiAgcHVibGljIGxpc3RDaGFuZ2UgPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgbWF4ID0gMDtcbiAgcHJpdmF0ZSBsaXN0OiBOb3RpZmljYXRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICApIHtcbiAgfVxuXG4gIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgdHRsPzogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5ub3RpZnkoJ2Vycm9yJywgbWVzc2FnZSwgdHRsKTtcbiAgfVxuXG4gIHN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nLCB0dGw/OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmeSgnc3VjY2VzcycsIG1lc3NhZ2UsICghdHRsKSA/IFNVQ0NFU1NfVElNRSA6IHR0bCk7XG4gIH1cblxuICB3YXJuaW5nKG1lc3NhZ2U6IHN0cmluZywgdHRsPzogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5ub3RpZnkoJ3dhcm5pbmcnLCBtZXNzYWdlLCB0dGwpO1xuICB9XG5cbiAgaW5mbyhtZXNzYWdlOiBzdHJpbmcsIHR0bD86IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMubm90aWZ5KCdpbmZvJywgbWVzc2FnZSwgdHRsKTtcbiAgfVxuICBwcml2YXRlIG5vdGlmeSh0eXBlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgdHRsPzogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgZm91bmQgPSB0aGlzLmxpc3QuZmluZCgobjogTm90aWZpY2F0aW9uKSA9PiBuLm1lc3NhZ2UgPT09IG1lc3NhZ2UpO1xuICAgIGlmIChmb3VuZCkge1xuICAgICAgdGhpcy5yZW1vdmUoZm91bmQpO1xuICAgIH1cbiAgICBjb25zdCBub3RpZmljYXRpb24gPSBuZXcgTm90aWZpY2F0aW9uKHtcbiAgICAgIGlkOiArK3RoaXMubWF4LFxuICAgICAgdHlwZSwgbWVzc2FnZSwgdHRsXG4gICAgfSk7XG4gICAgaWYgKG5vdGlmaWNhdGlvbi50dGwgPiAwKSB7XG4gICAgICBub3RpZmljYXRpb24udGltZXJJZCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZW1vdmUobm90aWZpY2F0aW9uLCB0cnVlKSwgbm90aWZpY2F0aW9uLnR0bCk7XG4gICAgfVxuICAgIHRoaXMubGlzdC5wdXNoKG5vdGlmaWNhdGlvbik7XG4gICAgdGhpcy5saXN0Q2hhbmdlLm5leHQodGhpcy5saXN0KTtcbiAgfVxuXG4gIHJlbW92ZShub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbiwgYXV0bz86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoIWF1dG8gJiYgbm90aWZpY2F0aW9uLnRpbWVySWQpIHtcbiAgICAgIC8vIGNsZWFyIHRpbWVvdXQgaW4gY2FzZSBvZiBtYW51YWwgcmVtb3ZlXG4gICAgICBjbGVhckludGVydmFsKG5vdGlmaWNhdGlvbi50aW1lcklkKTtcbiAgICB9XG4gICAgdGhpcy5saXN0ID0gdGhpcy5saXN0LmZpbHRlcihuID0+IG4uaWQgIT09IG5vdGlmaWNhdGlvbi5pZCk7XG4gICAgdGhpcy5saXN0Q2hhbmdlLm5leHQodGhpcy5saXN0KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlSW5hY3RpdmVTZXNzaW9uRXJyb3IoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmxpc3QgfHwgIXRoaXMubGlzdC5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5saXN0ID0gdGhpcy5saXN0LmZpbHRlcihuID0+IG4ubWVzc2FnZSAhPT0gSU5BQ1RJVkVfU0VTU0lPTl9NRVNTQUdFICYmIG4ubWVzc2FnZSAhPT0gSU5BQ1RJVkVfU0VTU0lPTik7XG4gICAgdGhpcy5saXN0Q2hhbmdlLm5leHQodGhpcy5saXN0KTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { CUCMS_TO_IGNORE, CUCS_TO_IGNORE } from '../app.constants';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class RemoveKynFromIBMService {
|
|
5
|
-
constructor() {
|
|
6
|
-
}
|
|
7
|
-
removeCUCMS(date, customerId) {
|
|
8
|
-
if (customerId === 8) {
|
|
9
|
-
return date.filter((val) => !CUCMS_TO_IGNORE.includes(Math.round(val.cucmId)));
|
|
10
|
-
}
|
|
11
|
-
return date;
|
|
12
|
-
}
|
|
13
|
-
removeCUCS(date, customerId) {
|
|
14
|
-
if (customerId === 8) {
|
|
15
|
-
return date.filter((val) => !CUCS_TO_IGNORE.includes(Math.round(val.cucId)));
|
|
16
|
-
}
|
|
17
|
-
return date;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
RemoveKynFromIBMService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RemoveKynFromIBMService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
-
RemoveKynFromIBMService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RemoveKynFromIBMService });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RemoveKynFromIBMService, decorators: [{
|
|
23
|
-
type: Injectable
|
|
24
|
-
}], ctorParameters: function () { return []; } });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlS3luRnJvbUlCTS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXJzLWxpc3Qvc3JjL3NlcnZpY2VzL3JlbW92ZUt5bkZyb21JQk0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBR25FLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEM7SUFDQSxDQUFDO0lBR0QsV0FBVyxDQUFDLElBQVMsRUFBRSxVQUFrQjtRQUN2QyxJQUFJLFVBQVUsS0FBSyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVMsRUFBRSxVQUFrQjtRQUN0QyxJQUFJLFVBQVUsS0FBSyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25GO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztxSEFqQlUsdUJBQXVCO3lIQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENVQ01TX1RPX0lHTk9SRSwgQ1VDU19UT19JR05PUkUgfSBmcm9tICcuLi9hcHAuY29uc3RhbnRzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlbW92ZUt5bkZyb21JQk1TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuXG4gIHJlbW92ZUNVQ01TKGRhdGU6IGFueSwgY3VzdG9tZXJJZDogbnVtYmVyKSB7XG4gICAgaWYgKGN1c3RvbWVySWQgPT09IDgpIHtcbiAgICAgIHJldHVybiBkYXRlLmZpbHRlcigodmFsOiBhbnkpID0+ICFDVUNNU19UT19JR05PUkUuaW5jbHVkZXMoTWF0aC5yb3VuZCh2YWwuY3VjbUlkKSkpO1xuICAgIH1cbiAgICByZXR1cm4gZGF0ZTtcbiAgfVxuXG4gIHJlbW92ZUNVQ1MoZGF0ZTogYW55LCBjdXN0b21lcklkOiBudW1iZXIpIHtcbiAgICBpZiAoY3VzdG9tZXJJZCA9PT0gOCkge1xuICAgICAgcmV0dXJuIGRhdGUuZmlsdGVyKCh2YWw6IGFueSkgPT4gIUNVQ1NfVE9fSUdOT1JFLmluY2x1ZGVzKE1hdGgucm91bmQodmFsLmN1Y0lkKSkpO1xuICAgIH1cbiAgICByZXR1cm4gZGF0ZTtcbiAgfVxuXG5cbn1cbiJdfQ==
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { API } from '../app.constants';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import { AppLocation } from '../classes/app-location';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../services/api-webex.service";
|
|
7
|
-
export class SiteSettingsService {
|
|
8
|
-
constructor(apiWebexService) {
|
|
9
|
-
this.apiWebexService = apiWebexService;
|
|
10
|
-
this.locations = [];
|
|
11
|
-
}
|
|
12
|
-
getLocations(customerId) {
|
|
13
|
-
return this.apiWebexService.fetch(API.GET_LOCATIONS.replace(':customerId', String(customerId)), {})
|
|
14
|
-
.pipe(map((result) => {
|
|
15
|
-
if (result && result.length) {
|
|
16
|
-
this.locations = result.map((location) => new AppLocation(location));
|
|
17
|
-
}
|
|
18
|
-
return result;
|
|
19
|
-
}));
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
SiteSettingsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteSettingsService, deps: [{ token: i1.ApiWebexService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
23
|
-
SiteSettingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteSettingsService });
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteSettingsService, decorators: [{
|
|
25
|
-
type: Injectable
|
|
26
|
-
}], ctorParameters: function () { return [{ type: i1.ApiWebexService }]; } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1zZXR0aW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXJzLWxpc3Qvc3JjL3NlcnZpY2VzL3NpdGUtc2V0dGluZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFJdEQsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixZQUNVLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUgxQyxjQUFTLEdBQWtCLEVBQUUsQ0FBQztJQU05QixDQUFDO0lBRUQsWUFBWSxDQUFDLFVBQWtCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQzthQUNoRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtnQkFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO2FBQzFFO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNQLENBQUM7O2lIQWpCVSxtQkFBbUI7cUhBQW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVBJIH0gZnJvbSAnLi4vYXBwLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBMb2NhdGlvbiB9IGZyb20gJy4uL2NsYXNzZXMvYXBwLWxvY2F0aW9uJztcbmltcG9ydCB7IEFwaVdlYmV4U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwaS13ZWJleC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNpdGVTZXR0aW5nc1NlcnZpY2Uge1xuICBsb2NhdGlvbnM6IEFwcExvY2F0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFwaVdlYmV4U2VydmljZTogQXBpV2ViZXhTZXJ2aWNlXG4gICkge1xuXG4gIH1cblxuICBnZXRMb2NhdGlvbnMoY3VzdG9tZXJJZDogbnVtYmVyKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5hcGlXZWJleFNlcnZpY2UuZmV0Y2goQVBJLkdFVF9MT0NBVElPTlMucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBTdHJpbmcoY3VzdG9tZXJJZCkpLCB7fSlcbiAgICAgIC5waXBlKG1hcCgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5sb2NhdGlvbnMgPSByZXN1bHQubWFwKChsb2NhdGlvbjogYW55KSA9PiBuZXcgQXBwTG9jYXRpb24obG9jYXRpb24pKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KSlcbiAgfVxufVxuIl19
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { of, forkJoin, Subject } from 'rxjs';
|
|
3
|
-
import { SimplifiedUser } from '../classes/simlified-user';
|
|
4
|
-
import { API } from '../app.constants';
|
|
5
|
-
import { map } from 'rxjs/operators';
|
|
6
|
-
import { UtilsService } from '../utils/utils.service';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./api.service";
|
|
9
|
-
import * as i2 from "./api-webex.service";
|
|
10
|
-
export class UserService {
|
|
11
|
-
constructor(apiService, apiWebexService) {
|
|
12
|
-
this.apiService = apiService;
|
|
13
|
-
this.apiWebexService = apiWebexService;
|
|
14
|
-
this.siteId = -1;
|
|
15
|
-
this.userId = '';
|
|
16
|
-
this.userIdExistPending = false;
|
|
17
|
-
this.hasExistedUserId = false;
|
|
18
|
-
this.moveUserPending = false;
|
|
19
|
-
this.userMoved$ = new Subject();
|
|
20
|
-
}
|
|
21
|
-
ngOnInit() {
|
|
22
|
-
console.log(this.siteId);
|
|
23
|
-
}
|
|
24
|
-
fetchUserToken(siteId, userId) {
|
|
25
|
-
this.siteId = siteId;
|
|
26
|
-
this.userId = userId;
|
|
27
|
-
return this.apiService.fetch(API.USER_TOKEN.replace(':siteId', String(this.siteId)).replace(':userId', encodeURIComponent(encodeURIComponent(userId))))
|
|
28
|
-
.pipe(map((result) => {
|
|
29
|
-
const token = Object.keys(result)[0];
|
|
30
|
-
this.setSimplifiedUser(Object.values(result)[0], token);
|
|
31
|
-
}));
|
|
32
|
-
// .pipe(this.handleError(false, true));
|
|
33
|
-
}
|
|
34
|
-
updateUserFields(body) {
|
|
35
|
-
if (!this.userId || !this.siteId || !this.user?.token) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
return this.apiService.post(API.UPDATE_USER_FIELDS.replace(':siteId', String(this.siteId)).replace(':token', this.user.token), body);
|
|
39
|
-
// .pipe(this.handleError(false, true));
|
|
40
|
-
}
|
|
41
|
-
moveUserToMT(customerId, user) {
|
|
42
|
-
// return new Observable<boolean>(observer => {
|
|
43
|
-
// setTimeout(() => {
|
|
44
|
-
// observer.next(true);
|
|
45
|
-
//
|
|
46
|
-
// }, 1000);
|
|
47
|
-
// });
|
|
48
|
-
return this.apiWebexService.post(API.MOVE_USER, this.getMoveUserBody(customerId, user));
|
|
49
|
-
// .pipe(this.handleError(true, true));
|
|
50
|
-
}
|
|
51
|
-
moveUserToDI(customerId, user) {
|
|
52
|
-
// return new Observable<boolean>(observer => {
|
|
53
|
-
// setTimeout(() => {
|
|
54
|
-
// observer.next(true);
|
|
55
|
-
//
|
|
56
|
-
// }, 1000);
|
|
57
|
-
// });
|
|
58
|
-
const URL = API.REVERT_WEBEX_USER.replace(':customerId', customerId).replace(':webexUUID', String(user.webexUUID));
|
|
59
|
-
return this.apiWebexService.post(URL, this.getMoveUserBody(customerId, user));
|
|
60
|
-
// .pipe(this.handleError(true, true));
|
|
61
|
-
}
|
|
62
|
-
getMoveUserBody(customerId, user) {
|
|
63
|
-
return {
|
|
64
|
-
customerId: customerId,
|
|
65
|
-
entities: {
|
|
66
|
-
PERSON: [{ cucmId: user.cucmId, entityId: user.userid }]
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
deleteUser(siteId, userId) {
|
|
71
|
-
return this.apiService.delete(API.DELETE_USER.replace(':siteId', String(siteId)).replace(':userId', encodeURIComponent(encodeURIComponent(userId))));
|
|
72
|
-
// .pipe(this.handleError(true, true));
|
|
73
|
-
}
|
|
74
|
-
fetchUserById(id) {
|
|
75
|
-
this.userIdExistPending = true;
|
|
76
|
-
return this.apiService.fetch(API.USER_BY_ID.replace(':siteId', String(this.siteId)).replace(':userId', encodeURIComponent(encodeURIComponent(id))))
|
|
77
|
-
.pipe(map(result => {
|
|
78
|
-
this.userIdExistPending = false;
|
|
79
|
-
return result;
|
|
80
|
-
}));
|
|
81
|
-
}
|
|
82
|
-
persistCacheChanges() {
|
|
83
|
-
const params = {
|
|
84
|
-
excludeDeviceExtraOptions: true
|
|
85
|
-
};
|
|
86
|
-
return this.processUserChangesToCache()
|
|
87
|
-
.pipe(map((result) => {
|
|
88
|
-
return this.apiService.post(API.PERSIST_USER_CACHE.replace(':siteId', String(this.siteId)).replace(':token', this.user.token), {}, params)
|
|
89
|
-
.subscribe(() => {
|
|
90
|
-
});
|
|
91
|
-
// .pipe(map((user) => {
|
|
92
|
-
// // this.setUser(user, false, this.user.token);
|
|
93
|
-
// this.user.hasModifiedCache = false;
|
|
94
|
-
// }))
|
|
95
|
-
// .pipe(this.handleError(true, true));
|
|
96
|
-
}));
|
|
97
|
-
}
|
|
98
|
-
processUserChangesToCache() {
|
|
99
|
-
const calls = [];
|
|
100
|
-
const body = UtilsService.diff(this.originUser.getSavableData(), this.user.getSavableData(), 'user');
|
|
101
|
-
if (body) {
|
|
102
|
-
calls.push(this.updateUserFields(body));
|
|
103
|
-
}
|
|
104
|
-
if (!calls?.length) {
|
|
105
|
-
return of(this.user);
|
|
106
|
-
}
|
|
107
|
-
return forkJoin(calls)
|
|
108
|
-
.pipe(map((responses) => {
|
|
109
|
-
// ApiUserResponse
|
|
110
|
-
this.handleSaveUserResponse(responses);
|
|
111
|
-
}));
|
|
112
|
-
// .pipe(this.handleError(false, true));
|
|
113
|
-
}
|
|
114
|
-
hasUnsavedChanges() {
|
|
115
|
-
return !this.user.equal(this.originUser);
|
|
116
|
-
}
|
|
117
|
-
setSimplifiedUser(user, token) {
|
|
118
|
-
this.user = new SimplifiedUser(user);
|
|
119
|
-
const copiedUser = JSON.parse(JSON.stringify(user));
|
|
120
|
-
this.originUser = new SimplifiedUser(copiedUser);
|
|
121
|
-
this.user.token = this.user.token || token;
|
|
122
|
-
this.originUser.token = this.originUser.token || token;
|
|
123
|
-
}
|
|
124
|
-
handleSaveUserResponse(responses) {
|
|
125
|
-
if (!responses?.length) {
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
for (let len = responses.length, i = len - 1; i >= 0; i--) {
|
|
129
|
-
if (responses[i] && responses[i].currentUpdatedUser) {
|
|
130
|
-
// this.setUser(responses[i].currentUpdatedUser, false, this.user.token);
|
|
131
|
-
this.user.hasModifiedCache = true;
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
UserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserService, deps: [{ token: i1.APIService }, { token: i2.ApiWebexService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
138
|
-
UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserService });
|
|
139
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserService, decorators: [{
|
|
140
|
-
type: Injectable
|
|
141
|
-
}], ctorParameters: function () { return [{ type: i1.APIService }, { type: i2.ApiWebexService }]; } });
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXJzLWxpc3Qvc3JjL3NlcnZpY2VzL3VzZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFLdEQsTUFBTSxPQUFPLFdBQVc7SUFVdEIsWUFDVSxVQUFzQixFQUN0QixlQUFnQztRQURoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQVgxQyxXQUFNLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDcEIsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUNwQix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDM0IscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBR3pCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO0lBT2hDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDMUIsQ0FBQztJQUVNLGNBQWMsQ0FBQyxNQUFjLEVBQUUsTUFBYztRQUNsRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxH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QUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUM7UUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDO0lBQ3pELENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxTQUFjO1FBQzNDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFO1lBQ3RCLE9BQU87U0FDUjtRQUNELEtBQUssSUFBSSxHQUFHLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3pELElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRTtnQkFDbkQseUVBQXlFO2dCQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztnQkFDbEMsT0FBTzthQUNSO1NBQ0Y7SUFDSCxDQUFDOzt5R0FsSlUsV0FBVzs2R0FBWCxXQUFXOzRGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgZm9ya0pvaW4sIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNpbXBsaWZpZWRVc2VyIH0gZnJvbSAnLi4vY2xhc3Nlcy9zaW1saWZpZWQtdXNlcic7XG5pbXBvcnQgeyBBUEkgfSBmcm9tICcuLi9hcHAuY29uc3RhbnRzJztcbmltcG9ydCB7IEFQSVNlcnZpY2UgfSBmcm9tICcuL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4uL3V0aWxzL3V0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGlzdFVzZXIgfSBmcm9tICcuLi9jbGFzc2VzL3VzZXItbGlzdCc7XG5pbXBvcnQgeyBBcGlXZWJleFNlcnZpY2UgfSBmcm9tICcuL2FwaS13ZWJleC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVzZXJTZXJ2aWNlIGltcGxlbWVudHMgT25Jbml0e1xuICBzaXRlSWQ6IG51bWJlciA9IC0xO1xuICB1c2VySWQ6IHN0cmluZyA9ICcnO1xuICB1c2VySWRFeGlzdFBlbmRpbmcgPSBmYWxzZTtcbiAgaGFzRXhpc3RlZFVzZXJJZCA9IGZhbHNlO1xuICB1c2VyITogU2ltcGxpZmllZFVzZXI7XG4gIG9yaWdpblVzZXIhOiBTaW1wbGlmaWVkVXNlcjtcbiAgbW92ZVVzZXJQZW5kaW5nID0gZmFsc2U7XG4gIHVzZXJNb3ZlZCQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBpV2ViZXhTZXJ2aWNlOiBBcGlXZWJleFNlcnZpY2VcbiAgKSB7XG5cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKHRoaXMuc2l0ZUlkKVxuICB9XG5cbiAgcHVibGljIGZldGNoVXNlclRva2VuKHNpdGVJZDogbnVtYmVyLCB1c2VySWQ6IHN0cmluZyk6IGFueSB7XG4gICAgdGhpcy5zaXRlSWQgPSBzaXRlSWQ7XG4gICAgdGhpcy51c2VySWQgPSB1c2VySWQ7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuVVNFUl9UT0tFTi5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHRoaXMuc2l0ZUlkKSkucmVwbGFjZSgnOnVzZXJJZCcsIGVuY29kZVVSSUNvbXBvbmVudChlbmNvZGVVUklDb21wb25lbnQodXNlcklkKSkpKVxuICAgICAgLnBpcGUobWFwKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCB0b2tlbiA9IE9iamVjdC5rZXlzKHJlc3VsdClbMF07XG4gICAgICAgIHRoaXMuc2V0U2ltcGxpZmllZFVzZXIoT2JqZWN0LnZhbHVlcyhyZXN1bHQpWzBdLCB0b2tlbik7XG4gICAgICB9KSlcbiAgICAvLyAucGlwZSh0aGlzLmhhbmRsZUVycm9yKGZhbHNlLCB0cnVlKSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlVXNlckZpZWxkcyhib2R5OiBhbnkpOiBhbnkge1xuICAgIGlmICghdGhpcy51c2VySWQgfHwgIXRoaXMuc2l0ZUlkIHx8ICF0aGlzLnVzZXI/LnRva2VuKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuVVBEQVRFX1VTRVJfRklFTERTLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcodGhpcy5zaXRlSWQpKS5yZXBsYWNlKCc6dG9rZW4nLCB0aGlzLnVzZXIudG9rZW4pLCBib2R5KVxuICAgICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcihmYWxzZSwgdHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIG1vdmVVc2VyVG9NVChjdXN0b21lcklkOiBhbnksIHVzZXI6IExpc3RVc2VyKTogYW55IHtcbiAgICAvLyByZXR1cm4gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4ob2JzZXJ2ZXIgPT4ge1xuICAgIC8vICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgLy8gICAgIG9ic2VydmVyLm5leHQodHJ1ZSk7XG4gICAgLy9cbiAgICAvLyAgIH0sIDEwMDApO1xuICAgIC8vIH0pO1xuICAgIHJldHVybiB0aGlzLmFwaVdlYmV4U2VydmljZS5wb3N0KEFQSS5NT1ZFX1VTRVIsIHRoaXMuZ2V0TW92ZVVzZXJCb2R5KGN1c3RvbWVySWQsIHVzZXIpKVxuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgdHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIG1vdmVVc2VyVG9ESShjdXN0b21lcklkOiBhbnksIHVzZXI6IExpc3RVc2VyKTogYW55IHtcbiAgICAvLyByZXR1cm4gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4ob2JzZXJ2ZXIgPT4ge1xuICAgIC8vICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgLy8gICAgIG9ic2VydmVyLm5leHQodHJ1ZSk7XG4gICAgLy9cbiAgICAvLyAgIH0sIDEwMDApO1xuICAgIC8vIH0pO1xuICAgIGNvbnN0IFVSTCA9IEFQSS5SRVZFUlRfV0VCRVhfVVNFUi5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIGN1c3RvbWVySWQpLnJlcGxhY2UoJzp3ZWJleFVVSUQnLCBTdHJpbmcodXNlci53ZWJleFVVSUQpKTtcbiAgICByZXR1cm4gdGhpcy5hcGlXZWJleFNlcnZpY2UucG9zdChVUkwsIHRoaXMuZ2V0TW92ZVVzZXJCb2R5KGN1c3RvbWVySWQsIHVzZXIpKVxuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgdHJ1ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb3ZlVXNlckJvZHkoY3VzdG9tZXJJZDogYW55LCB1c2VyOiBMaXN0VXNlcik6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGN1c3RvbWVySWQ6IGN1c3RvbWVySWQsXG4gICAgICBlbnRpdGllczoge1xuICAgICAgICBQRVJTT046IFt7Y3VjbUlkOiB1c2VyLmN1Y21JZCwgZW50aXR5SWQ6IHVzZXIudXNlcmlkfV1cbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZVVzZXIoc2l0ZUlkOiBudW1iZXIsIHVzZXJJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmRlbGV0ZShBUEkuREVMRVRFX1VTRVIucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKS5yZXBsYWNlKCc6dXNlcklkJywgZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudCh1c2VySWQpKSkpXG4gICAgICAvLyAucGlwZSh0aGlzLmhhbmRsZUVycm9yKHRydWUsIHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaFVzZXJCeUlkKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnVzZXJJZEV4aXN0UGVuZGluZyA9IHRydWU7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuVVNFUl9CWV9JRC5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHRoaXMuc2l0ZUlkKSkucmVwbGFjZSgnOnVzZXJJZCcsIGVuY29kZVVSSUNvbXBvbmVudChlbmNvZGVVUklDb21wb25lbnQoaWQpKSkpXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IHtcbiAgICAgICAgdGhpcy51c2VySWRFeGlzdFBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBwZXJzaXN0Q2FjaGVDaGFuZ2VzKCkge1xuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIGV4Y2x1ZGVEZXZpY2VFeHRyYU9wdGlvbnM6IHRydWVcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLnByb2Nlc3NVc2VyQ2hhbmdlc1RvQ2FjaGUoKVxuICAgICAgLnBpcGUobWFwKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLlBFUlNJU1RfVVNFUl9DQUNIRS5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHRoaXMuc2l0ZUlkKSkucmVwbGFjZSgnOnRva2VuJywgdGhpcy51c2VyLnRva2VuKSwge30sIHBhcmFtcylcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcblxuICAgICAgICAgIH0pXG4gICAgICAgICAgLy8gLnBpcGUobWFwKCh1c2VyKSA9PiB7XG4gICAgICAgICAgLy8gICAvLyB0aGlzLnNldFVzZXIodXNlciwgZmFsc2UsIHRoaXMudXNlci50b2tlbik7XG4gICAgICAgICAgLy8gICB0aGlzLnVzZXIuaGFzTW9kaWZpZWRDYWNoZSA9IGZhbHNlO1xuICAgICAgICAgIC8vIH0pKVxuICAgICAgICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgdHJ1ZSkpO1xuICAgICAgfSkpO1xuICB9XG5cbiAgcHVibGljIHByb2Nlc3NVc2VyQ2hhbmdlc1RvQ2FjaGUoKTogYW55IHtcbiAgICBjb25zdCBjYWxscyA9IFtdO1xuICAgIGNvbnN0IGJvZHkgPSBVdGlsc1NlcnZpY2UuZGlmZih0aGlzLm9yaWdpblVzZXIuZ2V0U2F2YWJsZURhdGEoKSwgdGhpcy51c2VyLmdldFNhdmFibGVEYXRhKCksICd1c2VyJyk7XG4gICAgaWYgKGJvZHkpIHtcbiAgICAgIGNhbGxzLnB1c2godGhpcy51cGRhdGVVc2VyRmllbGRzKGJvZHkpKTtcbiAgICB9XG4gICAgaWYgKCFjYWxscz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy51c2VyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9ya0pvaW4oY2FsbHMpXG4gICAgICAucGlwZShtYXAoKHJlc3BvbnNlczogYW55KSA9PiB7XG4gICAgICAgIC8vIEFwaVVzZXJSZXNwb25zZVxuICAgICAgICB0aGlzLmhhbmRsZVNhdmVVc2VyUmVzcG9uc2UocmVzcG9uc2VzKTtcbiAgICAgIH0pKVxuICAgICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcihmYWxzZSwgdHJ1ZSkpO1xuXG4gIH1cblxuICBwdWJsaWMgaGFzVW5zYXZlZENoYW5nZXMoKSB7XG4gICAgcmV0dXJuICF0aGlzLnVzZXIuZXF1YWwodGhpcy5vcmlnaW5Vc2VyKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTaW1wbGlmaWVkVXNlcih1c2VyOiBhbnksIHRva2VuPzogYW55KTogdm9pZCB7XG4gICAgdGhpcy51c2VyID0gbmV3IFNpbXBsaWZpZWRVc2VyKHVzZXIpO1xuICAgIGNvbnN0IGNvcGllZFVzZXIgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHVzZXIpKTtcbiAgICB0aGlzLm9yaWdpblVzZXIgPSBuZXcgU2ltcGxpZmllZFVzZXIoY29waWVkVXNlcik7XG4gICAgdGhpcy51c2VyLnRva2VuID0gdGhpcy51c2VyLnRva2VuIHx8IHRva2VuO1xuICAgIHRoaXMub3JpZ2luVXNlci50b2tlbiA9IHRoaXMub3JpZ2luVXNlci50b2tlbiB8fCB0b2tlbjtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU2F2ZVVzZXJSZXNwb25zZShyZXNwb25zZXM6IGFueSkge1xuICAgIGlmICghcmVzcG9uc2VzPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZm9yIChsZXQgbGVuID0gcmVzcG9uc2VzLmxlbmd0aCwgaSA9IGxlbiAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBpZiAocmVzcG9uc2VzW2ldICYmIHJlc3BvbnNlc1tpXS5jdXJyZW50VXBkYXRlZFVzZXIpIHtcbiAgICAgICAgLy8gdGhpcy5zZXRVc2VyKHJlc3BvbnNlc1tpXS5jdXJyZW50VXBkYXRlZFVzZXIsIGZhbHNlLCB0aGlzLnVzZXIudG9rZW4pO1xuICAgICAgICB0aGlzLnVzZXIuaGFzTW9kaWZpZWRDYWNoZSA9IHRydWU7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|