aboutsummaryrefslogtreecommitdiffhomepage
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/controllers/api/videos/index.ts4
-rw-r--r--server/middlewares/validators/videos.ts6
-rw-r--r--server/models/video/schedule-video-update.ts11
3 files changed, 20 insertions, 1 deletions
diff --git a/server/controllers/api/videos/index.ts b/server/controllers/api/videos/index.ts
index 79ca4699f..ca800a9a8 100644
--- a/server/controllers/api/videos/index.ts
+++ b/server/controllers/api/videos/index.ts
@@ -342,10 +342,12 @@ async function updateVideo (req: express.Request, res: express.Response) {
342 updateAt: videoInfoToUpdate.scheduleUpdate.updateAt, 342 updateAt: videoInfoToUpdate.scheduleUpdate.updateAt,
343 privacy: videoInfoToUpdate.scheduleUpdate.privacy || null 343 privacy: videoInfoToUpdate.scheduleUpdate.privacy || null
344 }, { transaction: t }) 344 }, { transaction: t })
345 } else if (videoInfoToUpdate.scheduleUpdate === null) {
346 await ScheduleVideoUpdateModel.deleteByVideoId(videoInstanceUpdated.id, t)
345 } 347 }
346 348
347 const isNewVideo = wasPrivateVideo && videoInstanceUpdated.privacy !== VideoPrivacy.PRIVATE 349 const isNewVideo = wasPrivateVideo && videoInstanceUpdated.privacy !== VideoPrivacy.PRIVATE
348 await federateVideoIfNeeded(videoInstanceUpdated, isNewVideo) 350 await federateVideoIfNeeded(videoInstanceUpdated, isNewVideo, t)
349 }) 351 })
350 352
351 logger.info('Video with name %s and uuid %s updated.', videoInstance.name, videoInstance.uuid) 353 logger.info('Video with name %s and uuid %s updated.', videoInstance.name, videoInstance.uuid)
diff --git a/server/middlewares/validators/videos.ts b/server/middlewares/validators/videos.ts
index da17b4a68..5595edf17 100644
--- a/server/middlewares/validators/videos.ts
+++ b/server/middlewares/validators/videos.ts
@@ -94,6 +94,9 @@ const videosAddValidator = [
94 body('channelId') 94 body('channelId')
95 .toInt() 95 .toInt()
96 .custom(isIdValid).withMessage('Should have correct video channel id'), 96 .custom(isIdValid).withMessage('Should have correct video channel id'),
97 body('scheduleUpdate')
98 .optional()
99 .customSanitizer(toValueOrNull),
97 body('scheduleUpdate.updateAt') 100 body('scheduleUpdate.updateAt')
98 .optional() 101 .optional()
99 .custom(isDateValid).withMessage('Should have a valid schedule update date'), 102 .custom(isDateValid).withMessage('Should have a valid schedule update date'),
@@ -199,6 +202,9 @@ const videosUpdateValidator = [
199 .optional() 202 .optional()
200 .toInt() 203 .toInt()
201 .custom(isIdValid).withMessage('Should have correct video channel id'), 204 .custom(isIdValid).withMessage('Should have correct video channel id'),
205 body('scheduleUpdate')
206 .optional()
207 .customSanitizer(toValueOrNull),
202 body('scheduleUpdate.updateAt') 208 body('scheduleUpdate.updateAt')
203 .optional() 209 .optional()
204 .custom(isDateValid).withMessage('Should have a valid schedule update date'), 210 .custom(isDateValid).withMessage('Should have a valid schedule update date'),
diff --git a/server/models/video/schedule-video-update.ts b/server/models/video/schedule-video-update.ts
index 3cf5f6c99..1e56562e1 100644
--- a/server/models/video/schedule-video-update.ts
+++ b/server/models/video/schedule-video-update.ts
@@ -83,6 +83,17 @@ export class ScheduleVideoUpdateModel extends Model<ScheduleVideoUpdateModel> {
83 return ScheduleVideoUpdateModel.findAll(query) 83 return ScheduleVideoUpdateModel.findAll(query)
84 } 84 }
85 85
86 static deleteByVideoId (videoId: number, t: Transaction) {
87 const query = {
88 where: {
89 videoId
90 },
91 transaction: t
92 }
93
94 return ScheduleVideoUpdateModel.destroy(query)
95 }
96
86 toFormattedJSON () { 97 toFormattedJSON () {
87 return { 98 return {
88 updateAt: this.updateAt, 99 updateAt: this.updateAt,