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 GuaranteeReport = require('../../models/GuaranteeReport')
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 => {
try {
const allData = await Promise.all([
// unreadCuMsgs
ContactPageMessage.countDocuments({ read: false }),
@@ -36,7 +40,19 @@ module.exports.getAllNotifs = async socket => {
// newGuaranteeReports
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]
@@ -48,6 +64,10 @@ module.exports.getAllNotifs = async socket => {
const newBufferRequests = allData[6]
const newGuaranteeReports = allData[7]
const newComplaintReports = allData[8]
const newWithdrawRequest = allData[9]
const newGpsRequest = allData[10]
const newAwardRequest = allData[11]
const newInstallDeviceRequest = allData[12]
socket.emit(`admin:allNotifs`, {
@@ -59,7 +79,11 @@ module.exports.getAllNotifs = async socket => {
newOldPieceRequests,
newBufferRequests,
newGuaranteeReports,
newComplaintReports
newComplaintReports,
newWithdrawRequest,
newGpsRequest,
newAwardRequest,
newInstallDeviceRequest
})
} catch (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 })
}
+20 -14
View File
@@ -12,20 +12,26 @@ module.exports.createRequest = [
checkValidations(validationResult),
async (req, res) => {
try {
const user = await User.findById(req.user_id)
const data = {
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 withdraw = await Withdraw.findOne({userId: req.user_id, status:0})
if(withdraw){
res.status(400).json({ msg: 'شما درخواست درحال بررسی دارید' })
}else{
const user = await User.findById(req.user_id)
const data = {
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 })
}
} catch (error) {
res.status(500).json({ msg: error })
+14 -25
View File
@@ -24,7 +24,18 @@ const {
generateRandomDigits
} = require('../plugins/controllersHelperFunctions')
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
function sendConfirmationEmail(userId) {
return new Promise(async (resolve, reject) => {
@@ -38,18 +49,7 @@ function sendConfirmationEmail(userId) {
/// //// email configs
// 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 = `
<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'
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 = `
<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)
/// /////////////////// admin routes
/// ///////////////////
// router.post('/register/admin', userController.register_admin)
router.post('/register/user', userController.register_user)
// 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 award = require('../controllers/GPS.Award')
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