@tuki-io/tuki-widgets 0.0.72 → 0.0.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (619) hide show
  1. package/di2mt/api/api.endpoints.d.ts +20 -0
  2. package/di2mt/index.d.ts +5 -0
  3. package/di2mt/{public-api.ts → public-api.d.ts} +12 -26
  4. package/di2mt/shared/components/card/card.component.d.ts +6 -0
  5. package/di2mt/shared/components/chart-card/chart-card.component.d.ts +22 -0
  6. package/di2mt/shared/components/stat-card/stat-card.component.d.ts +14 -0
  7. package/di2mt/shared/components/status-list-card/status-list-card.component.d.ts +7 -0
  8. package/di2mt/shared/components/summary-card/summary-card.component.d.ts +9 -0
  9. package/di2mt/shared/components/table-filters/table-filters.component.d.ts +14 -0
  10. package/di2mt/shared/material.module.d.ts +15 -0
  11. package/di2mt/shared/services/api.service.d.ts +20 -0
  12. package/di2mt/shared/shared.module.d.ts +16 -0
  13. package/di2mt/shared/types/constants.d.ts +7 -0
  14. package/di2mt/shared/types/data-table.d.ts +5 -0
  15. package/di2mt/shared/types/table/filter.d.ts +16 -0
  16. package/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.d.ts +48 -0
  17. package/di2mt/widgets/site-upgrade/site-upgrade.module.d.ts +12 -0
  18. package/di2mt/widgets/site-upgrade/site-upgrade.service.d.ts +12 -0
  19. package/di2mt/widgets/site-upgrade/types/{user-upgrade.ts → user-upgrade.d.ts} +14 -15
  20. package/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.d.ts +19 -0
  21. package/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.d.ts +19 -0
  22. package/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.d.ts +18 -0
  23. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.d.ts +19 -0
  24. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.d.ts +19 -0
  25. package/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.d.ts +15 -0
  26. package/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.d.ts +18 -0
  27. package/di2mt/widgets/upgrade-overview/types/{upgrade-overview.ts → upgrade-overview.d.ts} +56 -58
  28. package/di2mt/widgets/upgrade-overview/upgrade-overview.module.d.ts +15 -0
  29. package/di2mt/widgets/upgrade-overview/upgrade-overview.service.d.ts +17 -0
  30. package/di2mt/widgets/user-upgrade/types/{user-upgrade.ts → user-upgrade.d.ts} +16 -18
  31. package/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.d.ts +49 -0
  32. package/di2mt/widgets/user-upgrade/user-upgrade.module.d.ts +12 -0
  33. package/di2mt/widgets/user-upgrade/user-upgrade.service.d.ts +14 -0
  34. package/esm2020/di2mt/api/api.endpoints.mjs +21 -0
  35. package/esm2020/di2mt/public-api.mjs +23 -0
  36. package/esm2020/di2mt/shared/components/card/card.component.mjs +13 -0
  37. package/esm2020/di2mt/shared/components/chart-card/chart-card.component.mjs +62 -0
  38. package/esm2020/di2mt/shared/components/stat-card/stat-card.component.mjs +47 -0
  39. package/esm2020/di2mt/shared/components/status-list-card/status-list-card.component.mjs +17 -0
  40. package/esm2020/di2mt/shared/components/summary-card/summary-card.component.mjs +36 -0
  41. package/esm2020/di2mt/shared/components/table-filters/table-filters.component.mjs +37 -0
  42. package/esm2020/di2mt/shared/material.module.mjs +76 -0
  43. package/esm2020/di2mt/shared/services/api.service.mjs +86 -0
  44. package/esm2020/di2mt/shared/shared.module.mjs +61 -0
  45. package/esm2020/di2mt/shared/types/constants.mjs +12 -0
  46. package/esm2020/di2mt/shared/types/data-table.mjs +2 -0
  47. package/esm2020/di2mt/shared/types/table/filter.mjs +2 -0
  48. package/esm2020/di2mt/tuki-io-tuki-widgets-di2mt.mjs +5 -0
  49. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +182 -0
  50. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.module.mjs +40 -0
  51. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade.service.mjs +43 -0
  52. package/esm2020/di2mt/widgets/site-upgrade/types/user-upgrade.mjs +3 -0
  53. package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.mjs +64 -0
  54. package/esm2020/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.mjs +64 -0
  55. package/esm2020/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.mjs +68 -0
  56. package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.mjs +45 -0
  57. package/esm2020/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.mjs +45 -0
  58. package/esm2020/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.mjs +64 -0
  59. package/esm2020/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.mjs +74 -0
  60. package/esm2020/di2mt/widgets/upgrade-overview/types/upgrade-overview.mjs +2 -0
  61. package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.module.mjs +59 -0
  62. package/esm2020/di2mt/widgets/upgrade-overview/upgrade-overview.service.mjs +82 -0
  63. package/esm2020/di2mt/widgets/user-upgrade/types/user-upgrade.mjs +3 -0
  64. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.mjs +197 -0
  65. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.module.mjs +40 -0
  66. package/esm2020/di2mt/widgets/user-upgrade/user-upgrade.service.mjs +58 -0
  67. package/esm2020/lib/widgets.component.mjs +22 -0
  68. package/esm2020/lib/widgets.module.mjs +21 -0
  69. package/esm2020/lib/widgets.service.mjs +14 -0
  70. package/esm2020/public-api.mjs +7 -0
  71. package/esm2020/tuki-io-tuki-widgets.mjs +5 -0
  72. package/esm2020/user-device-manage/public-api.mjs +9 -0
  73. package/esm2020/user-device-manage/src/app.constants.mjs +95 -0
  74. package/esm2020/user-device-manage/src/classes/device.mjs +85 -0
  75. package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +2 -0
  76. package/esm2020/user-device-manage/src/classes/line-association.mjs +121 -0
  77. package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +10 -0
  78. package/esm2020/user-device-manage/src/classes/line-directory.mjs +27 -0
  79. package/esm2020/user-device-manage/src/classes/line.mjs +18 -0
  80. package/esm2020/user-device-manage/src/classes/notification.mjs +32 -0
  81. package/esm2020/user-device-manage/src/classes/recording-options.mjs +7 -0
  82. package/esm2020/user-device-manage/src/classes/simplified-user.mjs +111 -0
  83. package/esm2020/user-device-manage/src/classes/site-defaults.mjs +21 -0
  84. package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +32 -0
  85. package/esm2020/user-device-manage/src/classes/types.mjs +24 -0
  86. package/esm2020/user-device-manage/src/common-functions.mjs +19 -0
  87. package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +34 -0
  88. package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +31 -0
  89. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +16 -0
  90. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +64 -0
  91. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +179 -0
  92. package/esm2020/user-device-manage/src/device-list/device-list.component.mjs +24 -0
  93. package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +335 -0
  94. package/esm2020/user-device-manage/src/environments/environment.mjs +11 -0
  95. package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +36 -0
  96. package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +74 -0
  97. package/esm2020/user-device-manage/src/material.module.mjs +192 -0
  98. package/esm2020/user-device-manage/src/notifications/notification.component.mjs +35 -0
  99. package/esm2020/user-device-manage/src/services/api.service.mjs +79 -0
  100. package/esm2020/user-device-manage/src/services/device.service.mjs +83 -0
  101. package/esm2020/user-device-manage/src/services/dns.service.mjs +104 -0
  102. package/esm2020/user-device-manage/src/services/line.service.mjs +76 -0
  103. package/esm2020/user-device-manage/src/services/notification.service.mjs +62 -0
  104. package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +25 -0
  105. package/esm2020/user-device-manage/src/services/site-settings.service.mjs +70 -0
  106. package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +197 -0
  107. package/esm2020/user-device-manage/src/services/user.service.mjs +243 -0
  108. package/esm2020/user-device-manage/src/services/utils.service.mjs +87 -0
  109. package/esm2020/user-device-manage/src/services/validation.service.mjs +760 -0
  110. package/esm2020/user-device-manage/src/user-device-manage.module.mjs +107 -0
  111. package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +14 -0
  112. package/esm2020/user-device-manage/tuki-io-tuki-widgets-user-device-manage.mjs +5 -0
  113. package/esm2020/user-manage/public-api.mjs +7 -0
  114. package/esm2020/user-manage/src/app.constants.mjs +50 -0
  115. package/esm2020/user-manage/src/classes/device.mjs +37 -0
  116. package/esm2020/user-manage/src/classes/line-association-interface.mjs +2 -0
  117. package/esm2020/user-manage/src/classes/line-association.mjs +110 -0
  118. package/esm2020/user-manage/src/classes/line-call-info-display.mjs +10 -0
  119. package/esm2020/user-manage/src/classes/line-directory.mjs +27 -0
  120. package/esm2020/user-manage/src/classes/line.mjs +18 -0
  121. package/esm2020/user-manage/src/classes/notification.mjs +32 -0
  122. package/esm2020/user-manage/src/classes/pagination.mjs +8 -0
  123. package/esm2020/user-manage/src/classes/recording-options.mjs +7 -0
  124. package/esm2020/user-manage/src/classes/simplified-user.mjs +109 -0
  125. package/esm2020/user-manage/src/classes/table-data.mjs +2 -0
  126. package/esm2020/user-manage/src/classes/translation-pattern.mjs +32 -0
  127. package/esm2020/user-manage/src/classes/user-list.mjs +10 -0
  128. package/esm2020/user-manage/src/common-functions.mjs +19 -0
  129. package/esm2020/user-manage/src/device-list/device-list.component.mjs +24 -0
  130. package/esm2020/user-manage/src/environments/environment.mjs +11 -0
  131. package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +36 -0
  132. package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +74 -0
  133. package/esm2020/user-manage/src/material.module.mjs +188 -0
  134. package/esm2020/user-manage/src/notifications/notification.component.mjs +35 -0
  135. package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +25 -0
  136. package/esm2020/user-manage/src/services/api.service.mjs +79 -0
  137. package/esm2020/user-manage/src/services/dns.service.mjs +110 -0
  138. package/esm2020/user-manage/src/services/line.service.mjs +34 -0
  139. package/esm2020/user-manage/src/services/notification.service.mjs +62 -0
  140. package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +25 -0
  141. package/esm2020/user-manage/src/services/site-settings.service.mjs +36 -0
  142. package/esm2020/user-manage/src/services/sorting-utils.service.mjs +197 -0
  143. package/esm2020/user-manage/src/services/user.service.mjs +207 -0
  144. package/esm2020/user-manage/src/services/users-search.service.mjs +50 -0
  145. package/esm2020/user-manage/src/services/utils.service.mjs +73 -0
  146. package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +65 -0
  147. package/esm2020/user-manage/src/user-calling/user-calling.component.mjs +78 -0
  148. package/esm2020/user-manage/src/user-info/user-info.component.mjs +20 -0
  149. package/esm2020/user-manage/src/user-manage-widget.component.mjs +208 -0
  150. package/esm2020/user-manage/src/user-manage.module.mjs +99 -0
  151. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +14 -0
  152. package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +43 -0
  153. package/esm2020/user-manage/tuki-io-tuki-widgets-user-manage.mjs +5 -0
  154. package/esm2020/users-list/public-api.mjs +9 -0
  155. package/esm2020/users-list/src/app.constants.mjs +54 -0
  156. package/esm2020/users-list/src/classes/app-location.mjs +32 -0
  157. package/esm2020/users-list/src/classes/device.mjs +7 -0
  158. package/esm2020/users-list/src/classes/line.mjs +18 -0
  159. package/esm2020/users-list/src/classes/move-user.mjs +178 -0
  160. package/esm2020/users-list/src/classes/notification.mjs +31 -0
  161. package/esm2020/users-list/src/classes/pagination.mjs +8 -0
  162. package/esm2020/users-list/src/classes/simlified-user.mjs +50 -0
  163. package/esm2020/users-list/src/classes/table-data.mjs +2 -0
  164. package/esm2020/users-list/src/classes/user-list.mjs +14 -0
  165. package/esm2020/users-list/src/material.module.mjs +209 -0
  166. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +38 -0
  167. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +23 -0
  168. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs +189 -0
  169. package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +38 -0
  170. package/esm2020/users-list/src/services/api-webex.service.mjs +18 -0
  171. package/esm2020/users-list/src/services/api.service.mjs +78 -0
  172. package/esm2020/users-list/src/services/dns.service.mjs +120 -0
  173. package/esm2020/users-list/src/services/events-communication.service.mjs +14 -0
  174. package/esm2020/users-list/src/services/move-user.service.mjs +53 -0
  175. package/esm2020/users-list/src/services/notification.service.mjs +62 -0
  176. package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +25 -0
  177. package/esm2020/users-list/src/services/site-settings.service.mjs +27 -0
  178. package/esm2020/users-list/src/services/user.service.mjs +142 -0
  179. package/esm2020/users-list/src/services/users-search.service.mjs +122 -0
  180. package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +34 -0
  181. package/esm2020/users-list/src/users-list.component.mjs +287 -0
  182. package/esm2020/users-list/src/users-list.module.mjs +92 -0
  183. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +14 -0
  184. package/esm2020/users-list/src/utils/common-functions.mjs +32 -0
  185. package/esm2020/users-list/src/utils/pagination/pagination.component.mjs +43 -0
  186. package/esm2020/users-list/src/utils/utils.service.mjs +73 -0
  187. package/esm2020/users-list/tuki-io-tuki-widgets-users-list.mjs +5 -0
  188. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +1469 -0
  189. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -0
  190. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +3402 -0
  191. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -0
  192. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +2124 -0
  193. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -0
  194. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +1994 -0
  195. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -0
  196. package/fesm2015/tuki-io-tuki-widgets.mjs +63 -0
  197. package/fesm2015/tuki-io-tuki-widgets.mjs.map +1 -0
  198. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +1460 -0
  199. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -0
  200. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +3364 -0
  201. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -0
  202. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +2107 -0
  203. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -0
  204. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +1973 -0
  205. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -0
  206. package/fesm2020/tuki-io-tuki-widgets.mjs +63 -0
  207. package/fesm2020/tuki-io-tuki-widgets.mjs.map +1 -0
  208. package/index.d.ts +5 -0
  209. package/lib/widgets.component.d.ts +8 -0
  210. package/lib/widgets.module.d.ts +7 -0
  211. package/lib/widgets.service.d.ts +6 -0
  212. package/package.json +65 -13
  213. package/{src/public-api.ts → public-api.d.ts} +0 -4
  214. package/user-device-manage/index.d.ts +5 -0
  215. package/user-device-manage/src/app.constants.d.ts +74 -0
  216. package/user-device-manage/src/classes/device.d.ts +233 -0
  217. package/user-device-manage/src/classes/line-association-interface.d.ts +45 -0
  218. package/user-device-manage/src/classes/line-association.d.ts +62 -0
  219. package/user-device-manage/src/classes/line-call-info-display.d.ts +11 -0
  220. package/user-device-manage/src/classes/line-directory.d.ts +15 -0
  221. package/user-device-manage/src/classes/line.d.ts +140 -0
  222. package/user-device-manage/src/classes/notification.d.ts +18 -0
  223. package/user-device-manage/src/classes/recording-options.d.ts +5 -0
  224. package/user-device-manage/src/classes/simplified-user.d.ts +52 -0
  225. package/user-device-manage/src/classes/site-defaults.d.ts +146 -0
  226. package/user-device-manage/src/classes/translation-pattern.d.ts +19 -0
  227. package/user-device-manage/src/classes/types.d.ts +19 -0
  228. package/user-device-manage/src/common-functions.d.ts +1 -0
  229. package/user-device-manage/src/confirm-dialog/info-dialog.component.d.ts +20 -0
  230. package/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.d.ts +15 -0
  231. package/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.d.ts +7 -0
  232. package/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.d.ts +24 -0
  233. package/user-device-manage/src/device-associated-line/device-associated-line.component.d.ts +89 -0
  234. package/user-device-manage/src/device-list/device-list.component.d.ts +11 -0
  235. package/user-device-manage/src/device-manage-widget.component.d.ts +71 -0
  236. package/user-device-manage/src/environments/environment.d.ts +9 -0
  237. package/user-device-manage/src/interseptors/auth.interceptor.d.ts +9 -0
  238. package/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +35 -0
  239. package/user-device-manage/src/material.module.d.ts +29 -0
  240. package/user-device-manage/src/notifications/notification.component.d.ts +19 -0
  241. package/user-device-manage/src/services/api.service.d.ts +20 -0
  242. package/user-device-manage/src/services/device.service.d.ts +21 -0
  243. package/user-device-manage/src/services/dns.service.d.ts +14 -0
  244. package/user-device-manage/src/services/line.service.d.ts +33 -0
  245. package/user-device-manage/src/services/notification.service.d.ts +18 -0
  246. package/user-device-manage/src/services/removeKynFromIBM.service.d.ts +8 -0
  247. package/user-device-manage/src/services/site-settings.service.d.ts +25 -0
  248. package/user-device-manage/src/services/sorting-utils.service.d.ts +26 -0
  249. package/user-device-manage/src/services/user.service.d.ts +51 -0
  250. package/user-device-manage/src/services/utils.service.d.ts +10 -0
  251. package/user-device-manage/src/services/validation.service.d.ts +165 -0
  252. package/user-device-manage/src/user-device-manage.module.d.ts +22 -0
  253. package/user-device-manage/src/utils/app-loader/app-loader.d.ts +6 -0
  254. package/user-manage/index.d.ts +5 -0
  255. package/user-manage/src/app.constants.d.ts +29 -0
  256. package/user-manage/src/classes/device.d.ts +203 -0
  257. package/user-manage/src/classes/line-association-interface.d.ts +40 -0
  258. package/user-manage/src/classes/line-association.d.ts +55 -0
  259. package/user-manage/src/classes/line-call-info-display.d.ts +11 -0
  260. package/user-manage/src/classes/line-directory.d.ts +16 -0
  261. package/user-manage/src/classes/line.d.ts +140 -0
  262. package/user-manage/src/classes/notification.d.ts +18 -0
  263. package/user-manage/src/classes/pagination.d.ts +13 -0
  264. package/user-manage/src/classes/recording-options.d.ts +5 -0
  265. package/user-manage/src/classes/simplified-user.d.ts +50 -0
  266. package/user-manage/src/classes/table-data.d.ts +5 -0
  267. package/user-manage/src/classes/translation-pattern.d.ts +18 -0
  268. package/user-manage/src/classes/user-list.d.ts +34 -0
  269. package/user-manage/src/common-functions.d.ts +1 -0
  270. package/user-manage/src/device-list/device-list.component.d.ts +11 -0
  271. package/user-manage/src/environments/environment.d.ts +9 -0
  272. package/user-manage/src/interseptors/auth.interceptor.d.ts +9 -0
  273. package/user-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +35 -0
  274. package/user-manage/src/material.module.d.ts +28 -0
  275. package/user-manage/src/notifications/notification.component.d.ts +19 -0
  276. package/user-manage/src/removeKynFromIBM.service.d.ts +8 -0
  277. package/user-manage/src/services/api.service.d.ts +21 -0
  278. package/user-manage/src/services/dns.service.d.ts +14 -0
  279. package/user-manage/src/services/line.service.d.ts +17 -0
  280. package/user-manage/src/services/notification.service.d.ts +18 -0
  281. package/user-manage/src/services/removeKynFromIBM.service.d.ts +8 -0
  282. package/user-manage/src/services/site-settings.service.d.ts +9 -0
  283. package/user-manage/src/services/sorting-utils.service.d.ts +26 -0
  284. package/user-manage/src/services/user.service.d.ts +43 -0
  285. package/user-manage/src/services/users-search.service.d.ts +25 -0
  286. package/user-manage/src/services/utils.service.d.ts +9 -0
  287. package/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.d.ts +24 -0
  288. package/user-manage/src/user-calling/user-calling.component.d.ts +30 -0
  289. package/user-manage/src/user-info/user-info.component.d.ts +9 -0
  290. package/user-manage/src/user-manage-widget.component.d.ts +45 -0
  291. package/user-manage/src/user-manage.module.d.ts +21 -0
  292. package/user-manage/src/utils/app-loader/app-loader.d.ts +6 -0
  293. package/user-manage/src/utils/pagination/pagination.component.d.ts +18 -0
  294. package/users-list/index.d.ts +5 -0
  295. package/users-list/src/app.constants.d.ts +36 -0
  296. package/users-list/src/classes/app-location.d.ts +17 -0
  297. package/users-list/src/classes/device.d.ts +224 -0
  298. package/users-list/src/classes/line.d.ts +140 -0
  299. package/users-list/src/classes/move-user.d.ts +85 -0
  300. package/users-list/src/classes/notification.d.ts +18 -0
  301. package/users-list/src/classes/pagination.d.ts +13 -0
  302. package/users-list/src/classes/simlified-user.d.ts +25 -0
  303. package/users-list/src/classes/table-data.d.ts +5 -0
  304. package/users-list/src/classes/user-list.d.ts +36 -0
  305. package/users-list/src/material.module.d.ts +31 -0
  306. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.d.ts +21 -0
  307. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.d.ts +12 -0
  308. package/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.d.ts +55 -0
  309. package/users-list/src/move-user-wizard/move-user-wizard.component.d.ts +17 -0
  310. package/users-list/src/services/api-webex.service.d.ts +8 -0
  311. package/users-list/src/services/api.service.d.ts +21 -0
  312. package/users-list/src/services/dns.service.d.ts +18 -0
  313. package/users-list/src/services/events-communication.service.d.ts +8 -0
  314. package/users-list/src/services/move-user.service.d.ts +17 -0
  315. package/users-list/src/services/notification.service.d.ts +18 -0
  316. package/users-list/src/services/removeKynFromIBM.service.d.ts +8 -0
  317. package/users-list/src/services/site-settings.service.d.ts +11 -0
  318. package/users-list/src/services/user.service.d.ts +35 -0
  319. package/users-list/src/services/users-search.service.d.ts +34 -0
  320. package/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.d.ts +20 -0
  321. package/users-list/src/users-list.component.d.ts +60 -0
  322. package/users-list/src/users-list.module.d.ts +18 -0
  323. package/users-list/src/utils/app-loader/app-loader.d.ts +6 -0
  324. package/users-list/src/utils/common-functions.d.ts +2 -0
  325. package/users-list/src/utils/pagination/pagination.component.d.ts +18 -0
  326. package/users-list/src/utils/utils.service.d.ts +9 -0
  327. package/di2mt/api/api.endpoints.ts +0 -20
  328. package/di2mt/assets/icons/already_upgraded.png +0 -0
  329. package/di2mt/assets/icons/check2_icon.png +0 -0
  330. package/di2mt/assets/icons/check_icon.png +0 -0
  331. package/di2mt/assets/icons/expand_icon.png +0 -0
  332. package/di2mt/assets/icons/issue_icon.png +0 -0
  333. package/di2mt/assets/icons/menu_icon.png +0 -0
  334. package/di2mt/assets/icons/ready_to_upgrade.png +0 -0
  335. package/di2mt/assets/icons/search_icon.png +0 -0
  336. package/di2mt/assets/icons/site.png +0 -0
  337. package/di2mt/assets/icons/user.png +0 -0
  338. package/di2mt/assets/icons/warning_icon.png +0 -0
  339. package/di2mt/ng-package.json +0 -7
  340. package/di2mt/shared/components/card/card.component.html +0 -11
  341. package/di2mt/shared/components/card/card.component.scss +0 -48
  342. package/di2mt/shared/components/card/card.component.ts +0 -10
  343. package/di2mt/shared/components/chart-card/chart-card.component.html +0 -15
  344. package/di2mt/shared/components/chart-card/chart-card.component.scss +0 -38
  345. package/di2mt/shared/components/chart-card/chart-card.component.ts +0 -71
  346. package/di2mt/shared/components/index.ts +0 -6
  347. package/di2mt/shared/components/stat-card/stat-card.component.html +0 -57
  348. package/di2mt/shared/components/stat-card/stat-card.component.scss +0 -74
  349. package/di2mt/shared/components/stat-card/stat-card.component.ts +0 -44
  350. package/di2mt/shared/components/status-list-card/status-list-card.component.html +0 -28
  351. package/di2mt/shared/components/status-list-card/status-list-card.component.scss +0 -55
  352. package/di2mt/shared/components/status-list-card/status-list-card.component.ts +0 -11
  353. package/di2mt/shared/components/summary-card/summary-card.component.html +0 -12
  354. package/di2mt/shared/components/summary-card/summary-card.component.scss +0 -76
  355. package/di2mt/shared/components/summary-card/summary-card.component.ts +0 -27
  356. package/di2mt/shared/components/table-filters/table-filters.component.html +0 -28
  357. package/di2mt/shared/components/table-filters/table-filters.component.scss +0 -52
  358. package/di2mt/shared/components/table-filters/table-filters.component.ts +0 -28
  359. package/di2mt/shared/material.module.ts +0 -36
  360. package/di2mt/shared/services/api.service.ts +0 -92
  361. package/di2mt/shared/shared.module.ts +0 -38
  362. package/di2mt/shared/types/constants.ts +0 -14
  363. package/di2mt/shared/types/data-table.ts +0 -5
  364. package/di2mt/shared/types/table/filter.ts +0 -14
  365. package/di2mt/styles/tuki-widgets-theme.scss +0 -13
  366. package/di2mt/styles/variables.scss +0 -92
  367. package/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.html +0 -92
  368. package/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.scss +0 -187
  369. package/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.ts +0 -205
  370. package/di2mt/widgets/site-upgrade/site-upgrade.module.ts +0 -24
  371. package/di2mt/widgets/site-upgrade/site-upgrade.service.ts +0 -45
  372. package/di2mt/widgets/upgrade-overview/cards/already-upgraded-sites/already-upgraded-sites-card.component.ts +0 -52
  373. package/di2mt/widgets/upgrade-overview/cards/already-upgraded-users/already-upgraded-users-card.component.ts +0 -53
  374. package/di2mt/widgets/upgrade-overview/cards/preconditions-status-list/preconditions-status-list-card.component.ts +0 -67
  375. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.html +0 -7
  376. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.scss +0 -0
  377. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-sites/ready-to-upgrade-sites-card.component.ts +0 -45
  378. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.html +0 -7
  379. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.scss +0 -0
  380. package/di2mt/widgets/upgrade-overview/cards/ready-to-upgrade-users/ready-to-upgrade-users-card.component.ts +0 -45
  381. package/di2mt/widgets/upgrade-overview/cards/site-infrastructure-status-list/site-infrastructure-status-list-card.component.ts +0 -59
  382. package/di2mt/widgets/upgrade-overview/cards/upgrade-state-comparison-chart/upgrade-state-comparison-chart-card.component.ts +0 -70
  383. package/di2mt/widgets/upgrade-overview/upgrade-overview.module.ts +0 -42
  384. package/di2mt/widgets/upgrade-overview/upgrade-overview.service.ts +0 -95
  385. package/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.html +0 -131
  386. package/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.scss +0 -275
  387. package/di2mt/widgets/user-upgrade/user-upgrade-data-table/user-upgrade-data-table.component.ts +0 -218
  388. package/di2mt/widgets/user-upgrade/user-upgrade.module.ts +0 -24
  389. package/di2mt/widgets/user-upgrade/user-upgrade.service.ts +0 -73
  390. package/karma.conf.js +0 -44
  391. package/ng-package.json +0 -10
  392. package/src/lib/widgets.component.spec.ts +0 -23
  393. package/src/lib/widgets.component.ts +0 -20
  394. package/src/lib/widgets.module.ts +0 -16
  395. package/src/lib/widgets.service.spec.ts +0 -16
  396. package/src/lib/widgets.service.ts +0 -9
  397. package/src/test.ts +0 -27
  398. package/styles.scss +0 -572
  399. package/tsconfig.lib.json +0 -36
  400. package/tsconfig.lib.prod.json +0 -10
  401. package/tsconfig.spec.json +0 -17
  402. package/user-device-manage/ng-package.json +0 -7
  403. package/user-device-manage/src/app.constants.ts +0 -96
  404. package/user-device-manage/src/assets/icons/arrow-left.svg +0 -5
  405. package/user-device-manage/src/assets/icons/arrow-right.svg +0 -5
  406. package/user-device-manage/src/assets/icons/close_icon_x.svg +0 -3
  407. package/user-device-manage/src/assets/icons/delete_icon.svg +0 -5
  408. package/user-device-manage/src/assets/icons/dragger-vertical-icon.svg +0 -3
  409. package/user-device-manage/src/assets/icons/icon_user.svg +0 -1
  410. package/user-device-manage/src/assets/icons/vartical_divider_icon.svg +0 -3
  411. package/user-device-manage/src/classes/device.ts +0 -292
  412. package/user-device-manage/src/classes/line-association-interface.ts +0 -50
  413. package/user-device-manage/src/classes/line-association.ts +0 -177
  414. package/user-device-manage/src/classes/line-call-info-display.ts +0 -21
  415. package/user-device-manage/src/classes/line-directory.ts +0 -41
  416. package/user-device-manage/src/classes/line.ts +0 -144
  417. package/user-device-manage/src/classes/notification.ts +0 -40
  418. package/user-device-manage/src/classes/recording-options.ts +0 -6
  419. package/user-device-manage/src/classes/simplified-user.ts +0 -169
  420. package/user-device-manage/src/classes/site-defaults.ts +0 -167
  421. package/user-device-manage/src/classes/translation-pattern.ts +0 -50
  422. package/user-device-manage/src/classes/types.ts +0 -19
  423. package/user-device-manage/src/classes/user-interface.ts +0 -225
  424. package/user-device-manage/src/classes/user.ts +0 -8
  425. package/user-device-manage/src/common-functions.ts +0 -16
  426. package/user-device-manage/src/confirm-dialog/info-dialog.component.html +0 -14
  427. package/user-device-manage/src/confirm-dialog/info-dialog.component.scss +0 -80
  428. package/user-device-manage/src/confirm-dialog/info-dialog.component.ts +0 -35
  429. package/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.html +0 -21
  430. package/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.scss +0 -97
  431. package/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.ts +0 -28
  432. package/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.html +0 -6
  433. package/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.scss +0 -20
  434. package/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.ts +0 -13
  435. package/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.html +0 -6
  436. package/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.scss +0 -4
  437. package/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.ts +0 -63
  438. package/user-device-manage/src/device-associated-line/device-associated-line.component.html +0 -241
  439. package/user-device-manage/src/device-associated-line/device-associated-line.component.scss +0 -500
  440. package/user-device-manage/src/device-associated-line/device-associated-line.component.ts +0 -194
  441. package/user-device-manage/src/device-list/device-list.component.html +0 -27
  442. package/user-device-manage/src/device-list/device-list.component.scss +0 -131
  443. package/user-device-manage/src/device-list/device-list.component.ts +0 -25
  444. package/user-device-manage/src/device-manage-widget.component.html +0 -209
  445. package/user-device-manage/src/device-manage-widget.component.scss +0 -502
  446. package/user-device-manage/src/device-manage-widget.component.ts +0 -354
  447. package/user-device-manage/src/environments/environment.prod.ts +0 -9
  448. package/user-device-manage/src/environments/environment.ts +0 -10
  449. package/user-device-manage/src/interseptors/auth.interceptor.ts +0 -35
  450. package/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.html +0 -50
  451. package/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.scss +0 -8
  452. package/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.ts +0 -81
  453. package/user-device-manage/src/material.module.ts +0 -87
  454. package/user-device-manage/src/notifications/notification.component.html +0 -33
  455. package/user-device-manage/src/notifications/notification.component.scss +0 -84
  456. package/user-device-manage/src/notifications/notification.component.ts +0 -46
  457. package/user-device-manage/src/removeKynFromIBM.service.ts +0 -25
  458. package/user-device-manage/src/services/api.service.ts +0 -87
  459. package/user-device-manage/src/services/common-functions.ts +0 -17
  460. package/user-device-manage/src/services/device.service.ts +0 -95
  461. package/user-device-manage/src/services/dns.service.ts +0 -111
  462. package/user-device-manage/src/services/line.service.ts +0 -89
  463. package/user-device-manage/src/services/notification.service.ts +0 -68
  464. package/user-device-manage/src/services/removeKynFromIBM.service.ts +0 -25
  465. package/user-device-manage/src/services/site-settings.service.ts +0 -82
  466. package/user-device-manage/src/services/sorting-utils.service.ts +0 -203
  467. package/user-device-manage/src/services/user.service.ts +0 -283
  468. package/user-device-manage/src/services/utils.service.ts +0 -87
  469. package/user-device-manage/src/services/validation.service.ts +0 -829
  470. package/user-device-manage/src/styles/_variables.scss +0 -90
  471. package/user-device-manage/src/styles/form.scss +0 -231
  472. package/user-device-manage/src/styles/icons.scss +0 -32
  473. package/user-device-manage/src/styles/styles.scss +0 -110
  474. package/user-device-manage/src/styles/tables.scss +0 -30
  475. package/user-device-manage/src/user-device-manage.module.ts +0 -73
  476. package/user-device-manage/src/utils/app-loader/app-loader.component.html +0 -6
  477. package/user-device-manage/src/utils/app-loader/app-loader.component.scss +0 -11
  478. package/user-device-manage/src/utils/app-loader/app-loader.ts +0 -13
  479. package/user-manage/ng-package.json +0 -7
  480. package/user-manage/src/app.constants.ts +0 -50
  481. package/user-manage/src/assets/icons/arrow-left.svg +0 -5
  482. package/user-manage/src/assets/icons/arrow-right.svg +0 -5
  483. package/user-manage/src/assets/icons/delete_icon.svg +0 -5
  484. package/user-manage/src/assets/icons/dragger-vertical-icon.svg +0 -3
  485. package/user-manage/src/assets/icons/icon_user.svg +0 -1
  486. package/user-manage/src/assets/icons/vartical_divider_icon.svg +0 -3
  487. package/user-manage/src/classes/device.ts +0 -232
  488. package/user-manage/src/classes/line-association-interface.ts +0 -43
  489. package/user-manage/src/classes/line-association.ts +0 -161
  490. package/user-manage/src/classes/line-call-info-display.ts +0 -21
  491. package/user-manage/src/classes/line-directory.ts +0 -42
  492. package/user-manage/src/classes/line.ts +0 -144
  493. package/user-manage/src/classes/notification.ts +0 -39
  494. package/user-manage/src/classes/pagination.ts +0 -18
  495. package/user-manage/src/classes/recording-options.ts +0 -6
  496. package/user-manage/src/classes/simplified-user.ts +0 -165
  497. package/user-manage/src/classes/table-data.ts +0 -6
  498. package/user-manage/src/classes/translation-pattern.ts +0 -49
  499. package/user-manage/src/classes/user-interface.ts +0 -225
  500. package/user-manage/src/classes/user-list.ts +0 -42
  501. package/user-manage/src/classes/user.ts +0 -8
  502. package/user-manage/src/common-functions.ts +0 -16
  503. package/user-manage/src/device-list/device-list.component.html +0 -27
  504. package/user-manage/src/device-list/device-list.component.scss +0 -131
  505. package/user-manage/src/device-list/device-list.component.ts +0 -25
  506. package/user-manage/src/environments/environment.prod.ts +0 -9
  507. package/user-manage/src/environments/environment.ts +0 -10
  508. package/user-manage/src/interseptors/auth.interceptor.ts +0 -35
  509. package/user-manage/src/lazy-loading-select/lazy-loading-select.component.html +0 -50
  510. package/user-manage/src/lazy-loading-select/lazy-loading-select.component.scss +0 -8
  511. package/user-manage/src/lazy-loading-select/lazy-loading-select.component.ts +0 -81
  512. package/user-manage/src/material.module.ts +0 -85
  513. package/user-manage/src/notifications/notification.component.html +0 -33
  514. package/user-manage/src/notifications/notification.component.scss +0 -84
  515. package/user-manage/src/notifications/notification.component.ts +0 -46
  516. package/user-manage/src/removeKynFromIBM.service.ts +0 -25
  517. package/user-manage/src/services/api.service.ts +0 -90
  518. package/user-manage/src/services/dns.service.ts +0 -116
  519. package/user-manage/src/services/line.service.ts +0 -31
  520. package/user-manage/src/services/notification.service.ts +0 -68
  521. package/user-manage/src/services/removeKynFromIBM.service.ts +0 -25
  522. package/user-manage/src/services/site-settings.service.ts +0 -35
  523. package/user-manage/src/services/sorting-utils.service.ts +0 -203
  524. package/user-manage/src/services/user.service.ts +0 -242
  525. package/user-manage/src/services/users-search.service.ts +0 -59
  526. package/user-manage/src/services/utils.service.ts +0 -71
  527. package/user-manage/src/styles/_variables.scss +0 -90
  528. package/user-manage/src/styles/form.scss +0 -231
  529. package/user-manage/src/styles/icons.scss +0 -32
  530. package/user-manage/src/styles/styles.scss +0 -110
  531. package/user-manage/src/styles/tables.scss +0 -30
  532. package/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.html +0 -10
  533. package/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.scss +0 -429
  534. package/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.ts +0 -63
  535. package/user-manage/src/user-calling/user-calling.component.html +0 -32
  536. package/user-manage/src/user-calling/user-calling.component.scss +0 -444
  537. package/user-manage/src/user-calling/user-calling.component.ts +0 -89
  538. package/user-manage/src/user-details/notification.service.ts +0 -68
  539. package/user-manage/src/user-info/user-info.component.html +0 -29
  540. package/user-manage/src/user-info/user-info.component.scss +0 -64
  541. package/user-manage/src/user-info/user-info.component.ts +0 -19
  542. package/user-manage/src/user-manage-widget.component.html +0 -290
  543. package/user-manage/src/user-manage-widget.component.scss +0 -463
  544. package/user-manage/src/user-manage-widget.component.ts +0 -212
  545. package/user-manage/src/user-manage.module.ts +0 -63
  546. package/user-manage/src/utils/app-loader/app-loader.component.html +0 -6
  547. package/user-manage/src/utils/app-loader/app-loader.component.scss +0 -11
  548. package/user-manage/src/utils/app-loader/app-loader.ts +0 -13
  549. package/user-manage/src/utils/pagination/pagination.component.html +0 -26
  550. package/user-manage/src/utils/pagination/pagination.component.scss +0 -41
  551. package/user-manage/src/utils/pagination/pagination.component.ts +0 -41
  552. package/users-list/ng-package.json +0 -7
  553. package/users-list/src/app.constants.ts +0 -54
  554. package/users-list/src/assets/icons/close_icon_modal.svg +0 -3
  555. package/users-list/src/assets/icons/icon_user.svg +0 -1
  556. package/users-list/src/assets/icons/move_user_to_another_location.svg +0 -14
  557. package/users-list/src/assets/icons/white-close-icon.svg +0 -3
  558. package/users-list/src/classes/app-location.ts +0 -36
  559. package/users-list/src/classes/device.ts +0 -225
  560. package/users-list/src/classes/line.ts +0 -144
  561. package/users-list/src/classes/move-user.ts +0 -225
  562. package/users-list/src/classes/notification.ts +0 -38
  563. package/users-list/src/classes/pagination.ts +0 -18
  564. package/users-list/src/classes/simlified-user.ts +0 -74
  565. package/users-list/src/classes/table-data.ts +0 -6
  566. package/users-list/src/classes/user-interface.ts +0 -225
  567. package/users-list/src/classes/user-list.ts +0 -47
  568. package/users-list/src/classes/user.ts +0 -8
  569. package/users-list/src/material.module.ts +0 -94
  570. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.html +0 -37
  571. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.scss +0 -129
  572. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.ts +0 -46
  573. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.html +0 -31
  574. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.scss +0 -20
  575. package/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.ts +0 -26
  576. package/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.html +0 -222
  577. package/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.scss +0 -239
  578. package/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.ts +0 -206
  579. package/users-list/src/move-user-wizard/move-user-wizard.component.html +0 -12
  580. package/users-list/src/move-user-wizard/move-user-wizard.component.scss +0 -41
  581. package/users-list/src/move-user-wizard/move-user-wizard.component.ts +0 -36
  582. package/users-list/src/services/api-webex.service.ts +0 -14
  583. package/users-list/src/services/api.service.ts +0 -90
  584. package/users-list/src/services/dns.service.ts +0 -128
  585. package/users-list/src/services/events-communication.service.ts +0 -11
  586. package/users-list/src/services/move-user.service.ts +0 -59
  587. package/users-list/src/services/notification.service.ts +0 -68
  588. package/users-list/src/services/removeKynFromIBM.service.ts +0 -25
  589. package/users-list/src/services/site-settings.service.ts +0 -26
  590. package/users-list/src/services/user.service.ts +0 -159
  591. package/users-list/src/services/users-search.service.ts +0 -137
  592. package/users-list/src/styles/styles.scss +0 -572
  593. package/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.html +0 -15
  594. package/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.scss +0 -103
  595. package/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.ts +0 -35
  596. package/users-list/src/users-list.component.css +0 -4
  597. package/users-list/src/users-list.component.css.map +0 -1
  598. package/users-list/src/users-list.component.html +0 -86
  599. package/users-list/src/users-list.component.scss +0 -572
  600. package/users-list/src/users-list.component.ts +0 -312
  601. package/users-list/src/users-list.module.ts +0 -63
  602. package/users-list/src/utils/app-loader/app-loader.component.css +0 -11
  603. package/users-list/src/utils/app-loader/app-loader.component.css.map +0 -1
  604. package/users-list/src/utils/app-loader/app-loader.component.html +0 -6
  605. package/users-list/src/utils/app-loader/app-loader.component.scss +0 -11
  606. package/users-list/src/utils/app-loader/app-loader.ts +0 -13
  607. package/users-list/src/utils/common-functions.ts +0 -32
  608. package/users-list/src/utils/notifications/notification.component.html +0 -33
  609. package/users-list/src/utils/notifications/notification.component.scss +0 -84
  610. package/users-list/src/utils/notifications/notification.component.ts +0 -46
  611. package/users-list/src/utils/pagination/pagination.component.css +0 -45
  612. package/users-list/src/utils/pagination/pagination.component.css.map +0 -1
  613. package/users-list/src/utils/pagination/pagination.component.html +0 -26
  614. package/users-list/src/utils/pagination/pagination.component.scss +0 -41
  615. package/users-list/src/utils/pagination/pagination.component.ts +0 -41
  616. package/users-list/src/utils/utils.service.ts +0 -71
  617. /package/user-device-manage/{public-api.ts → public-api.d.ts} +0 -0
  618. /package/user-manage/{public-api.ts → public-api.d.ts} +0 -0
  619. /package/users-list/{public-api.ts → public-api.d.ts} +0 -0
@@ -0,0 +1,120 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlcnMtbGlzdC9zcmMvc2VydmljZXMvZG5zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxHQUFHLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbEMsT0FBTyxFQUFzQyxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUlsRixNQUFNLE9BQU8sVUFBVTtJQUtyQixZQUNVLFVBQXNCLEVBQ3RCLGVBQWdDO1FBRGhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBTjFDLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUV0QixpQkFBWSxHQUFhLEVBQUUsQ0FBQztJQU81QixDQUFDO0lBQ00sY0FBYyxDQUFDLE1BQWMsRUFBRSxjQUFzQixFQUFFLFFBQWtCLEVBQUUsSUFBYSxFQUFFLFFBQWlCO1FBQ2hILGFBQWE7UUFDYixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsRUFBRSxNQUFNLEVBQUU7WUFDakQsT0FBTyxJQUFJLFVBQVUsQ0FBTSxRQUFRLENBQUMsRUFBRTtnQkFDcEMsYUFBYTtnQkFDYixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsOEJBQThCLEdBQUcsRUFB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QUFDLENBQUMsQ0FBQzthQUN2QztZQUNELE9BQU8sWUFBWSxHQUFHLE1BQU0sQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxVQUFrQixFQUFFLFVBQWtCO1FBQzdELE1BQU0sTUFBTSxHQUFHO1lBQ2IsU0FBUyxFQUFFLElBQUk7WUFDZixVQUFVLEVBQUUsUUFBUTtTQUNyQixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsRUFBRSxNQUFNLENBQUM7YUFDdkksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ3hCLElBQUksTUFBTSxFQUFFLE1BQU0sRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDakU7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs7d0dBbkhVLFVBQVU7NEdBQVYsVUFBVTs0RkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVBJIH0gZnJvbSAnLi4vYXBwLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSAnLi9hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgKiBhcyBCaWcgZnJvbSAnYmlnLmpzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwaVdlYmV4U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwaS13ZWJleC5zZXJ2aWNlJztcbmltcG9ydCB7IEF2YWlsYWJsZVBob25lTnVtYmVyUmFuZ2VJbnRlcmZhY2UsIERuUmFuZ2VUeXBlIH0gZnJvbSAnLi4vY2xhc3Nlcy9saW5lJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRG5zU2VydmljZSB7XG4gIGF2YWlsYWJsZU51bWJlcnMgPSB7fTtcbiAgYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuITogYW55O1xuICBwaG9uZU51bWJlcnM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBpV2ViZXhTZXJ2aWNlOiBBcGlXZWJleFNlcnZpY2VcbiAgKSB7XG5cbiAgfVxuICBwdWJsaWMgZ2V0TnVtYmVyUmFuZ2Uoc2l0ZUlkOiBzdHJpbmcsIHJvdXRlUGFydGl0aW9uOiBzdHJpbmcsIHdpdGhkaWRzPzogYm9vbGVhbiwgZnJvbT86IHN0cmluZywgcGFnZVNpemU/OiBudW1iZXIpOiBhbnkge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAodGhpcy5hdmFpbGFibGVOdW1iZXJzW3JvdXRlUGFydGl0aW9uXT8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8YW55PihvYnNlcnZlciA9PiB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgb2JzZXJ2ZXIubmV4dCh0aGlzLmF2YWlsYWJsZU51bWJlcnNbcm91dGVQYXJ0aXRpb25dKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuID0ge307XG4gICAgcGFnZVNpemUgPSBwYWdlU2l6ZSA/IHBhZ2VTaXplIDogMjA7XG4gICAgY29uc3QgcGFyYW1zID0ge2RudHlwZTogRG5SYW5nZVR5cGUuZXh0ZW5zaW9uLCByb3V0ZXBhcnRpdGlvbjogcm91dGVQYXJ0aXRpb24sIHNpemU6IHBhZ2VTaXplLCBwYWdlOiAwfTtcbiAgICBpZiAod2l0aGRpZHMpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHBhcmFtc1snd2l0aGRpZHMnXSA9ICd0cnVlJztcbiAgICB9XG4gICAgaWYgKGZyb20pIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHBhcmFtc1snZnJvbSddID0gZnJvbTtcbiAgICB9XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMuYXZhaWxhYmxlTnVtYmVyc1tyb3V0ZVBhcnRpdGlvbl0gPSB0aGlzLmF2YWlsYWJsZU51bWJlcnNbcm91dGVQYXJ0aXRpb25dIHx8IFtdO1xuXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuQVZBSUxBQkxFX0ROX0lOX1JBTkdFUy5yZXBsYWNlKCc6c2l0ZUlkJywgc2l0ZUlkKSwgcGFyYW1zKVxuICAgICAgLnBpcGUobWFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHJlcy5hdmFpbGFibGVOdW1iZXJMaXN0LmZvckVhY2goKGF2YWlsYWJsZU51bWJlcjogQXZhaWxhYmxlUGhvbmVOdW1iZXJSYW5nZUludGVyZmFjZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRBdmFpbGFibGVEaWRNYXBwZWRUb0RuKGF2YWlsYWJsZU51bWJlcik7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICB0aGlzLmF2YWlsYWJsZU51bWJlcnNbcm91dGVQYXJ0aXRpb25dID0gWy4uLnRoaXMuYXZhaWxhYmxlTnVtYmVyc1tyb3V0ZVBhcnRpdGlvbl0sIC4uLnRoaXMuZ2V0VW53cmFwTnVtYmVyUmFuZ2UoYXZhaWxhYmxlTnVtYmVyKV07XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAvLyAucGlwZSh0aGlzLmhhbmRsZUVycm9yKHRydWUsIGZhbHNlKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0QXZhaWxhYmxlRGlkTWFwcGVkVG9EbihhdmFpbGFibGVOdW1iZXI6IGFueSk6IHZvaWQge1xuICAgIGlmIChhdmFpbGFibGVOdW1iZXIudW5Vc2VkTnVtYmVyc1dpdGhEaWRzICYmIGF2YWlsYWJsZU51bWJlci51blVzZWROdW1iZXJzV2l0aERpZHMubGVuZ3RoKSB7XG5cbiAgICAgIGF2YWlsYWJsZU51bWJlci51blVzZWROdW1iZXJzV2l0aERpZHMuZm9yRWFjaCgobnVtYmVyV2l0aERpZHM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBkbiA9IG51bWJlcldpdGhEaWRzWyd1blVzZWROdW1iZXInXTtcbiAgICAgICAgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dID0gW3t9XTtcbiAgICAgICAgaWYgKG51bWJlcldpdGhEaWRzWyd0cmFuc2xhdGlvblBhdHRlcm5MaXN0J10gJiYgbnVtYmVyV2l0aERpZHNbJ3RyYW5zbGF0aW9uUGF0dGVybkxpc3QnXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dID0gbnVtYmVyV2l0aERpZHNbJ3RyYW5zbGF0aW9uUGF0dGVybkxpc3QnXTtcbiAgICAgICAgICB0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl1bMF1bJ21hcHBlZERpZHMnXSA9IFt7fV07XG4gICAgICAgICAgaWYgKG51bWJlcldpdGhEaWRzWydtYXBwZWREaWRzJ10gJiYgbnVtYmVyV2l0aERpZHNbJ21hcHBlZERpZHMnXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl1bMF1bJ21hcHBlZERpZHMnXSA9IG51bWJlcldpdGhEaWRzWydtYXBwZWREaWRzJ107XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsndm0nXSA9IG51bWJlcldpdGhEaWRzWyd2bSddO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFVud3JhcE51bWJlclJhbmdlKGF2YWlsYWJsZU51bWJlcjogYW55KTogc3RyaW5nW10ge1xuICAgIGxldCB1bndyYXBOdW1iZXJSYW5nZSA9IHRoaXMudW53cmFwTnVtYmVyUmFuZ2UoYXZhaWxhYmxlTnVtYmVyLnBob25lTnVtYmVyUmFuZ2UuZnJvbSwgYXZhaWxhYmxlTnVtYmVyLnBob25lTnVtYmVyUmFuZ2UudG8pXG4gICAgICAubWFwKCh1bndyYXBwZWROdW1iZXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBkbiA9IGF2YWlsYWJsZU51bWJlci5waG9uZU51bWJlclJhbmdlLnByZWZpeCArIHVud3JhcHBlZE51bWJlcjtcbiAgICAgICAgbGV0IHN0ciA9IGRuO1xuICAgICAgICBpZiAodGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dICYmIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgaWYgKHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddICYmIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHN0ciArPSAnICAgICAgICBESUQ6ICAnICsgKHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddLmxlbmd0aCA+IDEgPyAnbXVsdGlwbGUnIDpcbiAgICAgICAgICAgICAgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWydtYXBwZWREaWRzJ11bMF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWyd2bSddKSB7XG4gICAgICAgICAgICBzdHIgKz0gJyAgICAgICAgSW4gVXNlIC0gVk0nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RyO1xuICAgICAgfSk7XG4gICAgdW53cmFwTnVtYmVyUmFuZ2UgPSB1bndyYXBOdW1iZXJSYW5nZS5maWx0ZXIoKHVud3JhcHBlZE51bWJlcjogc3RyaW5nKSA9PiAhYXZhaWxhYmxlTnVtYmVyLnVzZWROdW1iZXJzLmluY2x1ZGVzKHVud3JhcHBlZE51bWJlcikpO1xuICAgIHJldHVybiB1bndyYXBOdW1iZXJSYW5nZTtcbiAgfVxuXG4gIHB1YmxpYyB1bndyYXBOdW1iZXJSYW5nZShzdGFydDogc3RyaW5nLCBlbmQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCByZWdFeHAgPSAvKF4wKykvO1xuICAgIGxldCBsZWFkaW5nWmVyb3MgPSAnJztcbiAgICBjb25zdCBtYXRjaGVzID0gc3RhcnQubWF0Y2gocmVnRXhwKTtcbiAgICBpZiAobWF0Y2hlcykge1xuICAgICAgbGVhZGluZ1plcm9zID0gbWF0Y2hlc1sxXTtcbiAgICB9XG4gICAgY29uc3Qgc3RhcnROdW1lcmljID0gbmV3IEJpZyhzdGFydCk7XG4gICAgY29uc3QgZW5kTnVtZXJpYyA9IG5ldyBCaWcoZW5kKTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcmV0dXJuIEFycmF5LmZyb20oe2xlbmd0aDogKGVuZE51bWVyaWMubWludXMoc3RhcnROdW1lcmljKS5wbHVzKG5ldyBCaWcoMSkpLnRvRml4ZWQoMCkpfSwgKHYsIGspID0+IHtcbiAgICAgIGNvbnN0IG51bWJlciA9IFN0cmluZyhzdGFydE51bWVyaWMucGx1cyhuZXcgQmlnKGspKS50b0ZpeGVkKDApKTtcbiAgICAgIGlmICgobGVhZGluZ1plcm9zICsgbnVtYmVyKS5sZW5ndGggPiBzdGFydC5sZW5ndGgpIHtcbiAgICAgICAgbGVhZGluZ1plcm9zID0gbGVhZGluZ1plcm9zLnN1YnN0cigxKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBsZWFkaW5nWmVyb3MgKyBudW1iZXI7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZmV0Y2hQaG9uZU51bWJlcnMoY3VzdG9tZXJJZDogbnVtYmVyLCBsb2NhdGlvbklkOiBzdHJpbmcpOiBhbnkge1xuICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgIGF2YWlsYWJsZTogdHJ1ZSxcbiAgICAgIG51bWJlclR5cGU6ICdOVU1CRVInXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5hcGlXZWJleFNlcnZpY2UuZmV0Y2goQVBJLlBIT05FX05VTUJFUlMucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBTdHJpbmcoY3VzdG9tZXJJZCkpLnJlcGxhY2UoJzpsb2NhdGlvbklkJywgbG9jYXRpb25JZCksIHBhcmFtcylcbiAgICAgIC5waXBlKG1hcCgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHJlc3VsdD8ubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5waG9uZU51bWJlcnMgPSByZXN1bHQubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0ucGhvbmVOdW1iZXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,14 @@
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==
@@ -0,0 +1,53 @@
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==
@@ -0,0 +1,62 @@
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=
@@ -0,0 +1,25 @@
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==
@@ -0,0 +1,27 @@
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
@@ -0,0 +1,142 @@
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==