From e51ce53c686f7f428afae7a6f9210ddb08ad6d56 Mon Sep 17 00:00:00 2001 From: karishmas6 Date: Mon, 23 Sep 2024 23:48:35 +0530 Subject: [PATCH] chore: code cleanup --- server/src/routes/auth.ts | 92 --------------------------------------- 1 file changed, 92 deletions(-) diff --git a/server/src/routes/auth.ts b/server/src/routes/auth.ts index 00f51aa2..e69de29b 100644 --- a/server/src/routes/auth.ts +++ b/server/src/routes/auth.ts @@ -1,92 +0,0 @@ -import { Router } from 'express';; -import { google, sheets_v4 } from "googleapis"; -import { OAuth2Client } from 'google-auth-library' - -export const router = Router() - -const oauth2Client = new OAuth2Client( - '_CLIENT_ID', - '_CLIENT_SECRET', - '_REDIRECT_URI' -); - -// initialize Google OAuth 2.0 flow -router.get('/auth/google', (req, res) => { - const url = oauth2Client.generateAuthUrl({ - access_type: 'offline', - scope: [ - 'https://www.googleapis.com/auth/userinfo.profile', - 'https://www.googleapis.com/auth/drive.file', - 'https://www.googleapis.com/auth/spreadsheets' - ] - }); - res.redirect(url); -}); - -// Callback route for Google OAuth 2.0 -router.get('/auth/google/callback', async (req, res) => { - const code = req.query.code; - if (typeof code !== 'string') { - res.status(400).send('Invalid authorization code'); - return; - } - try { - const { tokens } = await oauth2Client.getToken(code); - oauth2Client.setCredentials(tokens); - // TODO: Store tokens securely (e.g., in a database) - res.send('Authentication successful'); - } catch (error) { - console.error('Error during authentication:', error); - res.status(500).send('Authentication failed'); - } - }); - -router.get('/sheets', async (req, res) => { - try { - const drive = google.drive({ version: 'v3', auth: oauth2Client }); - const response = await drive.files.list({ - q: "mimeType='application/vnd.google-apps.spreadsheet'", - fields: 'files(id, name)' - }); - res.json(response.data.files); - } catch (error) { - console.error('Error listing sheets:', error); - res.status(500).send('Failed to list sheets'); - } -}); - -router.get('/sheets/:sheetId', async (req, res) => { - try { - const sheets = google.sheets({ version: 'v4', auth: oauth2Client }); - const response = await sheets.spreadsheets.values.get({ - spreadsheetId: req.params.sheetId, - range: 'Sheet1', // Adjust range as needed - }); - res.json(response.data.values); - } catch (error) { - console.error('Error reading sheet:', error); - res.status(500).send('Failed to read sheet'); - } -}); - -router.post('/sheets/:sheetId', async (req, res) => { - try { - const sheets = google.sheets({ version: 'v4', auth: oauth2Client }); - - const request: sheets_v4.Params$Resource$Spreadsheets$Values$Append = { - spreadsheetId: req.params.sheetId, - range: 'Sheet1', // Adjust range as needed - valueInputOption: 'USER_ENTERED', - requestBody: { - values: [req.body.values], // Expect an array of values in the request body - }, - }; - - const response = await sheets.spreadsheets.values.append(request); - - res.json(response.data); - } catch (error) { - console.error('Error writing to sheet:', error); - res.status(500).send('Failed to write to sheet'); - } - }); \ No newline at end of file