File size: 972 Bytes
0dc7194 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | /**
* 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;
}
}
|