X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fhelpers%2Fcustom-validators%2Fvideo-ownership.ts;h=cf15b385a7c850320214d9c9715535b36911dd91;hb=21d68e68039a1eefbe6213fbde46e737e520ee7d;hp=a7771e07b2e0bf6b1266e42407e27588f90e1b75;hpb=f41d6aacdf3b67e0c8d4e7a599b331d90aa607b7;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/custom-validators/video-ownership.ts b/server/helpers/custom-validators/video-ownership.ts index a7771e07b..cf15b385a 100644 --- a/server/helpers/custom-validators/video-ownership.ts +++ b/server/helpers/custom-validators/video-ownership.ts @@ -1,42 +1,20 @@ import { Response } from 'express' -import * as validator from 'validator' -import { VideoChangeOwnershipModel } from '../../models/video/video-change-ownership' -import { UserModel } from '../../models/account/user' +import { MUserId } from '@server/types/models' +import { MVideoChangeOwnershipFull } from '@server/types/models/video/video-change-ownership' +import { HttpStatusCode } from '../../../shared/models/http/http-error-codes' -export async function doesChangeVideoOwnershipExist (id: string, res: Response): Promise { - const videoChangeOwnership = await loadVideoChangeOwnership(id) - - if (!videoChangeOwnership) { - res.status(404) - .json({ error: 'Video change ownership not found' }) - .end() - - return false - } - - res.locals.videoChangeOwnership = videoChangeOwnership - return true -} - -async function loadVideoChangeOwnership (id: string): Promise { - if (validator.isInt(id)) { - return VideoChangeOwnershipModel.load(parseInt(id, 10)) - } - - return undefined -} - -export function checkUserCanTerminateOwnershipChange ( - user: UserModel, - videoChangeOwnership: VideoChangeOwnershipModel, - res: Response -): boolean { +function checkUserCanTerminateOwnershipChange (user: MUserId, videoChangeOwnership: MVideoChangeOwnershipFull, res: Response) { if (videoChangeOwnership.NextOwner.userId === user.id) { return true } - res.status(403) - .json({ error: 'Cannot terminate an ownership change of another user' }) - .end() + res.fail({ + status: HttpStatusCode.FORBIDDEN_403, + message: 'Cannot terminate an ownership change of another user' + }) return false } + +export { + checkUserCanTerminateOwnershipChange +}