X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fmoderation.ts;h=0cefe1648faf2a7d61621a2561952ab424bfd066;hb=1f256e7d3cf056c2d999260155cdba58ae1b878b;hp=0ace2d0218c84dfa836ffb5ba90da0db34ee251f;hpb=3cabf3532b9118a19311f14ca3e171d12d554a2f;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/moderation.ts b/server/lib/moderation.ts index 0ace2d021..0cefe1648 100644 --- a/server/lib/moderation.ts +++ b/server/lib/moderation.ts @@ -1,6 +1,8 @@ +import { VideoUploadFile } from 'express' import { PathLike } from 'fs-extra' import { Transaction } from 'sequelize/types' import { AbuseAuditView, auditLoggerFactory } from '@server/helpers/audit-logger' +import { afterCommitIfTransaction } from '@server/helpers/database-utils' import { logger } from '@server/helpers/logger' import { AbuseModel } from '@server/models/abuse/abuse' import { VideoAbuseModel } from '@server/models/abuse/video-abuse' @@ -21,9 +23,9 @@ import { ActivityCreate } from '../../shared/models/activitypub' import { VideoObject } from '../../shared/models/activitypub/objects' import { VideoCommentObject } from '../../shared/models/activitypub/objects/video-comment-object' import { LiveVideoCreate, VideoCreate, VideoImportCreate } from '../../shared/models/videos' -import { VideoCommentCreate } from '../../shared/models/videos/video-comment.model' -import { UserModel } from '../models/account/user' -import { ActorModel } from '../models/activitypub/actor' +import { VideoCommentCreate } from '../../shared/models/videos/comment/video-comment.model' +import { ActorModel } from '../models/actor/actor' +import { UserModel } from '../models/user/user' import { VideoModel } from '../models/video/video' import { VideoCommentModel } from '../models/video/video-comment' import { sendAbuse } from './activitypub/send/send-flag' @@ -37,7 +39,7 @@ export type AcceptResult = { // Can be filtered by plugins function isLocalVideoAccepted (object: { videoBody: VideoCreate - videoFile: Express.Multer.File & { duration?: number } + videoFile: VideoUploadFile user: UserModel }): AcceptResult { return { accepted: true } @@ -225,10 +227,12 @@ async function createAbuse (options: { const abuseJSON = abuseInstance.toFormattedAdminJSON() auditLogger.create(reporterAccount.Actor.getIdentifier(), new AbuseAuditView(abuseJSON)) - Notifier.Instance.notifyOnNewAbuse({ - abuse: abuseJSON, - abuseInstance, - reporter: reporterAccount.Actor.getIdentifier() + afterCommitIfTransaction(transaction, () => { + Notifier.Instance.notifyOnNewAbuse({ + abuse: abuseJSON, + abuseInstance, + reporter: reporterAccount.Actor.getIdentifier() + }) }) logger.info('Abuse report %d created.', abuseInstance.id)