diff options
Diffstat (limited to 'server/middlewares/validators/shared/video-comments.ts')
-rw-r--r-- | server/middlewares/validators/shared/video-comments.ts | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/server/middlewares/validators/shared/video-comments.ts b/server/middlewares/validators/shared/video-comments.ts deleted file mode 100644 index 0961b3ec9..000000000 --- a/server/middlewares/validators/shared/video-comments.ts +++ /dev/null | |||
@@ -1,80 +0,0 @@ | |||
1 | import express from 'express' | ||
2 | import { VideoCommentModel } from '@server/models/video/video-comment' | ||
3 | import { MVideoId } from '@server/types/models' | ||
4 | import { forceNumber } from '@shared/core-utils' | ||
5 | import { HttpStatusCode, ServerErrorCode } from '@shared/models' | ||
6 | |||
7 | async function doesVideoCommentThreadExist (idArg: number | string, video: MVideoId, res: express.Response) { | ||
8 | const id = forceNumber(idArg) | ||
9 | const videoComment = await VideoCommentModel.loadById(id) | ||
10 | |||
11 | if (!videoComment) { | ||
12 | res.fail({ | ||
13 | status: HttpStatusCode.NOT_FOUND_404, | ||
14 | message: 'Video comment thread not found' | ||
15 | }) | ||
16 | return false | ||
17 | } | ||
18 | |||
19 | if (videoComment.videoId !== video.id) { | ||
20 | res.fail({ | ||
21 | type: ServerErrorCode.COMMENT_NOT_ASSOCIATED_TO_VIDEO, | ||
22 | message: 'Video comment is not associated to this video.' | ||
23 | }) | ||
24 | return false | ||
25 | } | ||
26 | |||
27 | if (videoComment.inReplyToCommentId !== null) { | ||
28 | res.fail({ message: 'Video comment is not a thread.' }) | ||
29 | return false | ||
30 | } | ||
31 | |||
32 | res.locals.videoCommentThread = videoComment | ||
33 | return true | ||
34 | } | ||
35 | |||
36 | async function doesVideoCommentExist (idArg: number | string, video: MVideoId, res: express.Response) { | ||
37 | const id = forceNumber(idArg) | ||
38 | const videoComment = await VideoCommentModel.loadByIdAndPopulateVideoAndAccountAndReply(id) | ||
39 | |||
40 | if (!videoComment) { | ||
41 | res.fail({ | ||
42 | status: HttpStatusCode.NOT_FOUND_404, | ||
43 | message: 'Video comment thread not found' | ||
44 | }) | ||
45 | return false | ||
46 | } | ||
47 | |||
48 | if (videoComment.videoId !== video.id) { | ||
49 | res.fail({ | ||
50 | type: ServerErrorCode.COMMENT_NOT_ASSOCIATED_TO_VIDEO, | ||
51 | message: 'Video comment is not associated to this video.' | ||
52 | }) | ||
53 | return false | ||
54 | } | ||
55 | |||
56 | res.locals.videoCommentFull = videoComment | ||
57 | return true | ||
58 | } | ||
59 | |||
60 | async function doesCommentIdExist (idArg: number | string, res: express.Response) { | ||
61 | const id = forceNumber(idArg) | ||
62 | const videoComment = await VideoCommentModel.loadByIdAndPopulateVideoAndAccountAndReply(id) | ||
63 | |||
64 | if (!videoComment) { | ||
65 | res.fail({ | ||
66 | status: HttpStatusCode.NOT_FOUND_404, | ||
67 | message: 'Video comment thread not found' | ||
68 | }) | ||
69 | return false | ||
70 | } | ||
71 | |||
72 | res.locals.videoCommentFull = videoComment | ||
73 | return true | ||
74 | } | ||
75 | |||
76 | export { | ||
77 | doesVideoCommentThreadExist, | ||
78 | doesVideoCommentExist, | ||
79 | doesCommentIdExist | ||
80 | } | ||