]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/helpers/middlewares/video-playlists.ts
Translated using Weblate (Russian)
[github/Chocobozzz/PeerTube.git] / server / helpers / middlewares / video-playlists.ts
1 import * as express from 'express'
2 import { VideoPlaylistModel } from '../../models/video/video-playlist'
3 import { MVideoPlaylist } from '../../types/models/video/video-playlist'
4 import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes'
5
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
11
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) {
30 if (!videoPlaylist) {
31 res.status(HttpStatusCode.NOT_FOUND_404)
32 .json({ error: 'Video playlist not found' })
33 .end()
34
35 return false
36 }
37
38 return true
39 }