diff options
author | Chocobozzz <me@florianbigard.com> | 2021-04-20 16:02:15 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2021-04-20 16:02:15 +0200 |
commit | 24a792404cac0dffff91853af33310fbb7a30297 (patch) | |
tree | 997f771146fe57527ca50a2d6e18febbc9baf124 | |
parent | 51b66ea7cb39f075f4deb8ea92ba70f3be289769 (diff) | |
download | PeerTube-24a792404cac0dffff91853af33310fbb7a30297.tar.gz PeerTube-24a792404cac0dffff91853af33310fbb7a30297.tar.zst PeerTube-24a792404cac0dffff91853af33310fbb7a30297.zip |
Support async onSettingsChange
-rw-r--r-- | server/lib/plugins/plugin-manager.ts | 4 | ||||
-rw-r--r-- | server/lib/plugins/register-helpers.ts | 4 | ||||
-rw-r--r-- | shared/models/plugins/plugin-settings-manager.model.ts | 2 |
3 files changed, 5 insertions, 5 deletions
diff --git a/server/lib/plugins/plugin-manager.ts b/server/lib/plugins/plugin-manager.ts index 03ea48416..f3766ffa8 100644 --- a/server/lib/plugins/plugin-manager.ts +++ b/server/lib/plugins/plugin-manager.ts | |||
@@ -189,7 +189,7 @@ export class PluginManager implements ServerHook { | |||
189 | return undefined | 189 | return undefined |
190 | } | 190 | } |
191 | 191 | ||
192 | onSettingsChanged (name: string, settings: any) { | 192 | async onSettingsChanged (name: string, settings: any) { |
193 | const registered = this.getRegisteredPluginByShortName(name) | 193 | const registered = this.getRegisteredPluginByShortName(name) |
194 | if (!registered) { | 194 | if (!registered) { |
195 | logger.error('Cannot find plugin %s to call on settings changed.', name) | 195 | logger.error('Cannot find plugin %s to call on settings changed.', name) |
@@ -197,7 +197,7 @@ export class PluginManager implements ServerHook { | |||
197 | 197 | ||
198 | for (const cb of registered.registerHelpers.getOnSettingsChangedCallbacks()) { | 198 | for (const cb of registered.registerHelpers.getOnSettingsChangedCallbacks()) { |
199 | try { | 199 | try { |
200 | cb(settings) | 200 | await cb(settings) |
201 | } catch (err) { | 201 | } catch (err) { |
202 | logger.error('Cannot run on settings changed callback for %s.', registered.npmName, { err }) | 202 | logger.error('Cannot run on settings changed callback for %s.', registered.npmName, { err }) |
203 | } | 203 | } |
diff --git a/server/lib/plugins/register-helpers.ts b/server/lib/plugins/register-helpers.ts index c018e54a8..aa69ca2a2 100644 --- a/server/lib/plugins/register-helpers.ts +++ b/server/lib/plugins/register-helpers.ts | |||
@@ -73,7 +73,7 @@ export class RegisterHelpers { | |||
73 | private idAndPassAuths: RegisterServerAuthPassOptions[] = [] | 73 | private idAndPassAuths: RegisterServerAuthPassOptions[] = [] |
74 | private externalAuths: RegisterServerAuthExternalOptions[] = [] | 74 | private externalAuths: RegisterServerAuthExternalOptions[] = [] |
75 | 75 | ||
76 | private readonly onSettingsChangeCallbacks: ((settings: any) => void)[] = [] | 76 | private readonly onSettingsChangeCallbacks: ((settings: any) => Promise<any>)[] = [] |
77 | 77 | ||
78 | private readonly router: express.Router | 78 | private readonly router: express.Router |
79 | 79 | ||
@@ -277,7 +277,7 @@ export class RegisterHelpers { | |||
277 | 277 | ||
278 | setSetting: (name: string, value: string) => PluginModel.setSetting(this.plugin.name, this.plugin.type, name, value), | 278 | setSetting: (name: string, value: string) => PluginModel.setSetting(this.plugin.name, this.plugin.type, name, value), |
279 | 279 | ||
280 | onSettingsChange: (cb: (settings: any) => void) => this.onSettingsChangeCallbacks.push(cb) | 280 | onSettingsChange: (cb: (settings: any) => Promise<any>) => this.onSettingsChangeCallbacks.push(cb) |
281 | } | 281 | } |
282 | } | 282 | } |
283 | 283 | ||
diff --git a/shared/models/plugins/plugin-settings-manager.model.ts b/shared/models/plugins/plugin-settings-manager.model.ts index 165f0dc5b..3c28c0565 100644 --- a/shared/models/plugins/plugin-settings-manager.model.ts +++ b/shared/models/plugins/plugin-settings-manager.model.ts | |||
@@ -5,5 +5,5 @@ export interface PluginSettingsManager { | |||
5 | 5 | ||
6 | setSetting: (name: string, value: string) => Promise<any> | 6 | setSetting: (name: string, value: string) => Promise<any> |
7 | 7 | ||
8 | onSettingsChange: (cb: (names: string[]) => void) => void | 8 | onSettingsChange: (cb: (names: string[]) => Promise<any>) => void |
9 | } | 9 | } |