]>
Commit | Line | Data |
---|---|---|
3e753302 C |
1 | import * as express from 'express' |
2 | import { VideoPlaylistModel } from '../../models/video/video-playlist' | |
26d6bf65 | 3 | import { MVideoPlaylist } from '../../types/models/video/video-playlist' |
2d53be02 | 4 | import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' |
3e753302 | 5 | |
453e83ea C |
6 | export type VideoPlaylistFetchType = 'summary' | 'all' |
7 | async function doesVideoPlaylistExist (id: number | string, res: express.Response, fetchType: VideoPlaylistFetchType = 'summary') { | |
8 | if (fetchType === 'summary') { | |
9 | const videoPlaylist = await VideoPlaylistModel.loadWithAccountAndChannelSummary(id, undefined) | |
10 | res.locals.videoPlaylistSummary = videoPlaylist | |
3e753302 | 11 | |
453e83ea C |
12 | return handleVideoPlaylist(videoPlaylist, res) |
13 | } | |
14 | ||
15 | const videoPlaylist = await VideoPlaylistModel.loadWithAccountAndChannel(id, undefined) | |
16 | res.locals.videoPlaylistFull = videoPlaylist | |
17 | ||
18 | return handleVideoPlaylist(videoPlaylist, res) | |
19 | } | |
20 | ||
21 | // --------------------------------------------------------------------------- | |
22 | ||
23 | export { | |
24 | doesVideoPlaylistExist | |
25 | } | |
26 | ||
27 | // --------------------------------------------------------------------------- | |
28 | ||
29 | function handleVideoPlaylist (videoPlaylist: MVideoPlaylist, res: express.Response) { | |
3e753302 | 30 | if (!videoPlaylist) { |
2d53be02 | 31 | res.status(HttpStatusCode.NOT_FOUND_404) |
3e753302 C |
32 | .json({ error: 'Video playlist not found' }) |
33 | .end() | |
34 | ||
35 | return false | |
36 | } | |
37 | ||
3e753302 C |
38 | return true |
39 | } |