1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import express from 'express'
- import { VideoCommentModel } from '@server/models/video/video-comment'
- import { MVideoId } from '@server/types/models'
- import { forceNumber } from '@shared/core-utils'
- import { HttpStatusCode, ServerErrorCode } from '@shared/models'
- async function doesVideoCommentThreadExist (idArg: number | string, video: MVideoId, res: express.Response) {
- const id = forceNumber(idArg)
- const videoComment = await VideoCommentModel.loadById(id)
- if (!videoComment) {
- res.fail({
- status: HttpStatusCode.NOT_FOUND_404,
- message: 'Video comment thread not found'
- })
- return false
- }
- if (videoComment.videoId !== video.id) {
- res.fail({
- type: ServerErrorCode.COMMENT_NOT_ASSOCIATED_TO_VIDEO,
- message: 'Video comment is not associated to this video.'
- })
- return false
- }
- if (videoComment.inReplyToCommentId !== null) {
- res.fail({ message: 'Video comment is not a thread.' })
- return false
- }
- res.locals.videoCommentThread = videoComment
- return true
- }
- async function doesVideoCommentExist (idArg: number | string, video: MVideoId, res: express.Response) {
- const id = forceNumber(idArg)
- const videoComment = await VideoCommentModel.loadByIdAndPopulateVideoAndAccountAndReply(id)
- if (!videoComment) {
- res.fail({
- status: HttpStatusCode.NOT_FOUND_404,
- message: 'Video comment thread not found'
- })
- return false
- }
- if (videoComment.videoId !== video.id) {
- res.fail({
- type: ServerErrorCode.COMMENT_NOT_ASSOCIATED_TO_VIDEO,
- message: 'Video comment is not associated to this video.'
- })
- return false
- }
- res.locals.videoCommentFull = videoComment
- return true
- }
- async function doesCommentIdExist (idArg: number | string, res: express.Response) {
- const id = forceNumber(idArg)
- const videoComment = await VideoCommentModel.loadByIdAndPopulateVideoAndAccountAndReply(id)
- if (!videoComment) {
- res.fail({
- status: HttpStatusCode.NOT_FOUND_404,
- message: 'Video comment thread not found'
- })
- return false
- }
- res.locals.videoCommentFull = videoComment
- return true
- }
- export {
- doesVideoCommentThreadExist,
- doesVideoCommentExist,
- doesCommentIdExist
- }
|