42
resources/client/titles/models/video.ts
Executable file
42
resources/client/titles/models/video.ts
Executable file
@@ -0,0 +1,42 @@
|
||||
import {Title} from './title';
|
||||
import {VotableModel} from '@common/votes/votable-model';
|
||||
import {Episode} from '@app/titles/models/episode';
|
||||
|
||||
export const VIDEO_MODEL_TYPE = 'video';
|
||||
|
||||
export interface Video extends VotableModel {
|
||||
name: string;
|
||||
description?: string;
|
||||
src: string;
|
||||
type: 'video' | 'stream' | 'embed' | 'external';
|
||||
category: 'full' | 'trailer' | 'clip' | 'featurette' | 'teaser';
|
||||
thumbnail?: string;
|
||||
origin: 'local' | 'tmdb';
|
||||
quality: string;
|
||||
approved: boolean;
|
||||
title?: Title;
|
||||
episode?: Episode;
|
||||
user_id: number;
|
||||
season_num: number;
|
||||
episode_num: number;
|
||||
title_id: number;
|
||||
captions?: VideoCaption[];
|
||||
language?: string;
|
||||
updated_at?: string;
|
||||
created_at?: string;
|
||||
plays_count?: number;
|
||||
reports_count?: number;
|
||||
current_user_reported?: boolean;
|
||||
latest_play?: {
|
||||
time_watched?: number;
|
||||
};
|
||||
model_type: typeof VIDEO_MODEL_TYPE;
|
||||
}
|
||||
|
||||
export interface VideoCaption {
|
||||
id: number;
|
||||
name: string;
|
||||
language: string;
|
||||
order: number;
|
||||
url: string;
|
||||
}
|
||||
Reference in New Issue
Block a user