@caidrive/shared
Version:
caidrive.shared.components
60 lines (59 loc) • 1.23 kB
TypeScript
/**
* What it does.
*
* @param name - Parameter description.
* @returns Type and description of the returned object.
*
* @example
* ```
* Write me later.
* ```
*/
import { Response, Request } from "express";
export declare abstract class Controller {
/**
*
*/
private sendJson;
protected abstract executing(req: Request, res: Response): Promise<void>;
/**
*
*/
protected redirect(res: Response, uri: string): void;
/**
*
*/
protected redirectWithOk(res: Response, uri: string): void;
/**
*
*/
protected resetWithOk<T>(res: Response, payload: T): void;
/**
*
*/
protected ok<T>(res: Response, payload?: T): void;
/**
*
*/
protected created<T>(res: Response, payload: T): void;
/**
*
*/
protected badRequest(res: Response, message?: string): void;
/**
*
*/
protected unauthorized(res: Response, message?: string): void;
/**
*
*/
protected notFound(res: Response, message?: string): void;
/**
*
*/
protected failed(res: Response, message?: string): void;
/**
*
*/
execute(req: Request, res: Response): Promise<void>;
}