X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Fapi%2Fusers%2Fmy-video-playlists.ts;h=fbdbb7e5007876301c47fc83a2bc723d9ec0894b;hb=e364e31e25bd1d4b8d801c845a96d6be708f0a18;hp=42da02bff975f004190b1b0ec82525d01ec44d10;hpb=0b16f5f2202e0c0832b5e678fadd95c64b8e8789;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/api/users/my-video-playlists.ts b/server/controllers/api/users/my-video-playlists.ts index 42da02bff..fbdbb7e50 100644 --- a/server/controllers/api/users/my-video-playlists.ts +++ b/server/controllers/api/users/my-video-playlists.ts @@ -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 })