]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/models/video/video-blacklist-interface.ts
First step upload with new design
[github/Chocobozzz/PeerTube.git] / server / models / video / video-blacklist-interface.ts
CommitLineData
e02643f3 1import * as Sequelize from 'sequelize'
6fcd19ba
C
2import * as Promise from 'bluebird'
3
792dbaf0 4import { SortType } from '../../helpers'
6fcd19ba 5import { ResultList } from '../../../shared'
792dbaf0 6import { VideoInstance } from './video-interface'
e02643f3 7
69818c93 8// Don't use barrel, import just what we need
0aef76c4 9import { BlacklistedVideo as FormattedBlacklistedVideo } from '../../../shared/models/videos/video-blacklist.model'
69818c93 10
e02643f3 11export 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
17export interface BlacklistedVideoClass {
0aef76c4 18 toFormattedJSON: BlacklistedVideoMethods.ToFormattedJSON
e02643f3 19 listForApi: BlacklistedVideoMethods.ListForApi
e02643f3
C
20 loadByVideoId: BlacklistedVideoMethods.LoadByVideoId
21}
22
23export interface BlacklistedVideoAttributes {
0a6658fd 24 videoId: number
792dbaf0
GS
25
26 Video?: VideoInstance
e02643f3
C
27}
28
6fcd19ba
C
29export 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
38export interface BlacklistedVideoModel
39 extends BlacklistedVideoClass, Sequelize.Model<BlacklistedVideoInstance, BlacklistedVideoAttributes> {}