feat: add route to update and add cardbank and fix
This commit is contained in:
@@ -4,69 +4,101 @@ const { checkValidations } = require('../plugins/controllersHelperFunctions')
|
||||
const User = require('../models/GPS.User')
|
||||
|
||||
module.exports.addCard = [
|
||||
[
|
||||
body('holderName').notEmpty().isString().withMessage(_sr.fa.required.name),
|
||||
body('PAN').notEmpty().isInt().withMessage(_sr.fa.required.store_number),
|
||||
body('IBAN').notEmpty().isIBAN().withMessage(_sr.fa.required.address)
|
||||
],
|
||||
checkValidations(validationResult),
|
||||
async (req, res) => {
|
||||
try {
|
||||
const { holderName, PAN, IBAN } = req.body;
|
||||
const userData = await User.findById(req.user_id).select('id cardBank')
|
||||
if (userData?.cardBank && Array.isArray(userData?.cardBank)) {
|
||||
userData.cardBank.push({
|
||||
holderName,
|
||||
PAN,
|
||||
IBAN
|
||||
})
|
||||
userData.save()
|
||||
res.status(201).json({ msg: 'با موفقیت ثبت شد ' })
|
||||
} else {
|
||||
userData.cardBank = [{
|
||||
holderName,
|
||||
PAN,
|
||||
IBAN
|
||||
}];
|
||||
userData.save()
|
||||
res.status(201).json({ msg: 'با موفقیت ثبت شد ' })
|
||||
}
|
||||
} catch (error) {
|
||||
res.status(500).json({ msg: error })
|
||||
|
||||
}
|
||||
[
|
||||
body('holderName').notEmpty().isString().withMessage(_sr.fa.required.name),
|
||||
body('PAN').notEmpty().isInt().withMessage(_sr.fa.required.store_number),
|
||||
body('IBAN').notEmpty().isLength({ min: 24, max: 24 }).withMessage(_sr.fa.required.iban)
|
||||
],
|
||||
checkValidations(validationResult),
|
||||
async (req, res) => {
|
||||
try {
|
||||
const { holderName, PAN, IBAN } = req.body
|
||||
const userData = await User.findById(req.user_id).select('id cardBank')
|
||||
if (userData?.cardBank && Array.isArray(userData?.cardBank)) {
|
||||
userData.cardBank.push({
|
||||
holderName,
|
||||
PAN,
|
||||
IBAN
|
||||
})
|
||||
userData.save()
|
||||
res.status(201).json({ msg: 'با موفقیت ثبت شد ' })
|
||||
} else {
|
||||
userData.cardBank = [
|
||||
{
|
||||
holderName,
|
||||
PAN,
|
||||
IBAN
|
||||
}
|
||||
]
|
||||
userData.save()
|
||||
res.status(201).json({ msg: 'با موفقیت ثبت شد ' })
|
||||
}
|
||||
} catch (error) {
|
||||
res.status(500).json({ msg: error })
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
module.exports.getAll = [
|
||||
async (req, res) => {
|
||||
const userData = await User.findById(req.user_id).select('id cardBank')
|
||||
res.status(200).json(userData)
|
||||
}
|
||||
async (req, res) => {
|
||||
const userData = await User.findById(req.user_id).select('id cardBank')
|
||||
res.status(200).json(userData)
|
||||
}
|
||||
]
|
||||
module.exports.getOne = [
|
||||
async (req, res) => {
|
||||
const userCart = await User.findOne({ _id: req.user_id, 'cardBank._id': req.params.id }).select('id cardBank')
|
||||
console.log(userCart)
|
||||
res.status(200).json({ userCart: userCart.cardBank[0] })
|
||||
}
|
||||
]
|
||||
|
||||
module.exports.updateCard = [
|
||||
[
|
||||
param('id').notEmpty().isMongoId().withMessage('این ایدی اشتباه می باشد'),
|
||||
body('holderName').notEmpty().isString().withMessage(_sr.fa.required.name),
|
||||
body('PAN').notEmpty().isInt().withMessage(_sr.fa.required.store_number),
|
||||
body('IBAN').notEmpty().isLength({ min: 24, max: 24 }).withMessage(_sr.fa.required.iban)
|
||||
],
|
||||
checkValidations(validationResult),
|
||||
async (req, res) => {
|
||||
try {
|
||||
const { holderName, PAN, IBAN } = req.body
|
||||
const userData = await User.findOneAndUpdate(
|
||||
{ _id: req.user_id, 'cardBank._id': req.params.id },
|
||||
{
|
||||
$set: {
|
||||
'cardBank.$.holderName': holderName,
|
||||
'cardBank.$.PAN': PAN,
|
||||
'cardBank.$.IBAN': IBAN
|
||||
}
|
||||
},
|
||||
{ new: true }
|
||||
).select('id cardBank')
|
||||
res.status(200).json(userData)
|
||||
} catch (error) {
|
||||
res.status(500).json({ msg: error.message })
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
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 }
|
||||
}
|
||||
},
|
||||
{ new:true }
|
||||
).select('id cardBank')
|
||||
// res.status(200).json({ msg: "با موفقیت حذف شد ", data: userData })
|
||||
res.status(200).json(userData)
|
||||
|
||||
}
|
||||
]
|
||||
[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 }
|
||||
}
|
||||
},
|
||||
{ new: true }
|
||||
).select('id cardBank')
|
||||
// res.status(200).json({ msg: "با موفقیت حذف شد ", data: userData })
|
||||
res.status(200).json(userData)
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user