withdraw
This commit is contained in:
@@ -4,3 +4,77 @@ const { checkValidations } = require('../plugins/controllersHelperFunctions');
|
||||
const User = require('../models/User');
|
||||
const Withdraw = require('../models/GPS.Withdraw');
|
||||
|
||||
|
||||
module.exports.createRequest = [
|
||||
[
|
||||
body('card').notEmpty().isObject().withMessage('گارت ورودی خود را انتخاب کنید'),
|
||||
],
|
||||
checkValidations(validationResult),
|
||||
async (req, res) => {
|
||||
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
|
||||
}
|
||||
user.dollarBalance = 0;
|
||||
user.walletBalance = 0;
|
||||
user.save()
|
||||
const request = await Withdraw.create(data)
|
||||
|
||||
res.status(201).json({ msg: _sr.fa.response.success_save, data: request })
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
module.exports.getAllForUser = async (req, res) => {
|
||||
|
||||
const requests = await Withdraw.find({ userId: req.user_id }).sort({ created_at: -1 })
|
||||
|
||||
res.status(201).json(requests)
|
||||
}
|
||||
|
||||
module.exports.getAllForAdmin = async (req, res) => {
|
||||
|
||||
const requests = await Withdraw.find().sort({ status: 1 })
|
||||
|
||||
res.status(201).json(requests)
|
||||
}
|
||||
|
||||
|
||||
module.exports.updateReq = [
|
||||
[
|
||||
param('id').notEmpty().isMongoId().withMessage('ایدی را باید وارد کنید'),
|
||||
param('type').notEmpty().isString().withMessage('وضعیت را باید وارد کنید'),
|
||||
],
|
||||
checkValidations(validationResult),
|
||||
async (req, res) => {
|
||||
const request = await Withdraw.findById(req.params.id)
|
||||
if (!request) {
|
||||
res.status(404).json({ msg: _sr.fa.not_found.item_id })
|
||||
} else {
|
||||
switch (req.params.type) {
|
||||
case "accept": {
|
||||
request.status = 1;
|
||||
request.save()
|
||||
res.status(201).json({ msg: _sr.fa.response.success_save, data: request })
|
||||
break;
|
||||
}
|
||||
case "deposit": {
|
||||
request.status = 2;
|
||||
request.depositDate = new Date();
|
||||
request.trackingNumber = req.body.trackingNumber || 0;
|
||||
request.save()
|
||||
res.status(201).json({ msg: _sr.fa.response.success_save, data: request })
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
res.status(404).json({ msg: "استاتوس اشتباه است" })
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user