@webitel/api-services 0.0.23 → 0.0.25
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/package.json +14 -10
- package/src/api/axios/generateInstance.ts +30 -0
- package/src/api/axios/index.ts +2 -0
- package/src/api/clients/_shared/generatePermissionsApi.ts +97 -0
- package/src/api/clients/agents/agentChats.ts +74 -0
- package/src/api/clients/agents/agents.ts +265 -0
- package/src/api/clients/buckets/buckets.ts +112 -0
- package/src/api/clients/calendars/calendars.ts +214 -0
- package/src/api/clients/caseCloseReasonGroups/caseCloseReasonGroups.ts +128 -0
- package/src/api/clients/caseCloseReasons/caseCloseReasons.ts +128 -0
- package/src/api/clients/casePriorities/casePriorities.ts +139 -0
- package/src/api/clients/caseServiceCatalogs/serviceCatalogs.ts +198 -0
- package/src/api/clients/caseServices/services.ts +181 -0
- package/src/api/clients/caseSources/caseSources.ts +121 -0
- package/src/api/clients/caseStatusConditions/caseStatusConditions.ts +165 -0
- package/src/api/clients/caseStatuses/caseStatuses.ts +119 -0
- package/src/api/clients/catalog/catalog.ts +44 -0
- package/src/api/clients/chatGateways/chatGateways.ts +302 -0
- package/src/api/clients/chatGateways/defaults/defaultChatGateway.ts +18 -0
- package/src/api/clients/chatGateways/defaults/webChatGateway.ts +72 -0
- package/src/api/clients/chatGateways/enums/WebchatAlternativeChannel.enum.ts +14 -0
- package/src/api/clients/chatGateways/scripts/generateUri.ts +9 -0
- package/src/api/clients/communications/communications.ts +141 -0
- package/src/api/clients/configurations/configurations.ts +144 -0
- package/src/api/clients/contactGroups/contactGroups.ts +187 -0
- package/src/api/clients/flows/flow.ts +225 -0
- package/src/api/clients/gateways/defaults/defaultGateway.ts +9 -0
- package/src/api/clients/gateways/defaults/registerGateway.ts +12 -0
- package/src/api/clients/gateways/defaults/trunkingGateway.ts +16 -0
- package/src/api/clients/gateways/gateways.ts +175 -0
- package/src/api/clients/index.ts +68 -0
- package/src/api/clients/labels/labels.ts +56 -0
- package/src/api/clients/lists/blacklists.ts +118 -0
- package/src/api/clients/media/media.ts +120 -0
- package/src/api/clients/object/object.ts +114 -0
- package/src/api/clients/queues/defaults/processing.ts +14 -0
- package/src/api/clients/queues/queues.ts +238 -0
- package/src/api/clients/quickReplies/quickReplies.ts +117 -0
- package/src/api/clients/roles/roles.ts +202 -0
- package/src/api/clients/skills/skills.ts +112 -0
- package/src/api/clients/slaConditions/slaConditions.ts +165 -0
- package/src/api/clients/slas/slas.ts +118 -0
- package/src/api/clients/teams/teams.ts +144 -0
- package/src/api/clients/users/__tests__/users.spec.ts +265 -0
- package/src/api/clients/users/users.ts +230 -0
- package/src/api/clients/wtTypes/_shared/utils/sortDynamicFields.ts +21 -0
- package/src/api/clients/wtTypes/sysTypes/sysTypes.ts +64 -0
- package/src/api/clients/wtTypes/typeExtensions/typeExtensions.ts +122 -0
- package/src/api/clients//321/201ontacts/contactChatMessagesHistory.ts +98 -0
- package/src/api/clients//321/201ontacts/contacts.ts +339 -0
- package/src/api/clients//321/201ontacts/enums/ContactsSearchMode.ts +9 -0
- package/src/api/clients//321/201ontacts/index.ts +5 -0
- package/src/api/defaults/getDefaultGetListResponse/getDefaultGetListResponse.ts +6 -0
- package/src/api/defaults/getDefaultGetParams/getDefaultGetParams.ts +6 -0
- package/src/api/defaults/getDefaultInstance/getDefaultInstance.ts +21 -0
- package/src/api/defaults/getDefaultOpenAPIConfig/getDefaultOpenAPIConfig.ts +10 -0
- package/src/api/defaults/index.ts +11 -0
- package/src/api/index.ts +6 -0
- package/src/api/interceptors/index.ts +3 -0
- package/src/api/interceptors/request/index.ts +2 -0
- package/src/api/interceptors/request/updateToken.interceptor.ts +10 -0
- package/src/api/interceptors/response/handleUnauthorized.interceptor.ts +12 -0
- package/src/api/interceptors/response/index.ts +2 -0
- package/src/api/transformers/addQueryParamsToUrl/addQueryParamsToUrl.transformer.ts +19 -0
- package/src/api/transformers/applyTransform.ts +17 -0
- package/src/api/transformers/camelToSnake/camelToSnake.transformer.ts +5 -0
- package/src/api/transformers/generateUrl/generateUrl.transformer.ts +13 -0
- package/src/api/transformers/index.ts +28 -0
- package/src/api/transformers/log/log.transformer.ts +6 -0
- package/src/api/transformers/merge/merge.transformer.ts +8 -0
- package/src/api/transformers/mergeEach/mergeEach.transformer.ts +8 -0
- package/src/api/transformers/notify/notify.transformer.ts +39 -0
- package/src/api/transformers/sanitize/sanitize.transformer.ts +12 -0
- package/src/api/transformers/skipIf/skipIf.ts +11 -0
- package/src/api/transformers/snakeToCamel/snakeToCamel.transformer.ts +5 -0
- package/src/api/transformers/starToSearch/starToSearch.transformer.ts +15 -0
- package/src/gen/_docs/html/assets/navigation.js +1 -1
- package/src/gen/_docs/html/assets/search.js +1 -1
- package/src/gen/_docs/html/interfaces/_models_webitelCasesInputSource.WebitelCasesInputSource.html +0 -1
- package/src/gen/_docs/html/interfaces/_models_webitelCasesSource.WebitelCasesSource.html +5 -6
- package/src/gen/_docs/html/modules/index.html +1 -1
- package/src/gen/_docs/html/modules/sources_sources.zod.gen.html +7 -7
- package/src/gen/_docs/html/types/_models_createCaseParams.CreateCaseParams.html +9 -3
- package/src/gen/_docs/html/types/_models_updateCase2Params.UpdateCase2Params.html +8 -3
- package/src/gen/_docs/html/types/_models_updateCaseParams.UpdateCaseParams.html +8 -3
- package/src/gen/_docs/html/variables/cases_cases.zod.gen.createCaseQueryParams.html +1 -1
- package/src/gen/_docs/html/variables/cases_cases.zod.gen.updateCase2QueryParams.html +1 -1
- package/src/gen/_docs/html/variables/cases_cases.zod.gen.updateCaseQueryParams.html +1 -1
- package/src/gen/_models/createCaseParams.ts +8 -0
- package/src/gen/_models/updateCase2Params.ts +8 -0
- package/src/gen/_models/updateCaseParams.ts +8 -0
- package/src/gen/_models/webitelCasesInputSource.ts +0 -1
- package/src/gen/_models/webitelCasesSource.ts +5 -6
- package/src/gen/cases/cases.zod.gen.ts +18 -0
- package/src/gen/sources/sources.msw.api.gen.ts +6 -6
- package/src/gen/sources/sources.zod.gen.ts +0 -27
- package/types/api/axios/generateInstance.d.ts +2 -0
- package/types/api/axios/index.d.ts +1 -0
- package/types/api/clients/_shared/generatePermissionsApi.d.ts +13 -0
- package/types/api/clients/agents/agentChats.d.ts +8 -0
- package/types/api/clients/agents/agents.d.ts +44 -0
- package/types/api/clients/buckets/buckets.d.ts +24 -0
- package/types/api/clients/calendars/calendars.d.ts +28 -0
- package/types/api/clients/caseCloseReasonGroups/caseCloseReasonGroups.d.ts +24 -0
- package/types/api/clients/caseCloseReasons/caseCloseReasons.d.ts +30 -0
- package/types/api/clients/casePriorities/casePriorities.d.ts +24 -0
- package/types/api/clients/caseServiceCatalogs/serviceCatalogs.d.ts +24 -0
- package/types/api/clients/caseServices/services.d.ts +35 -0
- package/types/api/clients/caseSources/caseSources.d.ts +24 -0
- package/types/api/clients/caseStatusConditions/caseStatusConditions.d.ts +36 -0
- package/types/api/clients/caseStatuses/caseStatuses.d.ts +24 -0
- package/types/api/clients/catalog/catalog.d.ts +9 -0
- package/types/api/clients/chatGateways/chatGateways.d.ts +28 -0
- package/types/api/clients/chatGateways/defaults/defaultChatGateway.d.ts +15 -0
- package/types/api/clients/chatGateways/defaults/webChatGateway.d.ts +64 -0
- package/types/api/clients/chatGateways/enums/WebchatAlternativeChannel.enum.d.ts +8 -0
- package/types/api/clients/chatGateways/scripts/generateUri.d.ts +2 -0
- package/types/api/clients/communications/communications.d.ts +28 -0
- package/types/api/clients/configurations/configurations.d.ts +28 -0
- package/types/api/clients/contactGroups/contactGroups.d.ts +47 -0
- package/types/api/clients/flows/flow.d.ts +28 -0
- package/types/api/clients/gateways/defaults/defaultGateway.d.ts +8 -0
- package/types/api/clients/gateways/defaults/registerGateway.d.ts +13 -0
- package/types/api/clients/gateways/defaults/trunkingGateway.d.ts +11 -0
- package/types/api/clients/gateways/gateways.d.ts +28 -0
- package/types/api/clients/index.d.ts +33 -0
- package/types/api/clients/labels/labels.d.ts +11 -0
- package/types/api/clients/lists/blacklists.d.ts +24 -0
- package/types/api/clients/media/media.d.ts +19 -0
- package/types/api/clients/object/object.d.ts +11 -0
- package/types/api/clients/queues/defaults/processing.d.ts +7 -0
- package/types/api/clients/queues/queues.d.ts +32 -0
- package/types/api/clients/quickReplies/quickReplies.d.ts +24 -0
- package/types/api/clients/roles/roles.d.ts +32 -0
- package/types/api/clients/skills/skills.d.ts +24 -0
- package/types/api/clients/slaConditions/slaConditions.d.ts +30 -0
- package/types/api/clients/slas/slas.d.ts +24 -0
- package/types/api/clients/teams/teams.d.ts +24 -0
- package/types/api/clients/users/users.d.ts +46 -0
- package/types/api/clients/wtTypes/_shared/utils/sortDynamicFields.d.ts +2 -0
- package/types/api/clients/wtTypes/sysTypes/sysTypes.d.ts +30 -0
- package/types/api/clients/wtTypes/typeExtensions/typeExtensions.d.ts +32 -0
- package/types/api/clients//321/201ontacts/contactChatMessagesHistory.d.ts +14 -0
- package/types/api/clients//321/201ontacts/contacts.d.ts +23 -0
- package/types/api/clients//321/201ontacts/enums/ContactsSearchMode.d.ts +8 -0
- package/types/api/clients//321/201ontacts/index.d.ts +4 -0
- package/types/api/defaults/getDefaultGetListResponse/getDefaultGetListResponse.d.ts +5 -0
- package/types/api/defaults/getDefaultGetParams/getDefaultGetParams.d.ts +8 -0
- package/types/api/defaults/getDefaultInstance/getDefaultInstance.d.ts +3 -0
- package/types/api/defaults/getDefaultOpenAPIConfig/getDefaultOpenAPIConfig.d.ts +3 -0
- package/types/api/defaults/index.d.ts +5 -0
- package/types/api/index.d.ts +5 -0
- package/types/api/interceptors/index.d.ts +2 -0
- package/types/api/interceptors/request/index.d.ts +1 -0
- package/types/api/interceptors/request/updateToken.interceptor.d.ts +2 -0
- package/types/api/interceptors/response/handleUnauthorized.interceptor.d.ts +2 -0
- package/types/api/interceptors/response/index.d.ts +1 -0
- package/types/api/transformers/addQueryParamsToUrl/addQueryParamsToUrl.transformer.d.ts +2 -0
- package/types/api/transformers/applyTransform.d.ts +5 -0
- package/types/api/transformers/camelToSnake/camelToSnake.transformer.d.ts +2 -0
- package/types/api/transformers/generateUrl/generateUrl.transformer.d.ts +2 -0
- package/types/api/transformers/index.d.ts +14 -0
- package/types/api/transformers/log/log.transformer.d.ts +2 -0
- package/types/api/transformers/merge/merge.transformer.d.ts +2 -0
- package/types/api/transformers/mergeEach/mergeEach.transformer.d.ts +2 -0
- package/types/api/transformers/notify/notify.transformer.d.ts +2 -0
- package/types/api/transformers/sanitize/sanitize.transformer.d.ts +2 -0
- package/types/api/transformers/skipIf/skipIf.d.ts +1 -0
- package/types/api/transformers/snakeToCamel/snakeToCamel.transformer.d.ts +2 -0
- package/types/api/transformers/starToSearch/starToSearch.transformer.d.ts +2 -0
- package/types/gen/_models/configServicePatchConfigBody.d.ts +15 -0
- package/types/gen/_models/configServiceUpdateConfigBody.d.ts +14 -0
- package/types/gen/_models/engineTriggerObjectType.d.ts +0 -1
- package/types/gen/_models/fileServiceSearchFilesChannelItem.d.ts +0 -2
- package/types/gen/_models/googlerpcStatus.d.ts +4 -4
- package/types/gen/_models/groupsAddContactsToGroupParams.d.ts +12 -0
- package/types/gen/_models/loggerDeleteConfigBulkRequest.d.ts +9 -0
- package/types/gen/_models/loggerDeleteConfigLogsRequest.d.ts +10 -0
- package/types/gen/_models/loggerDeleteConfigLogsResponse.d.ts +9 -0
- package/types/gen/_models/readSystemObjectsParams.d.ts +9 -0
- package/types/gen/_models/searchConfigObjectItem.d.ts +25 -0
- package/types/gen/_models/searchConfigParams.d.ts +18 -0
- package/types/gen/_models/searchLogByConfigIdActionItem.d.ts +14 -0
- package/types/gen/_models/searchLogByConfigIdParams.d.ts +19 -0
- package/types/gen/_models/searchLogByRecordIdActionItem.d.ts +14 -0
- package/types/gen/_models/searchLogByRecordIdParams.d.ts +22 -0
- package/types/gen/_models/searchLogByUserIdActionItem.d.ts +14 -0
- package/types/gen/_models/searchLogByUserIdParams.d.ts +25 -0
- package/types/gen/_models/storageUploadFileChannel.d.ts +0 -2
- package/types/gen/_models/webitelcasesStatus.d.ts +2 -2
- package/types/gen/file-policies-service/file-policies-service.zod.gen.d.ts +0 -18
- package/types/gen/file-service/file-service.api.gen.d.ts +1 -3
- package/types/gen/file-service/file-service.msw.api.gen.d.ts +1 -3
- package/types/gen/file-service/file-service.zod.gen.d.ts +0 -18
- package/types/gen/trigger-service/trigger-service.zod.gen.d.ts +0 -9
- package/src/defaults/index.ts +0 -2
- package/src/gen/_docs/html/variables/sources_sources.zod.gen.createSourceBodyNameRegExp.html +0 -1
- package/src/gen/_docs/html/variables/sources_sources.zod.gen.createSourceResponseNameRegExp.html +0 -1
- package/src/gen/_docs/html/variables/sources_sources.zod.gen.deleteSourceResponseNameRegExp.html +0 -1
- package/src/gen/_docs/html/variables/sources_sources.zod.gen.listSourcesResponseItemsItemNameRegExp.html +0 -1
- package/src/gen/_docs/html/variables/sources_sources.zod.gen.locateSourceResponseSourceNameRegExp.html +0 -1
- package/src/gen/_docs/html/variables/sources_sources.zod.gen.updateSource2BodyNameRegExp.html +0 -1
- package/src/gen/_docs/html/variables/sources_sources.zod.gen.updateSource2ResponseNameRegExp.html +0 -1
- package/src/gen/_docs/html/variables/sources_sources.zod.gen.updateSourceBodyNameRegExp.html +0 -1
- package/src/gen/_docs/html/variables/sources_sources.zod.gen.updateSourceResponseNameRegExp.html +0 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import defaultGateway from './defaultGateway';
|
|
2
|
+
|
|
3
|
+
const trunkingGateway = () => ({
|
|
4
|
+
...defaultGateway(),
|
|
5
|
+
register: false,
|
|
6
|
+
host: '',
|
|
7
|
+
ipacl: [
|
|
8
|
+
// {
|
|
9
|
+
// ip: '',
|
|
10
|
+
// proto: 'any',
|
|
11
|
+
// port: null,
|
|
12
|
+
// },
|
|
13
|
+
],
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
export default trunkingGateway;
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getDefaultGetListResponse,
|
|
3
|
+
getDefaultGetParams,
|
|
4
|
+
getDefaultInstance,
|
|
5
|
+
} from '../../defaults/index';
|
|
6
|
+
import applyTransform, {
|
|
7
|
+
camelToSnake,
|
|
8
|
+
generateUrl,
|
|
9
|
+
merge,
|
|
10
|
+
mergeEach,
|
|
11
|
+
notify,
|
|
12
|
+
sanitize,
|
|
13
|
+
snakeToCamel,
|
|
14
|
+
starToSearch,
|
|
15
|
+
} from '../../transformers/index';
|
|
16
|
+
import registerGateway from './defaults/registerGateway';
|
|
17
|
+
import trunkingGateway from './defaults/trunkingGateway';
|
|
18
|
+
|
|
19
|
+
const instance = getDefaultInstance();
|
|
20
|
+
|
|
21
|
+
const baseUrl = '/sip/gateways';
|
|
22
|
+
|
|
23
|
+
const getGatewayList = async (params) => {
|
|
24
|
+
const fieldsToSend = ['page', 'size', 'q', 'sort', 'fields', 'id', 'name'];
|
|
25
|
+
|
|
26
|
+
const defaultObject = {
|
|
27
|
+
name: '',
|
|
28
|
+
proxy: '',
|
|
29
|
+
enable: false,
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const url = applyTransform(params, [
|
|
33
|
+
merge(getDefaultGetParams()),
|
|
34
|
+
starToSearch('search'),
|
|
35
|
+
starToSearch('name'),
|
|
36
|
+
(params) => ({ ...params, q: params.search }),
|
|
37
|
+
sanitize(fieldsToSend),
|
|
38
|
+
camelToSnake(),
|
|
39
|
+
generateUrl(baseUrl),
|
|
40
|
+
]);
|
|
41
|
+
try {
|
|
42
|
+
const response = await instance.get(url);
|
|
43
|
+
const { items, next } = applyTransform(response.data, [
|
|
44
|
+
snakeToCamel(),
|
|
45
|
+
merge(getDefaultGetListResponse()),
|
|
46
|
+
]);
|
|
47
|
+
return {
|
|
48
|
+
items: applyTransform(items, [mergeEach(defaultObject)]),
|
|
49
|
+
next,
|
|
50
|
+
};
|
|
51
|
+
} catch (err) {
|
|
52
|
+
throw applyTransform(err, [notify]);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const getGateway = async ({ itemId: id }) => {
|
|
57
|
+
const coerceTrunkingResponse = (response) => {
|
|
58
|
+
const defaultIPacl = {
|
|
59
|
+
ip: '',
|
|
60
|
+
proto: 'any',
|
|
61
|
+
port: null,
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const result = { ...trunkingGateway(), ...response };
|
|
65
|
+
result.ipacl = result.ipacl.map((acl) => ({ ...defaultIPacl, ...acl }));
|
|
66
|
+
return result;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const coerceRegisterResponse = (response) => {
|
|
70
|
+
const result = { ...registerGateway(), ...response };
|
|
71
|
+
return result;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const itemResponseHandler = (response) => {
|
|
75
|
+
if (response.register) return coerceRegisterResponse(response);
|
|
76
|
+
return coerceTrunkingResponse(response);
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
const url = `${baseUrl}/${id}`;
|
|
80
|
+
|
|
81
|
+
try {
|
|
82
|
+
const response = await instance.get(url);
|
|
83
|
+
return applyTransform(response.data, [snakeToCamel(), itemResponseHandler]);
|
|
84
|
+
} catch (err) {
|
|
85
|
+
throw applyTransform(err, [notify]);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
const fieldsToSend = [
|
|
90
|
+
'name',
|
|
91
|
+
'proxy',
|
|
92
|
+
'id',
|
|
93
|
+
'host',
|
|
94
|
+
'ipacl',
|
|
95
|
+
'account',
|
|
96
|
+
'username',
|
|
97
|
+
'expires',
|
|
98
|
+
'account',
|
|
99
|
+
'registrar',
|
|
100
|
+
'name',
|
|
101
|
+
'register',
|
|
102
|
+
'password',
|
|
103
|
+
'schema',
|
|
104
|
+
'usage',
|
|
105
|
+
'enable',
|
|
106
|
+
];
|
|
107
|
+
|
|
108
|
+
const addGateway = async ({ itemInstance }) => {
|
|
109
|
+
const item = applyTransform(itemInstance, [
|
|
110
|
+
sanitize(fieldsToSend),
|
|
111
|
+
camelToSnake(),
|
|
112
|
+
]);
|
|
113
|
+
try {
|
|
114
|
+
const response = await instance.post(baseUrl, item);
|
|
115
|
+
return applyTransform(response.data, [snakeToCamel()]);
|
|
116
|
+
} catch (err) {
|
|
117
|
+
throw applyTransform(err, [notify]);
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
const updateGateway = async ({ itemInstance, itemId: id }) => {
|
|
121
|
+
const item = applyTransform(itemInstance, [
|
|
122
|
+
sanitize(fieldsToSend),
|
|
123
|
+
camelToSnake(),
|
|
124
|
+
]);
|
|
125
|
+
|
|
126
|
+
const url = `${baseUrl}/${id}`;
|
|
127
|
+
try {
|
|
128
|
+
const response = await instance.put(url, item);
|
|
129
|
+
return applyTransform(response.data, [snakeToCamel()]);
|
|
130
|
+
} catch (err) {
|
|
131
|
+
throw applyTransform(err, [notify]);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
const patchGateway = async ({ changes, id }) => {
|
|
136
|
+
const body = applyTransform(changes, [
|
|
137
|
+
sanitize(fieldsToSend),
|
|
138
|
+
camelToSnake(),
|
|
139
|
+
]);
|
|
140
|
+
const url = `${baseUrl}/${id}`;
|
|
141
|
+
try {
|
|
142
|
+
const response = await instance.patch(url, body);
|
|
143
|
+
return applyTransform(response.data, [snakeToCamel()]);
|
|
144
|
+
} catch (err) {
|
|
145
|
+
throw applyTransform(err, [notify]);
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
const deleteGateway = async ({ id }) => {
|
|
150
|
+
const url = `${baseUrl}/${id}`;
|
|
151
|
+
try {
|
|
152
|
+
const response = await instance.delete(url);
|
|
153
|
+
return applyTransform(response.data, []);
|
|
154
|
+
} catch (err) {
|
|
155
|
+
throw applyTransform(err, [notify]);
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
const getGatewaysLookup = (params) =>
|
|
160
|
+
getGatewayList({
|
|
161
|
+
...params,
|
|
162
|
+
fields: params.fields || ['id', 'name'],
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
const GatewaysAPI = {
|
|
166
|
+
getList: getGatewayList,
|
|
167
|
+
get: getGateway,
|
|
168
|
+
add: addGateway,
|
|
169
|
+
patch: patchGateway,
|
|
170
|
+
update: updateGateway,
|
|
171
|
+
delete: deleteGateway,
|
|
172
|
+
getLookup: getGatewaysLookup,
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
export default GatewaysAPI;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import agentChats from './agents/agentChats';
|
|
2
|
+
import agents from './agents/agents';
|
|
3
|
+
import buckets from './buckets/buckets';
|
|
4
|
+
import calendars from './calendars/calendars';
|
|
5
|
+
import caseCloseReasonGroups from './caseCloseReasonGroups/caseCloseReasonGroups';
|
|
6
|
+
import caseCloseReasons from './caseCloseReasons/caseCloseReasons';
|
|
7
|
+
import casePriorities from './casePriorities/casePriorities';
|
|
8
|
+
import caseServiceCatalogs from './caseServiceCatalogs/serviceCatalogs';
|
|
9
|
+
import caseSources from './caseSources/caseSources';
|
|
10
|
+
import caseStatusConditions from './caseStatusConditions/caseStatusConditions';
|
|
11
|
+
import caseStatuses from './caseStatuses/caseStatuses';
|
|
12
|
+
import catalog from './catalog/catalog';
|
|
13
|
+
import chatGateways from './chatGateways/chatGateways';
|
|
14
|
+
import communications from './communications/communications';
|
|
15
|
+
import configurations from './configurations/configurations';
|
|
16
|
+
import contactGroups from './contactGroups/contactGroups';
|
|
17
|
+
import flows from './flows/flow';
|
|
18
|
+
import gateways from './gateways/gateways';
|
|
19
|
+
import labels from './labels/labels';
|
|
20
|
+
import lists from './lists/blacklists';
|
|
21
|
+
import media from './media/media';
|
|
22
|
+
import object from './object/object';
|
|
23
|
+
import queues from './queues/queues';
|
|
24
|
+
import roles from './roles/roles';
|
|
25
|
+
import skills from './skills/skills';
|
|
26
|
+
import slas from './slas/slas';
|
|
27
|
+
import teams from './teams/teams';
|
|
28
|
+
import users from './users/users';
|
|
29
|
+
import sysTypes from './wtTypes/sysTypes/sysTypes';
|
|
30
|
+
import typeExtensions from './wtTypes/typeExtensions/typeExtensions';
|
|
31
|
+
import { contactChatMessagesHistory, contacts } from './сontacts/index';
|
|
32
|
+
import quickReplies from './quickReplies/quickReplies';
|
|
33
|
+
|
|
34
|
+
export {
|
|
35
|
+
agentChats,
|
|
36
|
+
agents,
|
|
37
|
+
buckets,
|
|
38
|
+
calendars,
|
|
39
|
+
caseCloseReasonGroups,
|
|
40
|
+
caseCloseReasons,
|
|
41
|
+
casePriorities,
|
|
42
|
+
caseServiceCatalogs,
|
|
43
|
+
caseSources,
|
|
44
|
+
caseStatusConditions,
|
|
45
|
+
caseStatuses,
|
|
46
|
+
catalog,
|
|
47
|
+
chatGateways,
|
|
48
|
+
communications,
|
|
49
|
+
configurations,
|
|
50
|
+
contactChatMessagesHistory,
|
|
51
|
+
contactGroups,
|
|
52
|
+
contacts,
|
|
53
|
+
flows,
|
|
54
|
+
gateways,
|
|
55
|
+
labels,
|
|
56
|
+
lists,
|
|
57
|
+
media,
|
|
58
|
+
object,
|
|
59
|
+
queues,
|
|
60
|
+
quickReplies,
|
|
61
|
+
roles,
|
|
62
|
+
skills,
|
|
63
|
+
slas,
|
|
64
|
+
sysTypes,
|
|
65
|
+
teams,
|
|
66
|
+
typeExtensions,
|
|
67
|
+
users,
|
|
68
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getDefaultGetParams,
|
|
3
|
+
getDefaultInstance, getDefaultOpenAPIConfig,
|
|
4
|
+
} from '../../defaults/index';
|
|
5
|
+
import applyTransform, {
|
|
6
|
+
camelToSnake,
|
|
7
|
+
merge,
|
|
8
|
+
notify,
|
|
9
|
+
sanitize,
|
|
10
|
+
snakeToCamel,
|
|
11
|
+
starToSearch,
|
|
12
|
+
} from '../../transformers/index';
|
|
13
|
+
import { LabelsApiFactory } from 'webitel-sdk';
|
|
14
|
+
|
|
15
|
+
const instance = getDefaultInstance();
|
|
16
|
+
const configuration = getDefaultOpenAPIConfig();
|
|
17
|
+
|
|
18
|
+
const service = new LabelsApiFactory(configuration, '', instance);
|
|
19
|
+
|
|
20
|
+
const getList = async (params) => {
|
|
21
|
+
const fieldsToSend = ['page', 'size', 'search', 'sort', 'fields', 'id'];
|
|
22
|
+
const {
|
|
23
|
+
page,
|
|
24
|
+
size,
|
|
25
|
+
search,
|
|
26
|
+
} = applyTransform(params, [
|
|
27
|
+
sanitize(fieldsToSend),
|
|
28
|
+
merge(getDefaultGetParams()),
|
|
29
|
+
starToSearch('search'),
|
|
30
|
+
camelToSnake(),
|
|
31
|
+
]);
|
|
32
|
+
try {
|
|
33
|
+
const response = await service.getLabels(page, size, search);
|
|
34
|
+
const { labels, next } = applyTransform(response.data, [
|
|
35
|
+
snakeToCamel(),
|
|
36
|
+
merge({ labels: [], next: false }),
|
|
37
|
+
]);
|
|
38
|
+
return {
|
|
39
|
+
items: labels,
|
|
40
|
+
next,
|
|
41
|
+
};
|
|
42
|
+
} catch (err) {
|
|
43
|
+
throw applyTransform(err, [notify]);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const getLabelsLookup = (params) =>
|
|
48
|
+
getList({
|
|
49
|
+
...params,
|
|
50
|
+
fields: params.fields || ['id', 'name'],
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
export default {
|
|
54
|
+
getList,
|
|
55
|
+
getLookup: getLabelsLookup,
|
|
56
|
+
};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { ListServiceApiFactory } from 'webitel-sdk';
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
getDefaultGetListResponse,
|
|
5
|
+
getDefaultGetParams,
|
|
6
|
+
getDefaultInstance,
|
|
7
|
+
getDefaultOpenAPIConfig,
|
|
8
|
+
} from '../../defaults/index';
|
|
9
|
+
import applyTransform, {
|
|
10
|
+
camelToSnake,
|
|
11
|
+
merge,
|
|
12
|
+
mergeEach,
|
|
13
|
+
notify,
|
|
14
|
+
sanitize,
|
|
15
|
+
snakeToCamel,
|
|
16
|
+
starToSearch,
|
|
17
|
+
} from '../../transformers/index';
|
|
18
|
+
|
|
19
|
+
const instance = getDefaultInstance();
|
|
20
|
+
const configuration = getDefaultOpenAPIConfig();
|
|
21
|
+
|
|
22
|
+
const listService = new ListServiceApiFactory(configuration, '', instance);
|
|
23
|
+
|
|
24
|
+
const getBlacklistList = async (params) => {
|
|
25
|
+
const defaultObject = {
|
|
26
|
+
name: '',
|
|
27
|
+
count: 0,
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const { page, size, search, sort, fields, id } = applyTransform(params, [
|
|
31
|
+
merge(getDefaultGetParams()),
|
|
32
|
+
starToSearch('search'),
|
|
33
|
+
camelToSnake(),
|
|
34
|
+
]);
|
|
35
|
+
|
|
36
|
+
try {
|
|
37
|
+
const response = await listService.searchList(
|
|
38
|
+
page,
|
|
39
|
+
size,
|
|
40
|
+
search,
|
|
41
|
+
sort,
|
|
42
|
+
fields,
|
|
43
|
+
id,
|
|
44
|
+
);
|
|
45
|
+
const { items, next } = applyTransform(response.data, [
|
|
46
|
+
snakeToCamel(),
|
|
47
|
+
merge(getDefaultGetListResponse()),
|
|
48
|
+
]);
|
|
49
|
+
return {
|
|
50
|
+
items: applyTransform(items, [mergeEach(defaultObject)]),
|
|
51
|
+
next,
|
|
52
|
+
};
|
|
53
|
+
} catch (err) {
|
|
54
|
+
throw applyTransform(err, [notify]);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const getBlacklist = async ({ itemId: id }) => {
|
|
59
|
+
try {
|
|
60
|
+
const response = await listService.readList(id);
|
|
61
|
+
return applyTransform(response.data, [snakeToCamel()]);
|
|
62
|
+
} catch (err) {
|
|
63
|
+
throw applyTransform(err, [notify]);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const fieldsToSend = ['name', 'description'];
|
|
68
|
+
|
|
69
|
+
const addBlacklist = async ({ itemInstance }) => {
|
|
70
|
+
const item = applyTransform(itemInstance, [
|
|
71
|
+
sanitize(fieldsToSend),
|
|
72
|
+
camelToSnake(),
|
|
73
|
+
]);
|
|
74
|
+
try {
|
|
75
|
+
const response = await listService.createList(item);
|
|
76
|
+
return applyTransform(response.data, [snakeToCamel()]);
|
|
77
|
+
} catch (err) {
|
|
78
|
+
throw applyTransform(err, [notify]);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
const updateBlacklist = async ({ itemInstance, itemId: id }) => {
|
|
83
|
+
const item = applyTransform(itemInstance, [
|
|
84
|
+
sanitize(fieldsToSend),
|
|
85
|
+
camelToSnake(),
|
|
86
|
+
]);
|
|
87
|
+
try {
|
|
88
|
+
const response = await listService.updateList(id, item);
|
|
89
|
+
return applyTransform(response.data, [snakeToCamel()]);
|
|
90
|
+
} catch (err) {
|
|
91
|
+
throw applyTransform(err, [notify]);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
const deleteBlacklist = async ({ id }) => {
|
|
96
|
+
try {
|
|
97
|
+
const response = await listService.deleteList(id);
|
|
98
|
+
return applyTransform(response.data, []);
|
|
99
|
+
} catch (err) {
|
|
100
|
+
throw applyTransform(err, [notify]);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
const getBlacklistsLookup = (params) =>
|
|
104
|
+
getBlacklistList({
|
|
105
|
+
...params,
|
|
106
|
+
fields: params.fields || ['id', 'name'],
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
const BlacklistsAPI = {
|
|
110
|
+
getList: getBlacklistList,
|
|
111
|
+
get: getBlacklist,
|
|
112
|
+
add: addBlacklist,
|
|
113
|
+
update: updateBlacklist,
|
|
114
|
+
delete: deleteBlacklist,
|
|
115
|
+
getLookup: getBlacklistsLookup,
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
export default BlacklistsAPI;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { MediaFileServiceApiFactory } from 'webitel-sdk';
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
getDefaultGetListResponse,
|
|
6
|
+
getDefaultGetParams,
|
|
7
|
+
getDefaultInstance,
|
|
8
|
+
getDefaultOpenAPIConfig,
|
|
9
|
+
} from '../../defaults/index';
|
|
10
|
+
import applyTransform, {
|
|
11
|
+
merge,
|
|
12
|
+
notify,
|
|
13
|
+
snakeToCamel,
|
|
14
|
+
starToSearch,
|
|
15
|
+
} from '../../transformers/index';
|
|
16
|
+
|
|
17
|
+
const instance = getDefaultInstance();
|
|
18
|
+
const configuration = getDefaultOpenAPIConfig();
|
|
19
|
+
|
|
20
|
+
const mediaService = new MediaFileServiceApiFactory(
|
|
21
|
+
configuration,
|
|
22
|
+
'',
|
|
23
|
+
instance,
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
const token = localStorage.getItem('access-token');
|
|
27
|
+
const baseUrl = import.meta.env.VITE_API_URL;
|
|
28
|
+
|
|
29
|
+
const getMediaList = async (params) => {
|
|
30
|
+
const { page, size, search, sort, fields, id } = applyTransform(params, [
|
|
31
|
+
merge(getDefaultGetParams()),
|
|
32
|
+
starToSearch('search'),
|
|
33
|
+
]);
|
|
34
|
+
|
|
35
|
+
try {
|
|
36
|
+
const response = await mediaService.searchMediaFile(
|
|
37
|
+
page,
|
|
38
|
+
size,
|
|
39
|
+
search,
|
|
40
|
+
sort,
|
|
41
|
+
fields,
|
|
42
|
+
id,
|
|
43
|
+
);
|
|
44
|
+
const { items, next } = applyTransform(response.data, [
|
|
45
|
+
snakeToCamel(),
|
|
46
|
+
merge(getDefaultGetListResponse()),
|
|
47
|
+
]);
|
|
48
|
+
return {
|
|
49
|
+
items,
|
|
50
|
+
next,
|
|
51
|
+
};
|
|
52
|
+
} catch (err) {
|
|
53
|
+
throw applyTransform(err, [notify]);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const getMedia = async ({ itemId }) => {
|
|
58
|
+
const url = `${baseUrl}/storage/media/${itemId}/stream?access_token=${token}`;
|
|
59
|
+
try {
|
|
60
|
+
return await instance.get(url);
|
|
61
|
+
} catch (err) {
|
|
62
|
+
throw applyTransform(err, [notify]);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export const downloadMedia = async (id) => {
|
|
67
|
+
const url = `${baseUrl}/storage/media/${id}/download?access_token=${token}`;
|
|
68
|
+
try {
|
|
69
|
+
return await instance.get(url);
|
|
70
|
+
} catch (err) {
|
|
71
|
+
throw applyTransform(err, [notify]);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const addMediaInstance = axios.create({
|
|
76
|
+
headers: {
|
|
77
|
+
'content-type': 'multipart/form-data',
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
const addMedia = async (params) => {
|
|
82
|
+
const url = `${baseUrl}/storage/media?access_token=${token}`;
|
|
83
|
+
|
|
84
|
+
const formData = new FormData();
|
|
85
|
+
formData.append('file', params.itemInstance);
|
|
86
|
+
try {
|
|
87
|
+
const response = await addMediaInstance.post(url, formData);
|
|
88
|
+
applyTransform(response, [
|
|
89
|
+
notify(() => ({ type: 'success', text: 'Successfully added' })),
|
|
90
|
+
]);
|
|
91
|
+
return response;
|
|
92
|
+
} catch (err) {
|
|
93
|
+
throw applyTransform(err, [notify]);
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
const deleteMedia = async ({ id }) => {
|
|
98
|
+
try {
|
|
99
|
+
const response = await mediaService.deleteMediaFile(id);
|
|
100
|
+
return applyTransform(response.data, []);
|
|
101
|
+
} catch (err) {
|
|
102
|
+
throw applyTransform(err, [notify]);
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
const getMediaLookup = (params) =>
|
|
107
|
+
getMediaList({
|
|
108
|
+
...params,
|
|
109
|
+
fields: params.fields || ['id', 'name'],
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
const MediaAPI = {
|
|
113
|
+
getList: getMediaList,
|
|
114
|
+
get: getMedia,
|
|
115
|
+
add: addMedia,
|
|
116
|
+
delete: deleteMedia,
|
|
117
|
+
getLookup: getMediaLookup,
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
export default MediaAPI;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { TypesApiFactory } from 'webitel-sdk';
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
getDefaultGetListResponse,
|
|
5
|
+
getDefaultGetParams,
|
|
6
|
+
getDefaultInstance,
|
|
7
|
+
getDefaultOpenAPIConfig,
|
|
8
|
+
} from '../../defaults/index';
|
|
9
|
+
import applyTransform, {
|
|
10
|
+
camelToSnake,
|
|
11
|
+
generateUrl,
|
|
12
|
+
merge,
|
|
13
|
+
notify,
|
|
14
|
+
sanitize,
|
|
15
|
+
snakeToCamel,
|
|
16
|
+
starToSearch,
|
|
17
|
+
} from '../../transformers/index';
|
|
18
|
+
|
|
19
|
+
const instance = getDefaultInstance();
|
|
20
|
+
const configuration = getDefaultOpenAPIConfig();
|
|
21
|
+
|
|
22
|
+
const typeService = new TypesApiFactory(configuration, '', instance);
|
|
23
|
+
|
|
24
|
+
const getObjectList = async (params) => {
|
|
25
|
+
const fieldsToSend = ['page', 'size', 'q', 'sort', 'fields', 'id'];
|
|
26
|
+
|
|
27
|
+
const { page, size, fields, sort, id, q } = applyTransform(params, [
|
|
28
|
+
merge(getDefaultGetParams()),
|
|
29
|
+
starToSearch('search'),
|
|
30
|
+
(params) => ({ ...params, q: params.search }),
|
|
31
|
+
sanitize(fieldsToSend),
|
|
32
|
+
camelToSnake(),
|
|
33
|
+
]);
|
|
34
|
+
try {
|
|
35
|
+
const response = await typeService.search(
|
|
36
|
+
q,
|
|
37
|
+
id,
|
|
38
|
+
undefined,
|
|
39
|
+
undefined,
|
|
40
|
+
undefined,
|
|
41
|
+
undefined,
|
|
42
|
+
undefined,
|
|
43
|
+
undefined,
|
|
44
|
+
undefined,
|
|
45
|
+
size,
|
|
46
|
+
page,
|
|
47
|
+
sort,
|
|
48
|
+
fields,
|
|
49
|
+
);
|
|
50
|
+
const { data, next } = applyTransform(response.data, [
|
|
51
|
+
merge(getDefaultGetListResponse()),
|
|
52
|
+
]);
|
|
53
|
+
|
|
54
|
+
const itemResponseHandler = (items) =>
|
|
55
|
+
(items || []).map((item) => ({
|
|
56
|
+
...item,
|
|
57
|
+
id: item.repo,
|
|
58
|
+
}));
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
items: applyTransform(data, [snakeToCamel(), itemResponseHandler]),
|
|
62
|
+
next,
|
|
63
|
+
};
|
|
64
|
+
} catch (err) {
|
|
65
|
+
throw applyTransform(err, [notify]);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const getObjectLookupList = async ({ ...params }) => {
|
|
70
|
+
const fieldsToSend = [
|
|
71
|
+
'page',
|
|
72
|
+
'size',
|
|
73
|
+
'q',
|
|
74
|
+
'sort',
|
|
75
|
+
'extensions',
|
|
76
|
+
'fields',
|
|
77
|
+
'id',
|
|
78
|
+
];
|
|
79
|
+
|
|
80
|
+
const url = applyTransform(params, [
|
|
81
|
+
merge(getDefaultGetParams()),
|
|
82
|
+
(params) => ({ ...params, q: params.search, extensions: false }),
|
|
83
|
+
sanitize(fieldsToSend),
|
|
84
|
+
camelToSnake(),
|
|
85
|
+
generateUrl('types'),
|
|
86
|
+
]);
|
|
87
|
+
try {
|
|
88
|
+
const response = await instance.get(url);
|
|
89
|
+
const { data, next } = applyTransform(response.data, [
|
|
90
|
+
snakeToCamel(),
|
|
91
|
+
merge(getDefaultGetListResponse()),
|
|
92
|
+
]);
|
|
93
|
+
|
|
94
|
+
return {
|
|
95
|
+
items: data ?? [],
|
|
96
|
+
next,
|
|
97
|
+
};
|
|
98
|
+
} catch (err) {
|
|
99
|
+
throw applyTransform(err, [notify]);
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
const getObjectLookup = async (params) =>
|
|
104
|
+
getObjectLookupList({
|
|
105
|
+
...params,
|
|
106
|
+
fields: params.fields || ['id', 'name'],
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
const ObjectsApi = {
|
|
110
|
+
getList: getObjectList,
|
|
111
|
+
getLookup: getObjectLookup,
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export default ObjectsApi;
|