express-sequelize-autocrud
Version:
Express Sequelize AutoCRUD: Simplify API development with automatic CRUD routes for Sequelize models in Express.js.
41 lines • 1.44 kB
JavaScript
import { Sequelize } from 'sequelize';
export const getModel = (sequelize, model) => typeof model === 'string' ? sequelize.model(model) : model;
export const getPath = (path) => path.startsWith('/') ? path : `/${path}`;
export const findVal = (object, key) => {
if (typeof object === 'object') {
if (object && key in object) {
// @ts-expect-error we know 'key' exist at this point.
return object[key];
}
for (const k in object) {
// @ts-expect-error we know 'k' exist at this point.
const val = object[k];
if (typeof val === 'object') {
const res = findVal(val, key);
if (res) {
return res;
}
}
}
return undefined;
}
else {
return undefined;
}
};
const getSequelizeErrorMessageCore = (error) => {
const original = findVal(error, 'original');
if (original && typeof original === 'object' && 'message' in original) {
return original.message;
}
return findVal(error, 'message') || 'Internal Server Error';
};
export const crudError = (message) => ({
success: false,
message,
});
export const getSequelizeErrorMessage = (error) => {
const message = getSequelizeErrorMessageCore(error);
return crudError(typeof message === 'string' ? message.split('\n') : message);
};
//# sourceMappingURL=utils.js.map