/var/www/greso.tech/server/nsm/controllers/order/message
NameSizeModeActions
create.js22490644editdlrm
delete.js8550644editdlrm
edit.js14260644editdlrm
list.js12100644editdlrm
Edit: /var/www/greso.tech/server/nsm/controllers/order/message/create.js (2249B)
module.exports = function ({ db, logger }) { const { NotFound, BadRequest } = require('../../../responseModels/errors') const { isSet, isEmail, isPhone, isEmpty, minLength, isNumber } = require('../../../utils/validator.util') const uuid = require('uuid'); const config = require('../../../config/app.json') return async (req, res, next) => { logger.child({ path: req.path, request: req.query }).info() let t1 = performance.now() try { var { id, orderId, // userId, type, message } = req.body // load order const order = await db.order.findOne({ where: { id: orderId } }) if (!order) { throw new BadRequest({ code: 2032, lang: req.user?.languageCode }) } // load user const user = await db.userEmail.findOne({ where: { userId: order.userId } }) if (!user) { throw new BadRequest({ code: 2011, lang: req.user?.languageCode }) } // check id if (!isSet(id) || isEmpty(id)) { id = uuid.v4() }else{ const messageTest = await db.orderMessage.findOne({ where: { id: id } }) if (messageTest) { throw new BadRequest({ code: 2000, lang: req.user?.languageCode }) } } // if (!isSet(userId) || isEmpty(userId)) { // throw new BadRequest({ // code: 2011, // lang: req.user?.languageCode // }) // } if (!isSet(type) || isEmpty(type)) { throw new BadRequest({ code: 2036, lang: req.user?.languageCode }) } if (!isSet(message) || isEmpty(message)) { throw new BadRequest({ code: 2058, lang: req.user?.languageCode }) } // отправка сообщения const result = await SERVICES.MailService.SendMail(user.email, message, order.companyId) var status = ''; if(result.accepted.length > 0){ status = "OK" }else{ status = "ERROR" } var params = { id, orderId, userId: req.user?.id, type, message, status, } const messageNew = await db.orderMessage.create(params) const time = performance.now() - t1 return res.status(200).json({ status: 'success', id: messageNew.id, time }) } catch (err) { next(err) } } }