]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - shared/models/videos/video.model.ts
Always redirect on homepage on '/'
[github/Chocobozzz/PeerTube.git] / shared / models / videos / video.model.ts
index 707cd42a71e4a137e3079bb6095c8731c00fb351..eb40e82deb3b97f95434202aeb0d68354c41c4c6 100644 (file)
@@ -1,12 +1,17 @@
+import { VideoResolution } from '../../index'
 import { Account } from '../actors'
 import { Avatar } from '../avatars/avatar.model'
 import { VideoChannel } from './video-channel.model'
 import { VideoPrivacy } from './video-privacy.enum'
 
+export interface VideoConstant <T> {
+  id: T
+  label: string
+}
+
 export interface VideoFile {
   magnetUri: string
-  resolution: number
-  resolutionLabel: string
+  resolution: VideoConstant<VideoResolution>
   size: number // Bytes
   torrentUrl: string
   fileUrl: string
@@ -17,12 +22,11 @@ export interface Video {
   uuid: string
   createdAt: Date | string
   updatedAt: Date | string
-  categoryLabel: string
-  category: number
-  licenceLabel: string
-  licence: number
-  languageLabel: string
-  language: number
+  publishedAt: Date | string
+  category: VideoConstant<number>
+  licence: VideoConstant<number>
+  language: VideoConstant<string>
+  privacy: VideoConstant<VideoPrivacy>
   description: string
   duration: number
   isLocal: boolean
@@ -36,6 +40,18 @@ export interface Video {
   nsfw: boolean
 
   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
@@ -45,8 +61,6 @@ export interface Video {
 }
 
 export interface VideoDetails extends Video {
-  privacy: VideoPrivacy
-  privacyLabel: string
   descriptionPath: string
   support: string
   channel: VideoChannel