Spaces:
Paused
Paused
File size: 898 Bytes
5db682b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import Redis from 'ioredis'
import siteConfig from '../../config/site.config'
// Persistent key-value store is provided by Redis, hosted on Upstash
// https://vercel.com/integrations/upstash
const kv = new Redis(process.env.REDIS_URL || '')
export async function getOdAuthTokens(): Promise<{ accessToken: unknown; refreshToken: unknown }> {
const accessToken = await kv.get(`${siteConfig.kvPrefix}access_token`)
const refreshToken = await kv.get(`${siteConfig.kvPrefix}refresh_token`)
return {
accessToken,
refreshToken,
}
}
export async function storeOdAuthTokens({
accessToken,
accessTokenExpiry,
refreshToken,
}: {
accessToken: string
accessTokenExpiry: number
refreshToken: string
}): Promise<void> {
await kv.set(`${siteConfig.kvPrefix}access_token`, accessToken, 'EX', accessTokenExpiry)
await kv.set(`${siteConfig.kvPrefix}refresh_token`, refreshToken)
}
|