]>
Commit | Line | Data |
---|---|---|
453e83ea | 1 | import { Response } from 'express' |
d95d1559 | 2 | import { AbuseModel } from '../../models/abuse/abuse' |
68d19a0a | 3 | import { fetchVideo } from '../video' |
3e753302 | 4 | |
d95d1559 | 5 | // FIXME: deprecated in 2.3. Remove this function |
68d19a0a | 6 | async 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 | 28 | async 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 | ||
44 | export { | |
d95d1559 | 45 | doesAbuseExist, |
453e83ea C |
46 | doesVideoAbuseExist |
47 | } |