]>
Commit | Line | Data |
---|---|---|
1 | import { Response } from 'express' | |
2 | import { VideoChangeOwnershipModel } from '../../models/video/video-change-ownership' | |
3 | import { MVideoChangeOwnershipFull } from '@server/types/models/video/video-change-ownership' | |
4 | import { MUserId } from '@server/types/models' | |
5 | import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' | |
6 | ||
7 | export async function doesChangeVideoOwnershipExist (idArg: number | string, res: Response) { | |
8 | const id = parseInt(idArg + '', 10) | |
9 | const videoChangeOwnership = await VideoChangeOwnershipModel.load(id) | |
10 | ||
11 | if (!videoChangeOwnership) { | |
12 | res.status(HttpStatusCode.NOT_FOUND_404) | |
13 | .json({ error: 'Video change ownership not found' }) | |
14 | .end() | |
15 | ||
16 | return false | |
17 | } | |
18 | ||
19 | res.locals.videoChangeOwnership = videoChangeOwnership | |
20 | return true | |
21 | } | |
22 | ||
23 | export function checkUserCanTerminateOwnershipChange (user: MUserId, videoChangeOwnership: MVideoChangeOwnershipFull, res: Response) { | |
24 | if (videoChangeOwnership.NextOwner.userId === user.id) { | |
25 | return true | |
26 | } | |
27 | ||
28 | res.status(HttpStatusCode.FORBIDDEN_403) | |
29 | .json({ error: 'Cannot terminate an ownership change of another user' }) | |
30 | .end() | |
31 | return false | |
32 | } |