import { json } from '@sveltejs/kit'; import type { RequestHandler } from './$types'; import { googleAuthServer } from '$lib/google/server.ts'; import { google } from 'googleapis'; export const GET: RequestHandler = async ({ request }) => { try { const authHeader = request.headers.get('authorization'); if (!authHeader?.startsWith('Bearer ')) { return json({ error: 'Missing or invalid authorization header' }, { status: 401 }); } const accessToken = authHeader.slice(7); // Create OAuth client with the token const oauth = googleAuthServer.getOAuthClient(); oauth.setCredentials({ access_token: accessToken }); // Call the userinfo endpoint to get user details const oauth2 = google.oauth2({ version: 'v2', auth: oauth }); const userInfo = await oauth2.userinfo.get(); return json({ email: userInfo.data.email, name: userInfo.data.name, picture: userInfo.data.picture }); } catch (error) { console.error('Error fetching user info:', error); return json({ error: 'Failed to fetch user info' }, { status: 500 }); } };