ai-stories-factory / src /lib /oauth /getValidOAuth.ts
jbilcke-hf's picture
jbilcke-hf HF staff
add login
58379d0
raw
history blame contribute delete
861 Bytes
import { OAuthResult } from "@huggingface/hub"
// return a valid OAuthResult, or else undefined
export function getValidOAuth(rawInput?: any): OAuthResult | undefined {
try {
let untypedOAuthResult: any
try {
untypedOAuthResult = JSON.parse(rawInput)
if (!untypedOAuthResult) { throw new Error("no valid serialized oauth result") }
} catch (err) {
untypedOAuthResult = rawInput
}
const maybeValidOAuth = untypedOAuthResult as OAuthResult
const accessTokenExpiresAt = new Date(maybeValidOAuth.accessTokenExpiresAt)
// Get the current date
const currentDate = new Date()
if (accessTokenExpiresAt.getTime() < currentDate.getTime()) {
throw new Error("the serialized oauth result has expired")
}
return maybeValidOAuth
} catch (err) {
// console.error(err)
return undefined
}
}