From 2d3741d6d92e9bd1f41694c7442a6d1da434e1f2 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 30 Aug 2018 14:58:00 +0200 Subject: Videos overview page: first version --- shared/models/index.ts | 1 + shared/models/overviews/index.ts | 1 + shared/models/overviews/videos-overview.ts | 18 +++++++++++++ shared/models/videos/video.model.ts | 41 ++++++++++++++++-------------- 4 files changed, 42 insertions(+), 19 deletions(-) create mode 100644 shared/models/overviews/index.ts create mode 100644 shared/models/overviews/videos-overview.ts (limited to 'shared') 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' export * from './videos' export * from './feeds' export * from './i18n' +export * from './overviews' export * from './search' export * from './server/job.model' 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 @@ +import { Video, VideoChannelAttribute, VideoConstant } from '../videos' + +export interface VideosOverview { + channels: { + channel: VideoChannelAttribute + videos: Video[] + }[] + + categories: { + category: VideoConstant + videos: Video[] + }[] + + tags: { + tag: string + videos: Video[] + }[] +} 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 { 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 @@ -46,25 +66,8 @@ export interface Video { blacklisted?: boolean blacklistedReason?: string - 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 - } + account: AccountAttribute + channel: VideoChannelAttribute } export interface VideoDetails extends Video { -- cgit v1.2.3