0606f1aec53cd17099b2463416a8a735b26cd721
[oweals/peertube.git] / shared / models / videos / video.model.ts
1 import { VideoChannel } from './video-channel.model'
2 import { VideoPrivacy } from './video-privacy.enum'
3
4 export interface VideoFile {
5   magnetUri: string
6   resolution: number
7   resolutionLabel: string
8   size: number // Bytes
9   torrentUrl: string
10   fileUrl: string
11 }
12
13 export interface Video {
14   id: number
15   uuid: string
16   account: string
17   createdAt: Date | string
18   updatedAt: Date | string
19   categoryLabel: string
20   category: number
21   licenceLabel: string
22   licence: number
23   languageLabel: string
24   language: number
25   description: string
26   duration: number
27   isLocal: boolean
28   name: string
29   podHost: string
30   tags: string[]
31   thumbnailPath: string
32   previewPath: string
33   embedPath: string
34   views: number
35   likes: number
36   dislikes: number
37   nsfw: boolean
38 }
39
40 export interface VideoDetails extends Video {
41   privacy: VideoPrivacy
42   privacyLabel: string
43   descriptionPath: string
44   channel: VideoChannel
45   files: VideoFile[]
46 }