import { postRefreshToken, TokenPair } from "@/generated"; type MaybeToken = TokenPair | null; interface TokenServiceParams { token: TokenPair; } export const refreshToken = async ({ token, }: TokenServiceParams): Promise => { const { expires, refreshToken } = token; if (expires >= new Date()) { return token; } const refreshed = await postRefreshToken({ body: { refreshToken } }); const newToken = refreshed?.data ?? null; return newToken; };