]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/helpers/middlewares/video-playlists.ts
Fix preview upload with capitalized ext
[github/Chocobozzz/PeerTube.git] / server / helpers / middlewares / video-playlists.ts
CommitLineData
3e753302
C
1import * as express from 'express'
2import { VideoPlaylistModel } from '../../models/video/video-playlist'
26d6bf65 3import { MVideoPlaylist } from '../../types/models/video/video-playlist'
2d53be02 4import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes'
3e753302 5
453e83ea
C
6export type VideoPlaylistFetchType = 'summary' | 'all'
7async 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
23export {
24 doesVideoPlaylistExist
25}
26
27// ---------------------------------------------------------------------------
28
29function 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}