| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- const { Op } = require('sequelize')
- const crudController = ({
- Type
- }) => ({
- list: async (req, res) => {
- const data = (await Type.findAll()).map(d => d.sanitize ? d.sanitize() : d)
- res.status(200).send(data && data.sanitize ? data.sanitize() : data)
- },
- create: async (req, res) => {
- const data = (await Type.create(req.body))
- res.status(200).send(data && data.sanitize ? data.sanitize() : data)
- },
- read: async (req, res) => {
- const data = (await Type.findOne({where: {id: req.params.id}}))
- res.status(200).send(data && data.sanitize ? data.sanitize() : data)
- },
- update: async (req, res) => {
- const data = (await Type.update(req.body, { where: { id: req.params.id } }))
- res.status(200).send(data && data.sanitize ? data.sanitize() : data)
- },
- delete: async (req, res) => {
- const data = (await Type.destroy({ where: { id: req.params.id } }))
- res.status(204).end()
- },
- trash: async (req, res) => {
- const data = (await Type.findAll({
- model: Type,
- paranoid: false,
- where: {
- deletedAt: { [Op.ne]: null }
- }
- }))
- res.status(200).send(data && data.sanitize ? data.sanitize() : data)
- },
- undelete: async (req, res) => {
- const data = (await Type.update({ deletedAt: null }, {
- paranoid: false,
- where: { id: req.params.id }
- }))
- res.status(200).send(data && data.sanitize ? data.sanitize() : data)
- }
- // TODO: Create, Read, Update, Delete
- })
- module.exports = crudController
|