X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fvideo-comment.ts;h=516c912a90a30f0f3e679e65e37384ee6a3c3542;hb=fa11e79d4ad9211848938af490493078437bf500;hp=bfe22d225b88ecfb7b7b3aa6846f2e35c41b492c;hpb=1735c825726edaa0af5035cb6cbb0cc0db502c6d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/video-comment.ts b/server/lib/video-comment.ts index bfe22d225..516c912a9 100644 --- a/server/lib/video-comment.ts +++ b/server/lib/video-comment.ts @@ -1,17 +1,16 @@ import * as Sequelize from 'sequelize' import { ResultList } from '../../shared/models' import { VideoCommentThreadTree } from '../../shared/models/videos/video-comment.model' -import { AccountModel } from '../models/account/account' -import { VideoModel } from '../models/video/video' import { VideoCommentModel } from '../models/video/video-comment' -import { getVideoCommentActivityPubUrl } from './activitypub' +import { getVideoCommentActivityPubUrl } from './activitypub/url' import { sendCreateVideoComment } from './activitypub/send' +import { MAccountDefault, MComment, MCommentOwnerVideoReply, MVideoFullLight } from '../typings/models' async function createVideoComment (obj: { - text: string, - inReplyToComment: VideoCommentModel | null, - video: VideoModel - account: AccountModel + text: string + inReplyToComment: MComment | null + video: MVideoFullLight + account: MAccountDefault }, t: Sequelize.Transaction) { let originCommentId: number | null = null let inReplyToCommentId: number | null = null @@ -27,12 +26,12 @@ async function createVideoComment (obj: { inReplyToCommentId, videoId: obj.video.id, accountId: obj.account.id, - url: 'fake url' - }, { transaction: t, validate: false } as any) // FIXME: sequelize typings + url: new Date().toISOString() + }, { transaction: t, validate: false }) - comment.set('url', getVideoCommentActivityPubUrl(obj.video, comment)) + comment.url = getVideoCommentActivityPubUrl(obj.video, comment) - const savedComment = await comment.save({ transaction: t }) + const savedComment: MCommentOwnerVideoReply = await comment.save({ transaction: t }) savedComment.InReplyToVideoComment = obj.inReplyToComment savedComment.Video = obj.video savedComment.Account = obj.account @@ -74,9 +73,16 @@ function buildFormattedCommentTree (resultList: ResultList): return thread } +function markCommentAsDeleted (comment: MCommentOwnerVideoReply): void { + comment.text = '' + comment.deletedAt = new Date() + comment.accountId = null +} + // --------------------------------------------------------------------------- export { createVideoComment, - buildFormattedCommentTree + buildFormattedCommentTree, + markCommentAsDeleted }