/var/www/qr4y.com/server/delivery/api/controllers
Edit: /var/www/qr4y.com/server/delivery/api/controllers/deliveryTypes.controller.js (2382B)
const logger = require('../../logger')({ service: 'DeliveryTypesController' })
const checkPermission = require('../utils/checkPermission.util')
const { NotFound, BadRequest } = require('../responseModels/errors')
module.exports = function ({ db }) {
this.List = async (req, res, next) => {
logger.child({ path: req.path, request: req.query }).info()
try {
const deliveryType = await db.deliveryType.findAll({})
if (!deliveryType || deliveryType.length == 0) {
throw new NotFound({ lang: req.user?.languageCode })
}
return res.status(200).json(deliveryType)
} catch (err) {
next(err)
}
}
this.Details = async (req, res, next) => {
logger.child({ path: req.path, request: req.params }).info()
try {
const { id } = req.params
const deliveryType = await db.deliveryType.findOne({
// include: { model: db.permission, through: { attributes: [] } },
where: { id: id }
})
if (!deliveryType) {
throw new NotFound({ lang: req.user?.languageCode })
}
return res.status(200).json(deliveryType)
} catch (err) {
next(err)
}
}
this.Create = async (req, res, next) => {
logger.child({ path: req.path, request: req.body }).info()
try {
const { name, key } = req.body
const deliveryType = await db.deliveryType.create({ name, key })
return res.status(200).json({
status: 'success',
id: deliveryType.id
})
} catch (err) {
next(err)
}
}
this.Edit = async (req, res, next) => {
logger.child({ path: req.path, request: req.body }).info()
try {
const { id, name, key } = req.body
let deliveryType = await db.deliveryType.findOne({
where: { id: id }
})
if (!deliveryType) {
throw new NotFound({ lang: req.user?.languageCode })
}
deliveryType.name = name
deliveryType.key = key
await deliveryType.save()
return res.status(200).json(deliveryType)
} catch (err) {
next(err)
}
}
this.Delete = async (req, res, next) => {
logger.child({ path: req.path, request: req.body }).info()
try {
const { id } = req.body
const deliveryType = await db.deliveryType.findOne({ where: { id: id } })
if (!deliveryType) {
throw new NotFound({ lang: req.user?.languageCode })
}
await db.deliveryType.destroy({ where: { id: id } })
return res.status(200).json({ status: 'success', id: deliveryType.id })
} catch (err) {
next(err)
}
}
}