UNPKG

@celosiajs/core

Version:

CelosiaJS Core. A framework for REST API based on Express.js

26 lines (25 loc) 931 B
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;