X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fvideo%2Fvideo-format-utils.ts;h=905e8444997e8306d07773213960491ad9b41261;hb=35d50b7dd26b3cf646b8845784927bb1ef18dfb3;hp=18364a287d73e5f6a69b33693cae19b0d92effe1;hpb=c39e86b898370a55c147ed1958db00723b0364e4;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/video/video-format-utils.ts b/server/models/video/video-format-utils.ts index 18364a287..905e84449 100644 --- a/server/models/video/video-format-utils.ts +++ b/server/models/video/video-format-utils.ts @@ -10,6 +10,7 @@ import { getVideoLikesActivityPubUrl, getVideoSharesActivityPubUrl } from '../../lib/activitypub' +import { isArray } from '../../helpers/custom-validators/misc' export type VideoFormattingJSONOptions = { completeDescription?: boolean @@ -24,6 +25,8 @@ function videoModelToFormattedJSON (video: VideoModel, options?: VideoFormatting const formattedAccount = video.VideoChannel.Account.toFormattedJSON() const formattedVideoChannel = video.VideoChannel.toFormattedJSON() + const userHistory = isArray(video.UserVideoHistories) ? video.UserVideoHistories[0] : undefined + const videoObject: Video = { id: video.id, uuid: video.uuid, @@ -45,7 +48,7 @@ function videoModelToFormattedJSON (video: VideoModel, options?: VideoFormatting label: VideoModel.getPrivacyLabel(video.privacy) }, nsfw: video.nsfw, - description: 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, @@ -74,7 +77,11 @@ function videoModelToFormattedJSON (video: VideoModel, options?: VideoFormatting url: formattedVideoChannel.url, host: formattedVideoChannel.host, avatar: formattedVideoChannel.avatar - } + }, + + userHistory: userHistory ? { + currentTime: userHistory.currentTime + } : undefined } if (options) {