From 173632deb88696f83375ee0770030c0e6582d773 Mon Sep 17 00:00:00 2001 From: austinkelsay Date: Sat, 12 Oct 2024 13:43:35 -0500 Subject: [PATCH] Fix to purchase models after unique purchases update --- src/db/models/userModels.js | 36 +++++------------------------- src/pages/api/purchase/resource.js | 11 ++++++--- 2 files changed, 14 insertions(+), 33 deletions(-) diff --git a/src/db/models/userModels.js b/src/db/models/userModels.js index 340c0e5..1b02e3e 100644 --- a/src/db/models/userModels.js +++ b/src/db/models/userModels.js @@ -83,21 +83,9 @@ export const addResourcePurchaseToUser = async (userId, purchaseData) => { where: { id: userId }, data: { purchased: { - upsert: { - where: { - userId_courseId_resourceId: { - userId: userId, - courseId: null, - resourceId: purchaseData.resourceId, - }, - }, - create: { - resourceId: purchaseData.resourceId, - amountPaid: purchaseData.amountPaid, - }, - update: { - amountPaid: purchaseData.amountPaid, - }, + create: { + resourceId: purchaseData.resourceId, + amountPaid: purchaseData.amountPaid, }, }, }, @@ -116,21 +104,9 @@ export const addCoursePurchaseToUser = async (userId, purchaseData) => { where: { id: userId }, data: { purchased: { - upsert: { - where: { - userId_courseId_resourceId: { - userId: userId, - courseId: purchaseData.courseId, - resourceId: null, - }, - }, - create: { - courseId: purchaseData.courseId, - amountPaid: purchaseData.amountPaid, - }, - update: { - amountPaid: purchaseData.amountPaid, - }, + create: { + courseId: purchaseData.courseId, + amountPaid: purchaseData.amountPaid, }, }, }, diff --git a/src/pages/api/purchase/resource.js b/src/pages/api/purchase/resource.js index 72f51bc..faf5309 100644 --- a/src/pages/api/purchase/resource.js +++ b/src/pages/api/purchase/resource.js @@ -13,17 +13,22 @@ export default async function handler(req, res) { 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) // Ensure amountPaid is an integer + amountPaid: parseInt(amountPaid, 10) }); res.status(200).json(updatedUser); } catch (error) { - res.status(500).json({ error: error.message }); + 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`); } -} \ No newline at end of file +}