diff options
Diffstat (limited to 'server/helpers/middlewares/videos.ts')
-rw-r--r-- | server/helpers/middlewares/videos.ts | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/server/helpers/middlewares/videos.ts b/server/helpers/middlewares/videos.ts index 409f78650..a0bbcdb21 100644 --- a/server/helpers/middlewares/videos.ts +++ b/server/helpers/middlewares/videos.ts | |||
@@ -12,6 +12,7 @@ import { | |||
12 | MVideoThumbnail, | 12 | MVideoThumbnail, |
13 | MVideoWithRights | 13 | MVideoWithRights |
14 | } from '@server/typings/models' | 14 | } from '@server/typings/models' |
15 | import { VideoFileModel } from '@server/models/video/video-file' | ||
15 | 16 | ||
16 | async function doesVideoExist (id: number | string, res: Response, fetchType: VideoFetchType = 'all') { | 17 | async function doesVideoExist (id: number | string, res: Response, fetchType: VideoFetchType = 'all') { |
17 | const userId = res.locals.oauth ? res.locals.oauth.token.User.id : undefined | 18 | const userId = res.locals.oauth ? res.locals.oauth.token.User.id : undefined |
@@ -51,6 +52,18 @@ async function doesVideoExist (id: number | string, res: Response, fetchType: Vi | |||
51 | return true | 52 | return true |
52 | } | 53 | } |
53 | 54 | ||
55 | async function doesVideoFileOfVideoExist (id: number, videoIdOrUUID: number | string, res: Response) { | ||
56 | if (!await VideoFileModel.doesVideoExistForVideoFile(id, videoIdOrUUID)) { | ||
57 | res.status(404) | ||
58 | .json({ error: 'VideoFile matching Video not found' }) | ||
59 | .end() | ||
60 | |||
61 | return false | ||
62 | } | ||
63 | |||
64 | return true | ||
65 | } | ||
66 | |||
54 | async function doesVideoChannelOfAccountExist (channelId: number, user: MUserAccountId, res: Response) { | 67 | async function doesVideoChannelOfAccountExist (channelId: number, user: MUserAccountId, res: Response) { |
55 | if (user.hasRight(UserRight.UPDATE_ANY_VIDEO) === true) { | 68 | if (user.hasRight(UserRight.UPDATE_ANY_VIDEO) === true) { |
56 | const videoChannel = await VideoChannelModel.loadAndPopulateAccount(channelId) | 69 | const videoChannel = await VideoChannelModel.loadAndPopulateAccount(channelId) |
@@ -107,5 +120,6 @@ function checkUserCanManageVideo (user: MUser, video: MVideoAccountLight, right: | |||
107 | export { | 120 | export { |
108 | doesVideoChannelOfAccountExist, | 121 | doesVideoChannelOfAccountExist, |
109 | doesVideoExist, | 122 | doesVideoExist, |
123 | doesVideoFileOfVideoExist, | ||
110 | checkUserCanManageVideo | 124 | checkUserCanManageVideo |
111 | } | 125 | } |