]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/typings/plugins/register-server-option.model.ts
Align follower handle display on instance display in tables
[github/Chocobozzz/PeerTube.git] / server / typings / plugins / register-server-option.model.ts
index 0c0993c1417e87dca3bb02bf8b92acadae5ed1af..8f1d66007df44e46aaef41332e03d07a3ca8e358 100644 (file)
@@ -1,15 +1,23 @@
+import * as Bluebird from 'bluebird'
+import { Router } from 'express'
+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 { 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 { Router } from 'express'
-import { PluginVideoPrivacyManager } from '@shared/models/plugins/plugin-video-privacy-manager.model'
-import { PluginPlaylistPrivacyManager } from '@shared/models/plugins/plugin-playlist-privacy-manager.model'
-import { RegisterServerAuthPassOptions, RegisterServerAuthExternalOptions, RegisterServerAuthExternalResult } from '@shared/models/plugins/register-server-auth.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
@@ -19,8 +27,28 @@ export type PeerTubeHelpers = {
   }
 
   videos: {
+    loadByUrl: (url: string) => Bluebird<MVideoThumbnail>
+
     removeVideo: (videoId: number) => Promise<void>
   }
+
+  config: {
+    getWebserverUrl: () => string
+  }
+
+  moderation: {
+    blockServer: (options: { byAccountId: number, hostToBlock: string }) => Promise<void>
+    unblockServer: (options: { byAccountId: number, hostToUnblock: string }) => Promise<void>
+    blockAccount: (options: { byAccountId: number, handleToBlock: string }) => Promise<void>
+    unblockAccount: (options: { byAccountId: number, handleToUnblock: string }) => Promise<void>
+
+    blacklistVideo: (options: { videoIdOrUUID: number | string, createOptions: VideoBlacklistCreate }) => Promise<void>
+    unblacklistVideo: (options: { videoIdOrUUID: number | string }) => Promise<void>
+  }
+
+  server: {
+    getServerActor: () => Promise<ActorModel>
+  }
 }
 
 export type RegisterServerOptions = {
@@ -41,6 +69,8 @@ export type RegisterServerOptions = {
 
   registerIdAndPassAuth: (options: RegisterServerAuthPassOptions) => void
   registerExternalAuth: (options: RegisterServerAuthExternalOptions) => RegisterServerAuthExternalResult
+  unregisterIdAndPassAuth: (authName: string) => void
+  unregisterExternalAuth: (authName: string) => void
 
   // Get plugin router to create custom routes
   // Base routes of this router are