39 lines
949 B
TypeScript

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,
})
}