import { Response, Router } from 'express'
+import { Server } from 'http'
import { Logger } from 'winston'
import { ActorModel } from '@server/models/actor/actor'
import {
RegisterServerAuthExternalResult,
RegisterServerAuthPassOptions
} from './register-server-auth.model'
+import { RegisterServerWebSocketRouteOptions } from './register-server-websocket-route.model'
export type PeerTubeHelpers = {
logger: Logger
config: {
getWebserverUrl: () => string
+ // PeerTube >= 5.1
+ getServerListeningConfig: () => { hostname: string, port: number }
+
getServerConfig: () => Promise<ServerConfig>
}
}
server: {
+ // PeerTube >= 5.0
+ getHTTPServer: () => Server
+
getServerActor: () => Promise<ActorModel>
}
// PeerTube >= 3.2
getBaseRouterRoute: () => string
+ // PeerTube >= 5.0
+ getBaseWebSocketRoute: () => string
// PeerTube >= 3.2
getDataDirectoryPath: () => string
// * /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
}