aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/app')
-rw-r--r--client/src/app/+signup/+register/register.component.ts1
-rw-r--r--client/src/app/core/plugins/hooks.service.ts18
2 files changed, 12 insertions, 7 deletions
diff --git a/client/src/app/+signup/+register/register.component.ts b/client/src/app/+signup/+register/register.component.ts
index 5a7215516..acec56f04 100644
--- a/client/src/app/+signup/+register/register.component.ts
+++ b/client/src/app/+signup/+register/register.component.ts
@@ -103,6 +103,7 @@ export class RegisterComponent implements OnInit {
103 103
104 const body: UserRegister = await this.hooks.wrapObject( 104 const body: UserRegister = await this.hooks.wrapObject(
105 Object.assign(this.formStepUser.value, { channel: this.formStepChannel.value }), 105 Object.assign(this.formStepUser.value, { channel: this.formStepChannel.value }),
106 'signup',
106 'filter:api.signup.registration.create.params' 107 'filter:api.signup.registration.create.params'
107 ) 108 )
108 109
diff --git a/client/src/app/core/plugins/hooks.service.ts b/client/src/app/core/plugins/hooks.service.ts
index 242741831..a6a444c32 100644
--- a/client/src/app/core/plugins/hooks.service.ts
+++ b/client/src/app/core/plugins/hooks.service.ts
@@ -18,11 +18,10 @@ export class HooksService {
18 18
19 wrapObsFun 19 wrapObsFun
20 <P, R, H1 extends ClientFilterHookName, H2 extends ClientFilterHookName> 20 <P, R, H1 extends ClientFilterHookName, H2 extends ClientFilterHookName>
21 (fun: ObservableFunction<P, R>, params: P, scope: PluginClientScope, hookParamName: H1, hookResultName: H2) 21 (fun: ObservableFunction<P, R>, params: P, scope: PluginClientScope, hookParamName: H1, hookResultName: H2) {
22 {
23 return from(this.pluginService.ensurePluginsAreLoaded(scope)) 22 return from(this.pluginService.ensurePluginsAreLoaded(scope))
24 .pipe( 23 .pipe(
25 mergeMap(() => this.wrapObject(params, hookParamName)), 24 mergeMap(() => this.wrapObjectWithoutScopeLoad(params, hookParamName)),
26 switchMap(params => fun(params)), 25 switchMap(params => fun(params)),
27 mergeMap(result => this.pluginService.runHook(hookResultName, result, params)) 26 mergeMap(result => this.pluginService.runHook(hookResultName, result, params))
28 ) 27 )
@@ -30,11 +29,10 @@ export class HooksService {
30 29
31 async wrapFun 30 async wrapFun
32 <P, R, H1 extends ClientFilterHookName, H2 extends ClientFilterHookName> 31 <P, R, H1 extends ClientFilterHookName, H2 extends ClientFilterHookName>
33 (fun: RawFunction<P, R>, params: P, scope: PluginClientScope, hookParamName: H1, hookResultName: H2) 32 (fun: RawFunction<P, R>, params: P, scope: PluginClientScope, hookParamName: H1, hookResultName: H2) {
34 {
35 await this.pluginService.ensurePluginsAreLoaded(scope) 33 await this.pluginService.ensurePluginsAreLoaded(scope)
36 34
37 const newParams = await this.wrapObject(params, hookParamName) 35 const newParams = await this.wrapObjectWithoutScopeLoad(params, hookParamName)
38 const result = fun(newParams) 36 const result = fun(newParams)
39 37
40 return this.pluginService.runHook(hookResultName, result, params) 38 return this.pluginService.runHook(hookResultName, result, params)
@@ -46,7 +44,13 @@ export class HooksService {
46 .catch((err: any) => console.error('Fatal hook error.', { err })) 44 .catch((err: any) => console.error('Fatal hook error.', { err }))
47 } 45 }
48 46
49 private wrapObject<T, U extends ClientFilterHookName> (result: T, hookName: U) { 47 async wrapObject<T, U extends ClientFilterHookName> (result: T, scope: PluginClientScope, hookName: U) {
48 await this.pluginService.ensurePluginsAreLoaded(scope)
49
50 return this.wrapObjectWithoutScopeLoad(result, hookName)
51 }
52
53 private wrapObjectWithoutScopeLoad<T, U extends ClientFilterHookName> (result: T, hookName: U) {
50 return this.pluginService.runHook(hookName, result) 54 return this.pluginService.runHook(hookName, result)
51 } 55 }
52} 56}