import {
ClientHookName,
clientHookObject,
- ClientScript,
+ ClientScriptJSON,
HTMLServerConfig,
PluginClientScope,
PluginType,
RegisterClientVideoFieldOptions,
RegisteredExternalAuthConfig,
ServerConfigPlugin
-} from '../../../shared/models'
+} from '@shared/models'
import { environment } from '../environments/environment'
-import { ClientScript as ClientScriptModule } from '../types/client-script.model'
+import { ClientScript } from '../types'
interface HookStructValue extends RegisterClientHookOptions {
plugin: ServerConfigPlugin
- clientScript: ClientScript
+ clientScript: ClientScriptJSON
}
type Hooks = { [ name: string ]: HookStructValue[] }
type PluginInfo = {
plugin: ServerConfigPlugin
- clientScript: ClientScript
+ clientScript: ClientScriptJSON
pluginType: PluginType
isTheme: boolean
}
type PeertubeHelpersFactory = (pluginInfo: PluginInfo) => RegisterClientHelpers
-type OnFormFields = (options: RegisterClientFormFieldOptions, videoFormOptions: RegisterClientVideoFieldOptions) => void
+
+type OnFormFields = (
+ pluginInfo: PluginInfo,
+ options: RegisterClientFormFieldOptions,
+ videoFormOptions: RegisterClientVideoFieldOptions
+) => void
+
type OnSettingsScripts = (pluginInfo: PluginInfo, options: RegisterClientSettingsScriptOptions) => void
+
type OnClientRoute = (options: RegisterClientRouteOptions) => void
const logger = debug('peertube:plugins')
throw new Error('Video field registration is not supported')
}
- return this.onFormFields(commonOptions, videoFormOptions)
+ return this.onFormFields(pluginInfo, commonOptions, videoFormOptions)
}
const registerSettingsScript = (options: RegisterClientSettingsScriptOptions) => {
const absURL = (environment.apiUrl || window.location.origin) + clientScript.script
return dynamicImport(absURL)
- .then((script: ClientScriptModule) => {
+ .then((script: ClientScript) => {
return script.register({
registerHook,
registerVideoField,