]>
Commit | Line | Data |
---|---|---|
1 | import * as Promise from 'bluebird' | |
2 | import * as Sequelize from 'sequelize' | |
3 | import { ResultList } from '../../../shared' | |
4 | import { VideoAbuse as FormattedVideoAbuse } from '../../../shared/models/videos/video-abuse.model' | |
5 | import { AccountInstance } from '../account/account-interface' | |
6 | import { ServerInstance } from '../server/server-interface' | |
7 | import { VideoInstance } from './video-interface' | |
8 | ||
9 | export namespace VideoAbuseMethods { | |
10 | export type ToFormattedJSON = (this: VideoAbuseInstance) => FormattedVideoAbuse | |
11 | ||
12 | export type ListForApi = (start: number, count: number, sort: string) => Promise< ResultList<VideoAbuseInstance> > | |
13 | } | |
14 | ||
15 | export interface VideoAbuseClass { | |
16 | listForApi: VideoAbuseMethods.ListForApi | |
17 | } | |
18 | ||
19 | export interface VideoAbuseAttributes { | |
20 | reason: string | |
21 | videoId: number | |
22 | reporterAccountId: number | |
23 | ||
24 | Account?: AccountInstance | |
25 | Video?: VideoInstance | |
26 | } | |
27 | ||
28 | export interface VideoAbuseInstance extends VideoAbuseClass, VideoAbuseAttributes, Sequelize.Instance<VideoAbuseAttributes> { | |
29 | id: number | |
30 | createdAt: Date | |
31 | updatedAt: Date | |
32 | ||
33 | Server: ServerInstance | |
34 | ||
35 | toFormattedJSON: VideoAbuseMethods.ToFormattedJSON | |
36 | } | |
37 | ||
38 | export interface VideoAbuseModel extends VideoAbuseClass, Sequelize.Model<VideoAbuseInstance, VideoAbuseAttributes> {} |