diff options
author | Skitty1238 <157652284+Skitty1238@users.noreply.github.com> | 2025-06-04 18:28:35 -0400 |
---|---|---|
committer | Skitty1238 <157652284+Skitty1238@users.noreply.github.com> | 2025-06-04 18:28:35 -0400 |
commit | 09be9002b5aa8f5ad7c602bcef6b53bbe0398cd3 (patch) | |
tree | 730acef57ae76d8698c68acb641fce3167d9c941 /src/server/ApiManagers/GeneralGoogleManager.ts | |
parent | 645df1d00f953524c6da22103d26c38ae4331cd6 (diff) |
fixed google authentication + linking and task creation via GT button
Diffstat (limited to 'src/server/ApiManagers/GeneralGoogleManager.ts')
-rw-r--r-- | src/server/ApiManagers/GeneralGoogleManager.ts | 50 |
1 files changed, 34 insertions, 16 deletions
diff --git a/src/server/ApiManagers/GeneralGoogleManager.ts b/src/server/ApiManagers/GeneralGoogleManager.ts index e8debfc12..25589ccb5 100644 --- a/src/server/ApiManagers/GeneralGoogleManager.ts +++ b/src/server/ApiManagers/GeneralGoogleManager.ts @@ -71,24 +71,20 @@ export default class GeneralGoogleManager extends ApiManager { subscription: new RouteSubscriber('googleTasks').add('create'), secureHandler: async ({ req, res, user }) => { try { - const { credentials } = await GoogleApiServerUtils.retrieveCredentials(user.id); - const access_token = user.googleToken || credentials?.access_token; // if googleToken expires, we need to renew it. - - if (!access_token) { - return res.status(401).send('Google access token not found.'); + const auth = await GoogleApiServerUtils.retrieveOAuthClient(user); + + if (!auth) { + return res.status(401).send('Google credentials missing or invalid.'); } - - const auth = new google.auth.OAuth2(); - auth.setCredentials({ access_token: access_token }); - + const tasks = google.tasks({ version: 'v1', auth }); - - const { title, notes, due } = req.body; + + const { title, notes, due, status, completed } = req.body; const result = await tasks.tasks.insert({ tasklist: '@default', - requestBody: { title, notes, due }, + requestBody: { title, notes, due, status, completed}, }); - + res.status(200).send(result.data); } catch (err) { console.error('Google Tasks error:', err); @@ -102,9 +98,31 @@ export default class GeneralGoogleManager extends ApiManager { subscription: '/refreshGoogle', secureHandler: async ({ user, req, res }) => { const code = req.query.code as string; - _success(res, code); - user.googleToken = code; - user.save(); + console.log('/refreshGoogle hit with code:', code); + + try { + const enriched = await GoogleApiServerUtils.processNewUser(user.id, code); + + if (enriched.refresh_token) { + console.log('Enriched credentials:', enriched); + + if (enriched.refresh_token) { + user.googleToken = enriched.refresh_token; + await user.save(); + console.log('Saved refresh token to user model'); + } else { + console.warn('No refresh token returned'); + } + } + + // await user.save(); + // _success(res, 'Google account successfully linked!'); + res.redirect('/home'); + + } catch (err) { + console.error('Failed to process Google code:', err); + res.status(500).send('Error linking Google account'); + } // const response2 = await Networking.PostToServer('/writeGoogleAccessToken', { authenticationCode }); // runInAction(() => { |