express-easy-curd
Version:
A lightweight helper library for building Express.js routes, controllers, and Redis-enhanced middleware with optional Redis support.
31 lines (30 loc) • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.partialFilterMiddlewares = exports.sendResponse = exports.ApiError = void 0;
// api error for send error with message and status
class ApiError extends Error {
constructor(statusCode, message) {
super(message);
this.statusCode = statusCode;
this.status = `${statusCode}`.startsWith("4") ? "fail" : "error";
this.isOperational = true;
Error.captureStackTrace(this, this.constructor);
}
}
exports.ApiError = ApiError;
// response formate
const sendResponse = (res, status, payload) => {
const { success, message, data, meta } = payload;
const response = { success, message };
if (meta)
response.meta = meta;
if (data !== undefined)
response.data = data;
return res.status(status).json(response);
};
exports.sendResponse = sendResponse;
const partialFilterMiddlewares = (keys) => (req, res, next) => {
req.partialFilter = keys;
next();
};
exports.partialFilterMiddlewares = partialFilterMiddlewares;