]>
Commit | Line | Data |
---|---|---|
268eebed C |
1 | import { Response } from 'express' |
2 | import * as validator from 'validator' | |
3 | import { CONSTRAINTS_FIELDS, VIDEO_ABUSE_STATES } from '../../initializers' | |
4 | import { exists } from './misc' | |
5 | import { VideoAbuseModel } from '../../models/video/video-abuse' | |
6 | ||
7 | const VIDEO_ABUSES_CONSTRAINTS_FIELDS = CONSTRAINTS_FIELDS.VIDEO_ABUSES | |
8 | ||
9 | function isVideoAbuseReasonValid (value: string) { | |
10 | return exists(value) && validator.isLength(value, VIDEO_ABUSES_CONSTRAINTS_FIELDS.REASON) | |
11 | } | |
12 | ||
13 | function isVideoAbuseModerationCommentValid (value: string) { | |
14 | return exists(value) && validator.isLength(value, VIDEO_ABUSES_CONSTRAINTS_FIELDS.MODERATION_COMMENT) | |
15 | } | |
16 | ||
17 | function isVideoAbuseStateValid (value: string) { | |
18 | return exists(value) && VIDEO_ABUSE_STATES[ value ] !== undefined | |
19 | } | |
20 | ||
21 | async function isVideoAbuseExist (abuseId: number, videoId: number, res: Response) { | |
22 | const videoAbuse = await VideoAbuseModel.loadByIdAndVideoId(abuseId, videoId) | |
23 | ||
24 | if (videoAbuse === null) { | |
25 | res.status(404) | |
26 | .json({ error: 'Video abuse not found' }) | |
27 | .end() | |
28 | ||
29 | return false | |
30 | } | |
31 | ||
32 | res.locals.videoAbuse = videoAbuse | |
33 | return true | |
34 | } | |
35 | ||
36 | // --------------------------------------------------------------------------- | |
37 | ||
38 | export { | |
39 | isVideoAbuseExist, | |
40 | isVideoAbuseStateValid, | |
41 | isVideoAbuseReasonValid, | |
42 | isVideoAbuseModerationCommentValid | |
43 | } |