39 lines
975 B
TypeScript
39 lines
975 B
TypeScript
import { JWT } from '@edgefirst-dev/jwt'
|
|
|
|
import {
|
|
staffTokenCookieConfig,
|
|
userTokenCookieConfig,
|
|
} from '~/libs/cookie.server'
|
|
|
|
type TTokenCookie = {
|
|
accessToken: string
|
|
}
|
|
|
|
export const generateUserTokenCookie = (parameters: TTokenCookie) => {
|
|
const { accessToken } = parameters
|
|
|
|
const decodedToken = JWT.decode(accessToken)
|
|
const decodedTokenExp = decodedToken.exp
|
|
const expirationDate = decodedTokenExp
|
|
? new Date(Number(decodedTokenExp) * 1000)
|
|
: undefined
|
|
|
|
return userTokenCookieConfig.serialize(accessToken, {
|
|
expires: expirationDate,
|
|
})
|
|
}
|
|
|
|
export const generateStaffTokenCookie = (parameters: TTokenCookie) => {
|
|
const { accessToken } = parameters
|
|
|
|
const decodedToken = JWT.decode(accessToken)
|
|
const decodedTokenExp = decodedToken.exp
|
|
const expirationDate = decodedTokenExp
|
|
? new Date(Number(decodedTokenExp) * 1000)
|
|
: undefined
|
|
|
|
return staffTokenCookieConfig.serialize(accessToken, {
|
|
expires: expirationDate,
|
|
})
|
|
}
|