PeerTube/server/lib/moderation.ts

85 lines
2.3 KiB
TypeScript
Raw Normal View History

2019-07-18 14:28:37 +02:00
import { VideoModel } from '../models/video/video'
import { VideoCommentModel } from '../models/video/video-comment'
import { VideoCommentCreate } from '../../shared/models/videos/video-comment.model'
import { VideoCreate, VideoImportCreate } from '../../shared/models/videos'
2019-07-18 14:28:37 +02:00
import { UserModel } from '../models/account/user'
import { VideoTorrentObject } from '../../shared/models/activitypub/objects'
import { ActivityCreate } from '../../shared/models/activitypub'
import { ActorModel } from '../models/activitypub/actor'
import { VideoCommentObject } from '../../shared/models/activitypub/objects/video-comment-object'
import { VideoFileModel } from '@server/models/video/video-file'
import { PathLike } from 'fs-extra'
2020-06-18 10:45:25 +02:00
import { MUser } from '@server/types/models'
2019-07-18 14:28:37 +02:00
export type AcceptResult = {
accepted: boolean
errorMessage?: string
}
// Can be filtered by plugins
function isLocalVideoAccepted (object: {
2020-01-31 16:56:52 +01:00
videoBody: VideoCreate
videoFile: Express.Multer.File & { duration?: number }
2019-07-18 14:28:37 +02:00
user: UserModel
}): AcceptResult {
return { accepted: true }
}
function isLocalVideoThreadAccepted (_object: {
2020-01-31 16:56:52 +01:00
commentBody: VideoCommentCreate
video: VideoModel
2019-07-18 14:28:37 +02:00
user: UserModel
}): AcceptResult {
return { accepted: true }
}
function isLocalVideoCommentReplyAccepted (_object: {
2020-01-31 16:56:52 +01:00
commentBody: VideoCommentCreate
parentComment: VideoCommentModel
video: VideoModel
2019-07-18 14:28:37 +02:00
user: UserModel
}): AcceptResult {
return { accepted: true }
}
function isRemoteVideoAccepted (_object: {
2020-01-31 16:56:52 +01:00
activity: ActivityCreate
videoAP: VideoTorrentObject
2019-07-18 14:28:37 +02:00
byActor: ActorModel
}): AcceptResult {
return { accepted: true }
}
function isRemoteVideoCommentAccepted (_object: {
2020-01-31 16:56:52 +01:00
activity: ActivityCreate
commentAP: VideoCommentObject
2019-07-18 14:28:37 +02:00
byActor: ActorModel
}): AcceptResult {
return { accepted: true }
}
function isPreImportVideoAccepted (object: {
videoImportBody: VideoImportCreate
user: MUser
}): AcceptResult {
return { accepted: true }
}
function isPostImportVideoAccepted (object: {
videoFilePath: PathLike
videoFile: VideoFileModel
user: MUser
}): AcceptResult {
return { accepted: true }
}
2019-07-18 14:28:37 +02:00
export {
isLocalVideoAccepted,
isLocalVideoThreadAccepted,
isRemoteVideoAccepted,
isRemoteVideoCommentAccepted,
isLocalVideoCommentReplyAccepted,
isPreImportVideoAccepted,
isPostImportVideoAccepted
2019-07-18 14:28:37 +02:00
}