Skip to content

Commit 75e46a2

Browse files
authored
fix: OAuth callback persists platform credential and updates token state immediately (#242)
1 parent 1ffa57c commit 75e46a2

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

apps/api/src/routes/auth.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,26 @@ authRouter.get('/callback', async (req, res) => {
350350
logger.info({ grantedScope: tokenData.scope, expires_in: tokenData.expires_in }, 'token exchange successful');
351351
setTokenCookies(res, tokenData);
352352

353+
// Persist refresh token as platform credential so background syncs work
354+
// and update the in-memory token state immediately
355+
if (tokenData.refresh_token) {
356+
try {
357+
const { db } = await import('../db.js');
358+
await db.platformCredential.upsert({
359+
where: { key: 'predgg_refresh_token' },
360+
update: { value: tokenData.refresh_token },
361+
create: { key: 'predgg_refresh_token', value: tokenData.refresh_token },
362+
});
363+
const { platformTokenState } = await import('./admin.js');
364+
platformTokenState.status = 'ok';
365+
platformTokenState.lastCheckedAt = new Date().toISOString();
366+
platformTokenState.lastError = null;
367+
logger.info('OAuth callback: platform credential updated, token state set to ok');
368+
} catch (err) {
369+
logger.warn({ err }, 'OAuth callback: failed to save platform credential');
370+
}
371+
}
372+
353373
logger.info('OAuth2 login successful — redirecting to players');
354374
res.redirect(`${FRONTEND_URL}/players`);
355375
} catch (err) {

0 commit comments

Comments
 (0)