diff --git a/donutshop_ecommerce/src/app/api/profile/route.js b/donutshop_ecommerce/src/app/api/profile/route.js index 75010ff..819f848 100644 --- a/donutshop_ecommerce/src/app/api/profile/route.js +++ b/donutshop_ecommerce/src/app/api/profile/route.js @@ -7,27 +7,42 @@ import { UserInfo } from "../models/UserInfo" export async function PUT(req){ mongoose.connect(process.env.MONGO_URL) const data = await req.json(); - const session = await getServerSession(authOptions) - const email = session.user.email - const {name, image, ...otherUserInfo} = data - - await User.updateOne({email}, {name, image}); - - //update userInfo - await UserInfo.findOneAndUpdate({email}, otherUserInfo, {upsert:true}); + const {_id, name, image, ...otherUserInfo} = data; + let filter = {}; + if(_id) { + filter = {_id} + } else { + const session = await getServerSession(authOptions); + const email = session.user.email; + filter = {email}; + } + const user = await User.findOne(filter); + await User.updateOne(filter, {name, image}); + await UserInfo.findOneAndUpdate({email:user.email}, otherUserInfo, {upsert:true}); return Response.json(true) } -export async function GET(){ +export async function GET(req){ mongoose.connect(process.env.MONGO_URL) - const session = await getServerSession(authOptions) - const email = session?.user?.email - if(!email){ - return Response.json({}) + const url = new URL(req.url); + const _id = url.searchParams.get('_id'); + + let filterUser = {} + if(_id) { + filterUser={_id} + + } else { + const session = await getServerSession(authOptions) + const email = session?.user?.email + if(!email){ + return Response.json({}) + } + filterUser = {email} } - const user = await User.findOne({email}).lean() - const userInfo = await UserInfo.findOne({email}).lean() + const user = await User.findOne(filterUser).lean() + const userInfo = await UserInfo.findOne({email:user.email}).lean() + return Response.json({...user, ...userInfo}) } \ No newline at end of file diff --git a/donutshop_ecommerce/src/app/login/page.js b/donutshop_ecommerce/src/app/login/page.js index c1c18bd..85eda25 100644 --- a/donutshop_ecommerce/src/app/login/page.js +++ b/donutshop_ecommerce/src/app/login/page.js @@ -21,7 +21,7 @@ const LoginPage = () => { } return ( -
Login