X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftypes%2Fplugins%2Fregister-server-option.model.ts;h=fb4f12a4c45ed884a8143807eb227e4f4bf34604;hb=22df69fdecf299c8be6acaa25f086249ea9a0085;hp=ccd5a060d341548cd79546a1b867f09c8330c1ec;hpb=1896bca09e088b0da9d5e845407ecebae330618c;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 ccd5a060d..fb4f12a4c 100644 --- a/server/types/plugins/register-server-option.model.ts +++ b/server/types/plugins/register-server-option.model.ts @@ -1,6 +1,6 @@ -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, @@ -12,9 +12,11 @@ import { PluginVideoPrivacyManager, RegisterServerHookOptions, RegisterServerSettingOptions, + ServerConfig, + ThumbnailType, VideoBlacklistCreate } from '@shared/models' -import { MVideoThumbnail } from '../models' +import { MUserDefault, MVideoThumbnail } from '../models' import { RegisterServerAuthExternalOptions, RegisterServerAuthExternalResult, @@ -30,12 +32,44 @@ export type PeerTubeHelpers = { videos: { 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 = {