]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/controllers/api/video-channel.ts
Add playlist rest tests
[github/Chocobozzz/PeerTube.git] / server / controllers / api / video-channel.ts
index 534cc8d7b19f67341eaf17903dae05b1492c6118..c13aed4dc80d2f5e2b72ef6592cff5533ec24184 100644 (file)
@@ -33,6 +33,7 @@ import { resetSequelizeInstance } from '../../helpers/database-utils'
 import { UserModel } from '../../models/account/user'
 import { JobQueue } from '../../lib/job-queue'
 import { VideoPlaylistModel } from '../../models/video/video-playlist'
+import { commonVideoPlaylistFiltersValidator } from '../../middlewares/validators/videos/video-playlists'
 
 const auditLogger = auditLoggerFactory('channels')
 const reqAvatarFile = createReqFiles([ 'avatarfile' ], MIMETYPES.IMAGE.MIMETYPE_EXT, { avatarfile: CONFIG.STORAGE.TMP_DIR })
@@ -85,6 +86,7 @@ videoChannelRouter.get('/:nameWithHost/video-playlists',
   videoPlaylistsSortValidator,
   setDefaultSort,
   setDefaultPagination,
+  commonVideoPlaylistFiltersValidator,
   asyncMiddleware(listVideoChannelPlaylists)
 )
 
@@ -197,6 +199,8 @@ async function removeVideoChannel (req: express.Request, res: express.Response)
   const videoChannelInstance: VideoChannelModel = res.locals.videoChannel
 
   await sequelizeTypescript.transaction(async t => {
+    await VideoPlaylistModel.resetPlaylistsOfChannel(videoChannelInstance.id, t)
+
     await videoChannelInstance.destroy({ transaction: t })
 
     auditLogger.delete(getAuditIdFromRes(res), new VideoChannelAuditView(videoChannelInstance.toFormattedJSON()))
@@ -225,7 +229,8 @@ async function listVideoChannelPlaylists (req: express.Request, res: express.Res
     start: req.query.start,
     count: req.query.count,
     sort: req.query.sort,
-    videoChannelId: res.locals.videoChannel.id
+    videoChannelId: res.locals.videoChannel.id,
+    type: req.query.playlistType
   })
 
   return res.json(getFormattedObjects(resultList.data, resultList.total))