-import * as express from 'express'
+import express from 'express'
+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()
// ---------------------------------------------------------------------------
async function doVideosInPlaylistExist (req: express.Request, res: express.Response) {
- const videoIds = req.query.videoIds as number[]
- const user = res.locals.oauth.token.User as UserModel
+ const videoIds = req.query.videoIds.map(i => parseInt(i + '', 10))
+ const user = res.locals.oauth.token.User
const results = await VideoPlaylistModel.listPlaylistIdsOf(user.Account.id, videoIds)
- const existObject: VideoExistInPlaylist = {}
+ const existObject: VideosExistInPlaylists = {}
for (const videoId of videoIds) {
existObject[videoId] = []
for (const result of results) {
for (const element of result.VideoPlaylistElements) {
existObject[element.videoId].push({
+ playlistElementId: element.id,
playlistId: result.id,
startTimestamp: element.startTimestamp,
stopTimestamp: element.stopTimestamp