From 9d8ad8745294b1b4526b343231169a46a1290492 Mon Sep 17 00:00:00 2001 From: Mr Swift Date: Mon, 5 Aug 2024 18:13:25 +0330 Subject: [PATCH] Bank account --- server/controllers/GPS.BankAccount.js | 64 +++++++++++++++++++++++++++ server/controllers/GPS.Request.js | 2 +- server/index.js | 2 + server/routes/agent.js | 1 - server/routes/gps.js | 9 ++++ 5 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 server/controllers/GPS.BankAccount.js create mode 100644 server/routes/gps.js diff --git a/server/controllers/GPS.BankAccount.js b/server/controllers/GPS.BankAccount.js new file mode 100644 index 0000000..9e0fb70 --- /dev/null +++ b/server/controllers/GPS.BankAccount.js @@ -0,0 +1,64 @@ +const { body, param, validationResult } = require('express-validator') +const { _sr } = require('../plugins/serverResponses') +const { checkValidations, res400 } = require('../plugins/controllersHelperFunctions') +const User = require('../models/User') + +module.exports.addCard = [ + [ + body('holderName').notEmpty().isString().withMessage(_sr.fa.required.name), + body('cardNumber').notEmpty().isNumeric().withMessage(_sr.fa.required.store_number), + body('shabaNumber').notEmpty().isNumeric().withMessage(_sr.fa.required.address) + ], + checkValidations(validationResult), + async (req, res) => { + const { holderName, cardNumber, shabaNumber } = req.body; + const userData = await User.findById(req.user_id).select('id cardBank') + if(userData?.cardBank && Array.isArray(userData?.cardBank)){ + userData.cardBank.push({ + holderName, + cardNumber, + shabaNumber + }) + userData.save() + res.status(201).json({msg: 'با موفقیت ثبت شد ' }) + }else{ + userData.cardBank = [{ + holderName, + cardNumber, + shabaNumber + }]; + userData.save() + res.status(201).json({msg: 'با موفقیت ثبت شد '}) + } + } +] + + +module.exports.getAll = [ + async (req, res) => { + const userData = await User.findById(req.user_id).select('id cardBank') + res.status(200).json(userData) + } +] + + +module.exports.deleteCard = [ + [ + param('id').notEmpty().isMongoId().withMessage('این ایدی اشتباه می باشد') + ], + checkValidations(validationResult), + async (req, res) => { + const userData = await User.findOneAndUpdate( + { + _id:req.user_id, + "cardBank._id":req.params.id + }, + { + $pull: { + cardBank: { _id: req.params.id } + } + } + ).select('id cardBank') + res.status(200).json({msg: "با موفقیت حذف شد ", data:userData}) + } +] \ No newline at end of file diff --git a/server/controllers/GPS.Request.js b/server/controllers/GPS.Request.js index 4c742b2..bb4db34 100644 --- a/server/controllers/GPS.Request.js +++ b/server/controllers/GPS.Request.js @@ -76,7 +76,7 @@ module.exports.changeStatus = [ birthDate: data.birthDate, walletBalance:userPreData?.walletBalance | 0 }, - { new: true} + { new: true } ) res.status(200).json({ msg: 'با موفقیت به روز شد', data:userData }) break; diff --git a/server/index.js b/server/index.js index f2dc882..11edb15 100644 --- a/server/index.js +++ b/server/index.js @@ -36,6 +36,7 @@ function init() { const admin = require('./routes/admin') const user = require('./routes/user') const agent = require('./routes/agent') + const gps = require('./routes/gps') const auth = require('./routes/auth') const cross = require('./routes/cross') const thirdParty = require('./routes/thirdParty') @@ -45,6 +46,7 @@ function init() { router.use('/admin', authentication.isAdmin, admin) router.use('/user', authentication.isUser, user) router.use('/agent', authentication.isAgent, agent) + router.use('/gps', authentication.isGPS, gps) router.use('/auth', auth) router.use('/cross', cross) router.use('/thirdParty', checkThirdPartyAccess, thirdParty) diff --git a/server/routes/agent.js b/server/routes/agent.js index 82711c5..ee33d3e 100644 --- a/server/routes/agent.js +++ b/server/routes/agent.js @@ -5,7 +5,6 @@ const pieceController = require('../controllers/pieceController') const pieceRequestController = require('../controllers/pieceRequestController') const oldPieceRequestController = require('../controllers/oldPieceRequestController') const bufferRequestController = require('../controllers/bufferRequestController') - const guaranteeReportController = require('../controllers/guaranteeReportController') /// // inbox diff --git a/server/routes/gps.js b/server/routes/gps.js new file mode 100644 index 0000000..091654f --- /dev/null +++ b/server/routes/gps.js @@ -0,0 +1,9 @@ +const { Router } = require('express') +const router = Router() +const bankAccount = require('../controllers/GPS.BankAccount') + +router.post('/bank-card', bankAccount.addCard) +router.get('/bank-card', bankAccount.getAll) +router.delete('/bank-card/:id', bankAccount.deleteCard) + +module.exports = router