From 18a6f04c071f7a0735eb39b8c67fd51a082d1a31 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 8 Jul 2019 15:54:08 +0200 Subject: WIP plugins: hook on client side --- shared/models/plugins/plugin-scope.type.ts | 1 + shared/models/plugins/register.model.ts | 2 +- shared/models/server/server-config.model.ts | 10 ++++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 shared/models/plugins/plugin-scope.type.ts (limited to 'shared/models') diff --git a/shared/models/plugins/plugin-scope.type.ts b/shared/models/plugins/plugin-scope.type.ts new file mode 100644 index 000000000..b63ae43ec --- /dev/null +++ b/shared/models/plugins/plugin-scope.type.ts @@ -0,0 +1 @@ +export type PluginScope = 'common' | 'video-watch' diff --git a/shared/models/plugins/register.model.ts b/shared/models/plugins/register.model.ts index 3817007ae..0ed2157bd 100644 --- a/shared/models/plugins/register.model.ts +++ b/shared/models/plugins/register.model.ts @@ -1,4 +1,4 @@ -export type RegisterHookOptions = { +export interface RegisterHookOptions { target: string handler: Function priority?: number diff --git a/shared/models/server/server-config.model.ts b/shared/models/server/server-config.model.ts index d937e9c05..c259a849a 100644 --- a/shared/models/server/server-config.model.ts +++ b/shared/models/server/server-config.model.ts @@ -1,4 +1,12 @@ import { NSFWPolicyType } from '../videos/nsfw-policy.type' +import { ClientScript } from '../plugins/plugin-package-json.model' + +export type ServerConfigPlugin = { + name: string + version: string + description: string + clientScripts: { [name: string]: ClientScript } +} export interface ServerConfig { serverVersion: string @@ -16,6 +24,8 @@ export interface ServerConfig { } } + plugins: ServerConfigPlugin[] + email: { enabled: boolean } -- cgit v1.2.3