diff options
Diffstat (limited to 'examples/ssr/src/pages/api/cart.ts')
-rw-r--r-- | examples/ssr/src/pages/api/cart.ts | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/examples/ssr/src/pages/api/cart.ts b/examples/ssr/src/pages/api/cart.ts index d8bfa31a0..80db01f16 100644 --- a/examples/ssr/src/pages/api/cart.ts +++ b/examples/ssr/src/pages/api/cart.ts @@ -1,10 +1,9 @@ import { APIContext } from 'astro'; -import lightcookie from 'lightcookie'; import { userCartItems } from '../../models/session'; -export function get({ request }: APIContext) { - let cookie = request.headers.get('cookie'); - let userId = cookie ? lightcookie.parse(cookie)['user-id'] : '1'; // default for testing +export function get({ cookies }: APIContext) { + let userId = cookies.get('user-id').value; + if (!userId || !userCartItems.has(userId)) { return { body: JSON.stringify({ items: [] }), @@ -23,11 +22,10 @@ interface AddToCartItem { name: string; } -export async function post({ request }: APIContext) { +export async function post({ cookies, request }: APIContext) { const item: AddToCartItem = await request.json(); - let cookie = request.headers.get('cookie'); - let userId = lightcookie.parse(cookie)['user-id']; + let userId = cookies.get('user-id').value; if (!userCartItems.has(userId)) { userCartItems.set(userId, new Map()); |