NODEDC_1C/llm_normalizer/backend/dist/utils/http.js

47 lines
1.2 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ApiError = void 0;
exports.ok = ok;
exports.created = created;
exports.errorMiddleware = errorMiddleware;
class ApiError extends Error {
code;
status;
details;
constructor(code, message, status = 400, details) {
super(message);
this.code = code;
this.status = status;
this.details = details;
}
}
exports.ApiError = ApiError;
function ok(res, payload) {
return res.status(200).json(payload);
}
function created(res, payload) {
return res.status(201).json(payload);
}
function errorMiddleware(err, _req, res, _next) {
if (err instanceof ApiError) {
res.status(err.status).json({
ok: false,
error: {
code: err.code,
message: err.message,
details: err.details ?? null
}
});
return;
}
const fallback = err instanceof Error ? err.message : "Unknown error";
res.status(500).json({
ok: false,
error: {
code: "INTERNAL_ERROR",
message: fallback,
details: null
}
});
}