import {StopActionHandler} from '../stopActionHandler'; import {type MaybeActionParameters, type MaybeAdminAction} from '../../types'; import {type ActionContext} from './types'; const BEFORE_HANDLE = 'beforeHandle'; export async function executeBeforeHandle( context: ActionContext, ): Promise | StopActionHandler> { const {action, instance, parameters} = context; try { // @ts-expect-error todo const resolvedParameters = (await action.beforeHandle?.(context)) ?? parameters; instance.logger.debug(BEFORE_HANDLE, {parameters, resolvedParameters}); // @ts-expect-error todo context.parameters = resolvedParameters; } catch (error) { if (error instanceof StopActionHandler) { return error; } instance.logger.error(BEFORE_HANDLE, error); } return context.parameters as MaybeActionParameters; }