1
0
Fork 0
peertube/server/helpers/middlewares/abuses.ts

48 lines
1.2 KiB
TypeScript
Raw Normal View History

2019-08-15 05:53:26 -04:00
import { Response } from 'express'
2020-07-01 10:05:30 -04:00
import { AbuseModel } from '../../models/abuse/abuse'
import { fetchVideo } from '../video'
2019-07-23 04:40:39 -04:00
2020-07-01 10:05:30 -04:00
// FIXME: deprecated in 2.3. Remove this function
async function doesVideoAbuseExist (abuseIdArg: number | string, videoUUID: string, res: Response) {
2019-10-21 08:50:55 -04:00
const abuseId = parseInt(abuseIdArg + '', 10)
2020-07-01 10:05:30 -04:00
let abuse = await AbuseModel.loadByIdAndVideoId(abuseId, null, videoUUID)
2020-07-01 10:05:30 -04:00
if (!abuse) {
const userId = res.locals.oauth?.token.User.id
const video = await fetchVideo(videoUUID, 'all', userId)
2020-07-01 10:05:30 -04:00
if (video) abuse = await AbuseModel.loadByIdAndVideoId(abuseId, video.id)
}
2019-07-23 04:40:39 -04:00
2020-07-01 10:05:30 -04:00
if (abuse === null) {
2019-07-23 04:40:39 -04:00
res.status(404)
2019-08-15 05:53:26 -04:00
.json({ error: 'Video abuse not found' })
2019-07-23 04:40:39 -04:00
return false
}
2020-07-01 10:05:30 -04:00
res.locals.abuse = abuse
2019-07-23 04:40:39 -04:00
return true
}
2019-08-15 05:53:26 -04:00
2020-07-07 04:57:04 -04:00
async function doesAbuseExist (abuseId: number | string, res: Response) {
const abuse = await AbuseModel.loadById(parseInt(abuseId + '', 10))
2020-07-01 10:05:30 -04:00
2020-07-07 04:57:04 -04:00
if (!abuse) {
res.status(404)
2020-07-08 09:51:46 -04:00
.json({ error: 'Abuse not found' })
2020-07-07 04:57:04 -04:00
return false
}
res.locals.abuse = abuse
return true
2020-07-01 10:05:30 -04:00
}
2019-08-15 05:53:26 -04:00
// ---------------------------------------------------------------------------
export {
2020-07-01 10:05:30 -04:00
doesAbuseExist,
2019-08-15 05:53:26 -04:00
doesVideoAbuseExist
}