X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fvideo%2Fvideo-format-utils.ts;h=ad512fc7f1786fd4e7b0edf303b52a17c0f26836;hb=97816649b793bdd0f3df64631ae0ef7cf3d7461c;hp=8bc69605567ab6fc2a1c6fa2618542150ebb8a82;hpb=5cb9f0f4f754a36de0c1844783867f2088adfaed;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/video/video-format-utils.ts b/server/models/video/video-format-utils.ts index 8bc696055..ad512fc7f 100644 --- a/server/models/video/video-format-utils.ts +++ b/server/models/video/video-format-utils.ts @@ -19,8 +19,8 @@ import { MVideoFile, MVideoFormattable, MVideoFormattableDetails -} from '../../typings/models' -import { MVideoFileRedundanciesOpt } from '../../typings/models/video/video-file' +} from '../../types/models' +import { MVideoFileRedundanciesOpt } from '../../types/models/video/video-file' import { VideoFile } from '@shared/models/videos/video-file.model' import { generateMagnetUri } from '@server/helpers/webtorrent' import { extractVideo } from '@server/helpers/video' @@ -59,7 +59,11 @@ function videoModelToFormattedJSON (video: MVideoFormattable, options?: VideoFor label: VideoModel.getPrivacyLabel(video.privacy) }, nsfw: video.nsfw, - description: options && options.completeDescription === true ? video.description : video.getTruncatedDescription(), + + description: options && options.completeDescription === true + ? video.description + : video.getTruncatedDescription(), + isLocal: video.isOwned(), duration: video.duration, views: video.views, @@ -78,7 +82,10 @@ function videoModelToFormattedJSON (video: MVideoFormattable, options?: VideoFor userHistory: userHistory ? { currentTime: userHistory.currentTime - } : undefined + } : undefined, + + // Can be added by external plugins + pluginData: (video as any).pluginData } if (options) { @@ -327,10 +334,7 @@ function videoModelToActivityPubObject (video: MVideoAP): VideoTorrentObject { }) } - // FIXME: remove and uncomment in PT 2.3 - // Breaks compatibility with PT <= 2.1 - // const icons = [ video.getMiniature(), video.getPreview() ] - const miniature = video.getMiniature() + const icons = [ video.getMiniature(), video.getPreview() ] return { type: 'Video' as 'Video', @@ -355,20 +359,13 @@ function videoModelToActivityPubObject (video: MVideoAP): VideoTorrentObject { content: video.description, support: video.support, subtitleLanguage, - icon: { + icon: icons.map(i => ({ type: 'Image', - url: miniature.getFileUrl(video), + url: i.getFileUrl(video), mediaType: 'image/jpeg', - width: miniature.width, - height: miniature.height - } as any, - // icon: icons.map(i => ({ - // type: 'Image', - // url: i.getFileUrl(video), - // mediaType: 'image/jpeg', - // width: i.width, - // height: i.height - // })), + width: i.width, + height: i.height + })), url, likes: getVideoLikesActivityPubUrl(video), dislikes: getVideoDislikesActivityPubUrl(video),