UNPKG

express-sequelize-autocrud

Version:

Express Sequelize AutoCRUD: Simplify API development with automatic CRUD routes for Sequelize models in Express.js.

26 lines 1.24 kB
/* eslint-disable @typescript-eslint/no-unused-vars */ import { Router } from 'express'; import { buildOptionsFromConfig, runCustomMiddleware, } from '../middleware/config.js'; import { checkBodyArrayFields } from '../middleware/body.js'; import { getSequelizeErrorMessage } from '../utils.js'; import { Sequelize } from 'sequelize'; import { DEFAULT_CREATABLE_FIELDS } from '../config.js'; const bulkCreateRoute = (sequelize, model, router, config, logger) => router.post(config.path || '/bulk', runCustomMiddleware(config.middleware), checkBodyArrayFields(config.creatableFields || DEFAULT_CREATABLE_FIELDS), async (req, res) => { const { middleware, creatableFields, path, ...sequelizeOptions } = config; try { const options = await buildOptionsFromConfig(sequelizeOptions, req, res); await sequelize.transaction(async (t) => { const data = await model.bulkCreate(req.body, { ...options, transaction: t, }); res.status(201).json(data); }); } catch (error) { logger.error(error); res.status(500).json(getSequelizeErrorMessage(error)); } }); export default bulkCreateRoute; //# sourceMappingURL=bulkCreate.js.map