]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/controllers/api/users/my-video-playlists.ts
Implement signup approval in server
[github/Chocobozzz/PeerTube.git] / server / controllers / api / users / my-video-playlists.ts
index 42da02bff975f004190b1b0ec82525d01ec44d10..fbdbb7e5007876301c47fc83a2bc723d9ec0894b 100644 (file)
@@ -1,9 +1,10 @@
-import * as express from 'express'
+import express from 'express'
+import { forceNumber } from '@shared/core-utils'
+import { uuidToShort } from '@shared/extra-utils'
+import { VideosExistInPlaylists } from '../../../../shared/models/videos/playlist/video-exist-in-playlist.model'
 import { asyncMiddleware, authenticate } from '../../../middlewares'
-import { UserModel } from '../../../models/account/user'
 import { doVideosInPlaylistExistValidator } from '../../../middlewares/validators/videos/video-playlists'
 import { VideoPlaylistModel } from '../../../models/video/video-playlist'
-import { VideoExistInPlaylist } from '../../../../shared/models/videos/playlist/video-exist-in-playlist.model'
 
 const myVideoPlaylistsRouter = express.Router()
 
@@ -22,12 +23,12 @@ export {
 // ---------------------------------------------------------------------------
 
 async function doVideosInPlaylistExist (req: express.Request, res: express.Response) {
-  const videoIds = req.query.videoIds.map(i => parseInt(i + '', 10))
-  const user = res.locals.oauth.token.User as UserModel
+  const videoIds = req.query.videoIds.map(i => forceNumber(i))
+  const user = res.locals.oauth.token.User
 
-  const results = await VideoPlaylistModel.listPlaylistIdsOf(user.Account.id, videoIds)
+  const results = await VideoPlaylistModel.listPlaylistSummariesOf(user.Account.id, videoIds)
 
-  const existObject: VideoExistInPlaylist = {}
+  const existObject: VideosExistInPlaylists = {}
 
   for (const videoId of videoIds) {
     existObject[videoId] = []
@@ -36,7 +37,10 @@ async function doVideosInPlaylistExist (req: express.Request, res: express.Respo
   for (const result of results) {
     for (const element of result.VideoPlaylistElements) {
       existObject[element.videoId].push({
+        playlistElementId: element.id,
         playlistId: result.id,
+        playlistDisplayName: result.name,
+        playlistShortUUID: uuidToShort(result.uuid),
         startTimestamp: element.startTimestamp,
         stopTimestamp: element.stopTimestamp
       })