X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fvideo-comment.ts;h=02f160fe833f0970932462b9b7466551f55900d1;hb=31a9ed960ff1013940d677cb56f83ecd90a93e26;hp=736ebb2f8e7ed5a4db053502b61cc7ff971f2243;hpb=de94ac86a211dec657332d964693857ec235ce40;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/video-comment.ts b/server/lib/video-comment.ts index 736ebb2f8..02f160fe8 100644 --- a/server/lib/video-comment.ts +++ b/server/lib/video-comment.ts @@ -1,16 +1,17 @@ import { cloneDeep } from 'lodash' import * as Sequelize from 'sequelize' +import express from 'express' import { logger } from '@server/helpers/logger' import { sequelizeTypescript } from '@server/initializers/database' import { ResultList } from '../../shared/models' -import { VideoCommentThreadTree } from '../../shared/models/videos/video-comment.model' +import { VideoCommentThreadTree } from '../../shared/models/videos/comment/video-comment.model' import { VideoCommentModel } from '../models/video/video-comment' import { MAccountDefault, MComment, MCommentOwnerVideo, MCommentOwnerVideoReply, MVideoFullLight } from '../types/models' import { sendCreateVideoComment, sendDeleteVideoComment } from './activitypub/send' import { getLocalVideoCommentActivityPubUrl } from './activitypub/url' import { Hooks } from './plugins/hooks' -async function removeComment (videoCommentInstance: MCommentOwnerVideo) { +async function removeComment (videoCommentInstance: MCommentOwnerVideo, req: express.Request, res: express.Response) { const videoCommentInstanceBefore = cloneDeep(videoCommentInstance) await sequelizeTypescript.transaction(async t => { @@ -18,14 +19,14 @@ async function removeComment (videoCommentInstance: MCommentOwnerVideo) { await sendDeleteVideoComment(videoCommentInstance, t) } - markCommentAsDeleted(videoCommentInstance) + videoCommentInstance.markAsDeleted() - await videoCommentInstance.save() + await videoCommentInstance.save({ transaction: t }) }) logger.info('Video comment %d deleted.', videoCommentInstance.id) - Hooks.runAction('action:api.video-comment.deleted', { comment: videoCommentInstanceBefore }) + Hooks.runAction('action:api.video-comment.deleted', { comment: videoCommentInstanceBefore, req, res }) } async function createVideoComment (obj: { @@ -95,17 +96,10 @@ function buildFormattedCommentTree (resultList: ResultList): return thread } -function markCommentAsDeleted (comment: MComment): void { - comment.text = '' - comment.deletedAt = new Date() - comment.accountId = null -} - // --------------------------------------------------------------------------- export { removeComment, createVideoComment, - buildFormattedCommentTree, - markCommentAsDeleted + buildFormattedCommentTree }