update ws and fix bug

This commit is contained in:
Mr Swift
2024-08-11 17:12:15 +03:30
parent 180cb8b5cf
commit 648acf59aa
6 changed files with 90 additions and 43 deletions
@@ -7,11 +7,15 @@ const OldPieceRequest = require('../../models/OldPieceRequest')
const BufferRequest = require('../../models/BufferRequest') const BufferRequest = require('../../models/BufferRequest')
const GuaranteeReport = require('../../models/GuaranteeReport') const GuaranteeReport = require('../../models/GuaranteeReport')
const Complaint = require('../../models/Complaint') const Complaint = require('../../models/Complaint')
const Withdraw = require('../../models/GPS.Withdraw');
const RequestGPS = require('../../models/GPS.Request')
const AwardRequest = require('../../models/GPS.AwardRequest');
const InstalledDevice = require('../../models/GPS.InstalledDevice');
module.exports.getAllNotifs = async socket => { module.exports.getAllNotifs = async socket => {
try { try {
const allData = await Promise.all([ const allData = await Promise.all([
// unreadCuMsgs // unreadCuMsgs
ContactPageMessage.countDocuments({ read: false }), ContactPageMessage.countDocuments({ read: false }),
@@ -36,7 +40,19 @@ module.exports.getAllNotifs = async socket => {
// newGuaranteeReports // newGuaranteeReports
GuaranteeReport.countDocuments({ status: 'sent', seen: false }), GuaranteeReport.countDocuments({ status: 'sent', seen: false }),
Complaint.countDocuments({ read: false }) Complaint.countDocuments({ read: false }),
// unread withdraw request
Withdraw.countDocuments({ status: 0 }),
// unread GPS request
RequestGPS.countDocuments({ status: 0 }),
// unread award request
AwardRequest.countDocuments({ status: 0 }),
// unread install device request
InstalledDevice.countDocuments({ status: 0 })
]) ])
const unreadCuMsgs = allData[0] const unreadCuMsgs = allData[0]
@@ -48,6 +64,10 @@ module.exports.getAllNotifs = async socket => {
const newBufferRequests = allData[6] const newBufferRequests = allData[6]
const newGuaranteeReports = allData[7] const newGuaranteeReports = allData[7]
const newComplaintReports = allData[8] const newComplaintReports = allData[8]
const newWithdrawRequest = allData[9]
const newGpsRequest = allData[10]
const newAwardRequest = allData[11]
const newInstallDeviceRequest = allData[12]
socket.emit(`admin:allNotifs`, { socket.emit(`admin:allNotifs`, {
@@ -59,7 +79,11 @@ module.exports.getAllNotifs = async socket => {
newOldPieceRequests, newOldPieceRequests,
newBufferRequests, newBufferRequests,
newGuaranteeReports, newGuaranteeReports,
newComplaintReports newComplaintReports,
newWithdrawRequest,
newGpsRequest,
newAwardRequest,
newInstallDeviceRequest
}) })
} catch (e) { } catch (e) {
console.log(e) console.log(e)
+23
View File
@@ -0,0 +1,23 @@
const User = require('../models/User');
const InstalledDevice = require('../models/GPS.InstalledDevice');
const Withdraw = require('../models/GPS.Withdraw');
module.exports.mainPage = async(req, res)=>{
const device = await InstalledDevice.countDocuments({userId:req.user_id})
const user = await User.findById(req.user_id).select('walletBalance dollarBalance score')
res.status(200).json({installedDevice:device, user})
}
module.exports.walletPage = async(req, res)=>{
const withdraw = await Withdraw.findOne({userId: req.user_id, status:0})
const user = await User.findById(req.user_id).select('walletBalance dollarBalance score')
let pending;
if(withdraw){
pending = true
}else{
pending = false
}
res.status(200).json({user, pending })
}
+19 -13
View File
@@ -12,20 +12,26 @@ module.exports.createRequest = [
checkValidations(validationResult), checkValidations(validationResult),
async (req, res) => { async (req, res) => {
try { try {
const user = await User.findById(req.user_id) const withdraw = await Withdraw.findOne({userId: req.user_id, status:0})
const data = { if(withdraw){
card: req.body.card, res.status(400).json({ msg: 'شما درخواست درحال بررسی دارید' })
userId: req.user_id, }else{
amount: user.walletBalance, const user = await User.findById(req.user_id)
dollarAmount: user.dollarBalance, const data = {
status: 0 card: req.body.card,
} userId: req.user_id,
amount: user.walletBalance,
dollarAmount: user.dollarBalance,
status: 0
}
const request = await Withdraw.create(data)
user.dollarBalance = 0;
user.walletBalance = 0;
user.save()
res.status(201).json({ msg: _sr.fa.response.success_save, data: request })
}
const request = await Withdraw.create(data)
user.dollarBalance = 0;
user.walletBalance = 0;
user.save()
res.status(201).json({ msg: _sr.fa.response.success_save, data: request })
} catch (error) { } catch (error) {
res.status(500).json({ msg: error }) res.status(500).json({ msg: error })
+14 -25
View File
@@ -24,7 +24,18 @@ const {
generateRandomDigits generateRandomDigits
} = require('../plugins/controllersHelperFunctions') } = require('../plugins/controllersHelperFunctions')
const _faSr = _sr.fa const _faSr = _sr.fa
const transporter = nodemailer.createTransport({
host: 'smtp.c1.liara.email',
port: 587,
secure: false, // true for 465, false for other ports
auth: {
user: 'awesome_bell_ncc1hi',
pass: '509f8938-db95-4b8d-83e7-9ea8eccfd28b'
},
tls: {
rejectUnauthorized: false
}
})
/// ///////////////////////////////////////////////////////////////// verify account functions /// ///////////////////////////////////////////////////////////////// verify account functions
function sendConfirmationEmail(userId) { function sendConfirmationEmail(userId) {
return new Promise(async (resolve, reject) => { return new Promise(async (resolve, reject) => {
@@ -38,18 +49,7 @@ function sendConfirmationEmail(userId) {
/// //// email configs /// //// email configs
// const hostURL = 'www.asan-service.com' // const hostURL = 'www.asan-service.com'
const transporter = nodemailer.createTransport({
host: 'smtp.c1.liara.email',
port: 587,
secure: false, // true for 465, false for other ports
auth: {
user: 'awesome_bell_ncc1hi',
pass: '509f8938-db95-4b8d-83e7-9ea8eccfd28b'
},
tls: {
rejectUnauthorized: false
}
})
const emailHTMLTemplate = ` const emailHTMLTemplate = `
<div style="direction: rtl;background-color: #065495;overflow: hidden;"> <div style="direction: rtl;background-color: #065495;overflow: hidden;">
@@ -687,18 +687,7 @@ module.exports.generate_reset_user_password_link = [
const hostURL = 'www.asan-service.com' const hostURL = 'www.asan-service.com'
if (type === 'email') { if (type === 'email') {
const transporter = nodemailer.createTransport({
host: 'mail.asan-service.com',
port: 587,
secure: false, // true for 465, false for other ports
auth: {
user: 'resetpassword@asan-service.com',
pass: '3e9atXQV+7a&'
},
tls: {
rejectUnauthorized: false
}
})
const emailHTMLTemplate = ` const emailHTMLTemplate = `
<div style="direction: rtl;background-color: #065495;overflow: hidden;"> <div style="direction: rtl;background-color: #065495;overflow: hidden;">
+1 -1
View File
@@ -7,7 +7,7 @@ const gpsAuthController = require('../controllers/GPS.Auth')
router.post('/gps/login', gpsAuthController.login) router.post('/gps/login', gpsAuthController.login)
/// /////////////////// admin routes /// ///////////////////
// router.post('/register/admin', userController.register_admin) // router.post('/register/admin', userController.register_admin)
router.post('/register/user', userController.register_user) router.post('/register/user', userController.register_user)
// router.post('/activation/:key', userController.activation) // router.post('/activation/:key', userController.activation)
+5
View File
@@ -6,6 +6,11 @@ const installedDevice = require('../controllers/GPS.InstalledDevice')
const score = require('../controllers/GPS.Score') const score = require('../controllers/GPS.Score')
const award = require('../controllers/GPS.Award') const award = require('../controllers/GPS.Award')
const awardRequest = require('../controllers/GPS.AwardRequest') const awardRequest = require('../controllers/GPS.AwardRequest')
const overview = require('../controllers/GPS.Overview')
/// /////////////// Overview page
router.get('/overview/main', overview.mainPage)
router.get('/overview/wallet', overview.walletPage)
/// ////////////// Award request /// ////////////// Award request