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