X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Fvideos%2Fvideo.model.ts;h=f88f381cb8d52af06f6e7d23c07867ca2af30845;hb=bbe0f0645ca958d33a3f409b15166609733b663f;hp=deb81da449e2bf5cf4ace980f8359cfa5364bcd6;hpb=2422c46b27790d94fd29a7092170cee5a1b56008;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/videos/video.model.ts b/shared/models/videos/video.model.ts index deb81da44..f88f381cb 100644 --- a/shared/models/videos/video.model.ts +++ b/shared/models/videos/video.model.ts @@ -1,33 +1,39 @@ +import { VideoResolution, VideoState } from '../../index' import { Account } from '../actors' +import { Avatar } from '../avatars/avatar.model' import { VideoChannel } from './video-channel.model' import { VideoPrivacy } from './video-privacy.enum' +import { VideoScheduleUpdate } from './video-schedule-update.model' + +export interface VideoConstant { + id: T + label: string +} export interface VideoFile { magnetUri: string - resolution: number - resolutionLabel: string + resolution: VideoConstant size: number // Bytes torrentUrl: string + torrentDownloadUrl: string fileUrl: string + fileDownloadUrl: string } export interface Video { id: number uuid: string - accountName: string createdAt: Date | string updatedAt: Date | string - categoryLabel: string - category: number - licenceLabel: string - licence: number - languageLabel: string - language: number + publishedAt: Date | string + category: VideoConstant + licence: VideoConstant + language: VideoConstant + privacy: VideoConstant description: string duration: number isLocal: boolean name: string - serverHost: string thumbnailPath: string previewPath: string embedPath: string @@ -35,11 +41,33 @@ export interface Video { likes: number dislikes: number nsfw: boolean + + waitTranscoding?: boolean + state?: VideoConstant + scheduledUpdate?: VideoScheduleUpdate + + account: { + id: number + uuid: string + name: string + displayName: string + url: string + host: string + avatar: Avatar + } + + channel: { + id: number + uuid: string + name: string + displayName: string + url: string + host: string + avatar: Avatar + } } export interface VideoDetails extends Video { - privacy: VideoPrivacy - privacyLabel: string descriptionPath: string support: string channel: VideoChannel @@ -47,4 +75,8 @@ export interface VideoDetails extends Video { files: VideoFile[] account: Account commentsEnabled: boolean + + // Not optional in details (unlike in Video) + waitTranscoding: boolean + state: VideoConstant }