1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import { Router } from 'express'
- import { Logger } from 'winston'
- import { ActorModel } from '@server/models/activitypub/actor'
- import {
- PluginPlaylistPrivacyManager,
- PluginSettingsManager,
- PluginStorageManager,
- PluginVideoCategoryManager,
- PluginVideoLanguageManager,
- PluginVideoLicenceManager,
- PluginVideoPrivacyManager,
- RegisterServerHookOptions,
- RegisterServerSettingOptions,
- VideoBlacklistCreate
- } from '@shared/models'
- import { MVideoThumbnail } from '../models'
- import {
- RegisterServerAuthExternalOptions,
- RegisterServerAuthExternalResult,
- RegisterServerAuthPassOptions
- } from './register-server-auth.model'
- export type PeerTubeHelpers = {
- logger: Logger
- database: {
- query: Function
- }
- videos: {
- loadByUrl: (url: string) => Promise<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 = {
- registerHook: (options: RegisterServerHookOptions) => void
- registerSetting: (options: RegisterServerSettingOptions) => void
- settingsManager: PluginSettingsManager
- storageManager: PluginStorageManager
- videoCategoryManager: PluginVideoCategoryManager
- videoLanguageManager: PluginVideoLanguageManager
- videoLicenceManager: PluginVideoLicenceManager
- videoPrivacyManager: PluginVideoPrivacyManager
- playlistPrivacyManager: PluginPlaylistPrivacyManager
- 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
- // * /plugins/:pluginName/:pluginVersion/router/...
- // * /plugins/:pluginName/router/...
- getRouter(): Router
- peertubeHelpers: PeerTubeHelpers
- }
|