7fife-backend/controllers/payment.controller.js

80 lines
2.1 KiB
JavaScript
Raw Permalink Normal View History

2024-03-07 13:01:44 +00:00
const Payment = require('../models/payment.model');
const Subscription = require('../models/subscription.model');
const constant = require('../util/payment.constant');
const createPayment = async(req,res) => {
try{
const subscription = await Subscription.findById(req.params.id);
let obj = {
userName : req.body.userName,
planName : subscription.subscriptionTitle,
mainAmount : Math.floor((subscription.price*100)/(100-subscription.offer)),
offer : subscription.offer + '%',
finalAmount : subscription.price,
paymentId : '#' + Math.floor(Math.random() * 100000)+1 ,
paymentMethod : req.body.paymentMethod
}
await Payment.create(obj);
res.status(201).send({
error_code : 200,
message : 'Payment has been created '
})
}catch(err){
console.log('Error inside createPayment',err);
res.status(500).send({
error_code : 500,
message : 'Internal Server Error'
})
}
}
const getPayment = async(req,res) => {
try{
let obj = {
userName : req.query.userName ? req.query.userName : undefined
}
console.log(obj);
const payment = await Payment.find(obj);
console.log(payment)
return res.status(200).send(constant.objectConverter(payment));
}catch(err){
console.log('Error inside getReview controller',err);
return res.status(500).send({
error_code : 500,
message : "Internal Server Error"
})
}
}
const deletePayment = async(req,res) => {
try{
let id = req.params.id;
await Payment.deleteOne({_id :id});
return res.status(201).send({
error_code : 200,
message : 'Payment got deleted'
})
}catch(err){
console.log('Error inside deletePay Controller',err)
return res.status(500).send({
error_code : 500,
message : 'Internal Server Error'
})
}
}
module.exports = {
createPayment,
getPayment,
deletePayment
}