express-sequelize-autocrud
Version:
Express Sequelize AutoCRUD: Simplify API development with automatic CRUD routes for Sequelize models in Express.js.
29 lines • 1.28 kB
JavaScript
export const getFieldValue = async (field, req, res) => (typeof field !== 'function' ? field : await field(req, res));
export const isIncludeExcludeMatchCriteria = async (includeExcludeFields, fieldToTest, req, res) => {
const fields = await getFieldValue(includeExcludeFields, req, res);
const toTest = Array.isArray(fieldToTest) ? fieldToTest : [fieldToTest];
if ('include' in fields || Array.isArray(fields)) {
const includables = Array.isArray(fields) ? fields : fields.include;
const problematicFields = toTest.filter(f => includables.indexOf(f) === -1);
return { result: problematicFields.length === 0, problematicFields };
}
else {
const problematicFields = toTest.filter(f => fields.exclude.indexOf(f) !== -1);
return { result: problematicFields.length === 0, problematicFields };
}
};
export const buildOptionsFromConfig = async (config, req, res) => {
const newConfig = config;
for (const key in config) {
newConfig[key] = await getFieldValue(config[key], req, res);
}
return newConfig;
};
export const runCustomMiddleware = (middleware) => {
return middleware
? middleware
: (req, res, next) => {
next();
};
};
//# sourceMappingURL=config.js.map