routing-controllers
Version:
Create structured, declarative and beautifully organized class-based controllers with heavy decorators usage for Express / Koa using TypeScript.
39 lines (38 loc) • 1.18 kB
TypeScript
import { ActionType } from '../types/ActionType';
import { Action } from '../../Action';
import { ActionMetadata } from '../ActionMetadata';
import { HandlerOptions } from '../../decorator-options/HandlerOptions';
/**
* Action metadata used to storage information about registered action.
*/
export interface ActionMetadataArgs {
/**
* Route to be registered for the action.
*/
route: string | RegExp;
/**
* Class on which's method this action is attached.
*/
target: Function;
/**
* Object's method that will be executed on this action.
*/
method: string;
/**
* Action-specific options.
*/
options: HandlerOptions;
/**
* Action type represents http method used for the registered route. Can be one of the value defined in ActionTypes
* class.
*/
type: ActionType;
/**
* Params to be appended to the method call.
*/
appendParams?: (action: Action) => any[];
/**
* Special function that will be called instead of orignal method of the target.
*/
methodOverride?: (actionMetadata: ActionMetadata, action: Action, params: any[]) => Promise<any> | any;
}