@tuki-io/tuki-widgets 0.0.32 → 0.0.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/esm2020/lib/widgets.component.mjs +22 -22
- package/esm2020/lib/widgets.module.mjs +21 -21
- package/esm2020/lib/widgets.service.mjs +14 -14
- package/esm2020/public-api.mjs +7 -7
- package/esm2020/tuki-io-tuki-widgets.mjs +4 -4
- package/esm2020/user-device-manage/public-api.mjs +9 -9
- package/esm2020/user-device-manage/src/app.constants.mjs +95 -95
- package/esm2020/user-device-manage/src/classes/device.mjs +85 -85
- package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +2 -2
- package/esm2020/user-device-manage/src/classes/line-association.mjs +121 -121
- package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +10 -10
- package/esm2020/user-device-manage/src/classes/line-directory.mjs +27 -27
- package/esm2020/user-device-manage/src/classes/line.mjs +18 -18
- package/esm2020/user-device-manage/src/classes/notification.mjs +32 -32
- package/esm2020/user-device-manage/src/classes/recording-options.mjs +7 -7
- package/esm2020/user-device-manage/src/classes/simplified-user.mjs +111 -111
- package/esm2020/user-device-manage/src/classes/site-defaults.mjs +21 -21
- package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +32 -32
- package/esm2020/user-device-manage/src/classes/types.mjs +24 -24
- package/esm2020/user-device-manage/src/common-functions.mjs +19 -19
- package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +34 -34
- package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +31 -31
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +16 -16
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +64 -64
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +179 -179
- package/esm2020/user-device-manage/src/device-list/device-list.component.mjs +24 -24
- package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +335 -335
- package/esm2020/user-device-manage/src/environments/environment.mjs +11 -11
- package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +36 -36
- package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +74 -74
- package/esm2020/user-device-manage/src/material.module.mjs +192 -192
- package/esm2020/user-device-manage/src/notifications/notification.component.mjs +35 -35
- package/esm2020/user-device-manage/src/services/api.service.mjs +79 -79
- package/esm2020/user-device-manage/src/services/device.service.mjs +83 -83
- package/esm2020/user-device-manage/src/services/dns.service.mjs +104 -104
- package/esm2020/user-device-manage/src/services/line.service.mjs +76 -76
- package/esm2020/user-device-manage/src/services/notification.service.mjs +62 -62
- package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +25 -25
- package/esm2020/user-device-manage/src/services/site-settings.service.mjs +70 -70
- package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +197 -197
- package/esm2020/user-device-manage/src/services/user.service.mjs +243 -243
- package/esm2020/user-device-manage/src/services/utils.service.mjs +87 -87
- package/esm2020/user-device-manage/src/services/validation.service.mjs +760 -760
- package/esm2020/user-device-manage/src/user-device-manage.module.mjs +107 -107
- package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +14 -14
- package/esm2020/user-device-manage/tuki-io-tuki-widgets-user-device-manage.mjs +4 -4
- package/esm2020/user-manage/public-api.mjs +7 -7
- package/esm2020/user-manage/src/app.constants.mjs +50 -50
- package/esm2020/user-manage/src/classes/device.mjs +37 -37
- package/esm2020/user-manage/src/classes/line-association-interface.mjs +2 -2
- package/esm2020/user-manage/src/classes/line-association.mjs +110 -110
- package/esm2020/user-manage/src/classes/line-call-info-display.mjs +10 -10
- package/esm2020/user-manage/src/classes/line-directory.mjs +27 -27
- package/esm2020/user-manage/src/classes/line.mjs +18 -18
- package/esm2020/user-manage/src/classes/notification.mjs +32 -32
- package/esm2020/user-manage/src/classes/pagination.mjs +8 -8
- package/esm2020/user-manage/src/classes/recording-options.mjs +7 -7
- package/esm2020/user-manage/src/classes/simplified-user.mjs +109 -109
- package/esm2020/user-manage/src/classes/table-data.mjs +2 -2
- package/esm2020/user-manage/src/classes/translation-pattern.mjs +32 -32
- package/esm2020/user-manage/src/classes/user-list.mjs +10 -10
- package/esm2020/user-manage/src/common-functions.mjs +19 -19
- package/esm2020/user-manage/src/device-list/device-list.component.mjs +24 -24
- package/esm2020/user-manage/src/environments/environment.mjs +11 -11
- package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +36 -36
- package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +74 -74
- package/esm2020/user-manage/src/material.module.mjs +188 -188
- package/esm2020/user-manage/src/notifications/notification.component.mjs +35 -35
- package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +25 -25
- package/esm2020/user-manage/src/services/api.service.mjs +79 -79
- package/esm2020/user-manage/src/services/dns.service.mjs +110 -110
- package/esm2020/user-manage/src/services/line.service.mjs +34 -34
- package/esm2020/user-manage/src/services/notification.service.mjs +62 -62
- package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +25 -25
- package/esm2020/user-manage/src/services/site-settings.service.mjs +36 -36
- package/esm2020/user-manage/src/services/sorting-utils.service.mjs +197 -197
- package/esm2020/user-manage/src/services/user.service.mjs +207 -207
- package/esm2020/user-manage/src/services/users-search.service.mjs +49 -49
- package/esm2020/user-manage/src/services/utils.service.mjs +73 -73
- package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +65 -65
- package/esm2020/user-manage/src/user-calling/user-calling.component.mjs +78 -78
- package/esm2020/user-manage/src/user-info/user-info.component.mjs +20 -20
- package/esm2020/user-manage/src/user-manage-widget.component.mjs +208 -208
- package/esm2020/user-manage/src/user-manage.module.mjs +99 -99
- package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +14 -14
- package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +43 -43
- package/esm2020/user-manage/tuki-io-tuki-widgets-user-manage.mjs +4 -4
- package/esm2020/users-list/public-api.mjs +9 -9
- package/esm2020/users-list/src/app.constants.mjs +50 -50
- package/esm2020/users-list/src/classes/device.mjs +7 -7
- package/esm2020/users-list/src/classes/line.mjs +18 -18
- package/esm2020/users-list/src/classes/notification.mjs +31 -31
- package/esm2020/users-list/src/classes/pagination.mjs +8 -8
- package/esm2020/users-list/src/classes/simlified-user.mjs +50 -50
- package/esm2020/users-list/src/classes/table-data.mjs +2 -2
- package/esm2020/users-list/src/classes/user-list.mjs +13 -13
- package/esm2020/users-list/src/material.module.mjs +209 -209
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.mjs +95 -95
- package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +35 -35
- package/esm2020/users-list/src/services/api-webex.service.mjs +17 -17
- package/esm2020/users-list/src/services/api.service.mjs +78 -78
- package/esm2020/users-list/src/services/dns.service.mjs +120 -120
- package/esm2020/users-list/src/services/events-communication.service.mjs +14 -14
- package/esm2020/users-list/src/services/notification.service.mjs +62 -62
- package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +25 -25
- package/esm2020/users-list/src/services/user.service.mjs +150 -150
- package/esm2020/users-list/src/services/users-search.service.mjs +120 -120
- package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +34 -34
- package/esm2020/users-list/src/users-list.component.mjs +260 -259
- package/esm2020/users-list/src/users-list.module.mjs +80 -80
- package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +14 -14
- package/esm2020/users-list/src/utils/common-functions.mjs +19 -19
- package/esm2020/users-list/src/utils/pagination/pagination.component.mjs +43 -43
- package/esm2020/users-list/src/utils/utils.service.mjs +73 -73
- package/esm2020/users-list/tuki-io-tuki-widgets-users-list.mjs +4 -4
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +3277 -3277
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +2004 -2004
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +1429 -1428
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets.mjs +48 -48
- package/fesm2015/tuki-io-tuki-widgets.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +3239 -3239
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +1987 -1987
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +1418 -1417
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets.mjs +48 -48
- package/fesm2020/tuki-io-tuki-widgets.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/widgets.component.d.ts +8 -8
- package/lib/widgets.module.d.ts +7 -7
- package/lib/widgets.service.d.ts +6 -6
- package/package.json +1 -1
- package/public-api.d.ts +3 -3
- package/user-device-manage/index.d.ts +5 -5
- package/user-device-manage/public-api.d.ts +8 -8
- package/user-device-manage/src/app.constants.d.ts +74 -74
- package/user-device-manage/src/classes/device.d.ts +233 -233
- package/user-device-manage/src/classes/line-association-interface.d.ts +45 -45
- package/user-device-manage/src/classes/line-association.d.ts +62 -62
- package/user-device-manage/src/classes/line-call-info-display.d.ts +11 -11
- package/user-device-manage/src/classes/line-directory.d.ts +15 -15
- package/user-device-manage/src/classes/line.d.ts +140 -140
- package/user-device-manage/src/classes/notification.d.ts +18 -18
- package/user-device-manage/src/classes/recording-options.d.ts +5 -5
- package/user-device-manage/src/classes/simplified-user.d.ts +52 -52
- package/user-device-manage/src/classes/site-defaults.d.ts +146 -146
- package/user-device-manage/src/classes/translation-pattern.d.ts +19 -19
- package/user-device-manage/src/classes/types.d.ts +19 -19
- package/user-device-manage/src/common-functions.d.ts +1 -1
- package/user-device-manage/src/confirm-dialog/info-dialog.component.d.ts +20 -20
- package/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.d.ts +15 -15
- package/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.d.ts +7 -7
- package/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.d.ts +24 -24
- package/user-device-manage/src/device-associated-line/device-associated-line.component.d.ts +89 -89
- package/user-device-manage/src/device-list/device-list.component.d.ts +11 -11
- package/user-device-manage/src/device-manage-widget.component.d.ts +71 -71
- package/user-device-manage/src/environments/environment.d.ts +9 -9
- package/user-device-manage/src/interseptors/auth.interceptor.d.ts +9 -9
- package/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +35 -35
- package/user-device-manage/src/material.module.d.ts +29 -29
- package/user-device-manage/src/notifications/notification.component.d.ts +19 -19
- package/user-device-manage/src/services/api.service.d.ts +20 -20
- package/user-device-manage/src/services/device.service.d.ts +21 -21
- package/user-device-manage/src/services/dns.service.d.ts +14 -14
- package/user-device-manage/src/services/line.service.d.ts +33 -33
- package/user-device-manage/src/services/notification.service.d.ts +18 -18
- package/user-device-manage/src/services/removeKynFromIBM.service.d.ts +8 -8
- package/user-device-manage/src/services/site-settings.service.d.ts +25 -25
- package/user-device-manage/src/services/sorting-utils.service.d.ts +26 -26
- package/user-device-manage/src/services/user.service.d.ts +51 -51
- package/user-device-manage/src/services/utils.service.d.ts +10 -10
- package/user-device-manage/src/services/validation.service.d.ts +165 -165
- package/user-device-manage/src/user-device-manage.module.d.ts +22 -22
- package/user-device-manage/src/utils/app-loader/app-loader.d.ts +6 -6
- package/user-manage/index.d.ts +5 -5
- package/user-manage/public-api.d.ts +6 -6
- package/user-manage/src/app.constants.d.ts +29 -29
- package/user-manage/src/classes/device.d.ts +203 -203
- package/user-manage/src/classes/line-association-interface.d.ts +40 -40
- package/user-manage/src/classes/line-association.d.ts +55 -55
- package/user-manage/src/classes/line-call-info-display.d.ts +11 -11
- package/user-manage/src/classes/line-directory.d.ts +16 -16
- package/user-manage/src/classes/line.d.ts +140 -140
- package/user-manage/src/classes/notification.d.ts +18 -18
- package/user-manage/src/classes/pagination.d.ts +13 -13
- package/user-manage/src/classes/recording-options.d.ts +5 -5
- package/user-manage/src/classes/simplified-user.d.ts +50 -50
- package/user-manage/src/classes/table-data.d.ts +5 -5
- package/user-manage/src/classes/translation-pattern.d.ts +18 -18
- package/user-manage/src/classes/user-list.d.ts +34 -34
- package/user-manage/src/common-functions.d.ts +1 -1
- package/user-manage/src/device-list/device-list.component.d.ts +11 -11
- package/user-manage/src/environments/environment.d.ts +9 -9
- package/user-manage/src/interseptors/auth.interceptor.d.ts +9 -9
- package/user-manage/src/lazy-loading-select/lazy-loading-select.component.d.ts +35 -35
- package/user-manage/src/material.module.d.ts +28 -28
- package/user-manage/src/notifications/notification.component.d.ts +19 -19
- package/user-manage/src/removeKynFromIBM.service.d.ts +8 -8
- package/user-manage/src/services/api.service.d.ts +21 -21
- package/user-manage/src/services/dns.service.d.ts +14 -14
- package/user-manage/src/services/line.service.d.ts +17 -17
- package/user-manage/src/services/notification.service.d.ts +18 -18
- package/user-manage/src/services/removeKynFromIBM.service.d.ts +8 -8
- package/user-manage/src/services/site-settings.service.d.ts +9 -9
- package/user-manage/src/services/sorting-utils.service.d.ts +26 -26
- package/user-manage/src/services/user.service.d.ts +43 -43
- package/user-manage/src/services/users-search.service.d.ts +25 -25
- package/user-manage/src/services/utils.service.d.ts +9 -9
- package/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.d.ts +24 -24
- package/user-manage/src/user-calling/user-calling.component.d.ts +30 -30
- package/user-manage/src/user-info/user-info.component.d.ts +9 -9
- package/user-manage/src/user-manage-widget.component.d.ts +45 -45
- package/user-manage/src/user-manage.module.d.ts +21 -21
- package/user-manage/src/utils/app-loader/app-loader.d.ts +6 -6
- package/user-manage/src/utils/pagination/pagination.component.d.ts +18 -18
- package/users-list/index.d.ts +5 -5
- package/users-list/public-api.d.ts +8 -8
- package/users-list/src/app.constants.d.ts +32 -32
- package/users-list/src/classes/device.d.ts +224 -224
- package/users-list/src/classes/line.d.ts +140 -140
- package/users-list/src/classes/notification.d.ts +18 -18
- package/users-list/src/classes/pagination.d.ts +13 -13
- package/users-list/src/classes/simlified-user.d.ts +25 -25
- package/users-list/src/classes/table-data.d.ts +5 -5
- package/users-list/src/classes/user-list.d.ts +36 -36
- package/users-list/src/material.module.d.ts +31 -31
- package/users-list/src/move-user-wizard/move-user-stepper/move-user-stepper.component.d.ts +25 -25
- package/users-list/src/move-user-wizard/move-user-wizard.component.d.ts +16 -16
- package/users-list/src/services/api-webex.service.d.ts +8 -8
- package/users-list/src/services/api.service.d.ts +21 -21
- package/users-list/src/services/dns.service.d.ts +18 -18
- package/users-list/src/services/events-communication.service.d.ts +8 -8
- package/users-list/src/services/notification.service.d.ts +18 -18
- package/users-list/src/services/removeKynFromIBM.service.d.ts +8 -8
- package/users-list/src/services/user.service.d.ts +34 -34
- package/users-list/src/services/users-search.service.d.ts +34 -34
- package/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.d.ts +20 -20
- package/users-list/src/users-list.component.d.ts +59 -59
- package/users-list/src/users-list.module.d.ts +16 -16
- package/users-list/src/utils/app-loader/app-loader.d.ts +6 -6
- package/users-list/src/utils/common-functions.d.ts +1 -1
- package/users-list/src/utils/pagination/pagination.component.d.ts +18 -18
- package/users-list/src/utils/utils.service.d.ts +9 -9
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common/http";
|
|
5
|
-
export class APIService {
|
|
6
|
-
constructor(httpClient) {
|
|
7
|
-
this.httpClient = httpClient;
|
|
8
|
-
this.apiUrl = window.location.protocol + '//' + window.location.hostname + '/dcp';
|
|
9
|
-
}
|
|
10
|
-
fetch(url, params, cache) {
|
|
11
|
-
const headers = this.getHeaders(cache);
|
|
12
|
-
params = params || {};
|
|
13
|
-
return this.httpClient.get(this.apiUrl + url, { params: this.prepareEncodedParams(params), headers });
|
|
14
|
-
}
|
|
15
|
-
post(url, body, params = {}) {
|
|
16
|
-
body = body || null;
|
|
17
|
-
const headers = this.getHeaders();
|
|
18
|
-
return this.httpClient.post(this.apiUrl + url, body, { params: this.prepareEncodedParams(params), headers });
|
|
19
|
-
}
|
|
20
|
-
// use when response extended data is necessary:
|
|
21
|
-
postExtended(url, body = null, params = {}, headers = {}) {
|
|
22
|
-
headers = headers || this.getHeaders();
|
|
23
|
-
return this.httpClient.post(this.apiUrl + url, body, {
|
|
24
|
-
headers,
|
|
25
|
-
observe: 'response',
|
|
26
|
-
params: this.prepareEncodedParams(params)
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
put(url, body = null, params = {}) {
|
|
30
|
-
const headers = this.getHeaders();
|
|
31
|
-
return this.httpClient.put(this.apiUrl + url, body, { headers, params: this.prepareEncodedParams(params) });
|
|
32
|
-
}
|
|
33
|
-
delete(url, params = {}) {
|
|
34
|
-
const headers = this.getHeaders();
|
|
35
|
-
return this.httpClient.delete(this.apiUrl + url, { headers, params: this.prepareEncodedParams(params) });
|
|
36
|
-
}
|
|
37
|
-
fetchPagination(url, pageSize, pageNumber, additionalParams = {}, cache) {
|
|
38
|
-
const copyAdditionalParams = JSON.parse(JSON.stringify(additionalParams));
|
|
39
|
-
const params = Object.assign(copyAdditionalParams, { size: pageSize.toString(), page: pageNumber.toString() });
|
|
40
|
-
return this.fetch(url, params, cache);
|
|
41
|
-
}
|
|
42
|
-
prepareEncodedParams(params) {
|
|
43
|
-
const result = {};
|
|
44
|
-
if (!params) {
|
|
45
|
-
return {};
|
|
46
|
-
}
|
|
47
|
-
for (const key of Object.keys(params)) {
|
|
48
|
-
if (params[key]) {
|
|
49
|
-
const stringParam = params[key].toString();
|
|
50
|
-
result[key] = stringParam.includes('+') ? encodeURIComponent(stringParam) : stringParam;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return result;
|
|
54
|
-
}
|
|
55
|
-
getHeaders(cache) {
|
|
56
|
-
let headers = new HttpHeaders();
|
|
57
|
-
if (cache) {
|
|
58
|
-
headers = headers.append('_Cache', 'true ');
|
|
59
|
-
}
|
|
60
|
-
const token = this.token || this.getParameterByName('token');
|
|
61
|
-
headers = headers.append('Authorization', 'Bearer ' + token);
|
|
62
|
-
return headers;
|
|
63
|
-
}
|
|
64
|
-
getParameterByName(name, url = window.location.href) {
|
|
65
|
-
name = name.replace(/[\[\]]/g, '\\$&');
|
|
66
|
-
var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url);
|
|
67
|
-
if (!results)
|
|
68
|
-
return null;
|
|
69
|
-
if (!results[2])
|
|
70
|
-
return '';
|
|
71
|
-
return decodeURIComponent(results[2].replace(/\+/g, ' '));
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
APIService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
-
APIService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService });
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, decorators: [{
|
|
77
|
-
type: Injectable
|
|
78
|
-
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpHeaders } from '@angular/common/http';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
export class APIService {
|
|
6
|
+
constructor(httpClient) {
|
|
7
|
+
this.httpClient = httpClient;
|
|
8
|
+
this.apiUrl = window.location.protocol + '//' + window.location.hostname + '/dcp';
|
|
9
|
+
}
|
|
10
|
+
fetch(url, params, cache) {
|
|
11
|
+
const headers = this.getHeaders(cache);
|
|
12
|
+
params = params || {};
|
|
13
|
+
return this.httpClient.get(this.apiUrl + url, { params: this.prepareEncodedParams(params), headers });
|
|
14
|
+
}
|
|
15
|
+
post(url, body, params = {}) {
|
|
16
|
+
body = body || null;
|
|
17
|
+
const headers = this.getHeaders();
|
|
18
|
+
return this.httpClient.post(this.apiUrl + url, body, { params: this.prepareEncodedParams(params), headers });
|
|
19
|
+
}
|
|
20
|
+
// use when response extended data is necessary:
|
|
21
|
+
postExtended(url, body = null, params = {}, headers = {}) {
|
|
22
|
+
headers = headers || this.getHeaders();
|
|
23
|
+
return this.httpClient.post(this.apiUrl + url, body, {
|
|
24
|
+
headers,
|
|
25
|
+
observe: 'response',
|
|
26
|
+
params: this.prepareEncodedParams(params)
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
put(url, body = null, params = {}) {
|
|
30
|
+
const headers = this.getHeaders();
|
|
31
|
+
return this.httpClient.put(this.apiUrl + url, body, { headers, params: this.prepareEncodedParams(params) });
|
|
32
|
+
}
|
|
33
|
+
delete(url, params = {}) {
|
|
34
|
+
const headers = this.getHeaders();
|
|
35
|
+
return this.httpClient.delete(this.apiUrl + url, { headers, params: this.prepareEncodedParams(params) });
|
|
36
|
+
}
|
|
37
|
+
fetchPagination(url, pageSize, pageNumber, additionalParams = {}, cache) {
|
|
38
|
+
const copyAdditionalParams = JSON.parse(JSON.stringify(additionalParams));
|
|
39
|
+
const params = Object.assign(copyAdditionalParams, { size: pageSize.toString(), page: pageNumber.toString() });
|
|
40
|
+
return this.fetch(url, params, cache);
|
|
41
|
+
}
|
|
42
|
+
prepareEncodedParams(params) {
|
|
43
|
+
const result = {};
|
|
44
|
+
if (!params) {
|
|
45
|
+
return {};
|
|
46
|
+
}
|
|
47
|
+
for (const key of Object.keys(params)) {
|
|
48
|
+
if (params[key]) {
|
|
49
|
+
const stringParam = params[key].toString();
|
|
50
|
+
result[key] = stringParam.includes('+') ? encodeURIComponent(stringParam) : stringParam;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
getHeaders(cache) {
|
|
56
|
+
let headers = new HttpHeaders();
|
|
57
|
+
if (cache) {
|
|
58
|
+
headers = headers.append('_Cache', 'true ');
|
|
59
|
+
}
|
|
60
|
+
const token = this.token || this.getParameterByName('token');
|
|
61
|
+
headers = headers.append('Authorization', 'Bearer ' + token);
|
|
62
|
+
return headers;
|
|
63
|
+
}
|
|
64
|
+
getParameterByName(name, url = window.location.href) {
|
|
65
|
+
name = name.replace(/[\[\]]/g, '\\$&');
|
|
66
|
+
var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url);
|
|
67
|
+
if (!results)
|
|
68
|
+
return null;
|
|
69
|
+
if (!results[2])
|
|
70
|
+
return '';
|
|
71
|
+
return decodeURIComponent(results[2].replace(/\+/g, ' '));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
APIService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
+
APIService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService });
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APIService, decorators: [{
|
|
77
|
+
type: Injectable
|
|
78
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1tYW5hZ2Uvc3JjL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFPL0QsTUFBTSxPQUFPLFVBQVU7SUFJckIsWUFDVSxVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBSGhDLFdBQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO0lBSzdFLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBVyxFQUFFLE1BQVksRUFBRSxLQUFlO1FBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDO0lBRUQsSUFBSSxDQUFDLEdBQVcsRUFBRSxJQUFTLEVBQUUsTUFBTSxHQUFHLEVBQUU7UUFDdEMsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUM7UUFDcEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1B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QUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM3QztRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdELE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxTQUFTLEdBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLGtCQUFrQixDQUFDLElBQVMsRUFBRSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJO1FBQzlELElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QyxJQUFJLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxHQUFHLG1CQUFtQixDQUFDLEVBQ3pELE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUMzQixPQUFPLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7d0dBL0VVLFVBQVU7NEdBQVYsVUFBVTs0RkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgVGFibGVEYXRhSW50ZXJmYWNlIH0gZnJvbSAnLi4vY2xhc3Nlcy90YWJsZS1kYXRhJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBUElTZXJ2aWNlIHtcclxuICBwdWJsaWMgdG9rZW46IGFueTtcclxuICBhcGlVcmwgPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgKyAnLy8nICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lICsgJy9kY3AnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgZmV0Y2godXJsOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgY2FjaGU/OiBib29sZWFuKSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gdGhpcy5nZXRIZWFkZXJzKGNhY2hlKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KHRoaXMuYXBpVXJsICsgdXJsLCB7cGFyYW1zOiB0aGlzLnByZXBhcmVFbmNvZGVkUGFyYW1zKHBhcmFtcyksIGhlYWRlcnN9KTtcclxuICB9XHJcblxyXG4gIHBvc3QodXJsOiBzdHJpbmcsIGJvZHk6IGFueSwgcGFyYW1zID0ge30pOiBhbnkge1xyXG4gICAgYm9keSA9IGJvZHkgfHwgbnVsbDtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSB0aGlzLmdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh0aGlzLmFwaVVybCArIHVybCwgYm9keSwge3BhcmFtczogdGhpcy5wcmVwYXJlRW5jb2RlZFBhcmFtcyhwYXJhbXMpLCBoZWFkZXJzfSk7XHJcbiAgfVxyXG5cclxuICAvLyB1c2Ugd2hlbiByZXNwb25zZSBleHRlbmRlZCBkYXRhIGlzIG5lY2Vzc2FyeTpcclxuICBwb3N0RXh0ZW5kZWQodXJsOiBzdHJpbmcsIGJvZHkgPSBudWxsLCBwYXJhbXMgPSB7fSwgaGVhZGVycyA9IHt9KSB7XHJcbiAgICBoZWFkZXJzID0gaGVhZGVycyB8fCB0aGlzLmdldEhlYWRlcnMoKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh0aGlzLmFwaVVybCArIHVybCwgYm9keSwge1xyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxyXG4gICAgICBwYXJhbXM6IHRoaXMucHJlcGFyZUVuY29kZWRQYXJhbXMocGFyYW1zKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdXQodXJsOiBzdHJpbmcsIGJvZHkgPSBudWxsLCBwYXJhbXMgPSB7fSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wdXQodGhpcy5hcGlVcmwgKyB1cmwsIGJvZHksIHtoZWFkZXJzLCBwYXJhbXM6IHRoaXMucHJlcGFyZUVuY29kZWRQYXJhbXMocGFyYW1zKX0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKHVybDogc3RyaW5nLCBwYXJhbXMgPSB7fSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IHRoaXMuZ2V0SGVhZGVycygpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUodGhpcy5hcGlVcmwgKyB1cmwsIHtoZWFkZXJzLCBwYXJhbXM6IHRoaXMucHJlcGFyZUVuY29kZWRQYXJhbXMocGFyYW1zKX0pO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hQYWdpbmF0aW9uKHVybDogc3RyaW5nLCBwYWdlU2l6ZTogbnVtYmVyLCBwYWdlTnVtYmVyOiBudW1iZXIsIGFkZGl0aW9uYWxQYXJhbXMgPSB7fSwgY2FjaGU/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxUYWJsZURhdGFJbnRlcmZhY2U+IHtcclxuICAgIGNvbnN0IGNvcHlBZGRpdGlvbmFsUGFyYW1zID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhZGRpdGlvbmFsUGFyYW1zKSk7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBPYmplY3QuYXNzaWduKGNvcHlBZGRpdGlvbmFsUGFyYW1zLCB7c2l6ZTogcGFnZVNpemUudG9TdHJpbmcoKSwgcGFnZTogcGFnZU51bWJlci50b1N0cmluZygpfSk7XHJcbiAgICByZXR1cm4gdGhpcy5mZXRjaCh1cmwsIHBhcmFtcywgY2FjaGUpIGFzIE9ic2VydmFibGU8VGFibGVEYXRhSW50ZXJmYWNlPjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJlcGFyZUVuY29kZWRQYXJhbXMocGFyYW1zOiBhbnkpIHtcclxuICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XHJcblxyXG4gICAgaWYgKCFwYXJhbXMpIHtcclxuICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocGFyYW1zKSkge1xyXG4gICAgICBpZiAocGFyYW1zW2tleV0pIHtcclxuICAgICAgICBjb25zdCBzdHJpbmdQYXJhbSA9IHBhcmFtc1trZXldLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgcmVzdWx0W2tleV0gPSBzdHJpbmdQYXJhbS5pbmNsdWRlcygnKycpID8gZW5jb2RlVVJJQ29tcG9uZW50KHN0cmluZ1BhcmFtKSA6IHN0cmluZ1BhcmFtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRIZWFkZXJzKGNhY2hlPzogYm9vbGVhbik6IEh0dHBIZWFkZXJzIHtcclxuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcbiAgICBpZiAoY2FjaGUpIHtcclxuICAgICAgaGVhZGVycyA9IGhlYWRlcnMuYXBwZW5kKCdfQ2FjaGUnLCAndHJ1ZSAnKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlbiB8fCB0aGlzLmdldFBhcmFtZXRlckJ5TmFtZSgndG9rZW4nKTtcclxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLmFwcGVuZCgnQXV0aG9yaXphdGlvbicsICdCZWFyZXIgJysgdG9rZW4pO1xyXG4gICAgcmV0dXJuIGhlYWRlcnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBhcmFtZXRlckJ5TmFtZShuYW1lOiBhbnksIHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmKSB7XHJcbiAgICBuYW1lID0gbmFtZS5yZXBsYWNlKC9bXFxbXFxdXS9nLCAnXFxcXCQmJyk7XHJcbiAgICB2YXIgcmVnZXggPSBuZXcgUmVnRXhwKCdbPyZdJyArIG5hbWUgKyAnKD0oW14mI10qKXwmfCN8JCknKSxcclxuICAgICAgcmVzdWx0cyA9IHJlZ2V4LmV4ZWModXJsKTtcclxuICAgIGlmICghcmVzdWx0cykgcmV0dXJuIG51bGw7XHJcbiAgICBpZiAoIXJlc3VsdHNbMl0pIHJldHVybiAnJztcclxuICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQocmVzdWx0c1syXS5yZXBsYWNlKC9cXCsvZywgJyAnKSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,110 +1,110 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { API } from '../app.constants';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import { Observable } from 'rxjs';
|
|
5
|
-
import { Big } from 'big.js';
|
|
6
|
-
import { DnRangeType } from '../classes/line';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./api.service";
|
|
9
|
-
// import * as Big from 'big.js';
|
|
10
|
-
export class DnsService {
|
|
11
|
-
constructor(apiService) {
|
|
12
|
-
this.apiService = apiService;
|
|
13
|
-
this.availableNumbers = {};
|
|
14
|
-
}
|
|
15
|
-
getNumberRange(siteId, routePartition, withdids, from, pageSize) {
|
|
16
|
-
// @ts-ignore
|
|
17
|
-
if (this.availableNumbers[routePartition] && this.availableNumbers[routePartition].length) {
|
|
18
|
-
return new Observable(observer => {
|
|
19
|
-
// @ts-ignore
|
|
20
|
-
observer.next(this.availableNumbers[routePartition]);
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
this.availableDidPatternsMappedToDn = {};
|
|
24
|
-
pageSize = pageSize ? pageSize : 20;
|
|
25
|
-
const params = { dntype: DnRangeType.extension, routepartition: routePartition, size: pageSize, page: 0 };
|
|
26
|
-
if (withdids) {
|
|
27
|
-
// @ts-ignore
|
|
28
|
-
params['withdids'] = 'true';
|
|
29
|
-
}
|
|
30
|
-
if (from) {
|
|
31
|
-
// @ts-ignore
|
|
32
|
-
params['from'] = from;
|
|
33
|
-
}
|
|
34
|
-
// @ts-ignore
|
|
35
|
-
this.availableNumbers[routePartition] = this.availableNumbers[routePartition] || [];
|
|
36
|
-
return this.apiService.fetch(API.AVAILABLE_DN_IN_RANGES.replace(':siteId', siteId), params)
|
|
37
|
-
.pipe(map((res) => {
|
|
38
|
-
res.availableNumberList.forEach((availableNumber) => {
|
|
39
|
-
this.setAvailableDidMappedToDn(availableNumber);
|
|
40
|
-
// @ts-ignore
|
|
41
|
-
this.availableNumbers[routePartition] = [...this.availableNumbers[routePartition], ...this.getUnwrapNumberRange(availableNumber)];
|
|
42
|
-
});
|
|
43
|
-
}));
|
|
44
|
-
// .pipe(this.handleError(true, false));
|
|
45
|
-
}
|
|
46
|
-
setAvailableDidMappedToDn(availableNumber) {
|
|
47
|
-
if (availableNumber.unUsedNumbersWithDids && availableNumber.unUsedNumbersWithDids.length) {
|
|
48
|
-
availableNumber.unUsedNumbersWithDids.forEach((numberWithDids) => {
|
|
49
|
-
const dn = numberWithDids['unUsedNumber'];
|
|
50
|
-
this.availableDidPatternsMappedToDn[dn] = [{}];
|
|
51
|
-
if (numberWithDids['translationPatternList'] && numberWithDids['translationPatternList'].length > 0) {
|
|
52
|
-
this.availableDidPatternsMappedToDn[dn] = numberWithDids['translationPatternList'];
|
|
53
|
-
this.availableDidPatternsMappedToDn[dn][0]['mappedDids'] = [{}];
|
|
54
|
-
if (numberWithDids['mappedDids'] && numberWithDids['mappedDids'].length > 0) {
|
|
55
|
-
this.availableDidPatternsMappedToDn[dn][0]['mappedDids'] = numberWithDids['mappedDids'];
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
this.availableDidPatternsMappedToDn[dn][0]['vm'] = numberWithDids['vm'];
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
getUnwrapNumberRange(availableNumber) {
|
|
63
|
-
const unwrapNumberRangeArray = this.unwrapNumberRange(availableNumber.phoneNumberRange.from, availableNumber.phoneNumberRange.to);
|
|
64
|
-
if (unwrapNumberRangeArray?.length) {
|
|
65
|
-
let unwrapNumberRange = unwrapNumberRangeArray.map((unwrappedNumber) => {
|
|
66
|
-
const dn = availableNumber.phoneNumberRange.prefix + unwrappedNumber;
|
|
67
|
-
let str = dn;
|
|
68
|
-
if (this.availableDidPatternsMappedToDn[dn] && this.availableDidPatternsMappedToDn[dn].length > 0) {
|
|
69
|
-
if (this.availableDidPatternsMappedToDn[dn][0]['mappedDids'] && this.availableDidPatternsMappedToDn[dn][0]['mappedDids'].length > 0) {
|
|
70
|
-
str += ' DID: ' + (this.availableDidPatternsMappedToDn[dn][0]['mappedDids'].length > 1 ? 'multiple' :
|
|
71
|
-
this.availableDidPatternsMappedToDn[dn][0]['mappedDids'][0]);
|
|
72
|
-
}
|
|
73
|
-
if (this.availableDidPatternsMappedToDn[dn][0]['vm']) {
|
|
74
|
-
str += ' In Use - VM';
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return str;
|
|
78
|
-
});
|
|
79
|
-
unwrapNumberRange = unwrapNumberRange.filter((unwrappedNumber) => !availableNumber.usedNumbers.includes(unwrappedNumber));
|
|
80
|
-
return unwrapNumberRange;
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
return [];
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
unwrapNumberRange(start, end) {
|
|
87
|
-
const regExp = /(^0+)/;
|
|
88
|
-
let leadingZeros = '';
|
|
89
|
-
const matches = start.match(regExp);
|
|
90
|
-
if (matches) {
|
|
91
|
-
leadingZeros = matches[1];
|
|
92
|
-
}
|
|
93
|
-
const startNumeric = new Big(start);
|
|
94
|
-
const endNumeric = new Big(end);
|
|
95
|
-
// @ts-ignore
|
|
96
|
-
return Array.from({ length: (endNumeric.minus(startNumeric).plus(new Big(1)).toFixed(0)) }, (v, k) => {
|
|
97
|
-
const number = String(startNumeric.plus(new Big(k)).toFixed(0));
|
|
98
|
-
if ((leadingZeros + number).length > start.length) {
|
|
99
|
-
leadingZeros = leadingZeros.substr(1);
|
|
100
|
-
}
|
|
101
|
-
return leadingZeros + number;
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
DnsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DnsService, deps: [{ token: i1.APIService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
106
|
-
DnsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DnsService });
|
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DnsService, decorators: [{
|
|
108
|
-
type: Injectable
|
|
109
|
-
}], ctorParameters: function () { return [{ type: i1.APIService }]; } });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1tYW5hZ2Uvc3JjL3NlcnZpY2VzL2Rucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDN0IsT0FBTyxFQUFzQyxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBQ2xGLGlDQUFpQztBQUlqQyxNQUFNLE9BQU8sVUFBVTtJQUdyQixZQUNVLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFIaEMscUJBQWdCLEdBQUcsRUFBRSxDQUFDO0lBTXRCLENBQUM7SUFDTSxjQUFjLENBQUMsTUFBYyxFQUFFLGNBQXNCLEVBQUUsUUFBa0IsRUFBRSxJQUFhLEVBQUUsUUFBaUI7UUFDaEgsYUFBYTtRQUNiLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDekYsT0FBTyxJQUFJLFVBQVUsQ0FBTSxRQUFRLENBQUMsRUFBRTtnQkFDcEMsYUFBYTtnQkFDYixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsOEJBQThCLEdBQUcsRUFBRSxDQUFDO1FBQ3pD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QyxZQUFZLEdBQUcsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pELFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZDO1lBQ0QsT0FBTyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7d0dBdkdVLFVBQVU7NEdBQVYsVUFBVTs0RkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVBJIH0gZnJvbSAnLi4vYXBwLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSAnLi9hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCaWcgfSBmcm9tICdiaWcuanMnO1xuaW1wb3J0IHsgQXZhaWxhYmxlUGhvbmVOdW1iZXJSYW5nZUludGVyZmFjZSwgRG5SYW5nZVR5cGUgfSBmcm9tICcuLi9jbGFzc2VzL2xpbmUnO1xuLy8gaW1wb3J0ICogYXMgQmlnIGZyb20gJ2JpZy5qcyc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERuc1NlcnZpY2Uge1xuICBhdmFpbGFibGVOdW1iZXJzID0ge307XG4gIGF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9EbiE6IGFueTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlXG4gICkge1xuXG4gIH1cbiAgcHVibGljIGdldE51bWJlclJhbmdlKHNpdGVJZDogc3RyaW5nLCByb3V0ZVBhcnRpdGlvbjogc3RyaW5nLCB3aXRoZGlkcz86IGJvb2xlYW4sIGZyb20/OiBzdHJpbmcsIHBhZ2VTaXplPzogbnVtYmVyKTogYW55IHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKHRoaXMuYXZhaWxhYmxlTnVtYmVyc1tyb3V0ZVBhcnRpdGlvbl0gJiYgdGhpcy5hdmFpbGFibGVOdW1iZXJzW3JvdXRlUGFydGl0aW9uXS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmVyID0+IHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBvYnNlcnZlci5uZXh0KHRoaXMuYXZhaWxhYmxlTnVtYmVyc1tyb3V0ZVBhcnRpdGlvbl0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG4gPSB7fTtcbiAgICBwYWdlU2l6ZSA9IHBhZ2VTaXplID8gcGFnZVNpemUgOiAyMDtcbiAgICBjb25zdCBwYXJhbXMgPSB7ZG50eXBlOiBEblJhbmdlVHlwZS5leHRlbnNpb24sIHJvdXRlcGFydGl0aW9uOiByb3V0ZVBhcnRpdGlvbiwgc2l6ZTogcGFnZVNpemUsIHBhZ2U6IDB9O1xuICAgIGlmICh3aXRoZGlkcykge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcGFyYW1zWyd3aXRoZGlkcyddID0gJ3RydWUnO1xuICAgIH1cbiAgICBpZiAoZnJvbSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcGFyYW1zWydmcm9tJ10gPSBmcm9tO1xuICAgIH1cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgdGhpcy5hdmFpbGFibGVOdW1iZXJzW3JvdXRlUGFydGl0aW9uXSA9IHRoaXMuYXZhaWxhYmxlTnVtYmVyc1tyb3V0ZVBhcnRpdGlvbl0gfHwgW107XG5cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5BVkFJTEFCTEVfRE5fSU5fUkFOR0VTLnJlcGxhY2UoJzpzaXRlSWQnLCBzaXRlSWQpLCBwYXJhbXMpXG4gICAgICAucGlwZShtYXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgcmVzLmF2YWlsYWJsZU51bWJlckxpc3QuZm9yRWFjaCgoYXZhaWxhYmxlTnVtYmVyOiBBdmFpbGFibGVQaG9uZU51bWJlclJhbmdlSW50ZXJmYWNlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldEF2YWlsYWJsZURpZE1hcHBlZFRvRG4oYXZhaWxhYmxlTnVtYmVyKTtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHRoaXMuYXZhaWxhYmxlTnVtYmVyc1tyb3V0ZVBhcnRpdGlvbl0gPSBbLi4udGhpcy5hdmFpbGFibGVOdW1iZXJzW3JvdXRlUGFydGl0aW9uXSwgLi4udGhpcy5nZXRVbndyYXBOdW1iZXJSYW5nZShhdmFpbGFibGVOdW1iZXIpXTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgZmFsc2UpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBdmFpbGFibGVEaWRNYXBwZWRUb0RuKGF2YWlsYWJsZU51bWJlcjogYW55KTogdm9pZCB7XG4gICAgaWYgKGF2YWlsYWJsZU51bWJlci51blVzZWROdW1iZXJzV2l0aERpZHMgJiYgYXZhaWxhYmxlTnVtYmVyLnVuVXNlZE51bWJlcnNXaXRoRGlkcy5sZW5ndGgpIHtcblxuICAgICAgYXZhaWxhYmxlTnVtYmVyLnVuVXNlZE51bWJlcnNXaXRoRGlkcy5mb3JFYWNoKChudW1iZXJXaXRoRGlkczogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGRuID0gbnVtYmVyV2l0aERpZHNbJ3VuVXNlZE51bWJlciddO1xuICAgICAgICB0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl0gPSBbe31dO1xuICAgICAgICBpZiAobnVtYmVyV2l0aERpZHNbJ3RyYW5zbGF0aW9uUGF0dGVybkxpc3QnXSAmJiBudW1iZXJXaXRoRGlkc1sndHJhbnNsYXRpb25QYXR0ZXJuTGlzdCddLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl0gPSBudW1iZXJXaXRoRGlkc1sndHJhbnNsYXRpb25QYXR0ZXJuTGlzdCddO1xuICAgICAgICAgIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddID0gW3t9XTtcbiAgICAgICAgICBpZiAobnVtYmVyV2l0aERpZHNbJ21hcHBlZERpZHMnXSAmJiBudW1iZXJXaXRoRGlkc1snbWFwcGVkRGlkcyddLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddID0gbnVtYmVyV2l0aERpZHNbJ21hcHBlZERpZHMnXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWyd2bSddID0gbnVtYmVyV2l0aERpZHNbJ3ZtJ107XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0VW53cmFwTnVtYmVyUmFuZ2UoYXZhaWxhYmxlTnVtYmVyOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHVud3JhcE51bWJlclJhbmdlQXJyYXkgPSB0aGlzLnVud3JhcE51bWJlclJhbmdlKGF2YWlsYWJsZU51bWJlci5waG9uZU51bWJlclJhbmdlLmZyb20sIGF2YWlsYWJsZU51bWJlci5waG9uZU51bWJlclJhbmdlLnRvKTtcbiAgICBpZiAodW53cmFwTnVtYmVyUmFuZ2VBcnJheT8ubGVuZ3RoKSB7XG4gICAgICBsZXQgdW53cmFwTnVtYmVyUmFuZ2UgPSB1bndyYXBOdW1iZXJSYW5nZUFycmF5Lm1hcCgodW53cmFwcGVkTnVtYmVyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBjb25zdCBkbiA9IGF2YWlsYWJsZU51bWJlci5waG9uZU51bWJlclJhbmdlLnByZWZpeCArIHVud3JhcHBlZE51bWJlcjtcbiAgICAgICAgICBsZXQgc3RyID0gZG47XG4gICAgICAgICAgaWYgKHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXSAmJiB0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl0ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddICYmIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgc3RyICs9ICcgICAgICAgIERJRDogICcgKyAodGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWydtYXBwZWREaWRzJ10ubGVuZ3RoID4gMSA/ICdtdWx0aXBsZScgOlxuICAgICAgICAgICAgICAgIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddWzBdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl1bMF1bJ3ZtJ10pIHtcbiAgICAgICAgICAgICAgc3RyICs9ICcgICAgICAgIEluIFVzZSAtIFZNJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHN0cjtcbiAgICAgICAgfSk7XG4gICAgICB1bndyYXBOdW1iZXJSYW5nZSA9IHVud3JhcE51bWJlclJhbmdlLmZpbHRlcigodW53cmFwcGVkTnVtYmVyOiBzdHJpbmcpID0+ICFhdmFpbGFibGVOdW1iZXIudXNlZE51bWJlcnMuaW5jbHVkZXModW53cmFwcGVkTnVtYmVyKSk7XG4gICAgICByZXR1cm4gdW53cmFwTnVtYmVyUmFuZ2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgfVxuXG4gIHB1YmxpYyB1bndyYXBOdW1iZXJSYW5nZShzdGFydDogc3RyaW5nLCBlbmQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCByZWdFeHAgPSAvKF4wKykvO1xuICAgIGxldCBsZWFkaW5nWmVyb3MgPSAnJztcbiAgICBjb25zdCBtYXRjaGVzID0gc3RhcnQubWF0Y2gocmVnRXhwKTtcbiAgICBpZiAobWF0Y2hlcykge1xuICAgICAgbGVhZGluZ1plcm9zID0gbWF0Y2hlc1sxXTtcbiAgICB9XG4gICAgY29uc3Qgc3RhcnROdW1lcmljID0gbmV3IEJpZyhzdGFydCk7XG4gICAgY29uc3QgZW5kTnVtZXJpYyA9IG5ldyBCaWcoZW5kKTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcmV0dXJuIEFycmF5LmZyb20oe2xlbmd0aDogKGVuZE51bWVyaWMubWludXMoc3RhcnROdW1lcmljKS5wbHVzKG5ldyBCaWcoMSkpLnRvRml4ZWQoMCkpfSwgKHYsIGspID0+IHtcbiAgICAgIGNvbnN0IG51bWJlciA9IFN0cmluZyhzdGFydE51bWVyaWMucGx1cyhuZXcgQmlnKGspKS50b0ZpeGVkKDApKTtcbiAgICAgIGlmICgobGVhZGluZ1plcm9zICsgbnVtYmVyKS5sZW5ndGggPiBzdGFydC5sZW5ndGgpIHtcbiAgICAgICAgbGVhZGluZ1plcm9zID0gbGVhZGluZ1plcm9zLnN1YnN0cigxKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBsZWFkaW5nWmVyb3MgKyBudW1iZXI7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { API } from '../app.constants';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import { Big } from 'big.js';
|
|
6
|
+
import { DnRangeType } from '../classes/line';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./api.service";
|
|
9
|
+
// import * as Big from 'big.js';
|
|
10
|
+
export class DnsService {
|
|
11
|
+
constructor(apiService) {
|
|
12
|
+
this.apiService = apiService;
|
|
13
|
+
this.availableNumbers = {};
|
|
14
|
+
}
|
|
15
|
+
getNumberRange(siteId, routePartition, withdids, from, pageSize) {
|
|
16
|
+
// @ts-ignore
|
|
17
|
+
if (this.availableNumbers[routePartition] && this.availableNumbers[routePartition].length) {
|
|
18
|
+
return new Observable(observer => {
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
observer.next(this.availableNumbers[routePartition]);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
this.availableDidPatternsMappedToDn = {};
|
|
24
|
+
pageSize = pageSize ? pageSize : 20;
|
|
25
|
+
const params = { dntype: DnRangeType.extension, routepartition: routePartition, size: pageSize, page: 0 };
|
|
26
|
+
if (withdids) {
|
|
27
|
+
// @ts-ignore
|
|
28
|
+
params['withdids'] = 'true';
|
|
29
|
+
}
|
|
30
|
+
if (from) {
|
|
31
|
+
// @ts-ignore
|
|
32
|
+
params['from'] = from;
|
|
33
|
+
}
|
|
34
|
+
// @ts-ignore
|
|
35
|
+
this.availableNumbers[routePartition] = this.availableNumbers[routePartition] || [];
|
|
36
|
+
return this.apiService.fetch(API.AVAILABLE_DN_IN_RANGES.replace(':siteId', siteId), params)
|
|
37
|
+
.pipe(map((res) => {
|
|
38
|
+
res.availableNumberList.forEach((availableNumber) => {
|
|
39
|
+
this.setAvailableDidMappedToDn(availableNumber);
|
|
40
|
+
// @ts-ignore
|
|
41
|
+
this.availableNumbers[routePartition] = [...this.availableNumbers[routePartition], ...this.getUnwrapNumberRange(availableNumber)];
|
|
42
|
+
});
|
|
43
|
+
}));
|
|
44
|
+
// .pipe(this.handleError(true, false));
|
|
45
|
+
}
|
|
46
|
+
setAvailableDidMappedToDn(availableNumber) {
|
|
47
|
+
if (availableNumber.unUsedNumbersWithDids && availableNumber.unUsedNumbersWithDids.length) {
|
|
48
|
+
availableNumber.unUsedNumbersWithDids.forEach((numberWithDids) => {
|
|
49
|
+
const dn = numberWithDids['unUsedNumber'];
|
|
50
|
+
this.availableDidPatternsMappedToDn[dn] = [{}];
|
|
51
|
+
if (numberWithDids['translationPatternList'] && numberWithDids['translationPatternList'].length > 0) {
|
|
52
|
+
this.availableDidPatternsMappedToDn[dn] = numberWithDids['translationPatternList'];
|
|
53
|
+
this.availableDidPatternsMappedToDn[dn][0]['mappedDids'] = [{}];
|
|
54
|
+
if (numberWithDids['mappedDids'] && numberWithDids['mappedDids'].length > 0) {
|
|
55
|
+
this.availableDidPatternsMappedToDn[dn][0]['mappedDids'] = numberWithDids['mappedDids'];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
this.availableDidPatternsMappedToDn[dn][0]['vm'] = numberWithDids['vm'];
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
getUnwrapNumberRange(availableNumber) {
|
|
63
|
+
const unwrapNumberRangeArray = this.unwrapNumberRange(availableNumber.phoneNumberRange.from, availableNumber.phoneNumberRange.to);
|
|
64
|
+
if (unwrapNumberRangeArray?.length) {
|
|
65
|
+
let unwrapNumberRange = unwrapNumberRangeArray.map((unwrappedNumber) => {
|
|
66
|
+
const dn = availableNumber.phoneNumberRange.prefix + unwrappedNumber;
|
|
67
|
+
let str = dn;
|
|
68
|
+
if (this.availableDidPatternsMappedToDn[dn] && this.availableDidPatternsMappedToDn[dn].length > 0) {
|
|
69
|
+
if (this.availableDidPatternsMappedToDn[dn][0]['mappedDids'] && this.availableDidPatternsMappedToDn[dn][0]['mappedDids'].length > 0) {
|
|
70
|
+
str += ' DID: ' + (this.availableDidPatternsMappedToDn[dn][0]['mappedDids'].length > 1 ? 'multiple' :
|
|
71
|
+
this.availableDidPatternsMappedToDn[dn][0]['mappedDids'][0]);
|
|
72
|
+
}
|
|
73
|
+
if (this.availableDidPatternsMappedToDn[dn][0]['vm']) {
|
|
74
|
+
str += ' In Use - VM';
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return str;
|
|
78
|
+
});
|
|
79
|
+
unwrapNumberRange = unwrapNumberRange.filter((unwrappedNumber) => !availableNumber.usedNumbers.includes(unwrappedNumber));
|
|
80
|
+
return unwrapNumberRange;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
return [];
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
unwrapNumberRange(start, end) {
|
|
87
|
+
const regExp = /(^0+)/;
|
|
88
|
+
let leadingZeros = '';
|
|
89
|
+
const matches = start.match(regExp);
|
|
90
|
+
if (matches) {
|
|
91
|
+
leadingZeros = matches[1];
|
|
92
|
+
}
|
|
93
|
+
const startNumeric = new Big(start);
|
|
94
|
+
const endNumeric = new Big(end);
|
|
95
|
+
// @ts-ignore
|
|
96
|
+
return Array.from({ length: (endNumeric.minus(startNumeric).plus(new Big(1)).toFixed(0)) }, (v, k) => {
|
|
97
|
+
const number = String(startNumeric.plus(new Big(k)).toFixed(0));
|
|
98
|
+
if ((leadingZeros + number).length > start.length) {
|
|
99
|
+
leadingZeros = leadingZeros.substr(1);
|
|
100
|
+
}
|
|
101
|
+
return leadingZeros + number;
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
DnsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DnsService, deps: [{ token: i1.APIService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
106
|
+
DnsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DnsService });
|
|
107
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DnsService, decorators: [{
|
|
108
|
+
type: Injectable
|
|
109
|
+
}], ctorParameters: function () { return [{ type: i1.APIService }]; } });
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1tYW5hZ2Uvc3JjL3NlcnZpY2VzL2Rucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDN0IsT0FBTyxFQUFzQyxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBQ2xGLGlDQUFpQztBQUlqQyxNQUFNLE9BQU8sVUFBVTtJQUdyQixZQUNVLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFIaEMscUJBQWdCLEdBQUcsRUFBRSxDQUFDO0lBTXRCLENBQUM7SUFDTSxjQUFjLENBQUMsTUFBYyxFQUFFLGNBQXNCLEVBQUUsUUFBa0IsRUFBRSxJQUFhLEVBQUUsUUFBaUI7UUFDaEgsYUFBYTtRQUNiLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLEVBQUU7WUFDekYsT0FBTyxJQUFJLFVBQVUsQ0FBTSxRQUFRLENBQUMsRUFBRTtnQkFDcEMsYUFBYTtnQkFDYixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsOEJBQThCLEdBQUcsRUFBRSxDQUFDO1FBQ3pD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QyxZQUFZLEdBQUcsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pELFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZDO1lBQ0QsT0FBTyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7d0dBdkdVLFVBQVU7NEdBQVYsVUFBVTs0RkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBUEkgfSBmcm9tICcuLi9hcHAuY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQmlnIH0gZnJvbSAnYmlnLmpzJztcclxuaW1wb3J0IHsgQXZhaWxhYmxlUGhvbmVOdW1iZXJSYW5nZUludGVyZmFjZSwgRG5SYW5nZVR5cGUgfSBmcm9tICcuLi9jbGFzc2VzL2xpbmUnO1xyXG4vLyBpbXBvcnQgKiBhcyBCaWcgZnJvbSAnYmlnLmpzJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEbnNTZXJ2aWNlIHtcclxuICBhdmFpbGFibGVOdW1iZXJzID0ge307XHJcbiAgYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuITogYW55O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlXHJcbiAgKSB7XHJcblxyXG4gIH1cclxuICBwdWJsaWMgZ2V0TnVtYmVyUmFuZ2Uoc2l0ZUlkOiBzdHJpbmcsIHJvdXRlUGFydGl0aW9uOiBzdHJpbmcsIHdpdGhkaWRzPzogYm9vbGVhbiwgZnJvbT86IHN0cmluZywgcGFnZVNpemU/OiBudW1iZXIpOiBhbnkge1xyXG4gICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgaWYgKHRoaXMuYXZhaWxhYmxlTnVtYmVyc1tyb3V0ZVBhcnRpdGlvbl0gJiYgdGhpcy5hdmFpbGFibGVOdW1iZXJzW3JvdXRlUGFydGl0aW9uXS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZXIgPT4ge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICBvYnNlcnZlci5uZXh0KHRoaXMuYXZhaWxhYmxlTnVtYmVyc1tyb3V0ZVBhcnRpdGlvbl0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9EbiA9IHt9O1xyXG4gICAgcGFnZVNpemUgPSBwYWdlU2l6ZSA/IHBhZ2VTaXplIDogMjA7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7ZG50eXBlOiBEblJhbmdlVHlwZS5leHRlbnNpb24sIHJvdXRlcGFydGl0aW9uOiByb3V0ZVBhcnRpdGlvbiwgc2l6ZTogcGFnZVNpemUsIHBhZ2U6IDB9O1xyXG4gICAgaWYgKHdpdGhkaWRzKSB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgcGFyYW1zWyd3aXRoZGlkcyddID0gJ3RydWUnO1xyXG4gICAgfVxyXG4gICAgaWYgKGZyb20pIHtcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICBwYXJhbXNbJ2Zyb20nXSA9IGZyb207XHJcbiAgICB9XHJcbiAgICAvLyBAdHMtaWdub3JlXHJcbiAgICB0aGlzLmF2YWlsYWJsZU51bWJlcnNbcm91dGVQYXJ0aXRpb25dID0gdGhpcy5hdmFpbGFibGVOdW1iZXJzW3JvdXRlUGFydGl0aW9uXSB8fCBbXTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5BVkFJTEFCTEVfRE5fSU5fUkFOR0VTLnJlcGxhY2UoJzpzaXRlSWQnLCBzaXRlSWQpLCBwYXJhbXMpXHJcbiAgICAgIC5waXBlKG1hcCgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHJlcy5hdmFpbGFibGVOdW1iZXJMaXN0LmZvckVhY2goKGF2YWlsYWJsZU51bWJlcjogQXZhaWxhYmxlUGhvbmVOdW1iZXJSYW5nZUludGVyZmFjZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNldEF2YWlsYWJsZURpZE1hcHBlZFRvRG4oYXZhaWxhYmxlTnVtYmVyKTtcclxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICB0aGlzLmF2YWlsYWJsZU51bWJlcnNbcm91dGVQYXJ0aXRpb25dID0gWy4uLnRoaXMuYXZhaWxhYmxlTnVtYmVyc1tyb3V0ZVBhcnRpdGlvbl0sIC4uLnRoaXMuZ2V0VW53cmFwTnVtYmVyUmFuZ2UoYXZhaWxhYmxlTnVtYmVyKV07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgZmFsc2UpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRBdmFpbGFibGVEaWRNYXBwZWRUb0RuKGF2YWlsYWJsZU51bWJlcjogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoYXZhaWxhYmxlTnVtYmVyLnVuVXNlZE51bWJlcnNXaXRoRGlkcyAmJiBhdmFpbGFibGVOdW1iZXIudW5Vc2VkTnVtYmVyc1dpdGhEaWRzLmxlbmd0aCkge1xyXG5cclxuICAgICAgYXZhaWxhYmxlTnVtYmVyLnVuVXNlZE51bWJlcnNXaXRoRGlkcy5mb3JFYWNoKChudW1iZXJXaXRoRGlkczogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgZG4gPSBudW1iZXJXaXRoRGlkc1sndW5Vc2VkTnVtYmVyJ107XHJcbiAgICAgICAgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dID0gW3t9XTtcclxuICAgICAgICBpZiAobnVtYmVyV2l0aERpZHNbJ3RyYW5zbGF0aW9uUGF0dGVybkxpc3QnXSAmJiBudW1iZXJXaXRoRGlkc1sndHJhbnNsYXRpb25QYXR0ZXJuTGlzdCddLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXSA9IG51bWJlcldpdGhEaWRzWyd0cmFuc2xhdGlvblBhdHRlcm5MaXN0J107XHJcbiAgICAgICAgICB0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl1bMF1bJ21hcHBlZERpZHMnXSA9IFt7fV07XHJcbiAgICAgICAgICBpZiAobnVtYmVyV2l0aERpZHNbJ21hcHBlZERpZHMnXSAmJiBudW1iZXJXaXRoRGlkc1snbWFwcGVkRGlkcyddLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWydtYXBwZWREaWRzJ10gPSBudW1iZXJXaXRoRGlkc1snbWFwcGVkRGlkcyddO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl1bMF1bJ3ZtJ10gPSBudW1iZXJXaXRoRGlkc1sndm0nXTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VW53cmFwTnVtYmVyUmFuZ2UoYXZhaWxhYmxlTnVtYmVyOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgdW53cmFwTnVtYmVyUmFuZ2VBcnJheSA9IHRoaXMudW53cmFwTnVtYmVyUmFuZ2UoYXZhaWxhYmxlTnVtYmVyLnBob25lTnVtYmVyUmFuZ2UuZnJvbSwgYXZhaWxhYmxlTnVtYmVyLnBob25lTnVtYmVyUmFuZ2UudG8pO1xyXG4gICAgaWYgKHVud3JhcE51bWJlclJhbmdlQXJyYXk/Lmxlbmd0aCkge1xyXG4gICAgICBsZXQgdW53cmFwTnVtYmVyUmFuZ2UgPSB1bndyYXBOdW1iZXJSYW5nZUFycmF5Lm1hcCgodW53cmFwcGVkTnVtYmVyOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGRuID0gYXZhaWxhYmxlTnVtYmVyLnBob25lTnVtYmVyUmFuZ2UucHJlZml4ICsgdW53cmFwcGVkTnVtYmVyO1xyXG4gICAgICAgICAgbGV0IHN0ciA9IGRuO1xyXG4gICAgICAgICAgaWYgKHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXSAmJiB0aGlzLmF2YWlsYWJsZURpZFBhdHRlcm5zTWFwcGVkVG9Ebltkbl0ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWydtYXBwZWREaWRzJ10gJiYgdGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWydtYXBwZWREaWRzJ10ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgIHN0ciArPSAnICAgICAgICBESUQ6ICAnICsgKHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddLmxlbmd0aCA+IDEgPyAnbXVsdGlwbGUnIDpcclxuICAgICAgICAgICAgICAgIHRoaXMuYXZhaWxhYmxlRGlkUGF0dGVybnNNYXBwZWRUb0RuW2RuXVswXVsnbWFwcGVkRGlkcyddWzBdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAodGhpcy5hdmFpbGFibGVEaWRQYXR0ZXJuc01hcHBlZFRvRG5bZG5dWzBdWyd2bSddKSB7XHJcbiAgICAgICAgICAgICAgc3RyICs9ICcgICAgICAgIEluIFVzZSAtIFZNJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgICAgICB9KTtcclxuICAgICAgdW53cmFwTnVtYmVyUmFuZ2UgPSB1bndyYXBOdW1iZXJSYW5nZS5maWx0ZXIoKHVud3JhcHBlZE51bWJlcjogc3RyaW5nKSA9PiAhYXZhaWxhYmxlTnVtYmVyLnVzZWROdW1iZXJzLmluY2x1ZGVzKHVud3JhcHBlZE51bWJlcikpO1xyXG4gICAgICByZXR1cm4gdW53cmFwTnVtYmVyUmFuZ2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIHVud3JhcE51bWJlclJhbmdlKHN0YXJ0OiBzdHJpbmcsIGVuZDogc3RyaW5nKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgcmVnRXhwID0gLyheMCspLztcclxuICAgIGxldCBsZWFkaW5nWmVyb3MgPSAnJztcclxuICAgIGNvbnN0IG1hdGNoZXMgPSBzdGFydC5tYXRjaChyZWdFeHApO1xyXG4gICAgaWYgKG1hdGNoZXMpIHtcclxuICAgICAgbGVhZGluZ1plcm9zID0gbWF0Y2hlc1sxXTtcclxuICAgIH1cclxuICAgIGNvbnN0IHN0YXJ0TnVtZXJpYyA9IG5ldyBCaWcoc3RhcnQpO1xyXG4gICAgY29uc3QgZW5kTnVtZXJpYyA9IG5ldyBCaWcoZW5kKTtcclxuICAgIC8vIEB0cy1pZ25vcmVcclxuICAgIHJldHVybiBBcnJheS5mcm9tKHtsZW5ndGg6IChlbmROdW1lcmljLm1pbnVzKHN0YXJ0TnVtZXJpYykucGx1cyhuZXcgQmlnKDEpKS50b0ZpeGVkKDApKX0sICh2LCBrKSA9PiB7XHJcbiAgICAgIGNvbnN0IG51bWJlciA9IFN0cmluZyhzdGFydE51bWVyaWMucGx1cyhuZXcgQmlnKGspKS50b0ZpeGVkKDApKTtcclxuICAgICAgaWYgKChsZWFkaW5nWmVyb3MgKyBudW1iZXIpLmxlbmd0aCA+IHN0YXJ0Lmxlbmd0aCkge1xyXG4gICAgICAgIGxlYWRpbmdaZXJvcyA9IGxlYWRpbmdaZXJvcy5zdWJzdHIoMSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGxlYWRpbmdaZXJvcyArIG51bWJlcjtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class LineService {
|
|
4
|
-
generateLineAssociationFromLine(lineAssociation) {
|
|
5
|
-
return {
|
|
6
|
-
directoryNumber: lineAssociation ? this.generateLineDirectory(lineAssociation) : null,
|
|
7
|
-
didPattern: lineAssociation ? this.generateDidPatternForLineAssociation(lineAssociation) : null,
|
|
8
|
-
mappedDids: lineAssociation ? '' : 'null',
|
|
9
|
-
index: lineAssociation ? lineAssociation.index : null,
|
|
10
|
-
position: lineAssociation ? lineAssociation.position : null,
|
|
11
|
-
textLabel: lineAssociation ? lineAssociation.textLabel : null,
|
|
12
|
-
// displayLabel: lineAssociation ? lineAssociation.displayLabel : 'null',
|
|
13
|
-
alertingName: lineAssociation ? lineAssociation.alertingName : null,
|
|
14
|
-
callerNumber: lineAssociation ? '' : 'null'
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
generateLineDirectory(lineAssociation) {
|
|
18
|
-
return {
|
|
19
|
-
directoryNumber: lineAssociation.directoryNumber.directoryNumber,
|
|
20
|
-
routePartitionName: lineAssociation.directoryNumber.routePartitionName,
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
generateDidPatternForLineAssociation(lineAssociation) {
|
|
24
|
-
return {
|
|
25
|
-
calledPartyTransformationMask: lineAssociation.directoryNumber && lineAssociation.directoryNumber.directoryNumber
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
LineService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LineService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
-
LineService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LineService });
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LineService, decorators: [{
|
|
32
|
-
type: Injectable
|
|
33
|
-
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class LineService {
|
|
4
|
+
generateLineAssociationFromLine(lineAssociation) {
|
|
5
|
+
return {
|
|
6
|
+
directoryNumber: lineAssociation ? this.generateLineDirectory(lineAssociation) : null,
|
|
7
|
+
didPattern: lineAssociation ? this.generateDidPatternForLineAssociation(lineAssociation) : null,
|
|
8
|
+
mappedDids: lineAssociation ? '' : 'null',
|
|
9
|
+
index: lineAssociation ? lineAssociation.index : null,
|
|
10
|
+
position: lineAssociation ? lineAssociation.position : null,
|
|
11
|
+
textLabel: lineAssociation ? lineAssociation.textLabel : null,
|
|
12
|
+
// displayLabel: lineAssociation ? lineAssociation.displayLabel : 'null',
|
|
13
|
+
alertingName: lineAssociation ? lineAssociation.alertingName : null,
|
|
14
|
+
callerNumber: lineAssociation ? '' : 'null'
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
generateLineDirectory(lineAssociation) {
|
|
18
|
+
return {
|
|
19
|
+
directoryNumber: lineAssociation.directoryNumber.directoryNumber,
|
|
20
|
+
routePartitionName: lineAssociation.directoryNumber.routePartitionName,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
generateDidPatternForLineAssociation(lineAssociation) {
|
|
24
|
+
return {
|
|
25
|
+
calledPartyTransformationMask: lineAssociation.directoryNumber && lineAssociation.directoryNumber.directoryNumber
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
LineService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LineService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
+
LineService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LineService });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LineService, decorators: [{
|
|
32
|
+
type: Injectable
|
|
33
|
+
}] });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy9zZXJ2aWNlcy9saW5lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLFdBQVc7SUFDZiwrQkFBK0IsQ0FBQyxlQUFxQjtRQUMzRCxPQUFPO1lBQ0wsZUFBZSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQ3JGLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUMvRixVQUFVLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU07WUFDekMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUNyRCxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQzNELFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDN0QsMEVBQTBFO1lBQzFFLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDbkUsWUFBWSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNO1NBQzVDLENBQUE7SUFDRixDQUFDO0lBRUQscUJBQXFCLENBQUMsZUFBcUI7UUFDekMsT0FBTztZQUNMLGVBQWUsRUFBRSxlQUFlLENBQUMsZUFBZSxDQUFDLGVBQWU7WUFDaEUsa0JBQWtCLEVBQUUsZUFBZSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0I7U0FDdkUsQ0FBQTtJQUNILENBQUM7SUFFRCxvQ0FBb0MsQ0FBQyxlQUFxQjtRQUN4RCxPQUFPO1lBQ0wsNkJBQTZCLEVBQUUsZUFBZSxDQUFDLGVBQWUsSUFBSSxlQUFlLENBQUMsZUFBZSxDQUFDLGVBQWU7U0FDbEgsQ0FBQTtJQUNILENBQUM7O3lHQTFCVSxXQUFXOzZHQUFYLFdBQVc7NEZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIExpbmVTZXJ2aWNlIHtcclxuICBwdWJsaWMgZ2VuZXJhdGVMaW5lQXNzb2NpYXRpb25Gcm9tTGluZShsaW5lQXNzb2NpYXRpb24/OiBhbnkpIHtcclxuICAgcmV0dXJuIHtcclxuICAgICBkaXJlY3RvcnlOdW1iZXI6IGxpbmVBc3NvY2lhdGlvbiA/IHRoaXMuZ2VuZXJhdGVMaW5lRGlyZWN0b3J5KGxpbmVBc3NvY2lhdGlvbikgOiBudWxsLFxyXG4gICAgIGRpZFBhdHRlcm46IGxpbmVBc3NvY2lhdGlvbiA/IHRoaXMuZ2VuZXJhdGVEaWRQYXR0ZXJuRm9yTGluZUFzc29jaWF0aW9uKGxpbmVBc3NvY2lhdGlvbikgOiBudWxsLFxyXG4gICAgIG1hcHBlZERpZHM6IGxpbmVBc3NvY2lhdGlvbiA/ICcnIDogJ251bGwnLFxyXG4gICAgIGluZGV4OiBsaW5lQXNzb2NpYXRpb24gPyBsaW5lQXNzb2NpYXRpb24uaW5kZXggOiBudWxsLFxyXG4gICAgIHBvc2l0aW9uOiBsaW5lQXNzb2NpYXRpb24gPyBsaW5lQXNzb2NpYXRpb24ucG9zaXRpb24gOiBudWxsLFxyXG4gICAgIHRleHRMYWJlbDogbGluZUFzc29jaWF0aW9uID8gbGluZUFzc29jaWF0aW9uLnRleHRMYWJlbCA6IG51bGwsXHJcbiAgICAgLy8gZGlzcGxheUxhYmVsOiBsaW5lQXNzb2NpYXRpb24gPyBsaW5lQXNzb2NpYXRpb24uZGlzcGxheUxhYmVsICA6ICdudWxsJyxcclxuICAgICBhbGVydGluZ05hbWU6IGxpbmVBc3NvY2lhdGlvbiA/IGxpbmVBc3NvY2lhdGlvbi5hbGVydGluZ05hbWUgOiBudWxsLFxyXG4gICAgIGNhbGxlck51bWJlcjogbGluZUFzc29jaWF0aW9uID8gJycgOiAnbnVsbCdcclxuICAgfVxyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVMaW5lRGlyZWN0b3J5KGxpbmVBc3NvY2lhdGlvbj86IGFueSk6IGFueSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBkaXJlY3RvcnlOdW1iZXI6IGxpbmVBc3NvY2lhdGlvbi5kaXJlY3RvcnlOdW1iZXIuZGlyZWN0b3J5TnVtYmVyLFxyXG4gICAgICByb3V0ZVBhcnRpdGlvbk5hbWU6IGxpbmVBc3NvY2lhdGlvbi5kaXJlY3RvcnlOdW1iZXIucm91dGVQYXJ0aXRpb25OYW1lLFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVEaWRQYXR0ZXJuRm9yTGluZUFzc29jaWF0aW9uKGxpbmVBc3NvY2lhdGlvbj86IGFueSk6IGFueSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjYWxsZWRQYXJ0eVRyYW5zZm9ybWF0aW9uTWFzazogbGluZUFzc29jaWF0aW9uLmRpcmVjdG9yeU51bWJlciAmJiBsaW5lQXNzb2NpYXRpb24uZGlyZWN0b3J5TnVtYmVyLmRpcmVjdG9yeU51bWJlclxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|