]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/controllers/api/videos/abuse.ts
Fix video import tests
[github/Chocobozzz/PeerTube.git] / server / controllers / api / videos / abuse.ts
index ec28fce67d6c6b91af808d9ab53760831e29974d..ab207445950daa9169502744b9b75a68e3774e36 100644 (file)
@@ -1,5 +1,5 @@
 import * as express from 'express'
-import { UserRight, VideoAbuseCreate, VideoAbuseState, VideoAbuse } from '../../../../shared'
+import { UserRight, VideoAbuseCreate, VideoAbuseState, VideoAbuse, videoAbusePredefinedReasonsMap } from '../../../../shared'
 import { logger } from '../../../helpers/logger'
 import { getFormattedObjects } from '../../../helpers/utils'
 import { sequelizeTypescript } from '../../../initializers/database'
@@ -22,9 +22,9 @@ import { VideoAbuseModel } from '../../../models/video/video-abuse'
 import { auditLoggerFactory, VideoAbuseAuditView } from '../../../helpers/audit-logger'
 import { Notifier } from '../../../lib/notifier'
 import { sendVideoAbuse } from '../../../lib/activitypub/send/send-flag'
-import { MVideoAbuseAccountVideo } from '../../../typings/models/video'
+import { MVideoAbuseAccountVideo } from '../../../types/models/video'
 import { getServerActor } from '@server/models/application/application'
-import { MAccountDefault } from '@server/typings/models'
+import { MAccountDefault } from '@server/types/models'
 
 const auditLogger = auditLoggerFactory('abuse')
 const abuseVideoRouter = express.Router()
@@ -74,6 +74,7 @@ async function listVideoAbuses (req: express.Request, res: express.Response) {
     count: req.query.count,
     sort: req.query.sort,
     id: req.query.id,
+    predefinedReason: req.query.predefinedReason,
     search: req.query.search,
     state: req.query.state,
     videoIs: req.query.videoIs,
@@ -123,12 +124,16 @@ async function reportVideoAbuse (req: express.Request, res: express.Response) {
 
   const videoAbuseInstance = await sequelizeTypescript.transaction(async t => {
     reporterAccount = await AccountModel.load(res.locals.oauth.token.User.Account.id, t)
+    const predefinedReasons = body.predefinedReasons?.map(r => videoAbusePredefinedReasonsMap[r])
 
     const abuseToCreate = {
       reporterAccountId: reporterAccount.id,
       reason: body.reason,
       videoId: videoInstance.id,
-      state: VideoAbuseState.PENDING
+      state: VideoAbuseState.PENDING,
+      predefinedReasons,
+      startAt: body.startAt,
+      endAt: body.endAt
     }
 
     const videoAbuseInstance: MVideoAbuseAccountVideo = await VideoAbuseModel.create(abuseToCreate, { transaction: t })
@@ -152,7 +157,7 @@ async function reportVideoAbuse (req: express.Request, res: express.Response) {
     reporter: reporterAccount.Actor.getIdentifier()
   })
 
-  logger.info('Abuse report for video %s created.', videoInstance.name)
+  logger.info('Abuse report for video "%s" created.', videoInstance.name)
 
-  return res.json({ videoAbuseJSON }).end()
+  return res.json({ videoAbuse: videoAbuseJSON }).end()
 }