import { decodeJwt } from 'jose' import { staffTokenCookieConfig, userTokenCookieConfig, } from '~/libs/cookie.server' type TTokenCookie = { accessToken: string } export const generateUserTokenCookie = (parameters: TTokenCookie) => { const { accessToken } = parameters const decodedToken = decodeJwt(accessToken) const decodedTokenExp = decodedToken.exp const expirationDate = decodedTokenExp ? new Date(decodedTokenExp * 1000) : undefined return userTokenCookieConfig.serialize(accessToken, { expires: expirationDate, }) } export const generateStaffTokenCookie = (parameters: TTokenCookie) => { const { accessToken } = parameters const decodedToken = decodeJwt(accessToken) const decodedTokenExp = decodedToken.exp const expirationDate = decodedTokenExp ? new Date(decodedTokenExp * 1000) : undefined return staffTokenCookieConfig.serialize(accessToken, { expires: expirationDate, }) }