- // Process outside the transaction because we could fetch remote data
- logger.info('Adding likes of video %s.', video.uuid)
- await crawlCollectionPage<string>(videoObject.likes, (items) => createRates(items, video, 'like'))
+ if (syncParam.likes === true) {
+ await crawlCollectionPage<string>(fetchedVideo.likes, items => createRates(items, video, 'like'))
+ .catch(err => logger.error('Cannot add likes of video %s.', video.uuid, { err }))
+ } else {
+ jobPayloads.push({ uri: fetchedVideo.likes, videoId: video.id, type: 'video-likes' as 'video-likes' })
+ }
+
+ if (syncParam.dislikes === true) {
+ await crawlCollectionPage<string>(fetchedVideo.dislikes, items => createRates(items, video, 'dislike'))
+ .catch(err => logger.error('Cannot add dislikes of video %s.', video.uuid, { err }))
+ } else {
+ jobPayloads.push({ uri: fetchedVideo.dislikes, videoId: video.id, type: 'video-dislikes' as 'video-dislikes' })
+ }