X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Fvideos%2Fvideo.model.ts;h=e057b3e0699177aa49e50ff46ac1db5eb361e9b5;hb=bfbd912886eba17b4aa9a40dcef2fddc685d85bf;hp=2f4ee246273d61283b98d9afd4fbcf46804f2031;hpb=fd45e8f43c2638478599ca75632518054461da85;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/videos/video.model.ts b/shared/models/videos/video.model.ts index 2f4ee2462..e057b3e06 100644 --- a/shared/models/videos/video.model.ts +++ b/shared/models/videos/video.model.ts @@ -1,33 +1,37 @@ -import { VideoChannel } from './video-channel.model' +import { AccountSummary, VideoChannelSummary, VideoResolution, VideoState } from '../../index' +import { Account } from '../actors' +import { VideoChannel } from './channel/video-channel.model' import { VideoPrivacy } from './video-privacy.enum' +import { VideoScheduleUpdate } from './video-schedule-update.model' +import { VideoConstant } from './video-constant.model' +import { VideoStreamingPlaylist } from './video-streaming-playlist.model' export interface VideoFile { magnetUri: string - resolution: number - resolutionLabel: string + resolution: VideoConstant size: number // Bytes torrentUrl: string + torrentDownloadUrl: string fileUrl: string + fileDownloadUrl: string + fps: number } export interface Video { id: number uuid: string - author: string createdAt: Date | string updatedAt: Date | string - categoryLabel: string - category: number - licenceLabel: string - licence: number - languageLabel: string - language: number + publishedAt: Date | string + originallyPublishedAt: Date | string + category: VideoConstant + licence: VideoConstant + language: VideoConstant + privacy: VideoConstant description: string duration: number isLocal: boolean name: string - podHost: string - tags: string[] thumbnailPath: string previewPath: string embedPath: string @@ -35,12 +39,37 @@ export interface Video { likes: number dislikes: number nsfw: boolean + + waitTranscoding?: boolean + state?: VideoConstant + scheduledUpdate?: VideoScheduleUpdate + + blacklisted?: boolean + blacklistedReason?: string + + account: AccountSummary + channel: VideoChannelSummary + + userHistory?: { + currentTime: number + } } export interface VideoDetails extends Video { - privacy: VideoPrivacy - privacyLabel: string descriptionPath: string + support: string channel: VideoChannel + account: Account + tags: string[] files: VideoFile[] + commentsEnabled: boolean + downloadEnabled: boolean + + // Not optional in details (unlike in Video) + waitTranscoding: boolean + state: VideoConstant + + trackerUrls: string[] + + streamingPlaylists: VideoStreamingPlaylist[] }