diff options
author | Chocobozzz <me@florianbigard.com> | 2020-05-29 16:16:24 +0200 |
---|---|---|
committer | Chocobozzz <chocobozzz@cpy.re> | 2020-06-10 14:02:41 +0200 |
commit | 5fb2e2888ce032c638e4b75d07458642f0833e52 (patch) | |
tree | 8830d873569316889b8134027e9a43b198cca38f /server/lib/activitypub | |
parent | 62e7be634bc189f942ae51cb4b080079ab503ff0 (diff) | |
download | PeerTube-5fb2e2888ce032c638e4b75d07458642f0833e52.tar.gz PeerTube-5fb2e2888ce032c638e4b75d07458642f0833e52.tar.zst PeerTube-5fb2e2888ce032c638e4b75d07458642f0833e52.zip |
First implem global search
Diffstat (limited to 'server/lib/activitypub')
-rw-r--r-- | server/lib/activitypub/videos.ts | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/server/lib/activitypub/videos.ts b/server/lib/activitypub/videos.ts index 7d16bd390..6d20e0e65 100644 --- a/server/lib/activitypub/videos.ts +++ b/server/lib/activitypub/videos.ts | |||
@@ -272,11 +272,22 @@ async function getOrCreateVideoAndAccountAndChannel ( | |||
272 | 272 | ||
273 | const actor = await getOrCreateVideoChannelFromVideoObject(fetchedVideo) | 273 | const actor = await getOrCreateVideoChannelFromVideoObject(fetchedVideo) |
274 | const videoChannel = actor.VideoChannel | 274 | const videoChannel = actor.VideoChannel |
275 | const { autoBlacklisted, videoCreated } = await retryTransactionWrapper(createVideo, fetchedVideo, videoChannel, syncParam.thumbnail) | ||
276 | 275 | ||
277 | await syncVideoExternalAttributes(videoCreated, fetchedVideo, syncParam) | 276 | try { |
277 | const { autoBlacklisted, videoCreated } = await retryTransactionWrapper(createVideo, fetchedVideo, videoChannel, syncParam.thumbnail) | ||
278 | |||
279 | await syncVideoExternalAttributes(videoCreated, fetchedVideo, syncParam) | ||
278 | 280 | ||
279 | return { video: videoCreated, created: true, autoBlacklisted } | 281 | return { video: videoCreated, created: true, autoBlacklisted } |
282 | } catch (err) { | ||
283 | // Maybe a concurrent getOrCreateVideoAndAccountAndChannel call created this video | ||
284 | if (err.name === 'SequelizeUniqueConstraintError') { | ||
285 | const fallbackVideo = await fetchVideoByUrl(videoUrl, fetchType) | ||
286 | if (fallbackVideo) return { video: fallbackVideo, created: false } | ||
287 | } | ||
288 | |||
289 | throw err | ||
290 | } | ||
280 | } | 291 | } |
281 | 292 | ||
282 | async function updateVideoFromAP (options: { | 293 | async function updateVideoFromAP (options: { |