/var/www/qr4y.gr/server/delivery/api/controllers
NameSizeModeActions
tableReserv/-0755rm
userAccount/-0755rm
auth.controller.js123060644editdlrm
branch.controller.js251870644editdlrm
branchReview.controller.js56200644editdlrm
category.controller.js55210644editdlrm
company.controller.js205950644editdlrm
companyReview.controller.js57730644editdlrm
companyTypes.controller.js27220644editdlrm
countryCodes.controller.js26480644editdlrm
delivery.controller.js74700644editdlrm
deliveryTypes.controller.js23970644editdlrm
driver.controller.js46030644editdlrm
language.controller.js27090644editdlrm
order.controller.js313010644editdlrm
orderCancelCause.controller.js34600644editdlrm
payTypes.controller.js22780644editdlrm
permission.controller.js26050644editdlrm
product.controller.js257930644editdlrm
productGroups.controller.js65680644editdlrm
productReview.controller.js52330644editdlrm
productTypeFeatures.controller.js27130644editdlrm
productTypes.controller.js41540644editdlrm
role.controller.js40120644editdlrm
room.controller.js34570644editdlrm
table.controller.js154950644editdlrm
user.controller.js217940644editdlrm
userCart.controller.js72310644editdlrm
waiter.controller.js61730644editdlrm
Edit: /var/www/qr4y.gr/server/delivery/api/controllers/driver.controller.js (4603B)
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') module.exports = function ({ db }) { this.List = async (req, res, next) => { logger.child({ path: req.path, request: req.query }).info() try { const t1 = performance.now() const { branchId, companyId, phone, email, name, limit, page } = req.query let required = { phones: false, companies: false, branches: false } let whereUser = {} if (isSet(name)) { whereUser['name'] = { [Op.like]: `%${name}%` } } if (isSet(email)) { whereUser['email'] = { [Op.like]: `%${email}%` } } let whereBranch = {} if (isSet(branchId)) { whereBranch['id'] = parseInt(branchId) required.branches = true } let whereCompany = {} if (isSet(companyId)) { whereCompany['id'] = parseInt(companyId) required.companies = true } let wherePhone = {} if (isSet(phone)) { wherePhone['phone'] = { [Op.like]: `%${phone}%` } required.phones = true } let offset = page ? (page - 1) * (limit || 10) : 0 const drivers = await db.driver.findAll({ include: [ { model: db.user, where: whereUser, include: [ { model: db.userPhone, required: required.phones, as: 'userPhones', where: wherePhone }, { model: db.branch, required: required.branches, as: 'branches', through: { attributes: [] }, where: whereBranch }, { model: db.company, required: required.companies, as: 'companies', through: { attributes: [] }, where: whereCompany } ] } ], offset, limit: parseInt(limit) || 10 }) if (!drivers || drivers.length == 0) { throw new NotFound({ lang: req.user?.languageCode }) } const time = performance.now() - t1 return res.status(200).json({ drivers, page, time }) } catch (err) { next(err) } } this.Details = async (req, res, next) => { try { const t1 = performance.now() const { uid } = req.params if (!isSet(uid) || isEmpty(uid)) { throw new BadRequest({ code: 400, lang: req.user?.languageCode }) } const driver = await db.driver.findOne({ include: [{ model: db.user }], where: uid }) if (!driver) { throw new NotFound({ lang: req.user?.languageCode }) } const time = performance.now() - t1 return res.status(200).json(driver) } catch (err) { next(err) } } this.Create = async (req, res, next) => { try { let { userUid, description } = req.body if (!userUid) { throw new BadRequest({ code: 400, lang: req.user?.languageCode }) } if (!description) { description = '' } const user = await db.user.findOne({where: {uid: userUid}}) if(!user){ throw new BadRequest({ code: 404, lang: req.user?.languageCode }) } const driver = await db.driver.create({ userId: user.id, description }) return res.status(200).json({ status: 'success', uid: driver.uid }) } catch (err) { next(err) } } this.Edit = async (req, res, next) => { try { const { uid, status, description } = req.body if (!isSet(uid) || isEmpty(uid)) { throw new BadRequest({ code: 400, lang: req.user?.languageCode }) } if (!isSet(status) || isEmpty(status)) { throw new BadRequest({ code: 400, lang: req.user?.languageCode }) } if (!isSet(description) || isEmpty(description)) { throw new BadRequest({ code: 400, lang: req.user?.languageCode }) } const driver = await db.driver.findOne({ where: {uid} }) if (!driver) { throw new BadRequest({ code: 404, lang: req.user?.languageCode }) } driver.status = status driver.description = description driver.save() return res.status(200).json(driver) } catch (err) { next(err) } } this.Delete = async (req, res, next) => { try { const { uid } = req.body if (!isSet(uid) || isEmpty(uid)) { throw new BadRequest({ code: 400, lang: req.user?.languageCode }) } const driver = await db.driver.findOne({ where: { uid: uid } }) if (!driver) { throw new NotFound({ lang: req.user?.languageCode }) } await db.driver.destroy({ where: { uid: uid } }) return res.status(200).json({ status: 'success', uid: driver.uid }) } catch (err) { next(err) } } }