]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/helpers/middlewares/abuses.ts
Check threads resolve on non federated videos
[github/Chocobozzz/PeerTube.git] / server / helpers / middlewares / abuses.ts
CommitLineData
453e83ea 1import { Response } from 'express'
d95d1559 2import { AbuseModel } from '../../models/abuse/abuse'
68d19a0a 3import { fetchVideo } from '../video'
3e753302 4
d95d1559 5// FIXME: deprecated in 2.3. Remove this function
68d19a0a 6async function doesVideoAbuseExist (abuseIdArg: number | string, videoUUID: string, res: Response) {
d5d9b6d7 7 const abuseId = parseInt(abuseIdArg + '', 10)
d95d1559 8 let abuse = await AbuseModel.loadByIdAndVideoId(abuseId, null, videoUUID)
68d19a0a 9
d95d1559 10 if (!abuse) {
0251197e 11 const userId = res.locals.oauth?.token.User.id
68d19a0a
RK
12 const video = await fetchVideo(videoUUID, 'all', userId)
13
d95d1559 14 if (video) abuse = await AbuseModel.loadByIdAndVideoId(abuseId, video.id)
68d19a0a 15 }
3e753302 16
d95d1559 17 if (abuse === null) {
3e753302 18 res.status(404)
453e83ea 19 .json({ error: 'Video abuse not found' })
3e753302
C
20
21 return false
22 }
23
d95d1559 24 res.locals.abuse = abuse
3e753302
C
25 return true
26}
453e83ea 27
57f6896f 28async function doesAbuseExist (abuseId: number | string, res: Response) {
94148c90 29 const abuse = await AbuseModel.loadByIdWithReporter(parseInt(abuseId + '', 10))
d95d1559 30
57f6896f
C
31 if (!abuse) {
32 res.status(404)
310b5219 33 .json({ error: 'Abuse not found' })
57f6896f
C
34
35 return false
36 }
37
38 res.locals.abuse = abuse
39 return true
d95d1559
C
40}
41
453e83ea
C
42// ---------------------------------------------------------------------------
43
44export {
d95d1559 45 doesAbuseExist,
453e83ea
C
46 doesVideoAbuseExist
47}