]>
Commit | Line | Data |
---|---|---|
74d63469 | 1 | import { Response } from 'express' |
74d63469 | 2 | import { VideoChangeOwnershipModel } from '../../models/video/video-change-ownership' |
26d6bf65 C |
3 | import { MVideoChangeOwnershipFull } from '@server/types/models/video/video-change-ownership' |
4 | import { MUserId } from '@server/types/models' | |
2d53be02 | 5 | import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' |
74d63469 | 6 | |
d5d9b6d7 C |
7 | export async function doesChangeVideoOwnershipExist (idArg: number | string, res: Response) { |
8 | const id = parseInt(idArg + '', 10) | |
453e83ea | 9 | const videoChangeOwnership = await VideoChangeOwnershipModel.load(id) |
74d63469 GR |
10 | |
11 | if (!videoChangeOwnership) { | |
2d53be02 | 12 | res.status(HttpStatusCode.NOT_FOUND_404) |
74d63469 GR |
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 | ||
453e83ea | 23 | export function checkUserCanTerminateOwnershipChange (user: MUserId, videoChangeOwnership: MVideoChangeOwnershipFull, res: Response) { |
f41d6aac | 24 | if (videoChangeOwnership.NextOwner.userId === user.id) { |
74d63469 GR |
25 | return true |
26 | } | |
27 | ||
2d53be02 | 28 | res.status(HttpStatusCode.FORBIDDEN_403) |
74d63469 GR |
29 | .json({ error: 'Cannot terminate an ownership change of another user' }) |
30 | .end() | |
31 | return false | |
32 | } |