]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/controllers/services.ts
Fix resolution for portrait videos
[github/Chocobozzz/PeerTube.git] / server / controllers / services.ts
index 99a33a716a158cb70060dfada8c76e4bdc96a1b0..c272edccd5196256d93089544d7388e2f11cfd90 100644 (file)
@@ -1,12 +1,19 @@
 import * as express from 'express'
-
-import { CONFIG, PREVIEWS_SIZE, EMBED_SIZE } from '../initializers'
-import { oembedValidator } from '../middlewares'
-import { VideoInstance } from '../models'
+import { CONFIG, EMBED_SIZE, PREVIEWS_SIZE } from '../initializers'
+import { asyncMiddleware, oembedValidator } from '../middlewares'
+import { accountsNameWithHostGetValidator } from '../middlewares/validators'
+import { VideoModel } from '../models/video/video'
 
 const servicesRouter = express.Router()
 
-servicesRouter.use('/oembed', oembedValidator, generateOEmbed)
+servicesRouter.use('/oembed',
+  asyncMiddleware(oembedValidator),
+  generateOEmbed
+)
+servicesRouter.use('/redirect/accounts/:nameWithHost',
+  asyncMiddleware(accountsNameWithHostGetValidator),
+  redirectToAccountUrl
+)
 
 // ---------------------------------------------------------------------------
 
@@ -17,7 +24,7 @@ export {
 // ---------------------------------------------------------------------------
 
 function generateOEmbed (req: express.Request, res: express.Response, next: express.NextFunction) {
-  const video = res.locals.video as VideoInstance
+  const video = res.locals.video as VideoModel
   const webserverUrl = CONFIG.WEBSERVER.URL
   const maxHeight = parseInt(req.query.maxheight, 10)
   const maxWidth = parseInt(req.query.maxwidth, 10)
@@ -47,7 +54,7 @@ function generateOEmbed (req: express.Request, res: express.Response, next: expr
     width: embedWidth,
     height: embedHeight,
     title: video.name,
-    author_name: video.VideoChannel.Author.name,
+    author_name: video.VideoChannel.Account.name,
     provider_name: 'PeerTube',
     provider_url: webserverUrl
   }
@@ -60,3 +67,7 @@ function generateOEmbed (req: express.Request, res: express.Response, next: expr
 
   return res.json(json)
 }
+
+function redirectToAccountUrl (req: express.Request, res: express.Response, next: express.NextFunction) {
+  return res.redirect(res.locals.account.Actor.url)
+}