X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fvideo%2Fvideo-abuse-interface.ts;h=feafc4a19640b7c337ba9e0dd05a4ec94d2e17fb;hb=e71bcc0f4b31ecfd84a786411febfc6d18a85258;hp=f3e32f79c55f41e5d07d7447ac58e989eeebc197;hpb=70c065d64c330196d371941d9294a55da6e3aa37;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/video/video-abuse-interface.ts b/server/models/video/video-abuse-interface.ts index f3e32f79c..feafc4a19 100644 --- a/server/models/video/video-abuse-interface.ts +++ b/server/models/video/video-abuse-interface.ts @@ -1,25 +1,31 @@ +import * as Promise from 'bluebird' import * as Sequelize from 'sequelize' - -import { PodInstance } from '../pod' - -// Don't use barrel, import just what we need -import { VideoAbuse as FormatedVideoAbuse } from '../../../shared/models/video-abuse.model' +import { ResultList } from '../../../shared' +import { VideoAbuse as FormattedVideoAbuse } from '../../../shared/models/videos/video-abuse.model' +import { AccountInstance } from '../account/account-interface' +import { ServerInstance } from '../server/server-interface' +import { VideoInstance } from './video-interface' +import { VideoAbuseObject } from '../../../shared/models/activitypub/objects/video-abuse-object' export namespace VideoAbuseMethods { - export type toFormatedJSON = () => FormatedVideoAbuse + export type ToFormattedJSON = (this: VideoAbuseInstance) => FormattedVideoAbuse - export type ListForApiCallback = (err: Error, videoAbuseInstances?: VideoAbuseInstance[], total?: number) => void - export type ListForApi = (start: number, count: number, sort: string, callback: ListForApiCallback) => void + export type ListForApi = (start: number, count: number, sort: string) => Promise< ResultList > + export type ToActivityPubObject = () => VideoAbuseObject } export interface VideoAbuseClass { listForApi: VideoAbuseMethods.ListForApi + toActivityPubObject: VideoAbuseMethods.ToActivityPubObject } export interface VideoAbuseAttributes { - reporterUsername: string reason: string - videoId: string + videoId: number + reporterAccountId: number + + Account?: AccountInstance + Video?: VideoInstance } export interface VideoAbuseInstance extends VideoAbuseClass, VideoAbuseAttributes, Sequelize.Instance { @@ -27,7 +33,9 @@ export interface VideoAbuseInstance extends VideoAbuseClass, VideoAbuseAttribute createdAt: Date updatedAt: Date - Pod: PodInstance + Server: ServerInstance + + toFormattedJSON: VideoAbuseMethods.ToFormattedJSON } export interface VideoAbuseModel extends VideoAbuseClass, Sequelize.Model {}