diff options
author | Chocobozzz <me@florianbigard.com> | 2018-01-03 10:12:36 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2018-01-03 10:38:19 +0100 |
commit | 47564bbe2eeb2baae9b7e3f9b2b8d16522bc7e04 (patch) | |
tree | 25e2836baf3dfce6f422192d98332db1bfe65890 /server/controllers/api/videos/comment.ts | |
parent | c5911fd347c76e8bdc05ea9f3ee9efed4a58c236 (diff) | |
download | PeerTube-47564bbe2eeb2baae9b7e3f9b2b8d16522bc7e04.tar.gz PeerTube-47564bbe2eeb2baae9b7e3f9b2b8d16522bc7e04.tar.zst PeerTube-47564bbe2eeb2baae9b7e3f9b2b8d16522bc7e04.zip |
Add ability to disable video comments
Diffstat (limited to 'server/controllers/api/videos/comment.ts')
-rw-r--r-- | server/controllers/api/videos/comment.ts | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/server/controllers/api/videos/comment.ts b/server/controllers/api/videos/comment.ts index b11da2ef7..e09b242ed 100644 --- a/server/controllers/api/videos/comment.ts +++ b/server/controllers/api/videos/comment.ts | |||
@@ -1,4 +1,5 @@ | |||
1 | import * as express from 'express' | 1 | import * as express from 'express' |
2 | import { ResultList } from '../../../../shared/models' | ||
2 | import { VideoCommentCreate } from '../../../../shared/models/videos/video-comment.model' | 3 | import { VideoCommentCreate } from '../../../../shared/models/videos/video-comment.model' |
3 | import { retryTransactionWrapper } from '../../../helpers/database-utils' | 4 | import { retryTransactionWrapper } from '../../../helpers/database-utils' |
4 | import { getFormattedObjects } from '../../../helpers/utils' | 5 | import { getFormattedObjects } from '../../../helpers/utils' |
@@ -10,6 +11,7 @@ import { | |||
10 | addVideoCommentReplyValidator, addVideoCommentThreadValidator, listVideoCommentThreadsValidator, | 11 | addVideoCommentReplyValidator, addVideoCommentThreadValidator, listVideoCommentThreadsValidator, |
11 | listVideoThreadCommentsValidator | 12 | listVideoThreadCommentsValidator |
12 | } from '../../../middlewares/validators/video-comments' | 13 | } from '../../../middlewares/validators/video-comments' |
14 | import { VideoModel } from '../../../models/video/video' | ||
13 | import { VideoCommentModel } from '../../../models/video/video-comment' | 15 | import { VideoCommentModel } from '../../../models/video/video-comment' |
14 | 16 | ||
15 | const videoCommentRouter = express.Router() | 17 | const videoCommentRouter = express.Router() |
@@ -47,13 +49,33 @@ export { | |||
47 | // --------------------------------------------------------------------------- | 49 | // --------------------------------------------------------------------------- |
48 | 50 | ||
49 | async function listVideoThreads (req: express.Request, res: express.Response, next: express.NextFunction) { | 51 | async function listVideoThreads (req: express.Request, res: express.Response, next: express.NextFunction) { |
50 | const resultList = await VideoCommentModel.listThreadsForApi(res.locals.video.id, req.query.start, req.query.count, req.query.sort) | 52 | const video = res.locals.video as VideoModel |
53 | let resultList: ResultList<VideoCommentModel> | ||
54 | |||
55 | if (video.commentsEnabled === true) { | ||
56 | resultList = await VideoCommentModel.listThreadsForApi(video.id, req.query.start, req.query.count, req.query.sort) | ||
57 | } else { | ||
58 | resultList = { | ||
59 | total: 0, | ||
60 | data: [] | ||
61 | } | ||
62 | } | ||
51 | 63 | ||
52 | return res.json(getFormattedObjects(resultList.data, resultList.total)) | 64 | return res.json(getFormattedObjects(resultList.data, resultList.total)) |
53 | } | 65 | } |
54 | 66 | ||
55 | async function listVideoThreadComments (req: express.Request, res: express.Response, next: express.NextFunction) { | 67 | async function listVideoThreadComments (req: express.Request, res: express.Response, next: express.NextFunction) { |
56 | const resultList = await VideoCommentModel.listThreadCommentsForApi(res.locals.video.id, res.locals.videoCommentThread.id) | 68 | const video = res.locals.video as VideoModel |
69 | let resultList: ResultList<VideoCommentModel> | ||
70 | |||
71 | if (video.commentsEnabled === true) { | ||
72 | resultList = await VideoCommentModel.listThreadCommentsForApi(res.locals.video.id, res.locals.videoCommentThread.id) | ||
73 | } else { | ||
74 | resultList = { | ||
75 | total: 0, | ||
76 | data: [] | ||
77 | } | ||
78 | } | ||
57 | 79 | ||
58 | return res.json(buildFormattedCommentTree(resultList)) | 80 | return res.json(buildFormattedCommentTree(resultList)) |
59 | } | 81 | } |