import { corsHeaders } from "./cors.ts"; // --- CLASE DE ERROR --- export class HttpError extends Error { public readonly status: number; public readonly code: string; public readonly internalDetails: unknown; constructor( status: number, message: string, code = "API_ERROR", internalDetails?: unknown, ) { super(message); this.name = "HttpError"; this.status = status; this.code = code; this.internalDetails = internalDetails; } } // --- HELPER DE ÉXITO --- export function sendSuccess(data: T, status = 200): Response { return new Response( JSON.stringify(data), { status, headers: { ...corsHeaders, "Content-Type": "application/json" }, }, ); } // --- HELPER DE ERROR --- export function sendError( status: number, message: string, code: string, ): Response { return new Response( JSON.stringify({ error: { message, code }, }), { status, headers: { ...corsHeaders, "Content-Type": "application/json" }, }, ); } export interface ResponseMetadata extends Record { tabla?: string; accion?: string; id?: string; }