/var/www/verywell.gr/server/delivery/services
NameSizeModeActions
firebase/-0755rm
auth.service.js25220644editdlrm
branch.service.js72770644editdlrm
index.js7020644editdlrm
order.service.js175460644editdlrm
reserv.service.js59700644editdlrm
webSocket.service.js45630644editdlrm
Edit: /var/www/verywell.gr/server/delivery/services/reserv.service.js (5970B)
const logger = require('../logger')({ service: 'ReservService' }) const { Op } = require('sequelize') const PointInPolygon = require('point-in-polygon') const { isSet, isArray } = require('../api/utils/validator.util') module.exports = class ReservService { constructor({ db, config }) { this.db = db this.config = config this.reservs = VARS.reservs logger.child({ service: 'ReservService', method: 'Constructor' }).info('Success') } async Run() { // загрузить отделения this.reservs = await this.db.tableReserv.findAll({ }) logger .child({ service: 'ReservService', method: 'Run' }) .info(`Reservation loaded: ${this.reservs?.length || 0}.`) } async Stop() { this.interval = null this.reservs = [] logger.child({ service: 'ReservService', method: 'Stop' }).info('Success') } async LoadReserv(uid) { return await this.db.tableReserv.findOne({ where: { uid }, }) } async GetReserv(uid) { let reserv = this.reservs.find((x) => x.uid === uid) if (!reserv) { reserv = await this.LoadReserv(uid) if (!reserv) { logger .child({ service: 'ReservService', method: 'GetReserv', uid: uid }) .info('Not found') return } await this.AddReserv(reserv) logger .child({ service: 'ReservService', method: 'GetReserv', uid: branch.uid }) .info('Success') } return reserv } async GetReservById(id) { let reserv = this.reservs.find((x) => x.id === id) if (!reserv) { reserv = await this.LoadReserv(uid) if (!reserv) { logger .child({ service: 'ReservService', method: 'GetReservById', uid: reserv.uid }) .info('Not found') return } await this.AddReserv(reserv) logger .child({ service: 'ReservService', method: 'GetReservById', uid: reserv.uid }) .info('Success') } return reserv } async AddReserv(reserv) { if (reserv) { const idx = this.reservs.findIndex((p) => p.uid == reserv.uid) if (idx === -1) { this.reservs.push(reserv) logger .child({ service: 'ReservService', method: 'AddReserv', uid: reserv.uid }) .info('Success') }else{ this.reservs[idx] = reserv } // отправить клинету if(reserv.userId > 0) await SERVICES.WebSocketService.SendToClient(reserv.userId, 'reservCreate', reserv.dataValues) // отправить операторам await SERVICES.WebSocketService.SendToOperatorsByBranch( reserv.branchId, 'reservCreate', reserv.dataValues ) await SERVICES.WebSocketService.SendToWaitersByBranch( reserv.branchId, 'reservCreate', reserv.dataValues ) } } async EditReserv(reserv) { if (reserv) { const idx = this.reservs.findIndex((p) => p.uid == reserv.uid) if (idx === -1) { this.reservs.push(reserv) logger .child({ service: 'ReservService', method: 'AddReserv', uid: reserv.uid }) .info('Success') }else{ this.reservs[idx] = reserv } // отправить клинету if(reserv.userId > 0) await SERVICES.WebSocketService.SendToClient(reserv.userId, 'reservEdit', reserv.dataValues) // отправить операторам await SERVICES.WebSocketService.SendToOperatorsByBranch( reserv.branchId, 'reservEdit', reserv.dataValues ) await SERVICES.WebSocketService.SendToWaitersByBranch( reserv.branchId, 'reservEdit', reserv.dataValues ) } } async ConfirmReserv(reserv) { if (reserv) { const idx = this.reservs.findIndex((p) => p.uid == reserv.uid) if (idx === -1) { this.reservs.push(reserv) logger .child({ service: 'ReservService', method: 'AddReserv', uid: reserv.uid }) .info('Success') }else{ this.reservs[idx] = reserv } // отправить клинету if(reserv.userId > 0) await SERVICES.WebSocketService.SendToClient(reserv.userId, 'reservConfirm', reserv.dataValues) // отправить операторам await SERVICES.WebSocketService.SendToOperatorsByBranch( reserv.branchId, 'reservConfirm', reserv.dataValues ) await SERVICES.WebSocketService.SendToWaitersByBranch( reserv.branchId, 'reservConfirm', reserv.dataValues ) } } async CancelReserv(reserv) { if (reserv) { const idx = this.reservs.findIndex((p) => p.uid == reserv.uid) if (idx === -1) { this.reservs.push(reserv) logger .child({ service: 'ReservService', method: 'AddReserv', uid: reserv.uid }) .info('Success') }else{ this.reservs[idx] = reserv } // отправить клинету if(reserv.userId > 0) await SERVICES.WebSocketService.SendToClient(reserv.userId, 'reservCancel', reserv.dataValues) // отправить операторам await SERVICES.WebSocketService.SendToOperatorsByBranch( reserv.branchId, 'reservCancel', reserv.dataValues ) await SERVICES.WebSocketService.SendToWaitersByBranch( reserv.branchId, 'reservCancel', reserv.dataValues ) } } async ReloadReserv(uid) { let reserv = await this.LoadReserv(uid) await this.AddReserv(reserv) return reserv } async RemoveReserv(uid) { const idx = this.reservs.findIndex((p) => p.uid == uid) if (idx !== -1) { this.reservs.splice(idx, 1) logger .child({ service: 'ReservService', method: 'RemoveReserv', uid: uid }) .info('Success') // отправить клинету if(reserv.userId > 0) await SERVICES.WebSocketService.SendToClient(reserv.userId, 'reservRemove', reserv.dataValues) // отправить операторам await SERVICES.WebSocketService.SendToOperatorsByBranch( reserv.branchId, 'reservRemove', reserv.dataValues ) await SERVICES.WebSocketService.SendToWaitersByBranch( reserv.branchId, 'reservRemove', reserv.dataValues ) } } async GetReservs() { logger.child({ service: 'ReservService', method: 'GetReservs' }).info('Success') return this.reservs } }