diff options
Diffstat (limited to 'server/lib/activitypub/process/process-update.ts')
-rw-r--r-- | server/lib/activitypub/process/process-update.ts | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/server/lib/activitypub/process/process-update.ts b/server/lib/activitypub/process/process-update.ts index 73db461c3..62791ff1b 100644 --- a/server/lib/activitypub/process/process-update.ts +++ b/server/lib/activitypub/process/process-update.ts | |||
@@ -19,6 +19,7 @@ import { | |||
19 | videoFileActivityUrlToDBAttributes | 19 | videoFileActivityUrlToDBAttributes |
20 | } from '../videos' | 20 | } from '../videos' |
21 | import { sanitizeAndCheckVideoTorrentObject } from '../../../helpers/custom-validators/activitypub/videos' | 21 | import { sanitizeAndCheckVideoTorrentObject } from '../../../helpers/custom-validators/activitypub/videos' |
22 | import { VideoCaptionModel } from '../../../models/video/video-caption' | ||
22 | 23 | ||
23 | async function processUpdateActivity (activity: ActivityUpdate) { | 24 | async function processUpdateActivity (activity: ActivityUpdate) { |
24 | const actor = await getOrCreateActorAndServerAndModel(activity.actor) | 25 | const actor = await getOrCreateActorAndServerAndModel(activity.actor) |
@@ -110,9 +111,18 @@ async function processUpdateVideo (actor: ActorModel, activity: ActivityUpdate) | |||
110 | const tasks = videoFileAttributes.map(f => VideoFileModel.create(f)) | 111 | const tasks = videoFileAttributes.map(f => VideoFileModel.create(f)) |
111 | await Promise.all(tasks) | 112 | await Promise.all(tasks) |
112 | 113 | ||
113 | const tags = videoObject.tag.map(t => t.name) | 114 | // Update Tags |
115 | const tags = videoObject.tag.map(tag => tag.name) | ||
114 | const tagInstances = await TagModel.findOrCreateTags(tags, t) | 116 | const tagInstances = await TagModel.findOrCreateTags(tags, t) |
115 | await videoInstance.$set('Tags', tagInstances, sequelizeOptions) | 117 | await videoInstance.$set('Tags', tagInstances, sequelizeOptions) |
118 | |||
119 | // Update captions | ||
120 | await VideoCaptionModel.deleteAllCaptionsOfRemoteVideo(videoInstance.id, t) | ||
121 | |||
122 | const videoCaptionsPromises = videoObject.subtitleLanguage.map(c => { | ||
123 | return VideoCaptionModel.insertOrReplaceLanguage(videoInstance.id, c.identifier, t) | ||
124 | }) | ||
125 | await Promise.all(videoCaptionsPromises) | ||
116 | }) | 126 | }) |
117 | 127 | ||
118 | logger.info('Remote video with uuid %s updated', videoObject.uuid) | 128 | logger.info('Remote video with uuid %s updated', videoObject.uuid) |