@webitel/api-services 0.0.24 → 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 +13 -9
- 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/engineTriggerObjectType.d.ts +0 -1
- package/types/gen/_models/fileServiceSearchFilesChannelItem.d.ts +0 -2
- package/types/gen/_models/googleRpcStatus.d.ts +12 -0
- package/types/gen/_models/storageUploadFileChannel.d.ts +0 -2
- package/types/gen/_models/webitelCasesStatus.d.ts +16 -0
- 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/.nojekyll +0 -1
- 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
- package/types/gen/_models/casesCaseCustom.d.ts +0 -12
- package/types/gen/_models/casesInputCaseCustom.d.ts +0 -12
- package/types/gen/_models/casesInputCreateCaseCustom.d.ts +0 -12
- package/types/gen/_models/protobufNullValue.d.ts +0 -18
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import deepCopy from 'deep-copy';
|
|
2
|
+
import { CalendarServiceApiFactory } from 'webitel-sdk';
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
getDefaultGetListResponse,
|
|
6
|
+
getDefaultGetParams,
|
|
7
|
+
getDefaultInstance,
|
|
8
|
+
getDefaultOpenAPIConfig,
|
|
9
|
+
} from '../../defaults/index';
|
|
10
|
+
import applyTransform, {
|
|
11
|
+
camelToSnake,
|
|
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 calendarService = new CalendarServiceApiFactory(
|
|
23
|
+
configuration,
|
|
24
|
+
'',
|
|
25
|
+
instance,
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
const getCalendarList = async (params) => {
|
|
29
|
+
const { page, size, search, sort, fields, id } = applyTransform(params, [
|
|
30
|
+
merge(getDefaultGetParams()),
|
|
31
|
+
starToSearch('search'),
|
|
32
|
+
]);
|
|
33
|
+
|
|
34
|
+
try {
|
|
35
|
+
const response = await calendarService.searchCalendar(
|
|
36
|
+
page,
|
|
37
|
+
size,
|
|
38
|
+
search,
|
|
39
|
+
sort,
|
|
40
|
+
fields,
|
|
41
|
+
id,
|
|
42
|
+
);
|
|
43
|
+
const { items, next } = applyTransform(response.data, [
|
|
44
|
+
snakeToCamel(),
|
|
45
|
+
merge(getDefaultGetListResponse()),
|
|
46
|
+
]);
|
|
47
|
+
return {
|
|
48
|
+
items,
|
|
49
|
+
next,
|
|
50
|
+
};
|
|
51
|
+
} catch (err) {
|
|
52
|
+
throw applyTransform(err, [notify]);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const getCalendar = async ({ itemId: id }) => {
|
|
57
|
+
const itemResponseHandler = (item) => {
|
|
58
|
+
const copy = deepCopy(item);
|
|
59
|
+
const defaultSingleObject = {
|
|
60
|
+
name: '',
|
|
61
|
+
timezone: {},
|
|
62
|
+
description: '',
|
|
63
|
+
startAt: Date.now(),
|
|
64
|
+
endAt: Date.now(),
|
|
65
|
+
expires: !!(copy.startAt || copy.endAt),
|
|
66
|
+
accepts: [],
|
|
67
|
+
excepts: [],
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
copy.accepts = copy.accepts.map((accept) => ({
|
|
71
|
+
day: accept.day || 0,
|
|
72
|
+
disabled: accept.disabled || false,
|
|
73
|
+
start: accept.startTimeOfDay || 0,
|
|
74
|
+
end: accept.endTimeOfDay || 0,
|
|
75
|
+
}));
|
|
76
|
+
if (copy.excepts) {
|
|
77
|
+
copy.excepts = copy.excepts.map((except) => ({
|
|
78
|
+
name: except.name || '',
|
|
79
|
+
date: except.date || 0,
|
|
80
|
+
repeat: except.repeat || false,
|
|
81
|
+
working: except.working || false,
|
|
82
|
+
workStart: except.workStart || null,
|
|
83
|
+
workStop: except.workStop || null,
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
return { ...defaultSingleObject, ...copy };
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
try {
|
|
90
|
+
const response = await calendarService.readCalendar(id);
|
|
91
|
+
return applyTransform(response.data, [snakeToCamel(), itemResponseHandler]);
|
|
92
|
+
} catch (err) {
|
|
93
|
+
throw applyTransform(err, [notify]);
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
const fieldsToSend = [
|
|
98
|
+
'name',
|
|
99
|
+
'description',
|
|
100
|
+
'timezone',
|
|
101
|
+
'startAt',
|
|
102
|
+
'endAt',
|
|
103
|
+
'day',
|
|
104
|
+
'accepts',
|
|
105
|
+
'excepts',
|
|
106
|
+
'startTimeOfDay',
|
|
107
|
+
'endTimeOfDay',
|
|
108
|
+
'disabled',
|
|
109
|
+
'date',
|
|
110
|
+
'repeat',
|
|
111
|
+
'working',
|
|
112
|
+
'workStart',
|
|
113
|
+
'workStop',
|
|
114
|
+
];
|
|
115
|
+
|
|
116
|
+
const preRequestHandler = (item) => {
|
|
117
|
+
const copy = deepCopy(item);
|
|
118
|
+
delete copy.timezone.offset;
|
|
119
|
+
if (!copy.expires) {
|
|
120
|
+
delete copy.startAt;
|
|
121
|
+
delete copy.endAt;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
copy.accepts = copy.accepts.map((accept) => ({
|
|
125
|
+
day: accept.day,
|
|
126
|
+
disabled: accept.disabled,
|
|
127
|
+
startTimeOfDay: accept.start,
|
|
128
|
+
endTimeOfDay: accept.end,
|
|
129
|
+
}));
|
|
130
|
+
return copy;
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
const addCalendar = async ({ itemInstance }) => {
|
|
134
|
+
const item = applyTransform(itemInstance, [
|
|
135
|
+
preRequestHandler,
|
|
136
|
+
sanitize(fieldsToSend),
|
|
137
|
+
camelToSnake(),
|
|
138
|
+
]);
|
|
139
|
+
try {
|
|
140
|
+
const response = await calendarService.createCalendar(item);
|
|
141
|
+
return applyTransform(response.data, [snakeToCamel()]);
|
|
142
|
+
} catch (err) {
|
|
143
|
+
throw applyTransform(err, [notify]);
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
const updateCalendar = async ({ itemInstance, itemId: id }) => {
|
|
148
|
+
const item = applyTransform(itemInstance, [
|
|
149
|
+
preRequestHandler,
|
|
150
|
+
sanitize(fieldsToSend),
|
|
151
|
+
camelToSnake(),
|
|
152
|
+
]);
|
|
153
|
+
try {
|
|
154
|
+
const response = await calendarService.updateCalendar(id, item);
|
|
155
|
+
return applyTransform(response.data, [snakeToCamel()]);
|
|
156
|
+
} catch (err) {
|
|
157
|
+
throw applyTransform(err, [notify]);
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
const deleteCalendar = async ({ id }) => {
|
|
162
|
+
try {
|
|
163
|
+
const response = await calendarService.deleteCalendar(id);
|
|
164
|
+
return applyTransform(response.data, []);
|
|
165
|
+
} catch (err) {
|
|
166
|
+
throw applyTransform(err, [notify]);
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
const getCalendarsLookup = (params) =>
|
|
171
|
+
getCalendarList({
|
|
172
|
+
...params,
|
|
173
|
+
fields: params.fields || ['id', 'name'],
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
const getTimezonesLookup = async (params) => {
|
|
177
|
+
const { page, size, search, sort, fields, id } = applyTransform(params, [
|
|
178
|
+
merge(getDefaultGetParams()),
|
|
179
|
+
starToSearch('search'),
|
|
180
|
+
]);
|
|
181
|
+
|
|
182
|
+
try {
|
|
183
|
+
const response = await calendarService.searchTimezones(
|
|
184
|
+
page,
|
|
185
|
+
size,
|
|
186
|
+
search,
|
|
187
|
+
sort,
|
|
188
|
+
fields,
|
|
189
|
+
id,
|
|
190
|
+
);
|
|
191
|
+
const { items, next } = applyTransform(response.data, [
|
|
192
|
+
snakeToCamel(),
|
|
193
|
+
merge(getDefaultGetListResponse()),
|
|
194
|
+
]);
|
|
195
|
+
return {
|
|
196
|
+
items,
|
|
197
|
+
next,
|
|
198
|
+
};
|
|
199
|
+
} catch (err) {
|
|
200
|
+
throw applyTransform(err, [notify]);
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
const CalendarsAPI = {
|
|
205
|
+
getList: getCalendarList,
|
|
206
|
+
get: getCalendar,
|
|
207
|
+
add: addCalendar,
|
|
208
|
+
update: updateCalendar,
|
|
209
|
+
delete: deleteCalendar,
|
|
210
|
+
getLookup: getCalendarsLookup,
|
|
211
|
+
getTimezonesLookup,
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
export default CalendarsAPI;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { CloseReasonGroupsApiFactory } 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
|
+
notify,
|
|
13
|
+
sanitize,
|
|
14
|
+
snakeToCamel,
|
|
15
|
+
} from '../../transformers/index';
|
|
16
|
+
|
|
17
|
+
const instance = getDefaultInstance();
|
|
18
|
+
const configuration = getDefaultOpenAPIConfig();
|
|
19
|
+
|
|
20
|
+
const closeReasonGroupsService = new CloseReasonGroupsApiFactory(
|
|
21
|
+
configuration,
|
|
22
|
+
'',
|
|
23
|
+
instance,
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
const fieldsToSend = ['name', 'description'];
|
|
27
|
+
|
|
28
|
+
const getCloseReasonGroupsList = async (params) => {
|
|
29
|
+
const fieldsToSend = ['page', 'size', 'q', 'sort', 'fields', 'id'];
|
|
30
|
+
|
|
31
|
+
const { page, size, fields, sort, id, q } = applyTransform(params, [
|
|
32
|
+
merge(getDefaultGetParams()),
|
|
33
|
+
(params) => ({ ...params, q: params.search }),
|
|
34
|
+
sanitize(fieldsToSend),
|
|
35
|
+
camelToSnake(),
|
|
36
|
+
]);
|
|
37
|
+
try {
|
|
38
|
+
const response = await closeReasonGroupsService.listCloseReasonGroups(
|
|
39
|
+
page,
|
|
40
|
+
size,
|
|
41
|
+
fields,
|
|
42
|
+
sort,
|
|
43
|
+
id,
|
|
44
|
+
q,
|
|
45
|
+
);
|
|
46
|
+
const { items, next } = applyTransform(response.data, [
|
|
47
|
+
merge(getDefaultGetListResponse()),
|
|
48
|
+
]);
|
|
49
|
+
return {
|
|
50
|
+
items: applyTransform(items, []),
|
|
51
|
+
next,
|
|
52
|
+
};
|
|
53
|
+
} catch (err) {
|
|
54
|
+
throw applyTransform(err, [notify]);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const getCloseReasonGroups = async ({ itemId: id }) => {
|
|
59
|
+
const itemResponseHandler = (item) => {
|
|
60
|
+
return item.closeReasonGroup;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
try {
|
|
64
|
+
const response = await closeReasonGroupsService.locateCloseReasonGroup(
|
|
65
|
+
id,
|
|
66
|
+
fieldsToSend,
|
|
67
|
+
);
|
|
68
|
+
return applyTransform(response.data, [snakeToCamel(), itemResponseHandler]);
|
|
69
|
+
} catch (err) {
|
|
70
|
+
throw applyTransform(err, [notify]);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const addCloseReasonGroups = async ({ itemInstance }) => {
|
|
75
|
+
const item = applyTransform(itemInstance, [
|
|
76
|
+
camelToSnake(),
|
|
77
|
+
sanitize(fieldsToSend),
|
|
78
|
+
]);
|
|
79
|
+
try {
|
|
80
|
+
const response =
|
|
81
|
+
await closeReasonGroupsService.createCloseReasonGroup(item);
|
|
82
|
+
return applyTransform(response.data, [snakeToCamel()]);
|
|
83
|
+
} catch (err) {
|
|
84
|
+
throw applyTransform(err, [notify]);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const updateCloseReasonGroups = async ({ itemInstance, itemId: id }) => {
|
|
89
|
+
const item = applyTransform(itemInstance, [
|
|
90
|
+
camelToSnake(),
|
|
91
|
+
sanitize(fieldsToSend),
|
|
92
|
+
]);
|
|
93
|
+
try {
|
|
94
|
+
const response = await closeReasonGroupsService.updateCloseReasonGroup(
|
|
95
|
+
id,
|
|
96
|
+
item,
|
|
97
|
+
);
|
|
98
|
+
return applyTransform(response.data, [snakeToCamel()]);
|
|
99
|
+
} catch (err) {
|
|
100
|
+
throw applyTransform(err, [notify]);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
const deleteCloseReasonGroups = async ({ id }) => {
|
|
105
|
+
try {
|
|
106
|
+
const response = await closeReasonGroupsService.deleteCloseReasonGroup(id);
|
|
107
|
+
return applyTransform(response.data, []);
|
|
108
|
+
} catch (err) {
|
|
109
|
+
throw applyTransform(err, [notify]);
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
const getCloseReasonGroupsLookup = async (params) =>
|
|
114
|
+
getCloseReasonGroupsList({
|
|
115
|
+
...params,
|
|
116
|
+
fields: params.fields || ['id', 'name'],
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
const CaseCloseReasonGroupsAPI = {
|
|
120
|
+
getList: getCloseReasonGroupsList,
|
|
121
|
+
get: getCloseReasonGroups,
|
|
122
|
+
add: addCloseReasonGroups,
|
|
123
|
+
update: updateCloseReasonGroups,
|
|
124
|
+
delete: deleteCloseReasonGroups,
|
|
125
|
+
getLookup: getCloseReasonGroupsLookup,
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
export default CaseCloseReasonGroupsAPI;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { CloseReasonsApiFactory } 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
|
+
notify,
|
|
13
|
+
sanitize,
|
|
14
|
+
snakeToCamel,
|
|
15
|
+
} from '../../transformers/index';
|
|
16
|
+
|
|
17
|
+
const instance = getDefaultInstance();
|
|
18
|
+
const configuration = getDefaultOpenAPIConfig();
|
|
19
|
+
|
|
20
|
+
const closeReasonsService = new CloseReasonsApiFactory(
|
|
21
|
+
configuration,
|
|
22
|
+
'',
|
|
23
|
+
instance,
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
const fieldsToSend = ['name', 'description'];
|
|
27
|
+
|
|
28
|
+
const getCloseReasonsList = async ({ parentId, ...rest }) => {
|
|
29
|
+
const fieldsToSend = ['page', 'size', 'q', 'sort', 'fields', 'id'];
|
|
30
|
+
|
|
31
|
+
const { page, size, fields, sort, id, q } = applyTransform(rest, [
|
|
32
|
+
merge(getDefaultGetParams()),
|
|
33
|
+
(params) => ({ ...params, q: params.search }),
|
|
34
|
+
sanitize(fieldsToSend),
|
|
35
|
+
camelToSnake(),
|
|
36
|
+
]);
|
|
37
|
+
try {
|
|
38
|
+
const response = await closeReasonsService.listCloseReasons(
|
|
39
|
+
parentId,
|
|
40
|
+
page,
|
|
41
|
+
size,
|
|
42
|
+
fields,
|
|
43
|
+
sort,
|
|
44
|
+
id,
|
|
45
|
+
q,
|
|
46
|
+
);
|
|
47
|
+
const { items, next } = applyTransform(response.data, [
|
|
48
|
+
merge(getDefaultGetListResponse()),
|
|
49
|
+
]);
|
|
50
|
+
return {
|
|
51
|
+
items: applyTransform(items, [snakeToCamel()]),
|
|
52
|
+
next,
|
|
53
|
+
};
|
|
54
|
+
} catch (err) {
|
|
55
|
+
throw applyTransform(err, [notify]);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
const getCloseReason = async ({ parentId, itemId: id }) => {
|
|
60
|
+
const itemResponseHandler = (item) => {
|
|
61
|
+
return item.closeReason;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
try {
|
|
65
|
+
const response = await closeReasonsService.locateCloseReason(parentId, id);
|
|
66
|
+
return applyTransform(response.data, [snakeToCamel(), itemResponseHandler]);
|
|
67
|
+
} catch (err) {
|
|
68
|
+
throw applyTransform(err, [notify]);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
const addCloseReason = async ({ itemInstance, parentId }) => {
|
|
73
|
+
const item = applyTransform(itemInstance, [
|
|
74
|
+
camelToSnake(),
|
|
75
|
+
sanitize(fieldsToSend),
|
|
76
|
+
]);
|
|
77
|
+
|
|
78
|
+
try {
|
|
79
|
+
const response = await closeReasonsService.createCloseReason(
|
|
80
|
+
parentId,
|
|
81
|
+
item,
|
|
82
|
+
);
|
|
83
|
+
return applyTransform(response.data, [snakeToCamel()]);
|
|
84
|
+
} catch (err) {
|
|
85
|
+
throw applyTransform(err, [notify]);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
const updateCloseReason = async ({ itemInstance, itemId: id }) => {
|
|
90
|
+
const item = applyTransform(itemInstance, [camelToSnake()]);
|
|
91
|
+
|
|
92
|
+
try {
|
|
93
|
+
const response = await closeReasonsService.updateCloseReason(
|
|
94
|
+
itemInstance.id,
|
|
95
|
+
id,
|
|
96
|
+
item,
|
|
97
|
+
);
|
|
98
|
+
return applyTransform(response.data, [snakeToCamel()]);
|
|
99
|
+
} catch (err) {
|
|
100
|
+
throw applyTransform(err, [notify]);
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
const deleteCloseReason = async ({ id, parentId }) => {
|
|
105
|
+
try {
|
|
106
|
+
const response = await closeReasonsService.deleteCloseReason(parentId, id);
|
|
107
|
+
return applyTransform(response.data, []);
|
|
108
|
+
} catch (err) {
|
|
109
|
+
throw applyTransform(err, [notify]);
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
const getCloseReasonLookup = async (params) =>
|
|
114
|
+
getCloseReasonsList({
|
|
115
|
+
...params,
|
|
116
|
+
fields: params.fields || ['id', 'name'],
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
const CaseCloseReasonsAPI = {
|
|
120
|
+
getList: getCloseReasonsList,
|
|
121
|
+
getLookup: getCloseReasonLookup,
|
|
122
|
+
get: getCloseReason,
|
|
123
|
+
add: addCloseReason,
|
|
124
|
+
update: updateCloseReason,
|
|
125
|
+
delete: deleteCloseReason,
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
export default CaseCloseReasonsAPI;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { PrioritiesApiFactory } 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
|
+
notify,
|
|
13
|
+
sanitize,
|
|
14
|
+
snakeToCamel,
|
|
15
|
+
} from '../../transformers/index';
|
|
16
|
+
|
|
17
|
+
const instance = getDefaultInstance();
|
|
18
|
+
const configuration = getDefaultOpenAPIConfig();
|
|
19
|
+
|
|
20
|
+
const priorityService = new PrioritiesApiFactory(configuration, '', instance);
|
|
21
|
+
|
|
22
|
+
const fieldsToSend = ['name', 'description', 'color'];
|
|
23
|
+
|
|
24
|
+
const getPrioritiesList = async (params) => {
|
|
25
|
+
const fieldsToSend = [
|
|
26
|
+
'page',
|
|
27
|
+
'size',
|
|
28
|
+
'q',
|
|
29
|
+
'sort',
|
|
30
|
+
'fields',
|
|
31
|
+
'id',
|
|
32
|
+
'notInSla',
|
|
33
|
+
'inSla',
|
|
34
|
+
'inSlaCond',
|
|
35
|
+
];
|
|
36
|
+
const {
|
|
37
|
+
page,
|
|
38
|
+
size,
|
|
39
|
+
fields,
|
|
40
|
+
sort,
|
|
41
|
+
id,
|
|
42
|
+
q,
|
|
43
|
+
not_in_sla: notInSla,
|
|
44
|
+
in_sla_cond: inSlaCond,
|
|
45
|
+
} = applyTransform(params, [
|
|
46
|
+
merge(getDefaultGetParams()),
|
|
47
|
+
(params) => ({ ...params, q: params.search }),
|
|
48
|
+
sanitize(fieldsToSend),
|
|
49
|
+
camelToSnake(),
|
|
50
|
+
]);
|
|
51
|
+
try {
|
|
52
|
+
const response = await priorityService.listPriorities(
|
|
53
|
+
page,
|
|
54
|
+
size,
|
|
55
|
+
fields,
|
|
56
|
+
sort,
|
|
57
|
+
id,
|
|
58
|
+
q,
|
|
59
|
+
notInSla,
|
|
60
|
+
inSlaCond,
|
|
61
|
+
);
|
|
62
|
+
const { items, next } = applyTransform(response.data, [
|
|
63
|
+
merge(getDefaultGetListResponse()),
|
|
64
|
+
]);
|
|
65
|
+
return {
|
|
66
|
+
items: applyTransform(items, []),
|
|
67
|
+
next,
|
|
68
|
+
};
|
|
69
|
+
} catch (err) {
|
|
70
|
+
throw applyTransform(err, [notify]);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const getPriority = async ({ itemId: id }) => {
|
|
75
|
+
const itemResponseHandler = (item) => {
|
|
76
|
+
return item.priority;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
try {
|
|
80
|
+
const response = await priorityService.locatePriority(id, fieldsToSend);
|
|
81
|
+
return applyTransform(response.data, [snakeToCamel(), itemResponseHandler]);
|
|
82
|
+
} catch (err) {
|
|
83
|
+
throw applyTransform(err, [notify]);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const addPriority = async ({ itemInstance }) => {
|
|
88
|
+
const item = applyTransform(itemInstance, [
|
|
89
|
+
camelToSnake(),
|
|
90
|
+
sanitize(fieldsToSend),
|
|
91
|
+
]);
|
|
92
|
+
|
|
93
|
+
try {
|
|
94
|
+
const response = await priorityService.createPriority(item);
|
|
95
|
+
return applyTransform(response.data, [snakeToCamel()]);
|
|
96
|
+
} catch (err) {
|
|
97
|
+
throw applyTransform(err, [notify]);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
const updatePriority = async ({ itemInstance, itemId: id }) => {
|
|
102
|
+
const item = applyTransform(itemInstance, [
|
|
103
|
+
camelToSnake(),
|
|
104
|
+
sanitize(fieldsToSend),
|
|
105
|
+
]);
|
|
106
|
+
|
|
107
|
+
try {
|
|
108
|
+
const response = await priorityService.updatePriority(id, item);
|
|
109
|
+
return applyTransform(response.data, [snakeToCamel()]);
|
|
110
|
+
} catch (err) {
|
|
111
|
+
throw applyTransform(err, [notify]);
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
const deletePriority = async ({ id }) => {
|
|
116
|
+
try {
|
|
117
|
+
const response = await priorityService.deletePriority(id);
|
|
118
|
+
return applyTransform(response.data, []);
|
|
119
|
+
} catch (err) {
|
|
120
|
+
throw applyTransform(err, [notify]);
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
const getConditionsLookup = (params) =>
|
|
125
|
+
getPrioritiesList({
|
|
126
|
+
...params,
|
|
127
|
+
fields: params.fields || ['id', 'name'],
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
const CasePrioritiesAPI = {
|
|
131
|
+
getList: getPrioritiesList,
|
|
132
|
+
get: getPriority,
|
|
133
|
+
update: updatePriority,
|
|
134
|
+
getLookup: getConditionsLookup,
|
|
135
|
+
delete: deletePriority,
|
|
136
|
+
add: addPriority,
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
export default CasePrioritiesAPI;
|