]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/models/videos/video.model.ts
Merge branch 'release/3.1.0' into develop
[github/Chocobozzz/PeerTube.git] / shared / models / videos / video.model.ts
index df800461c0b7095e4a58ca8d4a510c4926ffb57c..caefeff82774980d6d1f4ea4fd44fde5a17de812 100644 (file)
@@ -1,43 +1,12 @@
-import { VideoResolution, VideoState } from '../../index'
-import { Account } from '../actors'
-import { Avatar } from '../avatars/avatar.model'
-import { VideoChannel } from './channel/video-channel.model'
+import { Account, AccountSummary } from '../actors'
+import { VideoChannel, VideoChannelSummary } from './channel/video-channel.model'
+import { VideoConstant } from './video-constant.model'
+import { VideoFile } from './video-file.model'
 import { VideoPrivacy } from './video-privacy.enum'
 import { VideoScheduleUpdate } from './video-schedule-update.model'
-import { VideoConstant } from './video-constant.model'
+import { VideoState } from './video-state.enum'
 import { VideoStreamingPlaylist } from './video-streaming-playlist.model'
 
-export interface VideoFile {
-  magnetUri: string
-  resolution: VideoConstant<VideoResolution>
-  size: number // Bytes
-  torrentUrl: string
-  torrentDownloadUrl: string
-  fileUrl: string
-  fileDownloadUrl: string
-  fps: number
-}
-
-export interface VideoChannelAttribute {
-  id: number
-  uuid: string
-  name: string
-  displayName: string
-  url: string
-  host: string
-  avatar?: Avatar
-}
-
-export interface AccountAttribute {
-  id: number
-  uuid: string
-  name: string
-  displayName: string
-  url: string
-  host: string
-  avatar?: Avatar
-}
-
 export interface Video {
   id: number
   uuid: string
@@ -53,9 +22,21 @@ export interface Video {
   duration: number
   isLocal: boolean
   name: string
+
+  isLive: boolean
+
   thumbnailPath: string
+  thumbnailUrl?: string
+
   previewPath: string
+  previewUrl?: string
+
   embedPath: string
+  embedUrl?: string
+
+  // When using the search index
+  url?: string
+
   views: number
   likes: number
   dislikes: number
@@ -68,21 +49,23 @@ export interface Video {
   blacklisted?: boolean
   blacklistedReason?: string
 
-  account: AccountAttribute
-  channel: VideoChannelAttribute
+  account: AccountSummary
+  channel: VideoChannelSummary
 
   userHistory?: {
     currentTime: number
   }
+
+  pluginData?: any
 }
 
 export interface VideoDetails extends Video {
   descriptionPath: string
   support: string
   channel: VideoChannel
+  account: Account
   tags: string[]
   files: VideoFile[]
-  account: Account
   commentsEnabled: boolean
   downloadEnabled: boolean