- const videoData = await videoActivityObjectToDBAttributes(newVideoChannel, videoAttributesToUpdate, activity.to)
- videoInstance.set('name', videoData.name)
- videoInstance.set('uuid', videoData.uuid)
- videoInstance.set('url', videoData.url)
- videoInstance.set('category', videoData.category)
- videoInstance.set('licence', videoData.licence)
- videoInstance.set('language', videoData.language)
- videoInstance.set('description', videoData.description)
- videoInstance.set('support', videoData.support)
- videoInstance.set('nsfw', videoData.nsfw)
- videoInstance.set('commentsEnabled', videoData.commentsEnabled)
- videoInstance.set('duration', videoData.duration)
- videoInstance.set('createdAt', videoData.createdAt)
- videoInstance.set('updatedAt', videoData.updatedAt)
- videoInstance.set('views', videoData.views)
- videoInstance.set('privacy', videoData.privacy)
- videoInstance.set('channelId', videoData.channelId)
-
- await videoInstance.save(sequelizeOptions)
-
- // Don't block on request
- generateThumbnailFromUrl(videoInstance, videoAttributesToUpdate.icon)
- .catch(err => logger.warn('Cannot generate thumbnail of %s.', videoAttributesToUpdate.id, { err }))
-
- // Remove old video files
- const videoFileDestroyTasks: Bluebird<void>[] = []
- for (const videoFile of videoInstance.VideoFiles) {
- videoFileDestroyTasks.push(videoFile.destroy(sequelizeOptions))
- }
- await Promise.all(videoFileDestroyTasks)