From d2e75b5759b9bf8d9542d99eabed79f6b3131082 Mon Sep 17 00:00:00 2001 From: mbaharip <62494292+mbahArip@users.noreply.github.com> Date: Fri, 26 May 2023 18:58:08 +0700 Subject: [PATCH] Todo: Refetch token --- src/utils/apiHelper/gdrive.ts | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/utils/apiHelper/gdrive.ts b/src/utils/apiHelper/gdrive.ts index 0bae381..09e9762 100644 --- a/src/utils/apiHelper/gdrive.ts +++ b/src/utils/apiHelper/gdrive.ts @@ -18,20 +18,24 @@ const config = { : process.env.DRIVE_REFRESH_TOKEN, }; -const oauth2Client = new google.auth.OAuth2( - config.client_id, - config.client_secret as string, -); -oauth2Client.setCredentials({ - refresh_token: config.refresh_token as string, -}); +//TODO: Refetch token if it's become invalid +let gdrive: drive_v3.Drive | undefined; -let gdrive; -if (!gdrive) { +const oauth2Client = new google.auth.OAuth2({ + clientId: config.client_id, + clientSecret: config.client_secret as string, + eagerRefreshThresholdMillis: 10000, + redirectUri: "http://localhost", +}); +function initializeClient() { + oauth2Client.setCredentials({ + refresh_token: config.refresh_token as string, + }); gdrive = google.drive({ version: "v3", auth: oauth2Client, }); } -export default gdrive as drive_v3.Drive; +initializeClient(); +export default gdrive;