plebdevs/src/pages/api/purchase/resource.js

35 lines
1.1 KiB
JavaScript

import { addResourcePurchaseToUser } from "@/db/models/userModels";
import { getServerSession } from "next-auth/next"
import { authOptions } from "@/pages/api/auth/[...nextauth]"
export default async function handler(req, res) {
const session = await getServerSession(req, res, authOptions)
if (!session) {
return res.status(401).json({ error: 'Unauthorized' });
}
if (req.method === 'POST') {
try {
const { userId, resourceId, amountPaid } = req.body;
if (!userId || !resourceId || !amountPaid) {
return res.status(400).json({ error: 'Missing required fields' });
}
const updatedUser = await addResourcePurchaseToUser(userId, {
resourceId,
amountPaid: parseInt(amountPaid, 10)
});
res.status(200).json(updatedUser);
} catch (error) {
console.error('Error in resource purchase:', error);
res.status(500).json({ error: 'An error occurred while processing the purchase' });
}
} else {
res.setHeader('Allow', ['POST']);
res.status(405).end(`Method ${req.method} Not Allowed`);
}
}