]>
Commit | Line | Data |
---|---|---|
e02643f3 | 1 | import * as Sequelize from 'sequelize' |
6fcd19ba C |
2 | import * as Promise from 'bluebird' |
3 | ||
792dbaf0 | 4 | import { SortType } from '../../helpers' |
6fcd19ba | 5 | import { ResultList } from '../../../shared' |
792dbaf0 | 6 | import { VideoInstance } from './video-interface' |
e02643f3 | 7 | |
69818c93 | 8 | // Don't use barrel, import just what we need |
0aef76c4 | 9 | import { BlacklistedVideo as FormattedBlacklistedVideo } from '../../../shared/models/videos/video-blacklist.model' |
69818c93 | 10 | |
e02643f3 | 11 | export namespace BlacklistedVideoMethods { |
0aef76c4 | 12 | export type ToFormattedJSON = (this: BlacklistedVideoInstance) => FormattedBlacklistedVideo |
792dbaf0 | 13 | export type ListForApi = (start: number, count: number, sort: SortType) => Promise< ResultList<BlacklistedVideoInstance> > |
0a6658fd | 14 | export type LoadByVideoId = (id: number) => Promise<BlacklistedVideoInstance> |
e02643f3 C |
15 | } |
16 | ||
17 | export interface BlacklistedVideoClass { | |
0aef76c4 | 18 | toFormattedJSON: BlacklistedVideoMethods.ToFormattedJSON |
e02643f3 | 19 | listForApi: BlacklistedVideoMethods.ListForApi |
e02643f3 C |
20 | loadByVideoId: BlacklistedVideoMethods.LoadByVideoId |
21 | } | |
22 | ||
23 | export interface BlacklistedVideoAttributes { | |
0a6658fd | 24 | videoId: number |
792dbaf0 GS |
25 | |
26 | Video?: VideoInstance | |
e02643f3 C |
27 | } |
28 | ||
6fcd19ba C |
29 | export interface BlacklistedVideoInstance |
30 | extends BlacklistedVideoClass, BlacklistedVideoAttributes, Sequelize.Instance<BlacklistedVideoAttributes> { | |
e02643f3 C |
31 | id: number |
32 | createdAt: Date | |
33 | updatedAt: Date | |
154898b0 | 34 | |
0aef76c4 | 35 | toFormattedJSON: BlacklistedVideoMethods.ToFormattedJSON |
e02643f3 C |
36 | } |
37 | ||
6fcd19ba C |
38 | export interface BlacklistedVideoModel |
39 | extends BlacklistedVideoClass, Sequelize.Model<BlacklistedVideoInstance, BlacklistedVideoAttributes> {} |