-async function videoController (req: express.Request, res: express.Response, next: express.NextFunction) {
- const video: VideoModel = res.locals.video
+async function accountPlaylistsController (req: express.Request, res: express.Response) {
+ const account = res.locals.account
+ const activityPubResult = await actorPlaylists(req, account)
+
+ return activityPubResponse(activityPubContextify(activityPubResult), res)
+}
+
+function getAccountVideoRate (rateType: VideoRateType) {
+ return (req: express.Request, res: express.Response) => {
+ const accountVideoRate = res.locals.accountVideoRate
+
+ const byActor = accountVideoRate.Account.Actor
+ const url = getRateUrl(rateType, byActor, accountVideoRate.Video)
+ const APObject = rateType === 'like'
+ ? buildLikeActivity(url, byActor, accountVideoRate.Video)
+ : buildDislikeActivity(url, byActor, accountVideoRate.Video)
+
+ return activityPubResponse(activityPubContextify(APObject), res)
+ }
+}
+
+async function videoController (req: express.Request, res: express.Response) {
+ // We need more attributes
+ const video = await VideoModel.loadForGetAPI({ id: res.locals.onlyVideoWithRights.id }) as MVideoAPWithoutCaption
+
+ if (video.url.startsWith(WEBSERVER.URL) === false) return res.redirect(video.url)