@actschurch/ccms-sdk 0.0.23 → 0.0.24
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/dist/core/HttpClient.d.ts +6 -0
- package/dist/core/HttpClient.d.ts.map +1 -1
- package/dist/core/HttpClient.js +64 -0
- package/dist/core/HttpClient.js.map +1 -1
- package/dist/models/communication/AppWhatsAppInboundMessage.d.ts +41 -0
- package/dist/models/communication/AppWhatsAppInboundMessage.d.ts.map +1 -0
- package/dist/models/communication/AppWhatsAppInboundMessage.js +2 -0
- package/dist/models/communication/AppWhatsAppInboundMessage.js.map +1 -0
- package/dist/models/communication/Dialog360/Dialog360ConnectionResult.d.ts +13 -0
- package/dist/models/communication/Dialog360/Dialog360ConnectionResult.d.ts.map +1 -0
- package/dist/models/communication/Dialog360/Dialog360ConnectionResult.js +2 -0
- package/dist/models/communication/Dialog360/Dialog360ConnectionResult.js.map +1 -0
- package/dist/models/communication/Dialog360/Dialog360MediaModels.d.ts +34 -0
- package/dist/models/communication/Dialog360/Dialog360MediaModels.d.ts.map +1 -0
- package/dist/models/communication/Dialog360/Dialog360MediaModels.js +6 -0
- package/dist/models/communication/Dialog360/Dialog360MediaModels.js.map +1 -0
- package/dist/models/communication/Dialog360/Dialog360ProfileModels.d.ts +50 -0
- package/dist/models/communication/Dialog360/Dialog360ProfileModels.d.ts.map +1 -0
- package/dist/models/communication/Dialog360/Dialog360ProfileModels.js +6 -0
- package/dist/models/communication/Dialog360/Dialog360ProfileModels.js.map +1 -0
- package/dist/models/communication/Dialog360/Dialog360Requests.d.ts +109 -0
- package/dist/models/communication/Dialog360/Dialog360Requests.d.ts.map +1 -0
- package/dist/models/communication/Dialog360/Dialog360Requests.js +8 -0
- package/dist/models/communication/Dialog360/Dialog360Requests.js.map +1 -0
- package/dist/models/communication/Dialog360/Dialog360SendModels.d.ts +235 -0
- package/dist/models/communication/Dialog360/Dialog360SendModels.d.ts.map +1 -0
- package/dist/models/communication/Dialog360/Dialog360SendModels.js +7 -0
- package/dist/models/communication/Dialog360/Dialog360SendModels.js.map +1 -0
- package/dist/models/communication/Dialog360/Dialog360TemplateModels.d.ts +116 -0
- package/dist/models/communication/Dialog360/Dialog360TemplateModels.d.ts.map +1 -0
- package/dist/models/communication/Dialog360/Dialog360TemplateModels.js +25 -0
- package/dist/models/communication/Dialog360/Dialog360TemplateModels.js.map +1 -0
- package/dist/models/communication/Dialog360/index.d.ts +10 -0
- package/dist/models/communication/Dialog360/index.d.ts.map +1 -0
- package/dist/models/communication/Dialog360/index.js +10 -0
- package/dist/models/communication/Dialog360/index.js.map +1 -0
- package/dist/models/communication/index.d.ts +3 -0
- package/dist/models/communication/index.d.ts.map +1 -1
- package/dist/models/communication/index.js +3 -0
- package/dist/models/communication/index.js.map +1 -1
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.d.ts.map +1 -1
- package/dist/services/accounselling/ACCareNotificationChannelService.d.ts.map +1 -1
- package/dist/services/accounselling/ACCareNotificationChannelService.js +1 -1
- package/dist/services/accounselling/ACCareNotificationChannelService.js.map +1 -1
- package/dist/services/accounselling/ACCareSettingService.d.ts.map +1 -1
- package/dist/services/accounselling/ACCareSettingService.js +1 -1
- package/dist/services/accounselling/ACCareSettingService.js.map +1 -1
- package/dist/services/accounselling/CareAreaService.d.ts.map +1 -1
- package/dist/services/accounselling/CareAreaService.js +1 -1
- package/dist/services/accounselling/CareAreaService.js.map +1 -1
- package/dist/services/accounselling/CareCaseService.d.ts.map +1 -1
- package/dist/services/accounselling/CareCaseService.js +1 -1
- package/dist/services/accounselling/CareCaseService.js.map +1 -1
- package/dist/services/accounselling/CareCaseStatusService.d.ts.map +1 -1
- package/dist/services/accounselling/CareCaseStatusService.js +1 -1
- package/dist/services/accounselling/CareCaseStatusService.js.map +1 -1
- package/dist/services/accounselling/CareNeedService.d.ts.map +1 -1
- package/dist/services/accounselling/CareNeedService.js +1 -1
- package/dist/services/accounselling/CareNeedService.js.map +1 -1
- package/dist/services/accounselling/CareRequestService.d.ts.map +1 -1
- package/dist/services/accounselling/CareRequestService.js +1 -1
- package/dist/services/accounselling/CareRequestService.js.map +1 -1
- package/dist/services/accounselling/CareRequestStatusService.d.ts.map +1 -1
- package/dist/services/accounselling/CareRequestStatusService.js +1 -1
- package/dist/services/accounselling/CareRequestStatusService.js.map +1 -1
- package/dist/services/accounselling/CareSessionService.d.ts.map +1 -1
- package/dist/services/accounselling/CareSessionService.js +1 -1
- package/dist/services/accounselling/CareSessionService.js.map +1 -1
- package/dist/services/accounselling/CareSessionStatusService.d.ts.map +1 -1
- package/dist/services/accounselling/CareSessionStatusService.js +1 -1
- package/dist/services/accounselling/CareSessionStatusService.js.map +1 -1
- package/dist/services/accounselling/CareSessionTypeService.d.ts.map +1 -1
- package/dist/services/accounselling/CareSessionTypeService.js +1 -1
- package/dist/services/accounselling/CareSessionTypeService.js.map +1 -1
- package/dist/services/accounselling/CareZoneService.d.ts.map +1 -1
- package/dist/services/accounselling/CareZoneService.js +1 -1
- package/dist/services/accounselling/CareZoneService.js.map +1 -1
- package/dist/services/accounselling/LeaderPortalService.d.ts.map +1 -1
- package/dist/services/accounselling/LeaderPortalService.js +1 -1
- package/dist/services/accounselling/LeaderPortalService.js.map +1 -1
- package/dist/services/accounselling/LeaderService.d.ts.map +1 -1
- package/dist/services/accounselling/LeaderService.js +1 -1
- package/dist/services/accounselling/LeaderService.js.map +1 -1
- package/dist/services/accounselling/LeaderTypeService.d.ts.map +1 -1
- package/dist/services/accounselling/LeaderTypeService.js +1 -1
- package/dist/services/accounselling/LeaderTypeService.js.map +1 -1
- package/dist/services/accounselling/PublicCareRequestService.d.ts.map +1 -1
- package/dist/services/accounselling/PublicCareRequestService.js +1 -1
- package/dist/services/accounselling/PublicCareRequestService.js.map +1 -1
- package/dist/services/accounselling/PublicCareService.d.ts.map +1 -1
- package/dist/services/accounselling/PublicCareService.js +1 -1
- package/dist/services/accounselling/PublicCareService.js.map +1 -1
- package/dist/services/accourses/ACCourseNotificationChannelService.d.ts.map +1 -1
- package/dist/services/accourses/ACCourseNotificationChannelService.js +1 -1
- package/dist/services/accourses/ACCourseNotificationChannelService.js.map +1 -1
- package/dist/services/accourses/ACCourseService.d.ts.map +1 -1
- package/dist/services/accourses/ACCourseService.js +1 -1
- package/dist/services/accourses/ACCourseService.js.map +1 -1
- package/dist/services/accourses/ACCourseSessionService.d.ts.map +1 -1
- package/dist/services/accourses/ACCourseSessionService.js +1 -1
- package/dist/services/accourses/ACCourseSessionService.js.map +1 -1
- package/dist/services/accourses/ACCourseSettingService.d.ts.map +1 -1
- package/dist/services/accourses/ACCourseSettingService.js +1 -1
- package/dist/services/accourses/ACCourseSettingService.js.map +1 -1
- package/dist/services/accourses/ACCourseStatusService.d.ts.map +1 -1
- package/dist/services/accourses/ACCourseStatusService.js +1 -1
- package/dist/services/accourses/ACCourseStatusService.js.map +1 -1
- package/dist/services/accourses/CourseDateService.d.ts.map +1 -1
- package/dist/services/accourses/CourseDateService.js +1 -1
- package/dist/services/accourses/CourseDateService.js.map +1 -1
- package/dist/services/accourses/CourseFileService.d.ts.map +1 -1
- package/dist/services/accourses/CourseFileService.js +1 -1
- package/dist/services/accourses/CourseFileService.js.map +1 -1
- package/dist/services/accourses/FacilitatorPortalService.d.ts.map +1 -1
- package/dist/services/accourses/FacilitatorPortalService.js +1 -1
- package/dist/services/accourses/FacilitatorPortalService.js.map +1 -1
- package/dist/services/accourses/FacilitatorService.d.ts.map +1 -1
- package/dist/services/accourses/FacilitatorService.js +1 -1
- package/dist/services/accourses/FacilitatorService.js.map +1 -1
- package/dist/services/accourses/FacilitatorStatusService.d.ts.map +1 -1
- package/dist/services/accourses/FacilitatorStatusService.js +1 -1
- package/dist/services/accourses/FacilitatorStatusService.js.map +1 -1
- package/dist/services/accourses/PublicCourseService.d.ts.map +1 -1
- package/dist/services/accourses/PublicCourseService.js +1 -1
- package/dist/services/accourses/PublicCourseService.js.map +1 -1
- package/dist/services/accourses/PublicRegistrationIntakeService.d.ts.map +1 -1
- package/dist/services/accourses/PublicRegistrationIntakeService.js +1 -1
- package/dist/services/accourses/PublicRegistrationIntakeService.js.map +1 -1
- package/dist/services/accourses/RegistrationIntakeService.d.ts.map +1 -1
- package/dist/services/accourses/RegistrationIntakeService.js +1 -1
- package/dist/services/accourses/RegistrationIntakeService.js.map +1 -1
- package/dist/services/accourses/RegistrationIntakeStatusService.d.ts.map +1 -1
- package/dist/services/accourses/RegistrationIntakeStatusService.js +1 -1
- package/dist/services/accourses/RegistrationIntakeStatusService.js.map +1 -1
- package/dist/services/accourses/RegistrationService.d.ts.map +1 -1
- package/dist/services/accourses/RegistrationService.js +1 -1
- package/dist/services/accourses/RegistrationService.js.map +1 -1
- package/dist/services/accourses/RegistrationStatusService.d.ts.map +1 -1
- package/dist/services/accourses/RegistrationStatusService.js +1 -1
- package/dist/services/accourses/RegistrationStatusService.js.map +1 -1
- package/dist/services/accourses/SessionProgressStatusService.d.ts.map +1 -1
- package/dist/services/accourses/SessionProgressStatusService.js +1 -1
- package/dist/services/accourses/SessionProgressStatusService.js.map +1 -1
- package/dist/services/accourses/SessionStatusService.d.ts.map +1 -1
- package/dist/services/accourses/SessionStatusService.js +1 -1
- package/dist/services/accourses/SessionStatusService.js.map +1 -1
- package/dist/services/communication/Dialog360Service.d.ts +236 -0
- package/dist/services/communication/Dialog360Service.d.ts.map +1 -0
- package/dist/services/communication/Dialog360Service.js +521 -0
- package/dist/services/communication/Dialog360Service.js.map +1 -0
- package/dist/services/communication/index.d.ts +3 -0
- package/dist/services/communication/index.d.ts.map +1 -1
- package/dist/services/communication/index.js +3 -0
- package/dist/services/communication/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,521 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dialog360Service
|
|
3
|
+
* Full 360dialog WhatsApp management surface.
|
|
4
|
+
* Route: api/dialog360
|
|
5
|
+
*
|
|
6
|
+
* Separate from the legacy WhatsAppService (api/whatsapp). Every send-now
|
|
7
|
+
* endpoint returns the persisted AppWhatsAppMessage; templates/media/profile
|
|
8
|
+
* endpoints return the corresponding 360dialog response DTOs. All response
|
|
9
|
+
* bodies are wrapped in ResponseData<T>; each method has an unwrapped variant
|
|
10
|
+
* plus a *Raw variant that returns the full envelope.
|
|
11
|
+
*/
|
|
12
|
+
import { BaseService } from '../base/BaseService';
|
|
13
|
+
/**
|
|
14
|
+
* Dialog360Service
|
|
15
|
+
* Handles the api/dialog360/* WhatsApp management endpoints.
|
|
16
|
+
*/
|
|
17
|
+
export class Dialog360Service extends BaseService {
|
|
18
|
+
constructor(http, config) {
|
|
19
|
+
super(http, {
|
|
20
|
+
servicePath: config?.servicePath ?? Dialog360Service.DEFAULT_SERVICE_PATH,
|
|
21
|
+
basePath: Dialog360Service.BASE_PATH,
|
|
22
|
+
endpoints: config?.endpoints,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
// ==================== SEND OPERATIONS ====================
|
|
26
|
+
/**
|
|
27
|
+
* Send a text message
|
|
28
|
+
* POST api/dialog360/send/text
|
|
29
|
+
*/
|
|
30
|
+
async sendText(request) {
|
|
31
|
+
const response = await this.sendTextRaw(request);
|
|
32
|
+
if (!response.data) {
|
|
33
|
+
throw new Error(response.message || 'Failed to send text message');
|
|
34
|
+
}
|
|
35
|
+
return response.data;
|
|
36
|
+
}
|
|
37
|
+
/** Send text message with full response */
|
|
38
|
+
sendTextRaw(request) {
|
|
39
|
+
const endpoint = this.getEndpoint('send-text', 'send/text');
|
|
40
|
+
const url = this.buildUrl(endpoint);
|
|
41
|
+
return this.http.post(url, request);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Send a template message
|
|
45
|
+
* POST api/dialog360/send/template
|
|
46
|
+
*/
|
|
47
|
+
async sendTemplate(request) {
|
|
48
|
+
const response = await this.sendTemplateRaw(request);
|
|
49
|
+
if (!response.data) {
|
|
50
|
+
throw new Error(response.message || 'Failed to send template message');
|
|
51
|
+
}
|
|
52
|
+
return response.data;
|
|
53
|
+
}
|
|
54
|
+
/** Send template message with full response */
|
|
55
|
+
sendTemplateRaw(request) {
|
|
56
|
+
const endpoint = this.getEndpoint('send-template', 'send/template');
|
|
57
|
+
const url = this.buildUrl(endpoint);
|
|
58
|
+
return this.http.post(url, request);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Send an image message
|
|
62
|
+
* POST api/dialog360/send/image
|
|
63
|
+
*/
|
|
64
|
+
async sendImage(request) {
|
|
65
|
+
const response = await this.sendImageRaw(request);
|
|
66
|
+
if (!response.data) {
|
|
67
|
+
throw new Error(response.message || 'Failed to send image message');
|
|
68
|
+
}
|
|
69
|
+
return response.data;
|
|
70
|
+
}
|
|
71
|
+
/** Send image message with full response */
|
|
72
|
+
sendImageRaw(request) {
|
|
73
|
+
const endpoint = this.getEndpoint('send-image', 'send/image');
|
|
74
|
+
const url = this.buildUrl(endpoint);
|
|
75
|
+
return this.http.post(url, request);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Send a video message
|
|
79
|
+
* POST api/dialog360/send/video
|
|
80
|
+
*/
|
|
81
|
+
async sendVideo(request) {
|
|
82
|
+
const response = await this.sendVideoRaw(request);
|
|
83
|
+
if (!response.data) {
|
|
84
|
+
throw new Error(response.message || 'Failed to send video message');
|
|
85
|
+
}
|
|
86
|
+
return response.data;
|
|
87
|
+
}
|
|
88
|
+
/** Send video message with full response */
|
|
89
|
+
sendVideoRaw(request) {
|
|
90
|
+
const endpoint = this.getEndpoint('send-video', 'send/video');
|
|
91
|
+
const url = this.buildUrl(endpoint);
|
|
92
|
+
return this.http.post(url, request);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Send an audio message
|
|
96
|
+
* POST api/dialog360/send/audio
|
|
97
|
+
*/
|
|
98
|
+
async sendAudio(request) {
|
|
99
|
+
const response = await this.sendAudioRaw(request);
|
|
100
|
+
if (!response.data) {
|
|
101
|
+
throw new Error(response.message || 'Failed to send audio message');
|
|
102
|
+
}
|
|
103
|
+
return response.data;
|
|
104
|
+
}
|
|
105
|
+
/** Send audio message with full response */
|
|
106
|
+
sendAudioRaw(request) {
|
|
107
|
+
const endpoint = this.getEndpoint('send-audio', 'send/audio');
|
|
108
|
+
const url = this.buildUrl(endpoint);
|
|
109
|
+
return this.http.post(url, request);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Send a document message
|
|
113
|
+
* POST api/dialog360/send/document
|
|
114
|
+
*/
|
|
115
|
+
async sendDocument(request) {
|
|
116
|
+
const response = await this.sendDocumentRaw(request);
|
|
117
|
+
if (!response.data) {
|
|
118
|
+
throw new Error(response.message || 'Failed to send document message');
|
|
119
|
+
}
|
|
120
|
+
return response.data;
|
|
121
|
+
}
|
|
122
|
+
/** Send document message with full response */
|
|
123
|
+
sendDocumentRaw(request) {
|
|
124
|
+
const endpoint = this.getEndpoint('send-document', 'send/document');
|
|
125
|
+
const url = this.buildUrl(endpoint);
|
|
126
|
+
return this.http.post(url, request);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Send a sticker message
|
|
130
|
+
* POST api/dialog360/send/sticker
|
|
131
|
+
*/
|
|
132
|
+
async sendSticker(request) {
|
|
133
|
+
const response = await this.sendStickerRaw(request);
|
|
134
|
+
if (!response.data) {
|
|
135
|
+
throw new Error(response.message || 'Failed to send sticker message');
|
|
136
|
+
}
|
|
137
|
+
return response.data;
|
|
138
|
+
}
|
|
139
|
+
/** Send sticker message with full response */
|
|
140
|
+
sendStickerRaw(request) {
|
|
141
|
+
const endpoint = this.getEndpoint('send-sticker', 'send/sticker');
|
|
142
|
+
const url = this.buildUrl(endpoint);
|
|
143
|
+
return this.http.post(url, request);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Send a location message
|
|
147
|
+
* POST api/dialog360/send/location
|
|
148
|
+
*/
|
|
149
|
+
async sendLocation(request) {
|
|
150
|
+
const response = await this.sendLocationRaw(request);
|
|
151
|
+
if (!response.data) {
|
|
152
|
+
throw new Error(response.message || 'Failed to send location message');
|
|
153
|
+
}
|
|
154
|
+
return response.data;
|
|
155
|
+
}
|
|
156
|
+
/** Send location message with full response */
|
|
157
|
+
sendLocationRaw(request) {
|
|
158
|
+
const endpoint = this.getEndpoint('send-location', 'send/location');
|
|
159
|
+
const url = this.buildUrl(endpoint);
|
|
160
|
+
return this.http.post(url, request);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Send a contacts message
|
|
164
|
+
* POST api/dialog360/send/contacts
|
|
165
|
+
*/
|
|
166
|
+
async sendContacts(request) {
|
|
167
|
+
const response = await this.sendContactsRaw(request);
|
|
168
|
+
if (!response.data) {
|
|
169
|
+
throw new Error(response.message || 'Failed to send contacts message');
|
|
170
|
+
}
|
|
171
|
+
return response.data;
|
|
172
|
+
}
|
|
173
|
+
/** Send contacts message with full response */
|
|
174
|
+
sendContactsRaw(request) {
|
|
175
|
+
const endpoint = this.getEndpoint('send-contacts', 'send/contacts');
|
|
176
|
+
const url = this.buildUrl(endpoint);
|
|
177
|
+
return this.http.post(url, request);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Send an interactive buttons message
|
|
181
|
+
* POST api/dialog360/send/interactive/buttons
|
|
182
|
+
*/
|
|
183
|
+
async sendInteractiveButtons(request) {
|
|
184
|
+
const response = await this.sendInteractiveButtonsRaw(request);
|
|
185
|
+
if (!response.data) {
|
|
186
|
+
throw new Error(response.message || 'Failed to send interactive buttons message');
|
|
187
|
+
}
|
|
188
|
+
return response.data;
|
|
189
|
+
}
|
|
190
|
+
/** Send interactive buttons message with full response */
|
|
191
|
+
sendInteractiveButtonsRaw(request) {
|
|
192
|
+
const endpoint = this.getEndpoint('send-interactive-buttons', 'send/interactive/buttons');
|
|
193
|
+
const url = this.buildUrl(endpoint);
|
|
194
|
+
return this.http.post(url, request);
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Send an interactive list message
|
|
198
|
+
* POST api/dialog360/send/interactive/list
|
|
199
|
+
*/
|
|
200
|
+
async sendInteractiveList(request) {
|
|
201
|
+
const response = await this.sendInteractiveListRaw(request);
|
|
202
|
+
if (!response.data) {
|
|
203
|
+
throw new Error(response.message || 'Failed to send interactive list message');
|
|
204
|
+
}
|
|
205
|
+
return response.data;
|
|
206
|
+
}
|
|
207
|
+
/** Send interactive list message with full response */
|
|
208
|
+
sendInteractiveListRaw(request) {
|
|
209
|
+
const endpoint = this.getEndpoint('send-interactive-list', 'send/interactive/list');
|
|
210
|
+
const url = this.buildUrl(endpoint);
|
|
211
|
+
return this.http.post(url, request);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Send a call-to-action URL message
|
|
215
|
+
* POST api/dialog360/send/interactive/cta-url
|
|
216
|
+
*/
|
|
217
|
+
async sendCtaUrl(request) {
|
|
218
|
+
const response = await this.sendCtaUrlRaw(request);
|
|
219
|
+
if (!response.data) {
|
|
220
|
+
throw new Error(response.message || 'Failed to send CTA URL message');
|
|
221
|
+
}
|
|
222
|
+
return response.data;
|
|
223
|
+
}
|
|
224
|
+
/** Send CTA URL message with full response */
|
|
225
|
+
sendCtaUrlRaw(request) {
|
|
226
|
+
const endpoint = this.getEndpoint('send-cta-url', 'send/interactive/cta-url');
|
|
227
|
+
const url = this.buildUrl(endpoint);
|
|
228
|
+
return this.http.post(url, request);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Send a flow message
|
|
232
|
+
* POST api/dialog360/send/interactive/flow
|
|
233
|
+
*/
|
|
234
|
+
async sendFlow(request) {
|
|
235
|
+
const response = await this.sendFlowRaw(request);
|
|
236
|
+
if (!response.data) {
|
|
237
|
+
throw new Error(response.message || 'Failed to send flow message');
|
|
238
|
+
}
|
|
239
|
+
return response.data;
|
|
240
|
+
}
|
|
241
|
+
/** Send flow message with full response */
|
|
242
|
+
sendFlowRaw(request) {
|
|
243
|
+
const endpoint = this.getEndpoint('send-flow', 'send/interactive/flow');
|
|
244
|
+
const url = this.buildUrl(endpoint);
|
|
245
|
+
return this.http.post(url, request);
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Send a reaction
|
|
249
|
+
* POST api/dialog360/send/reaction
|
|
250
|
+
*/
|
|
251
|
+
async sendReaction(request) {
|
|
252
|
+
const response = await this.sendReactionRaw(request);
|
|
253
|
+
if (!response.data) {
|
|
254
|
+
throw new Error(response.message || 'Failed to send reaction');
|
|
255
|
+
}
|
|
256
|
+
return response.data;
|
|
257
|
+
}
|
|
258
|
+
/** Send reaction with full response */
|
|
259
|
+
sendReactionRaw(request) {
|
|
260
|
+
const endpoint = this.getEndpoint('send-reaction', 'send/reaction');
|
|
261
|
+
const url = this.buildUrl(endpoint);
|
|
262
|
+
return this.http.post(url, request);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Send a raw 360dialog message envelope
|
|
266
|
+
* POST api/dialog360/send/raw
|
|
267
|
+
*/
|
|
268
|
+
async sendRaw(request) {
|
|
269
|
+
const response = await this.sendRawRaw(request);
|
|
270
|
+
if (!response.data) {
|
|
271
|
+
throw new Error(response.message || 'Failed to send raw message');
|
|
272
|
+
}
|
|
273
|
+
return response.data;
|
|
274
|
+
}
|
|
275
|
+
/** Send raw message with full response */
|
|
276
|
+
sendRawRaw(request) {
|
|
277
|
+
const endpoint = this.getEndpoint('send-raw', 'send/raw');
|
|
278
|
+
const url = this.buildUrl(endpoint);
|
|
279
|
+
return this.http.post(url, request);
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Mark a message as read (optionally with typing indicator)
|
|
283
|
+
* POST api/dialog360/send/mark-read/{messageId}?typing={typing}
|
|
284
|
+
*/
|
|
285
|
+
async markRead(messageId, typing = false) {
|
|
286
|
+
const response = await this.markReadRaw(messageId, typing);
|
|
287
|
+
return response.success;
|
|
288
|
+
}
|
|
289
|
+
/** Mark message as read with full response */
|
|
290
|
+
markReadRaw(messageId, typing = false) {
|
|
291
|
+
const endpoint = this.getEndpoint('mark-read', `send/mark-read/${encodeURIComponent(messageId)}`);
|
|
292
|
+
const url = this.buildUrlWithParams(endpoint, { typing });
|
|
293
|
+
return this.http.post(url, {});
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Queue a WhatsApp message for async delivery via the worker pipeline
|
|
297
|
+
* POST api/dialog360/send/queue
|
|
298
|
+
*/
|
|
299
|
+
async queue(request) {
|
|
300
|
+
const response = await this.queueRaw(request);
|
|
301
|
+
return response.success;
|
|
302
|
+
}
|
|
303
|
+
/** Queue message with full response (no data payload) */
|
|
304
|
+
queueRaw(request) {
|
|
305
|
+
const endpoint = this.getEndpoint('send-queue', 'send/queue');
|
|
306
|
+
const url = this.buildUrl(endpoint);
|
|
307
|
+
return this.http.post(url, request);
|
|
308
|
+
}
|
|
309
|
+
// ==================== TEMPLATE OPERATIONS ====================
|
|
310
|
+
/**
|
|
311
|
+
* List message templates
|
|
312
|
+
* GET api/dialog360/templates?limit=&offset=&sort=
|
|
313
|
+
*/
|
|
314
|
+
async listTemplates(limit = 1000, offset = 0, sort = 'name') {
|
|
315
|
+
const response = await this.listTemplatesRaw(limit, offset, sort);
|
|
316
|
+
return response.data ?? null;
|
|
317
|
+
}
|
|
318
|
+
/** List templates with full response */
|
|
319
|
+
listTemplatesRaw(limit = 1000, offset = 0, sort = 'name') {
|
|
320
|
+
const endpoint = this.getEndpoint('templates', 'templates');
|
|
321
|
+
const url = this.buildUrlWithParams(endpoint, { limit, offset, sort });
|
|
322
|
+
return this.http.get(url);
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Create a message template
|
|
326
|
+
* POST api/dialog360/templates
|
|
327
|
+
*/
|
|
328
|
+
async createTemplate(request) {
|
|
329
|
+
const response = await this.createTemplateRaw(request);
|
|
330
|
+
if (!response.data) {
|
|
331
|
+
throw new Error(response.message || 'Failed to create template');
|
|
332
|
+
}
|
|
333
|
+
return response.data;
|
|
334
|
+
}
|
|
335
|
+
/** Create template with full response */
|
|
336
|
+
createTemplateRaw(request) {
|
|
337
|
+
const endpoint = this.getEndpoint('template-create', 'templates');
|
|
338
|
+
const url = this.buildUrl(endpoint);
|
|
339
|
+
return this.http.post(url, request);
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Edit a message template by external id
|
|
343
|
+
* POST api/dialog360/templates/{externalId}
|
|
344
|
+
*/
|
|
345
|
+
async editTemplate(externalId, request) {
|
|
346
|
+
const response = await this.editTemplateRaw(externalId, request);
|
|
347
|
+
if (!response.data) {
|
|
348
|
+
throw new Error(response.message || 'Failed to edit template');
|
|
349
|
+
}
|
|
350
|
+
return response.data;
|
|
351
|
+
}
|
|
352
|
+
/** Edit template with full response */
|
|
353
|
+
editTemplateRaw(externalId, request) {
|
|
354
|
+
const endpoint = this.getEndpoint('template-edit', `templates/${encodeURIComponent(externalId)}`);
|
|
355
|
+
const url = this.buildUrl(endpoint);
|
|
356
|
+
return this.http.post(url, request);
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Delete a message template by name
|
|
360
|
+
* DELETE api/dialog360/templates/{name}
|
|
361
|
+
*/
|
|
362
|
+
async deleteTemplate(name) {
|
|
363
|
+
const response = await this.deleteTemplateRaw(name);
|
|
364
|
+
if (!response.data) {
|
|
365
|
+
throw new Error(response.message || 'Failed to delete template');
|
|
366
|
+
}
|
|
367
|
+
return response.data;
|
|
368
|
+
}
|
|
369
|
+
/** Delete template with full response */
|
|
370
|
+
deleteTemplateRaw(name) {
|
|
371
|
+
const endpoint = this.getEndpoint('template-delete', `templates/${encodeURIComponent(name)}`);
|
|
372
|
+
const url = this.buildUrl(endpoint);
|
|
373
|
+
return this.http.delete(url);
|
|
374
|
+
}
|
|
375
|
+
// ==================== MEDIA OPERATIONS ====================
|
|
376
|
+
/**
|
|
377
|
+
* Upload media to 360dialog
|
|
378
|
+
* POST api/dialog360/media (multipart form: file + messaging_product=whatsapp)
|
|
379
|
+
* @param file The media content (File or Blob)
|
|
380
|
+
* @param mimeType Optional content type (used when wrapping a Blob)
|
|
381
|
+
* @param filename Optional filename (used when wrapping a Blob)
|
|
382
|
+
*/
|
|
383
|
+
async uploadMedia(file, mimeType, filename) {
|
|
384
|
+
const response = await this.uploadMediaRaw(file, mimeType, filename);
|
|
385
|
+
if (!response.data) {
|
|
386
|
+
throw new Error(response.message || 'Failed to upload media');
|
|
387
|
+
}
|
|
388
|
+
return response.data;
|
|
389
|
+
}
|
|
390
|
+
/** Upload media with full response */
|
|
391
|
+
uploadMediaRaw(file, mimeType, filename) {
|
|
392
|
+
const endpoint = this.getEndpoint('media-upload', 'media');
|
|
393
|
+
const url = this.buildUrl(endpoint);
|
|
394
|
+
const formData = new FormData();
|
|
395
|
+
const name = filename ?? (file instanceof File ? file.name : 'upload.bin');
|
|
396
|
+
if (mimeType && !(file instanceof File)) {
|
|
397
|
+
formData.append('file', new Blob([file], { type: mimeType }), name);
|
|
398
|
+
}
|
|
399
|
+
else {
|
|
400
|
+
formData.append('file', file, name);
|
|
401
|
+
}
|
|
402
|
+
formData.append('messaging_product', 'whatsapp');
|
|
403
|
+
return this.http.postFormData(url, formData);
|
|
404
|
+
}
|
|
405
|
+
/**
|
|
406
|
+
* Retrieve media metadata
|
|
407
|
+
* GET api/dialog360/media/{id}
|
|
408
|
+
*/
|
|
409
|
+
async getMedia(id) {
|
|
410
|
+
const response = await this.getMediaRaw(id);
|
|
411
|
+
if (!response.data) {
|
|
412
|
+
throw new Error(`Media ${id} not found`);
|
|
413
|
+
}
|
|
414
|
+
return response.data;
|
|
415
|
+
}
|
|
416
|
+
/** Get media metadata with full response */
|
|
417
|
+
getMediaRaw(id) {
|
|
418
|
+
const endpoint = this.getEndpoint('media-get', `media/${encodeURIComponent(id)}`);
|
|
419
|
+
const url = this.buildUrl(endpoint);
|
|
420
|
+
return this.http.get(url);
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Download media content as a Blob (bypasses the ResponseData envelope)
|
|
424
|
+
* GET api/dialog360/media/{id}/download
|
|
425
|
+
*/
|
|
426
|
+
downloadMedia(id) {
|
|
427
|
+
const endpoint = this.getEndpoint('media-download', `media/${encodeURIComponent(id)}/download`);
|
|
428
|
+
const url = this.buildUrl(endpoint);
|
|
429
|
+
return this.http.getBlob(url);
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* Delete media
|
|
433
|
+
* DELETE api/dialog360/media/{id}
|
|
434
|
+
*/
|
|
435
|
+
async deleteMedia(id) {
|
|
436
|
+
const response = await this.deleteMediaRaw(id);
|
|
437
|
+
if (!response.data) {
|
|
438
|
+
throw new Error(response.message || 'Failed to delete media');
|
|
439
|
+
}
|
|
440
|
+
return response.data;
|
|
441
|
+
}
|
|
442
|
+
/** Delete media with full response */
|
|
443
|
+
deleteMediaRaw(id) {
|
|
444
|
+
const endpoint = this.getEndpoint('media-delete', `media/${encodeURIComponent(id)}`);
|
|
445
|
+
const url = this.buildUrl(endpoint);
|
|
446
|
+
return this.http.delete(url);
|
|
447
|
+
}
|
|
448
|
+
// ==================== PROFILE OPERATIONS ====================
|
|
449
|
+
/**
|
|
450
|
+
* Get the WhatsApp business profile
|
|
451
|
+
* GET api/dialog360/profile
|
|
452
|
+
*/
|
|
453
|
+
async getProfile() {
|
|
454
|
+
const response = await this.getProfileRaw();
|
|
455
|
+
if (!response.data) {
|
|
456
|
+
throw new Error(response.message || 'Failed to get business profile');
|
|
457
|
+
}
|
|
458
|
+
return response.data;
|
|
459
|
+
}
|
|
460
|
+
/** Get profile with full response */
|
|
461
|
+
getProfileRaw() {
|
|
462
|
+
const endpoint = this.getEndpoint('profile', 'profile');
|
|
463
|
+
const url = this.buildUrl(endpoint);
|
|
464
|
+
return this.http.get(url);
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* Update the WhatsApp business profile
|
|
468
|
+
* PUT api/dialog360/profile
|
|
469
|
+
*/
|
|
470
|
+
async updateProfile(profile) {
|
|
471
|
+
const response = await this.updateProfileRaw(profile);
|
|
472
|
+
if (!response.data) {
|
|
473
|
+
throw new Error(response.message || 'Failed to update business profile');
|
|
474
|
+
}
|
|
475
|
+
return response.data;
|
|
476
|
+
}
|
|
477
|
+
/** Update profile with full response */
|
|
478
|
+
updateProfileRaw(profile) {
|
|
479
|
+
const endpoint = this.getEndpoint('profile-update', 'profile');
|
|
480
|
+
const url = this.buildUrl(endpoint);
|
|
481
|
+
return this.http.put(url, profile);
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* Get the phone numbers registered on the WABA
|
|
485
|
+
* GET api/dialog360/profile/phone-numbers
|
|
486
|
+
*/
|
|
487
|
+
async getPhoneNumbers() {
|
|
488
|
+
const response = await this.getPhoneNumbersRaw();
|
|
489
|
+
if (!response.data) {
|
|
490
|
+
throw new Error(response.message || 'Failed to get phone numbers');
|
|
491
|
+
}
|
|
492
|
+
return response.data;
|
|
493
|
+
}
|
|
494
|
+
/** Get phone numbers with full response */
|
|
495
|
+
getPhoneNumbersRaw() {
|
|
496
|
+
const endpoint = this.getEndpoint('phone-numbers', 'profile/phone-numbers');
|
|
497
|
+
const url = this.buildUrl(endpoint);
|
|
498
|
+
return this.http.get(url);
|
|
499
|
+
}
|
|
500
|
+
// ==================== DIAGNOSTICS ====================
|
|
501
|
+
/**
|
|
502
|
+
* Lightweight credential/connectivity probe (sends no message)
|
|
503
|
+
* GET api/dialog360/diagnostics/test-connection
|
|
504
|
+
*/
|
|
505
|
+
async testConnection() {
|
|
506
|
+
const response = await this.testConnectionRaw();
|
|
507
|
+
if (!response.data) {
|
|
508
|
+
throw new Error(response.message || 'Failed to test connection');
|
|
509
|
+
}
|
|
510
|
+
return response.data;
|
|
511
|
+
}
|
|
512
|
+
/** Test connection with full response */
|
|
513
|
+
testConnectionRaw() {
|
|
514
|
+
const endpoint = this.getEndpoint('test-connection', 'diagnostics/test-connection');
|
|
515
|
+
const url = this.buildUrl(endpoint);
|
|
516
|
+
return this.http.get(url);
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
Dialog360Service.DEFAULT_SERVICE_PATH = 'communications';
|
|
520
|
+
Dialog360Service.BASE_PATH = 'api/dialog360';
|
|
521
|
+
//# sourceMappingURL=Dialog360Service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog360Service.js","sourceRoot":"","sources":["../../../src/services/communication/Dialog360Service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAmClD;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAI/C,YAAY,IAAgB,EAAE,MAAsB;QAClD,KAAK,CAAC,IAAI,EAAE;YACV,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,gBAAgB,CAAC,oBAAoB;YACzE,QAAQ,EAAE,gBAAgB,CAAC,SAAS;YACpC,SAAS,EAAE,MAAM,EAAE,SAAS;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,4DAA4D;IAE5D;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,6BAA6B,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,2CAA2C;IAC3C,WAAW,CAAC,OAAwB;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,iCAAiC,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,+CAA+C;IAC/C,eAAe,CAAC,OAA4B;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,OAAyB;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,8BAA8B,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,4CAA4C;IAC5C,YAAY,CAAC,OAAyB;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,OAAyB;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,8BAA8B,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,4CAA4C;IAC5C,YAAY,CAAC,OAAyB;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CAAC,OAAyB;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,8BAA8B,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,4CAA4C;IAC5C,YAAY,CAAC,OAAyB;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,OAAyB;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,iCAAiC,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,+CAA+C;IAC/C,eAAe,CAAC,OAAyB;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,gCAAgC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,8CAA8C;IAC9C,cAAc,CAAC,OAAyB;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,iCAAiC,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,+CAA+C;IAC/C,eAAe,CAAC,OAA4B;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,iCAAiC,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,+CAA+C;IAC/C,eAAe,CAAC,OAA4B;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB,CAAC,OAAsC;QACjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,4CAA4C,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,0DAA0D;IAC1D,yBAAyB,CAAC,OAAsC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,CAAC;QAC1F,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAAmC;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,yCAAyC,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,uDAAuD;IACvD,sBAAsB,CAAC,OAAmC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,CAAC;QACpF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,OAA0B;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,gCAAgC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,8CAA8C;IAC9C,aAAa,CAAC,OAA0B;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,6BAA6B,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,2CAA2C;IAC3C,WAAW,CAAC,OAAwB;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,yBAAyB,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,uCAAuC;IACvC,eAAe,CAAC,OAA4B;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,OAA2B;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,4BAA4B,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,0CAA0C;IAC1C,UAAU,CAAC,OAA2B;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAqB,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,MAAM,GAAG,KAAK;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3D,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,8CAA8C;IAC9C,WAAW,CAAC,SAAiB,EAAE,MAAM,GAAG,KAAK;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,kBAAkB,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAClG,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAU,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,OAA6B;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,yDAAyD;IACzD,QAAQ,CAAC,OAA6B;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAU,GAAG,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,gEAAgE;IAEhE;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAClE,OAAO,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC;IAC/B,CAAC;IAED,wCAAwC;IACxC,gBAAgB,CAAC,KAAK,GAAG,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAuB,GAAG,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,OAA8B;QACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,2BAA2B,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,yCAAyC;IACzC,iBAAiB,CAAC,OAA8B;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA2B,GAAG,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,OAA4B;QACjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,yBAAyB,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,uCAAuC;IACvC,eAAe,CAAC,UAAkB,EAAE,OAA4B;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,aAAa,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAClG,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA2B,GAAG,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,2BAA2B,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,yCAAyC;IACzC,iBAAiB,CAAC,IAAY;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,aAAa,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9F,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAA2B,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,6DAA6D;IAE7D;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,IAAiB,EAAE,QAAiB,EAAE,QAAiB;QACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,wBAAwB,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,sCAAsC;IACtC,cAAc,CAAC,IAAiB,EAAE,QAAiB,EAAE,QAAiB;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,QAAQ,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,QAAQ,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAsB,GAAG,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,4CAA4C;IAC5C,WAAW,CAAC,EAAU;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAClF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAwB,GAAG,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,EAAU;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QAChG,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,wBAAwB,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,sCAAsC;IACtC,cAAc,CAAC,EAAU;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACrF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAsB,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,+DAA+D;IAE/D;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,gCAAgC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,qCAAqC;IACrC,aAAa;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA0B,GAAG,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,OAAwB;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,mCAAmC,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,wCAAwC;IACxC,gBAAgB,CAAC,OAAwB;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA0B,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,6BAA6B,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,2CAA2C;IAC3C,kBAAkB;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,uBAAuB,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAuB,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,wDAAwD;IAExD;;;OAGG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,2BAA2B,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,yCAAyC;IACzC,iBAAiB;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,6BAA6B,CAAC,CAAC;QACpF,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA4B,GAAG,CAAC,CAAC;IACvD,CAAC;;AArjBuB,qCAAoB,GAAG,gBAAgB,CAAC;AACxC,0BAAS,GAAG,eAAe,CAAC"}
|
|
@@ -8,12 +8,14 @@ export { EmailService } from './EmailService';
|
|
|
8
8
|
export { SmsService } from './SmsService';
|
|
9
9
|
export { PushNotificationService } from './PushNotificationService';
|
|
10
10
|
export { WhatsAppService } from './WhatsAppService';
|
|
11
|
+
export { Dialog360Service } from './Dialog360Service';
|
|
11
12
|
export { TemplateService } from './TemplateService';
|
|
12
13
|
export { DeviceService } from './DeviceService';
|
|
13
14
|
import { EmailService } from './EmailService';
|
|
14
15
|
import { SmsService } from './SmsService';
|
|
15
16
|
import { PushNotificationService } from './PushNotificationService';
|
|
16
17
|
import { WhatsAppService } from './WhatsAppService';
|
|
18
|
+
import { Dialog360Service } from './Dialog360Service';
|
|
17
19
|
import { TemplateService } from './TemplateService';
|
|
18
20
|
import { DeviceService } from './DeviceService';
|
|
19
21
|
/**
|
|
@@ -24,6 +26,7 @@ export interface CommunicationServices {
|
|
|
24
26
|
sms: SmsService;
|
|
25
27
|
pushNotification: PushNotificationService;
|
|
26
28
|
whatsApp: WhatsAppService;
|
|
29
|
+
dialog360: Dialog360Service;
|
|
27
30
|
template: TemplateService;
|
|
28
31
|
device: DeviceService;
|
|
29
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/communication/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,EAAE,UAAU,CAAC;IAChB,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,aAAa,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/communication/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,EAAE,UAAU,CAAC;IAChB,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,aAAa,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,qBAAqB,CAU3G"}
|
|
@@ -7,6 +7,7 @@ export { EmailService } from './EmailService';
|
|
|
7
7
|
export { SmsService } from './SmsService';
|
|
8
8
|
export { PushNotificationService } from './PushNotificationService';
|
|
9
9
|
export { WhatsAppService } from './WhatsAppService';
|
|
10
|
+
export { Dialog360Service } from './Dialog360Service';
|
|
10
11
|
export { TemplateService } from './TemplateService';
|
|
11
12
|
export { DeviceService } from './DeviceService';
|
|
12
13
|
// Import for factory
|
|
@@ -14,6 +15,7 @@ import { EmailService } from './EmailService';
|
|
|
14
15
|
import { SmsService } from './SmsService';
|
|
15
16
|
import { PushNotificationService } from './PushNotificationService';
|
|
16
17
|
import { WhatsAppService } from './WhatsAppService';
|
|
18
|
+
import { Dialog360Service } from './Dialog360Service';
|
|
17
19
|
import { TemplateService } from './TemplateService';
|
|
18
20
|
import { DeviceService } from './DeviceService';
|
|
19
21
|
/**
|
|
@@ -27,6 +29,7 @@ export function createCommunicationServices(http, config) {
|
|
|
27
29
|
sms: new SmsService(http, config),
|
|
28
30
|
pushNotification: new PushNotificationService(http, config),
|
|
29
31
|
whatsApp: new WhatsAppService(http, config),
|
|
32
|
+
dialog360: new Dialog360Service(http, config),
|
|
30
33
|
template: new TemplateService(http, config),
|
|
31
34
|
device: new DeviceService(http, config),
|
|
32
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/communication/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,qDAAqD;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAqB;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/communication/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,qDAAqD;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAqB;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAehD;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAgB,EAAE,MAAsB;IAClF,OAAO;QACL,KAAK,EAAE,IAAI,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;QACrC,GAAG,EAAE,IAAI,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;QACjC,gBAAgB,EAAE,IAAI,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC;QAC3D,QAAQ,EAAE,IAAI,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC;QAC3C,SAAS,EAAE,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC;QAC7C,QAAQ,EAAE,IAAI,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC;QAC3C,MAAM,EAAE,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC;KACxC,CAAC;AACJ,CAAC"}
|