UNPKG

express-sequelize-autocrud

Version:

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

26 lines 1.13 kB
/* eslint-disable @typescript-eslint/no-unused-vars */ import { Router } from 'express'; import { buildOptionsFromConfig, runCustomMiddleware, } from '../middleware/config.js'; import { getSequelizeErrorMessage } from '../utils.js'; import { Sequelize } from 'sequelize'; const deleteRoute = (sequelize, model, router, config, logger) => router.delete('/:resourceId', runCustomMiddleware(config.middleware), async (req, res) => { const { middleware, byField, ...sequelizeOptions } = config; try { const options = await buildOptionsFromConfig(sequelizeOptions, req, res); const whereField = byField || 'id'; await sequelize.transaction(async (t) => { const data = await model.destroy({ ...options, where: { [whereField]: req.params.resourceId }, transaction: t, }); res.status(201).json({ affectedCount: data }); }); } catch (error) { logger.error(error); res.status(500).json(getSequelizeErrorMessage(error)); } }); export default deleteRoute; //# sourceMappingURL=delete.js.map