Files
2026-02-10 01:14:19 +00:00

1 line
4.6 KiB
JavaScript

"use strict";(()=>{var e={};e.id=4213,e.ids=[4213],e.modules={72934:e=>{e.exports=require("next/dist/client/components/action-async-storage.external.js")},54580:e=>{e.exports=require("next/dist/client/components/request-async-storage.external.js")},45869:e=>{e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},20399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},30517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},27790:e=>{e.exports=require("assert")},78893:e=>{e.exports=require("buffer")},84770:e=>{e.exports=require("crypto")},17702:e=>{e.exports=require("events")},32615:e=>{e.exports=require("http")},35240:e=>{e.exports=require("https")},86624:e=>{e.exports=require("querystring")},17360:e=>{e.exports=require("url")},21764:e=>{e.exports=require("util")},71568:e=>{e.exports=require("zlib")},80924:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>I,patchFetch:()=>f,requestAsyncStorage:()=>w,routeModule:()=>m,serverHooks:()=>x,staticGenerationAsyncStorage:()=>q});var a={};r.r(a),r.d(a,{POST:()=>l});var i=r(49303),s=r(88716),d=r(60670),n=r(87070),o=r(83493),u=r(71615),c=r(75571),p=r(90455);async function l(e){try{let t;let r=await e.json(),a=r.slug,i=r.productId,s=r.priceId,d=r.name,l=Number(r.unitAmount),m=r.currency,w=Number(r.quantity)||1;if(!a||!i||!s||!d||!Number.isFinite(l)||!m)return n.NextResponse.json({error:"Missing required cart fields."},{status:400});let q=await o._.store.findUnique({where:{slug:a}});if(!q)return n.NextResponse.json({error:"Store not found."},{status:404});let x=await (0,c.getServerSession)(p.L),I=(0,u.cookies)(),f=I.get("sf_session")?.value,h=!f;f||(f=crypto.randomUUID());let y=await o._.cart.findUnique({where:{storeId_sessionId:{storeId:q.id,sessionId:f}}});if(x?.user?.email){let e=await o._.user.findUnique({where:{email:x.user.email}});if(!e)return n.NextResponse.json({error:"User not found."},{status:404});let r=await o._.cart.findUnique({where:{storeId_userId:{storeId:q.id,userId:e.id}}});if(r){if(y&&y.id!==r.id){for(let e of(await o._.cartItem.findMany({where:{cartId:y.id}}))){let t=await o._.cartItem.findFirst({where:{cartId:r.id,priceId:e.priceId}});t?await o._.cartItem.update({where:{id:t.id},data:{quantity:t.quantity+e.quantity}}):await o._.cartItem.create({data:{cartId:r.id,productId:e.productId,priceId:e.priceId,name:e.name,unitAmount:e.unitAmount,currency:e.currency,quantity:e.quantity}})}await o._.cart.delete({where:{id:y.id}}),t=await o._.cart.update({where:{id:r.id},data:{sessionId:f}})}else t=r.sessionId!==f?await o._.cart.update({where:{id:r.id},data:{sessionId:f}}):r}else t=y?await o._.cart.update({where:{id:y.id},data:{userId:e.id}}):await o._.cart.create({data:{storeId:q.id,userId:e.id,sessionId:f}})}else t=y??await o._.cart.create({data:{storeId:q.id,sessionId:f}});let _=await o._.cartItem.findFirst({where:{cartId:t.id,priceId:s}}),g=_?await o._.cartItem.update({where:{id:_.id},data:{quantity:_.quantity+w}}):await o._.cartItem.create({data:{cartId:t.id,productId:i,priceId:s,name:d,unitAmount:l,currency:m,quantity:w}}),j=n.NextResponse.json({item:g});return h&&j.cookies.set("sf_session",f,{httpOnly:!0,sameSite:"lax",path:"/"}),j}catch(e){return n.NextResponse.json({error:e?.message||"Failed to add to cart."},{status:500})}}let m=new i.AppRouteRouteModule({definition:{kind:s.x.APP_ROUTE,page:"/api/cart/add/route",pathname:"/api/cart/add",filename:"route",bundlePath:"app/api/cart/add/route"},resolvedPagePath:"/root/ShiftedOffRoad/app/api/cart/add/route.ts",nextConfigOutput:"",userland:a}),{requestAsyncStorage:w,staticGenerationAsyncStorage:q,serverHooks:x}=m,I="/api/cart/add/route";function f(){return(0,d.patchFetch)({serverHooks:x,staticGenerationAsyncStorage:q})}},90455:(e,t,r)=>{r.d(t,{L:()=>o});var a=r(13539),i=r(53797),s=r(42023),d=r.n(s),n=r(83493);let o={adapter:(0,a.N)(n._),session:{strategy:"jwt"},pages:{signIn:"/login"},callbacks:{jwt:async({token:e,user:t})=>(t&&(e.id=t.id),e.id||(e.id=e.sub??""),e),session:async({session:e,token:t})=>(e.user&&(e.user.id=t.id||""),e)},providers:[(0,i.Z)({name:"Credentials",credentials:{email:{label:"Email",type:"email"},password:{label:"Password",type:"password"}},async authorize(e){let t=e?.email?.toLowerCase().trim(),r=e?.password;if(!t||!r)return null;let a=await n._.user.findUnique({where:{email:t}});return a&&a.passwordHash&&await d().compare(r,a.passwordHash)?{id:a.id,name:a.name,email:a.email}:null}})]}},83493:(e,t,r)=>{r.d(t,{_:()=>i});let a=require("@prisma/client"),i=globalThis.prisma??new a.PrismaClient({log:["warn","error"]})}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),a=t.X(0,[9276,5972,2023,9637],()=>r(80924));module.exports=a})();