]>
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 | ||
6 | export async function doesChangeVideoOwnershipExist (idArg: number | string, res: Response) { | |
7 | const id = parseInt(idArg + '', 10) | |
8 | const videoChangeOwnership = await VideoChangeOwnershipModel.load(id) | |
9 | ||
10 | if (!videoChangeOwnership) { | |
11 | res.status(404) | |
12 | .json({ error: 'Video change ownership not found' }) | |
13 | .end() | |
14 | ||
15 | return false | |
16 | } | |
17 | ||
18 | res.locals.videoChangeOwnership = videoChangeOwnership | |
19 | return true | |
20 | } | |
21 | ||
22 | export function checkUserCanTerminateOwnershipChange (user: MUserId, videoChangeOwnership: MVideoChangeOwnershipFull, res: Response) { | |
23 | if (videoChangeOwnership.NextOwner.userId === user.id) { | |
24 | return true | |
25 | } | |
26 | ||
27 | res.status(403) | |
28 | .json({ error: 'Cannot terminate an ownership change of another user' }) | |
29 | .end() | |
30 | return false | |
31 | } |