diff options
Diffstat (limited to 'src/server/ApiManagers/GeneralGoogleManager.ts')
-rw-r--r-- | src/server/ApiManagers/GeneralGoogleManager.ts | 56 |
1 files changed, 16 insertions, 40 deletions
diff --git a/src/server/ApiManagers/GeneralGoogleManager.ts b/src/server/ApiManagers/GeneralGoogleManager.ts index 25589ccb5..7581eec13 100644 --- a/src/server/ApiManagers/GeneralGoogleManager.ts +++ b/src/server/ApiManagers/GeneralGoogleManager.ts @@ -1,5 +1,5 @@ import ApiManager, { Registration } from './ApiManager'; -import { Method, _success } from '../RouteManager'; +import { Method } from '../RouteManager'; import { GoogleApiServerUtils } from '../apis/google/GoogleApiServerUtils'; import RouteSubscriber from '../RouteSubscriber'; import { Database } from '../database'; @@ -72,19 +72,19 @@ export default class GeneralGoogleManager extends ApiManager { secureHandler: async ({ req, res, user }) => { try { const auth = await GoogleApiServerUtils.retrieveOAuthClient(user); - + if (!auth) { return res.status(401).send('Google credentials missing or invalid.'); } - + const tasks = google.tasks({ version: 'v1', auth }); - + const { title, notes, due, status, completed } = req.body; const result = await tasks.tasks.insert({ tasklist: '@default', - requestBody: { title, notes, due, status, completed}, + requestBody: { title, notes, due, status, completed }, }); - + res.status(200).send(result.data); } catch (err) { console.error('Google Tasks error:', err); @@ -96,40 +96,16 @@ export default class GeneralGoogleManager extends ApiManager { register({ method: Method.GET, subscription: '/refreshGoogle', - secureHandler: async ({ user, req, res }) => { - const code = req.query.code as string; - 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(() => { - // this.success = true; - // this.credentials = response2 as { user_info: { name: string; picture: string }; access_token: string }; - // }); - }, + secureHandler: async ({ user, req, res }) => + new Promise<void>(resolve => + GoogleApiServerUtils.processNewUser(user.id, req.query.code as string) + .then(() => res.status(200).send('Google account linked successfully!')) + .catch(err => { + console.error('Failed to process Google code:', err); + res.status(500).send('Error linking Google account'); + }) + .finally(resolve) + ), }); } } |