@itrocks/action
Version:
An abstract class for applying actions in your framework, with @Actions and @Need decorators for assignment
17 lines (16 loc) • 885 B
TypeScript
import { Request } from '@itrocks/action-request';
import { HtmlResponse } from '@itrocks/core-responses';
import { JsonResponse } from '@itrocks/core-responses';
import { Headers } from '@itrocks/request-response';
import { ActionEntry } from './repository';
export * from './actions';
export * from './need';
export * from './repository';
export declare abstract class Action<T extends object = object> {
actions: ActionEntry[];
getObject(request: Request<T>): Promise<T>;
getObjects(request: Request<T>): Promise<import("@itrocks/storage").Entity<T>[]>;
htmlResponse(body: string, statusCode?: number, headers?: Headers): HtmlResponse;
htmlTemplateResponse(data: any, _request: Request<T>, _templateFile: string, statusCode?: number, headers?: Headers): Promise<HtmlResponse>;
jsonResponse(data: any, statusCode?: number, headers?: Headers): JsonResponse;
}