/** * Helpers para respuestas HTTP estandarizadas y manejo de errores. * * Funciones de respuesta exitosa: * - ok(res, data, meta) → 200 con { ok: true, data } y meta opcional. * - created(res, data) → 201 con { ok: true, data }. * - noContent(res) → 204 sin body. * * Clase HttpError: * - Extiende Error nativo. * - Campos: status (HTTP), code (string identificador), message, details (opcional). * - Usada por middlewares y servicios para propagar errores controlados. */ export const ok = (res, data, meta) => res.status(200).json(meta ? { ok: true, data, meta } : { ok: true, data }); export const created = (res, data) => res.status(201).json({ ok: true, data }); export const noContent = (res) => res.status(204).end(); export class HttpError extends Error { constructor(status, code, message, details) { super(message); this.status = status; this.code = code; this.details = details; } }