/var/www/verywell.gr/server/delivery/api/controllers
Edit: /var/www/verywell.gr/server/delivery/api/controllers/orderCancelCause.controller.js (3460B)
const logger = require('../../logger')({ service: 'api' })
const { Op } = require('sequelize')
const { NotFound, BadRequest, ApiError } = require('../responseModels/errors')
const { isSet, isEmpty, isArray } = require('../utils/validator.util')
const checkPermission = require('../utils/checkPermission.util')
const { performance } = require('perf_hooks')
module.exports = function ({ db }) {
this.List = async (req, res, next) => {
logger.child({ path: req.path, request: req.query }).info()
try {
let t1 = performance.now()
let { limit, page, sort } = req.query
let offset = page > 0 ? (page - 1) * (limit || 10) : 0
const list = await db.orderCancelCause.findAll({
offset,
limit: parseInt(limit) || 10
})
const count = list.length
if (!list || count === 0) {
throw new NotFound({ lang: req.user?.languageCode })
}
const time = performance.now() - t1
return res.status(200).json({ list, time, count })
} catch (err) {
next(err)
}
}
this.Details = async (req, res, next) => {
logger.child({ path: req.path, request: req.params }).info()
try {
let t1 = performance.now()
const { uid } = req.params
if (!uid) {
throw new BadRequest({ lang: req.user?.languageCode })
}
orderCancelCause = await db.orderCancelCause.findOne({ where: { uid: uid } })
if (!orderCancelCause) {
throw new NotFound({ lang: req.user?.languageCode })
}
const time = performance.now() - t1
return res.status(200).json({ orderCancelCause, time })
} catch (err) {
next(err)
}
}
this.Create = async (req, res, next) => {
logger.child({ path: req.path, request: req.body }).info()
try {
let t1 = performance.now()
const { name } = req.body
if (!isSet(name) || isEmpty(name)) {
throw new BadRequest({ lang: req.user?.languageCode })
}
const orderCancelCause = await db.orderCancelCause.create({ name })
const time = performance.now() - t1
return res.status(200).json({ status: 'success', time, uid: orderCancelCause.uid })
} catch (err) {
next(err)
}
}
this.Edit = async (req, res, next) => {
logger.child({ path: req.path, request: req.body }).info()
try {
let t1 = performance.now()
const { uid, name } = req.body
if (!uid) {
throw new BadRequest({ lang: req.user?.languageCode })
}
if (!isSet(name) || isEmpty(name)) {
throw new BadRequest({ lang: req.user?.languageCode })
}
let orderCancelCause = await db.orderCancelCause.findOne({ where: { uid: uid } })
if (!orderCancelCause) {
throw new NotFound({ lang: req.user?.languageCode })
}
orderCancelCause.name = name
orderCancelCause.save()
const time = performance.now() - t1
return res.status(200).json({ time, orderCancelCause })
} catch (err) {
next(err)
}
}
this.Delete = async (req, res, next) => {
logger.child({ path: req.path, request: req.body }).info()
try {
let t1 = performance.now()
const { uid } = req.body
if (!uid) {
throw new BadRequest({ lang: req.user?.languageCode })
}
const orderCancelCause = await db.orderCancelCause.findOne({ where: { uid: uid } })
if (!orderCancelCause) {
throw new NotFound({ lang: req.user?.languageCode })
}
await db.orderCancelCause.destroy({ where: { uid: uid } })
const time = performance.now() - t1
return res.status(200).json({ time, status: 'success', uid: orderCancelCause.uid })
} catch (err) {
next(err)
}
}
}