X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftypes%2Fplugins%2Fregister-server-option.model.ts;h=fb4f12a4c45ed884a8143807eb227e4f4bf34604;hb=22df69fdecf299c8be6acaa25f086249ea9a0085;hp=74303d38343773b803dc446a1db43951a210c1cf;hpb=67ed6552b831df66713bac9e672738796128d33f;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/types/plugins/register-server-option.model.ts b/server/types/plugins/register-server-option.model.ts index 74303d383..fb4f12a4c 100644 --- a/server/types/plugins/register-server-option.model.ts +++ b/server/types/plugins/register-server-option.model.ts @@ -1,20 +1,22 @@ -import * as Bluebird from 'bluebird' -import { Router } from 'express' +import { Response, Router } from 'express' import { Logger } from 'winston' -import { ActorModel } from '@server/models/activitypub/actor' +import { ActorModel } from '@server/models/actor/actor' import { PluginPlaylistPrivacyManager, PluginSettingsManager, PluginStorageManager, + PluginTranscodingManager, PluginVideoCategoryManager, PluginVideoLanguageManager, PluginVideoLicenceManager, PluginVideoPrivacyManager, RegisterServerHookOptions, RegisterServerSettingOptions, + ServerConfig, + ThumbnailType, VideoBlacklistCreate } from '@shared/models' -import { MVideoThumbnail } from '../models' +import { MUserDefault, MVideoThumbnail } from '../models' import { RegisterServerAuthExternalOptions, RegisterServerAuthExternalResult, @@ -29,13 +31,45 @@ export type PeerTubeHelpers = { } videos: { - loadByUrl: (url: string) => Bluebird + loadByUrl: (url: string) => Promise + loadByIdOrUUID: (id: number | string) => Promise removeVideo: (videoId: number) => Promise + + ffprobe: (path: string) => Promise + + getFiles: (id: number | string) => Promise<{ + webtorrent: { + videoFiles: { + path: string // Could be null if using remote storage + url: string + resolution: number + size: number + fps: number + }[] + } + + hls: { + videoFiles: { + path: string // Could be null if using remote storage + url: string + resolution: number + size: number + fps: number + }[] + } + + thumbnails: { + type: ThumbnailType + path: string + }[] + }> } config: { getWebserverUrl: () => string + + getServerConfig: () => Promise } moderation: { @@ -51,6 +85,25 @@ export type PeerTubeHelpers = { server: { getServerActor: () => Promise } + + plugin: { + // PeerTube >= 3.2 + getBaseStaticRoute: () => string + + // PeerTube >= 3.2 + getBaseRouterRoute: () => string + + // PeerTube >= 3.2 + getDataDirectoryPath: () => string + } + + user: { + // PeerTube >= 3.2 + getAuthUser: (response: Response) => Promise + + // PeerTube >= 4.3 + loadById: (id: number) => Promise + } } export type RegisterServerOptions = { @@ -69,6 +122,8 @@ export type RegisterServerOptions = { videoPrivacyManager: PluginVideoPrivacyManager playlistPrivacyManager: PluginPlaylistPrivacyManager + transcodingManager: PluginTranscodingManager + registerIdAndPassAuth: (options: RegisterServerAuthPassOptions) => void registerExternalAuth: (options: RegisterServerAuthExternalOptions) => RegisterServerAuthExternalResult unregisterIdAndPassAuth: (authName: string) => void