@celosiajs/core
Version:
CelosiaJS Core. A framework for REST API based on Express.js
26 lines (25 loc) • 931 B
TypeScript
import { Logger } from 'winston';
import z, { ZodType } from 'zod/v4';
import { CelosiaRequest, CelosiaResponse, LoggerBase } from '.';
declare abstract class Controller<T extends Record<string, any> = {}, Request extends CelosiaRequest<any, any, any, any> = CelosiaRequest<any, any, any, any>, Response extends CelosiaResponse<any> = CelosiaResponse<any>> extends LoggerBase {
protected logger: Logger;
constructor(loggingSource: string);
abstract index(data: T, request: Request, response: Response): void;
/**
* Request's body validation.
*/
get body(): ZodType;
/**
* Request's query validation.
*/
get query(): z.ZodObject<{}, z.core.$strip>;
/**
* Request's params validation.
*/
get params(): z.ZodObject<{}, z.core.$strip>;
/**
* Request's cookies validation.
*/
get cookies(): z.ZodObject<{}, z.core.$strip>;
}
export default Controller;