/var/www/qr4y.com/server/delivery/api/controllers
NameSizeModeActions
account/-0755rm
auth/-0755rm
country_code/-0755rm
delivery_server/-0755rm
iap/-0755rm
order/-0755rm
qr/-0755rm
system/-0755rm
branch.controller.js298690644editdlrm
branchApp.controller.js46860644editdlrm
branchReview.controller.js63210644editdlrm
company.controller.js251110644editdlrm
companyReview.controller.js63680644editdlrm
companyTypes.controller.js31340644editdlrm
delivery.controller.js28270644editdlrm
deliveryTypes.controller.js23820644editdlrm
driver.controller.js45800644editdlrm
gallery.controller.js79290644editdlrm
language.controller.js27090644editdlrm
orderCancelCause.controller.js34420644editdlrm
payTypes.controller.js23140644editdlrm
permission.controller.js25900644editdlrm
plan.controller.js36180644editdlrm
planConfig.controller.js34530644editdlrm
product.controller.js134020644editdlrm
productFilters.controller.js33010644editdlrm
productGroups.controller.js65380644editdlrm
productReview.controller.js61640644editdlrm
productTypeFilters.controller.js29640644editdlrm
productTypeFiltersValues.controller.js31490644editdlrm
productTypes.controller.js26900644editdlrm
role.controller.js39820644editdlrm
room.controller.js34430644editdlrm
table.controller.js154540644editdlrm
user.controller.js255020644editdlrm
userCart.controller.js58270644editdlrm
waiter.controller.js61670644editdlrm
Edit: /var/www/qr4y.com/server/delivery/api/controllers/role.controller.js (3982B)
const logger = require('../../logger')({ service: 'api' }) const { RoleModel } = require('../responseModels') const { NotFound, BadRequest } = require('../responseModels/errors') const checkPermission = require('../utils/checkPermission.util') module.exports = function ({ db }) { this.List = async (req, res, next) => { logger.child({ path: req.path, request: req.query }).info() try { checkPermission(req, 'role_list') const roles = await db.role.findAll() if (roles.length == 0 || !roles) { throw new NotFound({ lang: req.user.languageCode }) } return res.status(200).json(roles) } catch (err) { next(err) } } this.Details = async (req, res, next) => { logger.child({ path: req.path, request: req.params }).info() try { checkPermission(req, 'role_list') const { id } = req.params const role = await db.role.findOne({ include: { model: db.permission, through: { attributes: [] } }, where: { id: id } }) if (!role) { throw new NotFound({ lang: req.user.languageCode }) } return res.status(200).json(new RoleModel(role)) } catch (err) { next(err) } } this.Create = async (req, res, next) => { logger.child({ path: req.path, request: req.body }).info() try { checkPermission(req, 'role_edit') const { name, key, image } = req.body const role = await db.role.create({ name, key, image }) return res.status(200).json({ status: 'success', id: role.id }) } catch (err) { next(err) } } this.Edit = async (req, res, next) => { logger.child({ path: req.path, request: req.body }).info() try { checkPermission(req, 'role_edit') const { id, name, key, image } = req.body let role = await db.role.findOne({ where: { id: id } }) if (!role) { throw new NotFound({ lang: req.user.languageCode }) } role.name = name role.key = key role.image = image await role.save() return res.status(200).json(new RoleModel(role)) } catch (err) { next(err) } } this.Delete = async (req, res, next) => { logger.child({ path: req.path, request: req.body }).info() try { checkPermission(req, 'role_edit') const { id } = req.body if (!id) { throw new BadRequest({ lang: req.user.languageCode }) } const role = await db.role.findOne({ where: { id: id } }) if (!role) { throw new NotFound({ lang: req.user.languageCode }) } await db.role.destroy({ where: { id: id } }) return res.status(200).json({ status: 'success', id: role.id }) } catch (err) { next(err) } } this.AddPermission = async (req, res, next) => { logger.child({ path: req.path, request: req.body }).info() try { checkPermission(req, 'role_edit') const { roleId, permissionId } = req.body if (!roleId || !permissionId) { throw new BadRequest({ lang: req.user.languageCode }) } let role = await db.role.findOne({ where: { id: roleId } }) const permission = await db.permission.findOne({ where: { id: permissionId } }) if (!role) { throw new NotFound({ lang: req.user.languageCode }) } if (!permission) { throw new NotFound({ lang: req.user.languageCode }) } role.addPermission(permission) await role.save() return res.status(200).json({ status: 'success' }) } catch (err) { next(err) } } this.RemovePermission = async (req, res, next) => { logger.child({ path: req.path, request: req.body }).info() try { checkPermission(req, 'role_edit') const { roleId, permissionId } = req.body let role = await db.role.findOne({ where: { id: roleId } }) const permission = await db.permission.findOne({ where: { id: permissionId } }) if (!role) { throw new NotFound({ lang: req.user.languageCode }) } if (!permission) { throw new NotFound({ lang: req.user.languageCode }) } role.removePermission(permission) await role.save() return res.status(200).json({ status: 'success' }) } catch (err) { next(err) } } }