1 import { Account } from '../../actors/account.model'
2 import { AbuseState } from './abuse-state.model'
3 import { AbusePredefinedReasonsString } from './abuse-reason.model'
4 import { VideoConstant } from '../../videos/video-constant.model'
5 import { VideoChannel } from '../../videos/channel/video-channel.model'
7 export interface AdminVideoAbuse {
16 startAt: number | null
19 thumbnailPath?: string
20 channel?: VideoChannel
26 export interface AdminVideoCommentAbuse {
41 export interface AdminAbuse {
45 predefinedReasons?: AbusePredefinedReasonsString[]
47 reporterAccount: Account
48 flaggedAccount: Account
50 state: VideoConstant<AbuseState>
51 moderationComment?: string
53 video?: AdminVideoAbuse
54 comment?: AdminVideoCommentAbuse
59 countReportsForReporter?: number
60 countReportsForReportee?: number
64 // FIXME: deprecated in 2.3, remove the following properties
77 export type UserVideoAbuse = Omit<AdminVideoAbuse, 'countReports' | 'nthReport'>
79 export type UserVideoCommentAbuse = AdminVideoCommentAbuse
81 export type UserAbuse = Omit<AdminAbuse, 'reporterAccount' | 'countReportsForReportee' | 'countReportsForReporter' | 'startAt' | 'endAt'
82 | 'count' | 'nth' | 'moderationComment'>