PeerTube/server/helpers/middlewares/video-abuses.ts

33 lines
904 B
TypeScript
Raw Normal View History

2019-08-15 04:53:26 -05:00
import { Response } from 'express'
import { VideoAbuseModel } from '../../models/video/video-abuse'
import { fetchVideo } from '../video'
2019-07-23 03:40:39 -05:00
async function doesVideoAbuseExist (abuseIdArg: number | string, videoUUID: string, res: Response) {
2019-10-21 07:50:55 -05:00
const abuseId = parseInt(abuseIdArg + '', 10)
let videoAbuse = await VideoAbuseModel.loadByIdAndVideoId(abuseId, null, videoUUID)
if (!videoAbuse) {
const userId = res.locals.oauth?.token.User.id
const video = await fetchVideo(videoUUID, 'all', userId)
if (video) videoAbuse = await VideoAbuseModel.loadByIdAndVideoId(abuseId, video.id)
}
2019-07-23 03:40:39 -05:00
2019-08-15 04:53:26 -05:00
if (videoAbuse === null) {
2019-07-23 03:40:39 -05:00
res.status(404)
2019-08-15 04:53:26 -05:00
.json({ error: 'Video abuse not found' })
2019-07-23 03:40:39 -05:00
.end()
return false
}
2019-08-15 04:53:26 -05:00
res.locals.videoAbuse = videoAbuse
2019-07-23 03:40:39 -05:00
return true
}
2019-08-15 04:53:26 -05:00
// ---------------------------------------------------------------------------
export {
doesVideoAbuseExist
}