hensei-web/utils/retrieveCookies.tsx
Justin Edmund 0fb30e0ac5 Implement retrieveCookie
retrieveCookie fetches and parses cookies. This util should help us further reduce places where we're extracting and parsing with cookies in the business logic
2022-12-27 17:16:21 -08:00

23 lines
666 B
TypeScript

import { getCookies } from 'cookies-next'
import { NextApiRequest, NextApiResponse } from 'next'
export default function retrieveCookies(
req?: NextApiRequest,
res?: NextApiResponse
): GranblueCookie | undefined {
const cookies = getCookies({ req, res })
if (!cookies) return undefined
const {
account: accountData,
user: userData,
NEXT_LOCALE: localeData,
} = cookies
if (!accountData || !userData) return undefined
const account = JSON.parse(decodeURIComponent(accountData)) ?? undefined
const user = JSON.parse(decodeURIComponent(userData)) ?? undefined
const locale = localeData as string
return { account, user, locale }
}