@meltwater/conversations-api-services 1.0.19 → 1.0.21
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/.github/workflows/release.yml +2 -0
- package/babel.config.js +18 -0
- package/dist/cjs/data-access/http/InstagramVideoClient.js +42 -0
- package/dist/cjs/data-access/http/WarpZoneApi.client.js +32 -0
- package/dist/cjs/data-access/http/amazonS3.js +44 -0
- package/dist/cjs/data-access/http/asset-manager-tvm.client.js +35 -0
- package/dist/cjs/data-access/http/companiesApi.client.js +38 -0
- package/dist/cjs/data-access/http/credentialsApi.client.js +102 -0
- package/dist/cjs/data-access/http/entitlementsApi.client.js +40 -0
- package/dist/cjs/data-access/http/facebook.native.js +344 -0
- package/dist/cjs/data-access/http/facebookApi.client.js +631 -0
- package/dist/cjs/data-access/http/featureToggleApi.client.js +31 -0
- package/dist/cjs/data-access/http/identityServices.client.js +97 -0
- package/dist/cjs/data-access/http/instagramApi.client.js +428 -0
- package/dist/cjs/data-access/http/ir.client.js +242 -0
- package/dist/cjs/data-access/http/linkedInApi.client.js +491 -0
- package/dist/cjs/data-access/http/masf.client.js +101 -0
- package/dist/cjs/data-access/http/tiktok.native.js +162 -0
- package/dist/cjs/data-access/http/tiktokApi.client.js +441 -0
- package/dist/cjs/data-access/index.js +132 -0
- package/dist/cjs/errors/engage-error.js +16 -0
- package/dist/cjs/errors/http-error.js +23 -0
- package/dist/cjs/lib/applicationTags.helpers.js +30 -0
- package/dist/cjs/lib/configuration.js +14 -0
- package/dist/cjs/lib/document-action-events.js +12 -0
- package/dist/cjs/lib/externalId.helpers.js +19 -0
- package/dist/cjs/lib/hidden.helpers.js +13 -0
- package/dist/cjs/lib/hiddenComment.helper.js +119 -0
- package/dist/cjs/lib/logger.helpers.js +68 -0
- package/dist/cjs/lib/logger.js +23 -0
- package/dist/cjs/lib/message.helpers.js +58 -0
- package/dist/cjs/lib/metrics.helper.js +97 -0
- package/dist/esm/data-access/http/InstagramVideoClient.js +34 -0
- package/dist/esm/data-access/http/WarpZoneApi.client.js +24 -0
- package/dist/esm/data-access/http/amazonS3.js +37 -0
- package/dist/esm/data-access/http/asset-manager-tvm.client.js +28 -0
- package/dist/esm/data-access/http/companiesApi.client.js +30 -0
- package/dist/esm/data-access/http/credentialsApi.client.js +92 -0
- package/dist/esm/data-access/http/entitlementsApi.client.js +32 -0
- package/dist/esm/data-access/http/facebook.native.js +325 -0
- package/dist/esm/data-access/http/facebookApi.client.js +621 -0
- package/dist/esm/data-access/http/featureToggleApi.client.js +23 -0
- package/dist/esm/data-access/http/identityServices.client.js +89 -0
- package/dist/esm/data-access/http/instagramApi.client.js +420 -0
- package/dist/esm/data-access/http/ir.client.js +234 -0
- package/dist/esm/data-access/http/linkedInApi.client.js +481 -0
- package/dist/esm/data-access/http/masf.client.js +93 -0
- package/dist/esm/data-access/http/tiktok.native.js +146 -0
- package/dist/esm/data-access/http/tiktokApi.client.js +433 -0
- package/dist/esm/data-access/index.js +30 -0
- package/dist/esm/errors/engage-error.js +9 -0
- package/dist/esm/errors/http-error.js +16 -0
- package/dist/esm/lib/applicationTags.helpers.js +22 -0
- package/dist/esm/lib/configuration.js +8 -0
- package/dist/esm/lib/document-action-events.js +6 -0
- package/dist/esm/lib/externalId.helpers.js +12 -0
- package/dist/esm/lib/hidden.helpers.js +6 -0
- package/dist/esm/lib/hiddenComment.helper.js +112 -0
- package/dist/esm/lib/logger.helpers.js +60 -0
- package/dist/esm/lib/logger.js +16 -0
- package/dist/esm/lib/message.helpers.js +52 -0
- package/dist/esm/lib/metrics.helper.js +90 -0
- package/package.json +14 -4
- package/src/data-access/http/facebook.native.js +542 -0
- package/src/data-access/http/tiktok.native.js +248 -0
- package/src/data-access/index.js +4 -0
- package/src/errors/engage-error.js +11 -0
- package/src/errors/http-error.js +19 -0
- package/src/lib/logger.helpers.js +15 -0
- package/src/lib/message.helpers.js +7 -1
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ban = ban;
|
|
7
|
+
exports.comment = comment;
|
|
8
|
+
exports.getAttachment = getAttachment;
|
|
9
|
+
exports.getProfile = getProfile;
|
|
10
|
+
exports.hide = hide;
|
|
11
|
+
exports.isUserBanned = isUserBanned;
|
|
12
|
+
exports.like = like;
|
|
13
|
+
exports.privateMessage = privateMessage;
|
|
14
|
+
exports.reactions = reactions;
|
|
15
|
+
exports.shareCount = shareCount;
|
|
16
|
+
exports.unban = unban;
|
|
17
|
+
exports.unhide = unhide;
|
|
18
|
+
exports.unlike = unlike;
|
|
19
|
+
var _superagent = _interopRequireDefault(require("superagent"));
|
|
20
|
+
var _externalIdHelpers = require("../../lib/externalId.helpers.js");
|
|
21
|
+
var _loggerHelpers = require("../../lib/logger.helpers.js");
|
|
22
|
+
var _httpError = require("../../errors/http-error.js");
|
|
23
|
+
var _engageError = require("../../errors/engage-error.js");
|
|
24
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
25
|
+
const FACEBOOK_URL = 'https://graph.facebook.com';
|
|
26
|
+
async function shareCount(token, externalId, logger) {
|
|
27
|
+
try {
|
|
28
|
+
const response = await getApi(`${FACEBOOK_URL}/${(0, _externalIdHelpers.removePrefix)(externalId)}/?fields=shares`, token);
|
|
29
|
+
return response.body.shares && response.body.shares.count;
|
|
30
|
+
} catch (err) {
|
|
31
|
+
(0, _loggerHelpers.loggerError)(logger, `Facebook shareCount error recieved - ${error.code}`, error);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async function reactions(token, externalIds, logger) {
|
|
35
|
+
try {
|
|
36
|
+
const response = await getApi(`${FACEBOOK_URL}?ids=${externalIds.map(externalId => (0, _externalIdHelpers.removePrefix)(externalId)).join(',')}&fields=` + `reactions.limit(0).summary(viewer_reaction).as(fb_post_reaction_of_user),` + `reactions.type(LOVE).limit(0).summary(total_count).as(fb_post_reactions_love),` + `reactions.type(WOW).limit(0).summary(total_count).as(fb_post_reactions_wow),` + `reactions.type(SAD).limit(0).summary(total_count).as(fb_post_reactions_sad),` + `reactions.type(LIKE).limit(0).summary(total_count).as(fb_post_reactions_like),` + `reactions.type(ANGRY).limit(0).summary(total_count).as(fb_post_reactions_angry),` + `reactions.type(HAHA).limit(0).summary(total_count).as(fb_post_reactions_haha)`, token);
|
|
37
|
+
return response.body;
|
|
38
|
+
} catch (error) {
|
|
39
|
+
(0, _loggerHelpers.loggerError)(logger, `Facebook reactions error recieved - ${error.code}`, error);
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async function comment(token, _ref) {
|
|
44
|
+
let {
|
|
45
|
+
inReplyToExternalId,
|
|
46
|
+
text,
|
|
47
|
+
attachment = undefined
|
|
48
|
+
} = _ref;
|
|
49
|
+
let logger = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
|
|
50
|
+
let response;
|
|
51
|
+
const isGif = attachment && attachment.mimeType === 'image/gif';
|
|
52
|
+
(0, _loggerHelpers.loggerDebug)(logger, `Starting to call facebook comment api inReplyToExternalId ${inReplyToExternalId}`, {
|
|
53
|
+
text,
|
|
54
|
+
attachment
|
|
55
|
+
});
|
|
56
|
+
response = await postApi(`${FACEBOOK_URL}/${(0, _externalIdHelpers.removePrefix)(inReplyToExternalId)}/comments`, token, {
|
|
57
|
+
...(text && text.length && {
|
|
58
|
+
message: text
|
|
59
|
+
}),
|
|
60
|
+
...(attachment && !isGif && {
|
|
61
|
+
attachment_url: attachment.link
|
|
62
|
+
}),
|
|
63
|
+
...(attachment && isGif && {
|
|
64
|
+
attachment_share_url: attachment.link
|
|
65
|
+
})
|
|
66
|
+
}, logger);
|
|
67
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Native Facebook API Publish Comment Response to externalId ${inReplyToExternalId}`, {
|
|
68
|
+
responseBody: JSON.stringify(response.body)
|
|
69
|
+
});
|
|
70
|
+
return response.body;
|
|
71
|
+
}
|
|
72
|
+
async function privateMessage(token, _ref2, logger) {
|
|
73
|
+
let {
|
|
74
|
+
recipientId,
|
|
75
|
+
text,
|
|
76
|
+
attachment = undefined
|
|
77
|
+
} = _ref2;
|
|
78
|
+
let response;
|
|
79
|
+
const isGif = attachment && attachment.mimeType === 'image/gif';
|
|
80
|
+
(0, _loggerHelpers.loggerDebug)(logger, `Starting to call facebook PM api to recipientId ${recipientId}`, {
|
|
81
|
+
payload: JSON.stringify({
|
|
82
|
+
text,
|
|
83
|
+
attachment
|
|
84
|
+
})
|
|
85
|
+
});
|
|
86
|
+
response = await postApi(`${FACEBOOK_URL}/me/messages`, token, {
|
|
87
|
+
recipient: {
|
|
88
|
+
id: (0, _externalIdHelpers.removePrefix)(recipientId)
|
|
89
|
+
},
|
|
90
|
+
message: {
|
|
91
|
+
text: text,
|
|
92
|
+
...(attachment && {
|
|
93
|
+
attachment: {
|
|
94
|
+
type: isGif ? 'video' : attachment.mimeType.split('/')[0],
|
|
95
|
+
payload: {
|
|
96
|
+
url: attachment.link,
|
|
97
|
+
is_reusable: true
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
})
|
|
101
|
+
},
|
|
102
|
+
tag: 'HUMAN_AGENT'
|
|
103
|
+
}, logger);
|
|
104
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Native Facebook API Publish Private Message Response for documentId ${documentId}`, {
|
|
105
|
+
responseBody: JSON.stringify(response.body)
|
|
106
|
+
});
|
|
107
|
+
return response.body;
|
|
108
|
+
}
|
|
109
|
+
async function hide(token, externalId, logger) {
|
|
110
|
+
(0, _loggerHelpers.loggerDebug)(logger, `Starting to call facebook hide api`);
|
|
111
|
+
const response = await postApi(`${FACEBOOK_URL}/${(0, _externalIdHelpers.removePrefix)(externalId)}`, token, {
|
|
112
|
+
is_hidden: true
|
|
113
|
+
}, logger);
|
|
114
|
+
(0, _loggerHelpers.loggerInfo)(logger`Native Facebook API Hide Response`, {
|
|
115
|
+
responseBody: JSON.stringify(response.body)
|
|
116
|
+
});
|
|
117
|
+
return response.body;
|
|
118
|
+
}
|
|
119
|
+
async function unhide(token, externalId, logger) {
|
|
120
|
+
(0, _loggerHelpers.loggerDebug)(logger, `Starting to call facebook unhide api`);
|
|
121
|
+
const response = await postApi(`${FACEBOOK_URL}/${(0, _externalIdHelpers.removePrefix)(externalId)}`, token, {
|
|
122
|
+
is_hidden: false
|
|
123
|
+
}, logger);
|
|
124
|
+
loggerChild.info(`Native Facebook API Unhide Response`, {
|
|
125
|
+
responseBody: JSON.stringify(response.body)
|
|
126
|
+
});
|
|
127
|
+
return response.body;
|
|
128
|
+
}
|
|
129
|
+
async function like(token, externalId, logger) {
|
|
130
|
+
(0, _loggerHelpers.loggerDebug)(logger, `Starting to call facebook like api`);
|
|
131
|
+
const response = await postApi(`${FACEBOOK_URL}/${(0, _externalIdHelpers.removePrefix)(externalId)}/likes`, token, undefined, logger);
|
|
132
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Native Facebook API Like Response`, {
|
|
133
|
+
responseBody: JSON.stringify(response.body)
|
|
134
|
+
});
|
|
135
|
+
return response.body;
|
|
136
|
+
}
|
|
137
|
+
async function unlike(token, externalId, logger) {
|
|
138
|
+
(0, _loggerHelpers.loggerDebug)(logger, `Starting to call facebook unlike api`);
|
|
139
|
+
const response = await deleteApi(`${FACEBOOK_URL}/${(0, _externalIdHelpers.removePrefix)(externalId)}/likes`, token, undefined, logger);
|
|
140
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Native Facebook API Unlike Response`, {
|
|
141
|
+
responseBody: JSON.stringify(response.body)
|
|
142
|
+
});
|
|
143
|
+
return response.body;
|
|
144
|
+
}
|
|
145
|
+
async function isUserBanned(token, authorId, pageId, logger) {
|
|
146
|
+
if (!pageId) {
|
|
147
|
+
// if no pageId to check this call will fail
|
|
148
|
+
// should only happen with temp edge docs
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
const response = await getApi(`${FACEBOOK_URL}/${pageId}/blocked`, token, undefined,
|
|
152
|
+
// payload
|
|
153
|
+
{
|
|
154
|
+
user: (0, _externalIdHelpers.removePrefix)(authorId)
|
|
155
|
+
}, logger);
|
|
156
|
+
if (response && response.body && response.body.data) {
|
|
157
|
+
const userNoPrefix = (0, _externalIdHelpers.removePrefix)(authorId);
|
|
158
|
+
const user = response.body.data.find(user => {
|
|
159
|
+
if (user.id == userNoPrefix) {
|
|
160
|
+
return user;
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
if (user) {
|
|
164
|
+
return true;
|
|
165
|
+
} else {
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Native Facebook API is User Banned Response was invalid`, {
|
|
170
|
+
responseBody: JSON.stringify(response.body)
|
|
171
|
+
});
|
|
172
|
+
return false;
|
|
173
|
+
}
|
|
174
|
+
async function getProfile(token, authorId, logger) {
|
|
175
|
+
if (!authorId) {
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
let response = {};
|
|
179
|
+
const userNoPrefix = (0, _externalIdHelpers.removePrefix)(authorId);
|
|
180
|
+
try {
|
|
181
|
+
response = await _superagent.default.get(`${FACEBOOK_URL}/${userNoPrefix}`).set('Accept', 'application/json').set('Content-Type', 'application/json').query({
|
|
182
|
+
access_token: token
|
|
183
|
+
}).send();
|
|
184
|
+
} catch (err) {
|
|
185
|
+
if (err?.response?.body?.error) {
|
|
186
|
+
(0, _loggerHelpers.loggerError)(logger, `Failed to call facebook api for userId ${userNoPrefix}: ${err.response.body.error.message}`);
|
|
187
|
+
} else {
|
|
188
|
+
(0, _loggerHelpers.loggerError)(logger, `Failed to call facebook api for userId ${userNoPrefix}`, err);
|
|
189
|
+
}
|
|
190
|
+
return null;
|
|
191
|
+
}
|
|
192
|
+
if (response.status !== 200) {
|
|
193
|
+
(0, _loggerHelpers.loggerError)(logger, `Failed to call facebook api for userId ${userNoPrefix}`, {
|
|
194
|
+
responseBody: JSON.stringify(response.body)
|
|
195
|
+
});
|
|
196
|
+
let error = new Error(`Failed to call facebook api for userId ${userNoPrefix}`);
|
|
197
|
+
error.code = response.status;
|
|
198
|
+
return null;
|
|
199
|
+
}
|
|
200
|
+
return response;
|
|
201
|
+
}
|
|
202
|
+
async function ban(token, sourceId, authorId, logger) {
|
|
203
|
+
(0, _loggerHelpers.loggerDebug)(logger, `Starting to call facebook ban api for externalAuthorId ${authorId} ${sourceId}`);
|
|
204
|
+
const response = await postApi(`${FACEBOOK_URL}/${(0, _externalIdHelpers.removePrefix)(sourceId)}/blocked`, token, {
|
|
205
|
+
psid: [(0, _externalIdHelpers.removePrefix)(authorId)]
|
|
206
|
+
}, logger);
|
|
207
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Native Facebook API Hide Response for externalAuthorId ${authorId}`, {
|
|
208
|
+
responseBody: JSON.stringify(response.body)
|
|
209
|
+
});
|
|
210
|
+
return response.body;
|
|
211
|
+
}
|
|
212
|
+
async function unban(token, sourceId, authorId, logger) {
|
|
213
|
+
(0, _loggerHelpers.loggerDebug)(logger, `Starting to call facebook unban api for externalAuthorId ${authorId} ${sourceId}`);
|
|
214
|
+
const response = await deleteApi(`${FACEBOOK_URL}/${(0, _externalIdHelpers.removePrefix)(sourceId)}/blocked`, token, {
|
|
215
|
+
psid: [(0, _externalIdHelpers.removePrefix)(authorId)]
|
|
216
|
+
}, logger);
|
|
217
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Native Facebook API Unban Response for externalAuthorId ${authorId}`, {
|
|
218
|
+
responseBody: JSON.stringify(response.body)
|
|
219
|
+
});
|
|
220
|
+
return response.body;
|
|
221
|
+
}
|
|
222
|
+
async function getAttachment(token, externalId, discussionType, logger) {
|
|
223
|
+
let result;
|
|
224
|
+
try {
|
|
225
|
+
switch (discussionType) {
|
|
226
|
+
case 're':
|
|
227
|
+
case 'qt':
|
|
228
|
+
result = await getApi(`${FACEBOOK_URL}/${(0, _externalIdHelpers.removePrefix)(externalId)}?fields=attachment`, token, undefined, undefined, logger);
|
|
229
|
+
return {
|
|
230
|
+
images: [{
|
|
231
|
+
source: result?.body?.attachment?.media?.source || result?.body?.attachment?.media?.image?.src
|
|
232
|
+
}]
|
|
233
|
+
};
|
|
234
|
+
case 'dm':
|
|
235
|
+
result = await getApi(`${FACEBOOK_URL}/${(0, _externalIdHelpers.removePrefix)(externalId)}?fields=attachments`, token, undefined, undefined, logger);
|
|
236
|
+
return {
|
|
237
|
+
images: result?.body?.attachments?.data.map(item => {
|
|
238
|
+
return {
|
|
239
|
+
source: item.image_data?.url
|
|
240
|
+
};
|
|
241
|
+
})
|
|
242
|
+
};
|
|
243
|
+
default:
|
|
244
|
+
// og
|
|
245
|
+
result = await getApi(`${FACEBOOK_URL}/${(0, _externalIdHelpers.removePrefix)(externalId)}/attachments?fields=media,subattachments,file_url`, token, undefined, undefined, logger);
|
|
246
|
+
|
|
247
|
+
// if subattachments exist, use them
|
|
248
|
+
const res = result?.body?.data[0];
|
|
249
|
+
if (res?.subattachments) {
|
|
250
|
+
return {
|
|
251
|
+
images: res?.subattachments.data.map(item => {
|
|
252
|
+
return {
|
|
253
|
+
source: item?.media?.source || item?.media?.image?.src
|
|
254
|
+
};
|
|
255
|
+
})
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
return {
|
|
259
|
+
images: [{
|
|
260
|
+
source: res?.media?.source || res?.media?.image?.src
|
|
261
|
+
}]
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
} catch (error) {
|
|
265
|
+
(0, _loggerHelpers.loggerError)(logger, `Error getting facebook attachment`, error);
|
|
266
|
+
throw error;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
async function getApi(apiUrl, accessToken, payload) {
|
|
270
|
+
let queryParams = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
271
|
+
let logger = arguments.length > 4 ? arguments[4] : undefined;
|
|
272
|
+
let response = {};
|
|
273
|
+
try {
|
|
274
|
+
response = await _superagent.default.get(apiUrl).set('Accept', 'application/json').set('Content-Type', 'application/json').query({
|
|
275
|
+
access_token: accessToken,
|
|
276
|
+
...queryParams
|
|
277
|
+
}).send(payload);
|
|
278
|
+
} catch (err) {
|
|
279
|
+
if (err && err.response && err.response.body && err.response.body.error) {
|
|
280
|
+
(0, _loggerHelpers.loggerError)(logger, `Failed to call facebook getApi ${apiUrl}: ${err.response.body.error.message}`);
|
|
281
|
+
} else {
|
|
282
|
+
(0, _loggerHelpers.loggerError)(logger, `Failed to call facebook getApi ${apiUrl}`, err);
|
|
283
|
+
}
|
|
284
|
+
throw err;
|
|
285
|
+
}
|
|
286
|
+
if (response.status !== 200) {
|
|
287
|
+
(0, _loggerHelpers.loggerError)(logger, `Failed to call facebook api ${apiUrl}`, {
|
|
288
|
+
responseBody: JSON.stringify(response.body)
|
|
289
|
+
});
|
|
290
|
+
let error = new Error(`Failed to call facebook api ${apiUrl}`);
|
|
291
|
+
error.code = response.status;
|
|
292
|
+
throw error;
|
|
293
|
+
}
|
|
294
|
+
return response;
|
|
295
|
+
}
|
|
296
|
+
async function postApi(apiUrl, accessToken, payload, logger) {
|
|
297
|
+
let response = {};
|
|
298
|
+
try {
|
|
299
|
+
response = await _superagent.default.post(apiUrl).set('Accept', 'application/json').set('Content-Type', 'application/json').query({
|
|
300
|
+
access_token: accessToken
|
|
301
|
+
}).send(payload);
|
|
302
|
+
} catch (err) {
|
|
303
|
+
if (err && err.response && err.response.body && err.response.body.error) {
|
|
304
|
+
(0, _loggerHelpers.loggerError)(logger, `Failed to call facebook api: ${err.response.body.error.message}`);
|
|
305
|
+
} else {
|
|
306
|
+
(0, _loggerHelpers.loggerError)(logger, `Failed to call facebook api`, err);
|
|
307
|
+
}
|
|
308
|
+
if (response.status) {
|
|
309
|
+
throw new _httpError.EngageHttpError(response.status, response.statusText, response.body, response.headers);
|
|
310
|
+
}
|
|
311
|
+
throw err;
|
|
312
|
+
}
|
|
313
|
+
if (response.status !== 200) {
|
|
314
|
+
logger.error(logger, `Failed to call facebook api`, {
|
|
315
|
+
responseBody: JSON.stringify(response.body)
|
|
316
|
+
});
|
|
317
|
+
throw new _engageError.EngageError(response.status, `Failed to call facebook api ${response.body}`);
|
|
318
|
+
}
|
|
319
|
+
return response;
|
|
320
|
+
}
|
|
321
|
+
async function deleteApi(apiUrl, accessToken, payload, logger) {
|
|
322
|
+
let response = {};
|
|
323
|
+
try {
|
|
324
|
+
response = await _superagent.default.delete(apiUrl).set('Accept', 'application/json').set('Content-Type', 'application/json').query({
|
|
325
|
+
access_token: accessToken
|
|
326
|
+
}).send(payload);
|
|
327
|
+
} catch (err) {
|
|
328
|
+
if (err && err.response && err.response.body && err.response.body.error) {
|
|
329
|
+
(0, _loggerHelpers.loggerError)(logger, `Failed to call facebook api delete: ${err.response.body.error.message}`);
|
|
330
|
+
} else {
|
|
331
|
+
(0, _loggerHelpers.loggerError)(logger, `Failed to call facebook api delete`, err);
|
|
332
|
+
}
|
|
333
|
+
throw err;
|
|
334
|
+
}
|
|
335
|
+
if (response.status !== 200) {
|
|
336
|
+
(0, _loggerHelpers.loggerError)(logger, `Failed to call facebook api delete`, {
|
|
337
|
+
responseBody: JSON.stringify(response.body)
|
|
338
|
+
});
|
|
339
|
+
let error = new Error(`Failed to call facebook api delete`);
|
|
340
|
+
error.code = response.status;
|
|
341
|
+
throw error;
|
|
342
|
+
}
|
|
343
|
+
return response;
|
|
344
|
+
}
|