]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/helpers/middlewares/abuses.ts
Use 3 tables to represent abuses
[github/Chocobozzz/PeerTube.git] / server / helpers / middlewares / abuses.ts
1 import { Response } from 'express'
2 import { AbuseModel } from '../../models/abuse/abuse'
3 import { fetchVideo } from '../video'
4
5 // FIXME: deprecated in 2.3. Remove this function
6 async function doesVideoAbuseExist (abuseIdArg: number | string, videoUUID: string, res: Response) {
7 const abuseId = parseInt(abuseIdArg + '', 10)
8 let abuse = await AbuseModel.loadByIdAndVideoId(abuseId, null, videoUUID)
9
10 if (!abuse) {
11 const userId = res.locals.oauth?.token.User.id
12 const video = await fetchVideo(videoUUID, 'all', userId)
13
14 if (video) abuse = await AbuseModel.loadByIdAndVideoId(abuseId, video.id)
15 }
16
17 if (abuse === null) {
18 res.status(404)
19 .json({ error: 'Video abuse not found' })
20 .end()
21
22 return false
23 }
24
25 res.locals.abuse = abuse
26 return true
27 }
28
29 async function doesAbuseExist (abuseIdArg: number | string, videoUUID: string, res: Response) {
30
31 }
32
33 // ---------------------------------------------------------------------------
34
35 export {
36 doesAbuseExist,
37 doesVideoAbuseExist
38 }