diff options
Diffstat (limited to 'shared/models')
-rw-r--r-- | shared/models/index.ts | 1 | ||||
-rw-r--r-- | shared/models/overviews/index.ts | 1 | ||||
-rw-r--r-- | shared/models/overviews/videos-overview.ts | 18 | ||||
-rw-r--r-- | shared/models/videos/video.model.ts | 41 |
4 files changed, 42 insertions, 19 deletions
diff --git a/shared/models/index.ts b/shared/models/index.ts index 1db00c295..170f620e7 100644 --- a/shared/models/index.ts +++ b/shared/models/index.ts | |||
@@ -4,6 +4,7 @@ export * from './users' | |||
4 | export * from './videos' | 4 | export * from './videos' |
5 | export * from './feeds' | 5 | export * from './feeds' |
6 | export * from './i18n' | 6 | export * from './i18n' |
7 | export * from './overviews' | ||
7 | export * from './search' | 8 | export * from './search' |
8 | export * from './server/job.model' | 9 | export * from './server/job.model' |
9 | export * from './oauth-client-local.model' | 10 | export * from './oauth-client-local.model' |
diff --git a/shared/models/overviews/index.ts b/shared/models/overviews/index.ts new file mode 100644 index 000000000..376609efa --- /dev/null +++ b/shared/models/overviews/index.ts | |||
@@ -0,0 +1 @@ | |||
export * from './videos-overview' | |||
diff --git a/shared/models/overviews/videos-overview.ts b/shared/models/overviews/videos-overview.ts new file mode 100644 index 000000000..ee009d94c --- /dev/null +++ b/shared/models/overviews/videos-overview.ts | |||
@@ -0,0 +1,18 @@ | |||
1 | import { Video, VideoChannelAttribute, VideoConstant } from '../videos' | ||
2 | |||
3 | export interface VideosOverview { | ||
4 | channels: { | ||
5 | channel: VideoChannelAttribute | ||
6 | videos: Video[] | ||
7 | }[] | ||
8 | |||
9 | categories: { | ||
10 | category: VideoConstant<number> | ||
11 | videos: Video[] | ||
12 | }[] | ||
13 | |||
14 | tags: { | ||
15 | tag: string | ||
16 | videos: Video[] | ||
17 | }[] | ||
18 | } | ||
diff --git a/shared/models/videos/video.model.ts b/shared/models/videos/video.model.ts index 8e1fbe444..b47ab1ab8 100644 --- a/shared/models/videos/video.model.ts +++ b/shared/models/videos/video.model.ts | |||
@@ -17,6 +17,26 @@ export interface VideoFile { | |||
17 | fps: number | 17 | fps: number |
18 | } | 18 | } |
19 | 19 | ||
20 | export interface VideoChannelAttribute { | ||
21 | id: number | ||
22 | uuid: string | ||
23 | name: string | ||
24 | displayName: string | ||
25 | url: string | ||
26 | host: string | ||
27 | avatar: Avatar | ||
28 | } | ||
29 | |||
30 | export interface AccountAttribute { | ||
31 | id: number | ||
32 | uuid: string | ||
33 | name: string | ||
34 | displayName: string | ||
35 | url: string | ||
36 | host: string | ||
37 | avatar: Avatar | ||
38 | } | ||
39 | |||
20 | export interface Video { | 40 | export interface Video { |
21 | id: number | 41 | id: number |
22 | uuid: string | 42 | uuid: string |
@@ -46,25 +66,8 @@ export interface Video { | |||
46 | blacklisted?: boolean | 66 | blacklisted?: boolean |
47 | blacklistedReason?: string | 67 | blacklistedReason?: string |
48 | 68 | ||
49 | account: { | 69 | account: AccountAttribute |
50 | id: number | 70 | channel: VideoChannelAttribute |
51 | uuid: string | ||
52 | name: string | ||
53 | displayName: string | ||
54 | url: string | ||
55 | host: string | ||
56 | avatar: Avatar | ||
57 | } | ||
58 | |||
59 | channel: { | ||
60 | id: number | ||
61 | uuid: string | ||
62 | name: string | ||
63 | displayName: string | ||
64 | url: string | ||
65 | host: string | ||
66 | avatar: Avatar | ||
67 | } | ||
68 | } | 71 | } |
69 | 72 | ||
70 | export interface VideoDetails extends Video { | 73 | export interface VideoDetails extends Video { |