X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fcontrollers%2Fservices.ts;h=3ac78a5df7c0149e2d2de68d9f0ed2ff8a771bf3;hb=3fd3ab2d34d512b160a5e6084d7609be7b4f4452;hp=3ce6bd5269f65259434843ac8aac43b55c98ff47;hpb=d8755eed1e452d2efbfc983af0e9d228d152bf6b;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/controllers/services.ts b/server/controllers/services.ts index 3ce6bd526..3ac78a5df 100644 --- a/server/controllers/services.ts +++ b/server/controllers/services.ts @@ -1,12 +1,14 @@ import * as express from 'express' - -import { CONFIG, THUMBNAILS_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 { VideoModel } from '../models/video/video' const servicesRouter = express.Router() -servicesRouter.use('/oembed', oembedValidator, generateOEmbed) +servicesRouter.use('/oembed', + asyncMiddleware(oembedValidator), + generateOEmbed +) // --------------------------------------------------------------------------- @@ -17,23 +19,23 @@ 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) const embedUrl = webserverUrl + video.getEmbedPath() - let thumbnailUrl = webserverUrl + video.getThumbnailPath() - let embedWidth = 560 - let embedHeight = 315 + let thumbnailUrl = webserverUrl + video.getPreviewPath() + let embedWidth = EMBED_SIZE.width + let embedHeight = EMBED_SIZE.height if (maxHeight < embedHeight) embedHeight = maxHeight if (maxWidth < embedWidth) embedWidth = maxWidth // Our thumbnail is too big for the consumer if ( - (maxHeight !== undefined && maxHeight < THUMBNAILS_SIZE.height) || - (maxWidth !== undefined && maxWidth < THUMBNAILS_SIZE.width) + (maxHeight !== undefined && maxHeight < PREVIEWS_SIZE.height) || + (maxWidth !== undefined && maxWidth < PREVIEWS_SIZE.width) ) { thumbnailUrl = undefined } @@ -47,15 +49,15 @@ function generateOEmbed (req: express.Request, res: express.Response, next: expr width: embedWidth, height: embedHeight, title: video.name, - author_name: video.Author.name, + author_name: video.VideoChannel.Account.name, provider_name: 'PeerTube', provider_url: webserverUrl } if (thumbnailUrl !== undefined) { json.thumbnail_url = thumbnailUrl - json.thumbnail_width = THUMBNAILS_SIZE.width - json.thumbnail_height = THUMBNAILS_SIZE.height + json.thumbnail_width = PREVIEWS_SIZE.width + json.thumbnail_height = PREVIEWS_SIZE.height } return res.json(json)