From 80fdaf064562aff968f4c9cea1cf220bc12a70da Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 7 May 2020 14:58:24 +0200 Subject: Add moderation helpers to plugins --- .../plugins/register-server-option.model.ts | 38 +++++++++++++++++----- 1 file changed, 29 insertions(+), 9 deletions(-) (limited to 'server/typings/plugins/register-server-option.model.ts') diff --git a/server/typings/plugins/register-server-option.model.ts b/server/typings/plugins/register-server-option.model.ts index 7f933b43a..8f1d66007 100644 --- a/server/typings/plugins/register-server-option.model.ts +++ b/server/typings/plugins/register-server-option.model.ts @@ -1,19 +1,23 @@ -import { PluginSettingsManager } from '../../../shared/models/plugins/plugin-settings-manager.model' -import { PluginStorageManager } from '../../../shared/models/plugins/plugin-storage-manager.model' -import { RegisterServerHookOptions } from '../../../shared/models/plugins/register-server-hook.model' -import { RegisterServerSettingOptions } from '../../../shared/models/plugins/register-server-setting.model' -import { PluginVideoCategoryManager } from '../../../shared/models/plugins/plugin-video-category-manager.model' -import { PluginVideoLanguageManager } from '../../../shared/models/plugins/plugin-video-language-manager.model' -import { PluginVideoLicenceManager } from '../../../shared/models/plugins/plugin-video-licence-manager.model' -import { Logger } from 'winston' +import * as Bluebird from 'bluebird' import { Router } from 'express' -import { PluginVideoPrivacyManager } from '@shared/models/plugins/plugin-video-privacy-manager.model' +import { Logger } from 'winston' +import { ActorModel } from '@server/models/activitypub/actor' +import { VideoBlacklistCreate } from '@shared/models' import { PluginPlaylistPrivacyManager } from '@shared/models/plugins/plugin-playlist-privacy-manager.model' +import { PluginVideoPrivacyManager } from '@shared/models/plugins/plugin-video-privacy-manager.model' import { RegisterServerAuthExternalOptions, RegisterServerAuthExternalResult, RegisterServerAuthPassOptions } from '@shared/models/plugins/register-server-auth.model' +import { PluginSettingsManager } from '../../../shared/models/plugins/plugin-settings-manager.model' +import { PluginStorageManager } from '../../../shared/models/plugins/plugin-storage-manager.model' +import { PluginVideoCategoryManager } from '../../../shared/models/plugins/plugin-video-category-manager.model' +import { PluginVideoLanguageManager } from '../../../shared/models/plugins/plugin-video-language-manager.model' +import { PluginVideoLicenceManager } from '../../../shared/models/plugins/plugin-video-licence-manager.model' +import { RegisterServerHookOptions } from '../../../shared/models/plugins/register-server-hook.model' +import { RegisterServerSettingOptions } from '../../../shared/models/plugins/register-server-setting.model' +import { MVideoThumbnail } from '../models' export type PeerTubeHelpers = { logger: Logger @@ -23,12 +27,28 @@ export type PeerTubeHelpers = { } videos: { + loadByUrl: (url: string) => Bluebird + removeVideo: (videoId: number) => Promise } config: { getWebserverUrl: () => string } + + moderation: { + blockServer: (options: { byAccountId: number, hostToBlock: string }) => Promise + unblockServer: (options: { byAccountId: number, hostToUnblock: string }) => Promise + blockAccount: (options: { byAccountId: number, handleToBlock: string }) => Promise + unblockAccount: (options: { byAccountId: number, handleToUnblock: string }) => Promise + + blacklistVideo: (options: { videoIdOrUUID: number | string, createOptions: VideoBlacklistCreate }) => Promise + unblacklistVideo: (options: { videoIdOrUUID: number | string }) => Promise + } + + server: { + getServerActor: () => Promise + } } export type RegisterServerOptions = { -- cgit v1.2.3