UNPKG

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
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