-import { ServerActionHookName, ServerFilterHookName } from '../../../shared/models/plugins/server-hook.model'
-import { PluginManager } from './plugin-manager'
+import Bluebird from 'bluebird'
+import { ServerActionHookName, ServerFilterHookName } from '../../../shared/models'
import { logger } from '../../helpers/logger'
-import * as Bluebird from 'bluebird'
+import { PluginManager } from './plugin-manager'
type PromiseFunction <U, T> = (params: U) => Promise<T> | Bluebird<T>
type RawFunction <U, T> = (params: U) => T
// Helpers to run hooks
const Hooks = {
- wrapObject: <T, U extends ServerFilterHookName>(result: T, hookName: U) => {
- return PluginManager.Instance.runHook(hookName, result)
+ wrapObject: <T, U extends ServerFilterHookName>(result: T, hookName: U, context?: any) => {
+ return PluginManager.Instance.runHook(hookName, result, context)
},
wrapPromiseFun: async <U, T, V extends ServerFilterHookName>(fun: PromiseFunction<U, T>, params: U, hookName: V) => {