X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftypes%2Fplugins%2Fregister-server-option.model.ts;h=df419fff47239576630c6f7dffcc2dc4e58f3379;hb=3f3530c3dbc5339b4cba53710b8568b4ad39152e;hp=473990eb6a2a920f4c50b922fd6708efff5071d2;hpb=2e9c7877eb3a3c5d64cc5c3383f0a7c0b51f5481;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 473990eb6..df419fff4 100644 --- a/server/types/plugins/register-server-option.model.ts +++ b/server/types/plugins/register-server-option.model.ts @@ -1,4 +1,5 @@ import { Response, Router } from 'express' +import { Server } from 'http' import { Logger } from 'winston' import { ActorModel } from '@server/models/actor/actor' import { @@ -14,15 +15,15 @@ import { RegisterServerSettingOptions, ServerConfig, ThumbnailType, - UserRole, VideoBlacklistCreate } from '@shared/models' -import { MVideoThumbnail } from '../models' +import { MUserDefault, MVideo, MVideoThumbnail, UserNotificationModelForApi } from '../models' import { RegisterServerAuthExternalOptions, RegisterServerAuthExternalResult, RegisterServerAuthPassOptions } from './register-server-auth.model' +import { RegisterServerWebSocketRouteOptions } from './register-server-websocket-route.model' export type PeerTubeHelpers = { logger: Logger @@ -37,6 +38,8 @@ export type PeerTubeHelpers = { removeVideo: (videoId: number) => Promise + ffprobe: (path: string) => Promise + getFiles: (id: number | string) => Promise<{ webtorrent: { videoFiles: { @@ -68,6 +71,9 @@ export type PeerTubeHelpers = { config: { getWebserverUrl: () => string + // PeerTube >= 5.1 + getServerListeningConfig: () => { hostname: string, port: number } + getServerConfig: () => Promise } @@ -82,15 +88,25 @@ export type PeerTubeHelpers = { } server: { + // PeerTube >= 5.0 + getHTTPServer: () => Server + getServerActor: () => Promise } + socket: { + sendNotification: (userId: number, notification: UserNotificationModelForApi) => void + sendVideoLiveNewState: (video: MVideo) => void + } + plugin: { // PeerTube >= 3.2 getBaseStaticRoute: () => string // PeerTube >= 3.2 getBaseRouterRoute: () => string + // PeerTube >= 5.0 + getBaseWebSocketRoute: () => string // PeerTube >= 3.2 getDataDirectoryPath: () => string @@ -98,13 +114,10 @@ export type PeerTubeHelpers = { user: { // PeerTube >= 3.2 - getAuthUser: (response: Response) => Promise<{ - id?: string - username: string - email: string - blocked: boolean - role: UserRole - } | undefined> + getAuthUser: (response: Response) => Promise + + // PeerTube >= 4.3 + loadById: (id: number) => Promise } } @@ -137,5 +150,12 @@ export type RegisterServerOptions = { // * /plugins/:pluginName/router/... getRouter(): Router + // PeerTube >= 5.0 + // Register WebSocket route + // Base routes of the WebSocket router are + // * /plugins/:pluginName/:pluginVersion/ws/... + // * /plugins/:pluginName/ws/... + registerWebSocketRoute: (options: RegisterServerWebSocketRouteOptions) => void + peertubeHelpers: PeerTubeHelpers }