From f198267ac9a91519891ff4dd591516cba2b89140 Mon Sep 17 00:00:00 2001 From: Juthatip McDevitt Date: Sun, 26 May 2024 09:49:28 -0500 Subject: [PATCH] updated orders route --- .../src/app/api/orders/route.js | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/donutshop_ecommerce/src/app/api/orders/route.js b/donutshop_ecommerce/src/app/api/orders/route.js index b77459a..aa51e0c 100644 --- a/donutshop_ecommerce/src/app/api/orders/route.js +++ b/donutshop_ecommerce/src/app/api/orders/route.js @@ -1,9 +1,32 @@ import mongoose from "mongoose"; import { getServerSession } from "next-auth" import { authOptions } from "../auth/[...nextauth]/route" +import { UserInfo } from "../models/UserInfo" +import { Order } from "../models/Order" -export async function GET(){ +export async function GET(req){ mongoose.connect(process.env.MONGO_URL); const session = await getServerSession(authOptions); + const userEmail = session?.user?.email; + const url = new URL(req.url); + const _id = url.searchParams.get('_id') + if(_id){ + return Response.json( await Order.findById(_id)); + } + + let isAdmin = false; + + if(userEmail){ + const userInfo = await UserInfo.findOne({email:userEmail}); + if(userInfo){ + const isAdmin = userInfo.admin; + } + } + if(isAdmin){ + return Response.json( await Order.find() ) + } + if(userEmail){ + return Response.json( await Order.find({userEmail}) ) + } } \ No newline at end of file