@meltwater/conversations-api-services 1.3.1 → 1.4.0
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 +4 -6
- package/CLAUDE.md +70 -0
- package/README.md +1 -1
- package/dist/cjs/data-access/http/facebook.native.js +122 -106
- package/dist/cjs/data-access/http/instagram.native.js +92 -49
- package/dist/cjs/data-access/http/linkedin.native.js +135 -56
- package/dist/cjs/data-access/http/threads.native.js +53 -18
- package/dist/cjs/data-access/http/tiktok.native.js +18 -12
- package/dist/cjs/data-access/http/twitter.native.js +142 -40
- package/dist/cjs/data-access/http/youtube.native.js +19 -13
- package/dist/esm/data-access/http/facebook.native.js +123 -107
- package/dist/esm/data-access/http/instagram.native.js +93 -50
- package/dist/esm/data-access/http/linkedin.native.js +136 -57
- package/dist/esm/data-access/http/threads.native.js +54 -19
- package/dist/esm/data-access/http/tiktok.native.js +19 -13
- package/dist/esm/data-access/http/twitter.native.js +143 -41
- package/dist/esm/data-access/http/youtube.native.js +20 -14
- package/package.json +1 -3
- package/src/data-access/http/README.md +50 -0
- package/src/data-access/http/facebook.native.js +122 -144
- package/src/data-access/http/instagram.native.js +113 -93
- package/src/data-access/http/linkedin.native.js +144 -83
- package/src/data-access/http/threads.native.js +58 -27
- package/src/data-access/http/tiktok.native.js +19 -39
- package/src/data-access/http/twitter.native.js +145 -65
- package/src/data-access/http/youtube.native.js +21 -40
- package/dist/cjs/lib/hiddenComment.helper.js +0 -119
- package/dist/esm/lib/hiddenComment.helper.js +0 -112
- package/src/lib/hiddenComment.helper.js +0 -107
|
@@ -94,7 +94,12 @@ async function makeTwitterV2Request(v2Endpoint, v1FallbackQuery, token, logger)
|
|
|
94
94
|
source: 'v1.1'
|
|
95
95
|
};
|
|
96
96
|
} catch (fallbackError) {
|
|
97
|
-
(0, _loggerHelpers.
|
|
97
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - makeTwitterV2Request`, {
|
|
98
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
99
|
+
v2Endpoint,
|
|
100
|
+
error: fallbackError?.message
|
|
101
|
+
})
|
|
102
|
+
});
|
|
98
103
|
}
|
|
99
104
|
}
|
|
100
105
|
return {
|
|
@@ -144,17 +149,25 @@ function normalizeUsersData(users) {
|
|
|
144
149
|
* @returns {Promise<Object>} User data from v2 API
|
|
145
150
|
*/
|
|
146
151
|
async function getAuthenticatedUser(token, logger) {
|
|
152
|
+
const apiUrl = 'https://api.x.com/2/users/me';
|
|
147
153
|
try {
|
|
148
154
|
const result = await getRequest({
|
|
149
155
|
token,
|
|
150
|
-
uri:
|
|
156
|
+
uri: apiUrl,
|
|
151
157
|
attachUrlPrefix: false,
|
|
152
158
|
convertPayloadToUri: false,
|
|
153
159
|
logger
|
|
154
160
|
});
|
|
155
161
|
return result.data;
|
|
156
162
|
} catch (e) {
|
|
157
|
-
(0, _loggerHelpers.
|
|
163
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - getAuthenticatedUser`, {
|
|
164
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
165
|
+
apiUrl,
|
|
166
|
+
status: e?.response?.status,
|
|
167
|
+
responseBody: e?.response?.body,
|
|
168
|
+
error: e?.response?.body?.errors?.[0]?.message ?? e?.message
|
|
169
|
+
})
|
|
170
|
+
});
|
|
158
171
|
throw e;
|
|
159
172
|
}
|
|
160
173
|
}
|
|
@@ -198,8 +211,12 @@ async function getUserInfoFromHandles(token, handles, logger) {
|
|
|
198
211
|
const normalizedData = normalizeUsersData(result.data, result.source);
|
|
199
212
|
return normalizedData || [];
|
|
200
213
|
} catch (e) {
|
|
201
|
-
(0, _loggerHelpers.
|
|
202
|
-
|
|
214
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - getUserInfoFromHandles`, {
|
|
215
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
216
|
+
error: e?.message
|
|
217
|
+
})
|
|
218
|
+
});
|
|
219
|
+
throw e;
|
|
203
220
|
}
|
|
204
221
|
}
|
|
205
222
|
async function getUserInfoFromHandle(token, handleId, logger) {
|
|
@@ -221,7 +238,13 @@ async function getUserInfoFromHandle(token, handleId, logger) {
|
|
|
221
238
|
throw result.error || new Error('Failed to get user info from both APIs');
|
|
222
239
|
}
|
|
223
240
|
} catch (e) {
|
|
224
|
-
(0, _loggerHelpers.
|
|
241
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - getUserInfoFromHandle`, {
|
|
242
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
243
|
+
handleId,
|
|
244
|
+
error: e?.message
|
|
245
|
+
})
|
|
246
|
+
});
|
|
247
|
+
throw e;
|
|
225
248
|
}
|
|
226
249
|
}
|
|
227
250
|
async function getDirectMessageImage(token, imageUrl, logger) {
|
|
@@ -237,7 +260,12 @@ async function getDirectMessageImage(token, imageUrl, logger) {
|
|
|
237
260
|
contentType: result.contentType
|
|
238
261
|
};
|
|
239
262
|
} catch (e) {
|
|
240
|
-
(0, _loggerHelpers.
|
|
263
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - getDirectMessageImage`, {
|
|
264
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
265
|
+
imageUrl,
|
|
266
|
+
error: e?.message
|
|
267
|
+
})
|
|
268
|
+
});
|
|
241
269
|
throw e;
|
|
242
270
|
}
|
|
243
271
|
}
|
|
@@ -257,7 +285,13 @@ async function getCurrentInfo(token, externalId, logger) {
|
|
|
257
285
|
result.data.retweeted = !!result.data.current_user_retweet;
|
|
258
286
|
return result.data.data[0].public_metrics;
|
|
259
287
|
} catch (error) {
|
|
260
|
-
(0, _loggerHelpers.
|
|
288
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - getCurrentInfo`, {
|
|
289
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
290
|
+
externalId,
|
|
291
|
+
error: error?.message
|
|
292
|
+
})
|
|
293
|
+
});
|
|
294
|
+
throw error;
|
|
261
295
|
}
|
|
262
296
|
}
|
|
263
297
|
async function getMentionHandleInfo(token, externalId, logger) {
|
|
@@ -272,7 +306,13 @@ async function getMentionHandleInfo(token, externalId, logger) {
|
|
|
272
306
|
});
|
|
273
307
|
return result.data;
|
|
274
308
|
} catch (error) {
|
|
275
|
-
(0, _loggerHelpers.
|
|
309
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - getMentionHandleInfo`, {
|
|
310
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
311
|
+
externalId,
|
|
312
|
+
error: error?.message
|
|
313
|
+
})
|
|
314
|
+
});
|
|
315
|
+
throw error;
|
|
276
316
|
}
|
|
277
317
|
}
|
|
278
318
|
async function retweet(token, sourceId, externalId, logger) {
|
|
@@ -293,7 +333,14 @@ async function retweet(token, sourceId, externalId, logger) {
|
|
|
293
333
|
return false;
|
|
294
334
|
}
|
|
295
335
|
} catch (error) {
|
|
296
|
-
(0, _loggerHelpers.
|
|
336
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - retweet`, {
|
|
337
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
338
|
+
sourceId,
|
|
339
|
+
externalId,
|
|
340
|
+
error: error?.message
|
|
341
|
+
})
|
|
342
|
+
});
|
|
343
|
+
throw error;
|
|
297
344
|
}
|
|
298
345
|
}
|
|
299
346
|
async function unRetweet(token, sourceId, externalId, logger) {
|
|
@@ -309,15 +356,20 @@ async function unRetweet(token, sourceId, externalId, logger) {
|
|
|
309
356
|
return false;
|
|
310
357
|
}
|
|
311
358
|
} catch (error) {
|
|
312
|
-
(0, _loggerHelpers.
|
|
313
|
-
[MeltwaterAttributes.
|
|
359
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - unRetweet`, {
|
|
360
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
361
|
+
sourceId,
|
|
362
|
+
externalId,
|
|
363
|
+
error: error?.message
|
|
364
|
+
})
|
|
314
365
|
});
|
|
366
|
+
throw error;
|
|
315
367
|
}
|
|
316
368
|
}
|
|
317
369
|
async function like(token, externalId, logger) {
|
|
370
|
+
let authenticatedUser = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
318
371
|
try {
|
|
319
|
-
|
|
320
|
-
const userInfo = await getAuthenticatedUser(token, logger);
|
|
372
|
+
const userInfo = authenticatedUser ?? (await getAuthenticatedUser(token, logger));
|
|
321
373
|
const userId = userInfo.data.id;
|
|
322
374
|
let response = await postRequest({
|
|
323
375
|
token,
|
|
@@ -338,14 +390,19 @@ async function like(token, externalId, logger) {
|
|
|
338
390
|
return false;
|
|
339
391
|
}
|
|
340
392
|
} catch (error) {
|
|
341
|
-
(0, _loggerHelpers.
|
|
393
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - like`, {
|
|
394
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
395
|
+
externalId,
|
|
396
|
+
error: error?.message
|
|
397
|
+
})
|
|
398
|
+
});
|
|
342
399
|
throw error;
|
|
343
400
|
}
|
|
344
401
|
}
|
|
345
402
|
async function unLike(token, externalId, logger) {
|
|
403
|
+
let authenticatedUser = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
346
404
|
try {
|
|
347
|
-
|
|
348
|
-
const userInfo = await getAuthenticatedUser(token, logger);
|
|
405
|
+
const userInfo = authenticatedUser ?? (await getAuthenticatedUser(token, logger));
|
|
349
406
|
const userId = userInfo.data.id;
|
|
350
407
|
let response = await deleteRequest({
|
|
351
408
|
token,
|
|
@@ -360,14 +417,19 @@ async function unLike(token, externalId, logger) {
|
|
|
360
417
|
return false;
|
|
361
418
|
}
|
|
362
419
|
} catch (error) {
|
|
363
|
-
(0, _loggerHelpers.
|
|
420
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - unLike`, {
|
|
421
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
422
|
+
externalId,
|
|
423
|
+
error: error?.message
|
|
424
|
+
})
|
|
425
|
+
});
|
|
364
426
|
throw error;
|
|
365
427
|
}
|
|
366
428
|
}
|
|
367
429
|
async function followUser(token, profileId, logger) {
|
|
430
|
+
let authenticatedUser = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
368
431
|
try {
|
|
369
|
-
|
|
370
|
-
const userInfo = await getAuthenticatedUser(token, logger);
|
|
432
|
+
const userInfo = authenticatedUser ?? (await getAuthenticatedUser(token, logger));
|
|
371
433
|
const userId = userInfo.data.id;
|
|
372
434
|
let response = await postRequest({
|
|
373
435
|
token,
|
|
@@ -385,13 +447,19 @@ async function followUser(token, profileId, logger) {
|
|
|
385
447
|
return false;
|
|
386
448
|
}
|
|
387
449
|
} catch (error) {
|
|
388
|
-
(0, _loggerHelpers.
|
|
450
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - followUser`, {
|
|
451
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
452
|
+
profileId,
|
|
453
|
+
error: error?.message
|
|
454
|
+
})
|
|
455
|
+
});
|
|
456
|
+
throw error;
|
|
389
457
|
}
|
|
390
458
|
}
|
|
391
459
|
async function unFollowUser(token, profileId, logger) {
|
|
460
|
+
let authenticatedUser = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
392
461
|
try {
|
|
393
|
-
|
|
394
|
-
const userInfo = await getAuthenticatedUser(token, logger);
|
|
462
|
+
const userInfo = authenticatedUser ?? (await getAuthenticatedUser(token, logger));
|
|
395
463
|
const userId = userInfo.data.id;
|
|
396
464
|
let response = await deleteRequest({
|
|
397
465
|
token,
|
|
@@ -406,13 +474,19 @@ async function unFollowUser(token, profileId, logger) {
|
|
|
406
474
|
return false;
|
|
407
475
|
}
|
|
408
476
|
} catch (error) {
|
|
409
|
-
(0, _loggerHelpers.
|
|
477
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - unFollowUser`, {
|
|
478
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
479
|
+
profileId,
|
|
480
|
+
error: error?.message
|
|
481
|
+
})
|
|
482
|
+
});
|
|
483
|
+
throw error;
|
|
410
484
|
}
|
|
411
485
|
}
|
|
412
486
|
async function userFollowStatus(token, profileId, logger) {
|
|
487
|
+
let authenticatedUser = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
413
488
|
try {
|
|
414
|
-
|
|
415
|
-
const userInfo = await getAuthenticatedUser(token, logger);
|
|
489
|
+
const userInfo = authenticatedUser ?? (await getAuthenticatedUser(token, logger));
|
|
416
490
|
const userId = userInfo.data.id;
|
|
417
491
|
|
|
418
492
|
// Check if authenticated user is following the target user
|
|
@@ -444,7 +518,7 @@ async function userFollowStatus(token, profileId, logger) {
|
|
|
444
518
|
if (error.message != 'Bad Request') {
|
|
445
519
|
// if we hit a minor rate limit here, we wait for 5 seconds before attempting again, usually long enough to continue
|
|
446
520
|
await new Promise(r => setTimeout(r, 5000));
|
|
447
|
-
return userFollowStatus(token, profileId, logger);
|
|
521
|
+
return userFollowStatus(token, profileId, logger, authenticatedUser);
|
|
448
522
|
}
|
|
449
523
|
}
|
|
450
524
|
}
|
|
@@ -503,7 +577,14 @@ async function getBrandUserRelationship(token, profileId, brandProfileId, logger
|
|
|
503
577
|
}
|
|
504
578
|
};
|
|
505
579
|
} catch (error) {
|
|
506
|
-
(0, _loggerHelpers.
|
|
580
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - getBrandUserRelationship`, {
|
|
581
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
582
|
+
profileId,
|
|
583
|
+
brandProfileId,
|
|
584
|
+
error: error?.message
|
|
585
|
+
})
|
|
586
|
+
});
|
|
587
|
+
throw error;
|
|
507
588
|
}
|
|
508
589
|
}
|
|
509
590
|
async function createTweet(token, text, attachment, logger) {
|
|
@@ -715,7 +796,6 @@ async function publishTweet(token, payload, query, isDirectMessage, logger) {
|
|
|
715
796
|
);
|
|
716
797
|
return normalizedResponse;
|
|
717
798
|
} catch (err) {
|
|
718
|
-
(0, _loggerHelpers.loggerError)(logger, `Twitter publish exception details`, err);
|
|
719
799
|
throw err;
|
|
720
800
|
}
|
|
721
801
|
}
|
|
@@ -748,7 +828,6 @@ async function publishDirectMessage(token, payload, query, logger) {
|
|
|
748
828
|
const normalizedResponse = normalizeTwitterResponse(response, 'dm', logger);
|
|
749
829
|
return normalizedResponse;
|
|
750
830
|
} catch (err) {
|
|
751
|
-
(0, _loggerHelpers.loggerError)(logger, `Twitter DM send failed`, err);
|
|
752
831
|
throw err;
|
|
753
832
|
}
|
|
754
833
|
}
|
|
@@ -869,10 +948,14 @@ async function doRequest(_ref5) {
|
|
|
869
948
|
});
|
|
870
949
|
return reject(e);
|
|
871
950
|
}
|
|
872
|
-
(0, _loggerHelpers.
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
951
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - doRequest`, {
|
|
952
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
953
|
+
url,
|
|
954
|
+
convertPayloadToUri,
|
|
955
|
+
payload: JSON.stringify(payload),
|
|
956
|
+
status: e?.response?.status,
|
|
957
|
+
error: e?.response?.body?.errors?.[0]?.message ?? e?.message
|
|
958
|
+
})
|
|
876
959
|
});
|
|
877
960
|
reject(e);
|
|
878
961
|
}
|
|
@@ -942,7 +1025,6 @@ async function uploadMedia(attachment, token, discussionType, logger) {
|
|
|
942
1025
|
return mediaIdString;
|
|
943
1026
|
}
|
|
944
1027
|
} catch (e) {
|
|
945
|
-
(0, _loggerHelpers.loggerError)(logger, `Failed uploading media`, e);
|
|
946
1028
|
if (filePath) {
|
|
947
1029
|
removeMedia(filePath, logger);
|
|
948
1030
|
}
|
|
@@ -977,7 +1059,13 @@ async function simpleMediaUpload(fileData, mimeType, mediaCategory, token, logge
|
|
|
977
1059
|
});
|
|
978
1060
|
return result.body.media_id_string;
|
|
979
1061
|
} catch (e) {
|
|
980
|
-
(0, _loggerHelpers.
|
|
1062
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - simpleMediaUpload`, {
|
|
1063
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
1064
|
+
mimeType,
|
|
1065
|
+
mediaCategory,
|
|
1066
|
+
error: e?.message
|
|
1067
|
+
})
|
|
1068
|
+
});
|
|
981
1069
|
throw e;
|
|
982
1070
|
}
|
|
983
1071
|
}
|
|
@@ -1034,7 +1122,6 @@ async function chunkedMediaUpload(filePath, fileSize, mimeType, mediaCategory, t
|
|
|
1034
1122
|
}
|
|
1035
1123
|
return mediaId;
|
|
1036
1124
|
} catch (e) {
|
|
1037
|
-
(0, _loggerHelpers.loggerError)(logger, 'Error in chunked media upload', e);
|
|
1038
1125
|
throw e;
|
|
1039
1126
|
}
|
|
1040
1127
|
}
|
|
@@ -1085,7 +1172,12 @@ async function mediaUploadRequest(params, token, logger) {
|
|
|
1085
1172
|
const result = await request;
|
|
1086
1173
|
return result.body;
|
|
1087
1174
|
} catch (e) {
|
|
1088
|
-
(0, _loggerHelpers.
|
|
1175
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - mediaUploadRequest`, {
|
|
1176
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
1177
|
+
command: params.command,
|
|
1178
|
+
error: e?.message
|
|
1179
|
+
})
|
|
1180
|
+
});
|
|
1089
1181
|
throw e;
|
|
1090
1182
|
}
|
|
1091
1183
|
}
|
|
@@ -1126,10 +1218,20 @@ function removeMedia(file, logger) {
|
|
|
1126
1218
|
try {
|
|
1127
1219
|
_fs.default.unlink(file, function (err) {
|
|
1128
1220
|
if (err) {
|
|
1129
|
-
(0, _loggerHelpers.
|
|
1221
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - removeMedia`, {
|
|
1222
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
1223
|
+
file,
|
|
1224
|
+
error: err?.message
|
|
1225
|
+
})
|
|
1226
|
+
});
|
|
1130
1227
|
}
|
|
1131
1228
|
});
|
|
1132
1229
|
} catch (e) {
|
|
1133
|
-
(0, _loggerHelpers.
|
|
1230
|
+
(0, _loggerHelpers.loggerInfo)(logger, `Failed to call twitter api - removeMedia`, {
|
|
1231
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
1232
|
+
file,
|
|
1233
|
+
error: e?.message
|
|
1234
|
+
})
|
|
1235
|
+
});
|
|
1134
1236
|
}
|
|
1135
1237
|
}
|
|
@@ -21,11 +21,12 @@ async function sendPost(token) {
|
|
|
21
21
|
try {
|
|
22
22
|
response = await _superagent.default.post(YOUTUBE_API_URL + paramString).set('Accept', 'application/json').set('Content-Type', 'application/json').set('Authorization', `Bearer ${token}`).send(postData);
|
|
23
23
|
} catch (err) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
(0, _loggerHelpers.loggerInfo)(logger, 'Failed to call youtube api - sendPost', {
|
|
25
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
26
|
+
paramString,
|
|
27
|
+
error: err?.response?.body?.error?.message ?? err?.message
|
|
28
|
+
})
|
|
29
|
+
});
|
|
29
30
|
throw err;
|
|
30
31
|
}
|
|
31
32
|
return response;
|
|
@@ -37,18 +38,23 @@ async function sendRequest(token) {
|
|
|
37
38
|
try {
|
|
38
39
|
response = await _superagent.default.get(YOUTUBE_API_URL + paramString).set('Accept', 'application/json').set('Content-Type', 'application/json').set('Authorization', `Bearer ${token}`).send();
|
|
39
40
|
} catch (err) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
(0, _loggerHelpers.loggerInfo)(logger, 'Failed to call youtube api - sendRequest', {
|
|
42
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
43
|
+
paramString,
|
|
44
|
+
error: err?.response?.body?.error?.message ?? err?.message
|
|
45
|
+
})
|
|
46
|
+
});
|
|
45
47
|
throw err;
|
|
46
48
|
}
|
|
47
49
|
if (response.status !== 200) {
|
|
48
|
-
(0, _loggerHelpers.
|
|
49
|
-
|
|
50
|
+
(0, _loggerHelpers.loggerInfo)(logger, 'Failed to call youtube api - sendRequest', {
|
|
51
|
+
[_loggerHelpers.MeltwaterAttributes.PAYLOADDATA]: JSON.stringify({
|
|
52
|
+
paramString,
|
|
53
|
+
status: response.status,
|
|
54
|
+
body: response.body
|
|
55
|
+
})
|
|
50
56
|
});
|
|
51
|
-
let error = new Error(`Failed to call
|
|
57
|
+
let error = new Error(`Failed to call youtube api`);
|
|
52
58
|
error.code = response.status;
|
|
53
59
|
throw error;
|
|
54
60
|
}
|