Files
asan-service/server/controllers/GPS.BankAccount.js
T
2024-08-05 18:13:25 +03:30

64 lines
2.1 KiB
JavaScript

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})
}
]