UNPKG

arvox-backend

Version:

Un framework backend moderne et modulaire basé sur Hono, TypeScript et l'architecture hexagonale avec authentification Better Auth + Drizzle intégrée

257 lines 6.12 kB
/** * Configuration avancée pour OpenAPI/Swagger */ export interface OpenAPIConfig { title?: string; description?: string; version?: string; contact?: { name?: string; email?: string; url?: string; }; license?: { name: string; url?: string; }; servers?: Array<{ url: string; description?: string; }>; tags?: Array<{ name: string; description?: string; externalDocs?: { description?: string; url: string; }; }>; security?: Array<{ [key: string]: string[]; }>; components?: { securitySchemes?: { [key: string]: { type: string; scheme?: string; bearerFormat?: string; description?: string; in?: string; name?: string; }; }; }; } /** * Configuration par défaut pour OpenAPI */ export declare const defaultOpenAPIConfig: OpenAPIConfig; /** * Schémas de réponse communs pour OpenAPI */ export declare const commonSchemas: { SuccessResponse: { type: string; properties: { success: { type: string; example: boolean; }; data: { type: string; description: string; }; }; required: string[]; }; ErrorResponse: { type: string; properties: { success: { type: string; example: boolean; }; error: { type: string; description: string; example: string; }; }; required: string[]; }; ValidationErrorResponse: { type: string; properties: { success: { type: string; example: boolean; }; error: { type: string; example: string; }; details: { type: string; items: { type: string; properties: { field: { type: string; example: string; }; message: { type: string; example: string; }; }; }; }; }; required: string[]; }; PaginationMeta: { type: string; properties: { total: { type: string; description: string; example: number; }; page: { type: string; description: string; example: number; }; limit: { type: string; description: string; example: number; }; totalPages: { type: string; description: string; example: number; }; hasNext: { type: string; description: string; example: boolean; }; hasPrev: { type: string; description: string; example: boolean; }; }; required: string[]; }; PaginatedResponse: { type: string; properties: { success: { type: string; example: boolean; }; data: { type: string; properties: { items: { type: string; description: string; }; pagination: { $ref: string; }; }; }; }; required: string[]; }; BaseEntity: { type: string; properties: { id: { type: string; format: string; description: string; example: string; }; createdAt: { type: string; format: string; description: string; example: string; }; updatedAt: { type: string; format: string; description: string; example: string; }; }; required: string[]; }; }; /** * Paramètres de requête communs */ export declare const commonParameters: { pageParam: { name: string; in: string; description: string; required: boolean; schema: { type: string; minimum: number; default: number; example: number; }; }; limitParam: { name: string; in: string; description: string; required: boolean; schema: { type: string; minimum: number; maximum: number; default: number; example: number; }; }; searchParam: { name: string; in: string; description: string; required: boolean; schema: { type: string; minLength: number; example: string; }; }; sortParam: { name: string; in: string; description: string; required: boolean; schema: { type: string; example: string; }; }; idParam: { name: string; in: string; description: string; required: boolean; schema: { type: string; format: string; example: string; }; }; }; //# sourceMappingURL=openapi-config.d.ts.map