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

35 lines
1.1 KiB
JavaScript
Raw Normal View History

2024-08-12 17:27:47 -05:00
import { addResourcePurchaseToUser } from "@/db/models/userModels";
2024-10-02 17:27:38 -05:00
import { getServerSession } from "next-auth/next"
import { authOptions } from "@/pages/api/auth/[...nextauth]"
export default async function handler(req, res) {
2024-10-02 17:27:38 -05:00
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' });
}
2024-08-12 17:27:47 -05:00
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`);
}
}