diff --git a/src/lib/google/client.ts b/src/lib/google/client.ts new file mode 100644 index 0000000..dcce5f2 --- /dev/null +++ b/src/lib/google/client.ts @@ -0,0 +1,8 @@ +/** + * Client-side Google API integration module + * + * This module provides utilities for interacting with Google APIs from the client-side. + */ + +// Re-export auth utilities +export * from './auth/client.js'; diff --git a/src/lib/google/client/index.ts b/src/lib/google/client/index.ts new file mode 100644 index 0000000..589398b --- /dev/null +++ b/src/lib/google/client/index.ts @@ -0,0 +1,5 @@ +// Re-export client-side auth utilities +export * from '../auth/client.js'; + +// Re-export types +export * from './types.js'; diff --git a/src/lib/google/client/types.ts b/src/lib/google/client/types.ts new file mode 100644 index 0000000..d6f5986 --- /dev/null +++ b/src/lib/google/client/types.ts @@ -0,0 +1,14 @@ +/** + * Client-side type definitions for Google API integration + */ + +export interface GoogleSheet { + id: string; + name: string; + modifiedTime: string; + webViewLink: string; +} + +export interface SheetData { + values: string[][]; +} diff --git a/src/lib/google/index.ts b/src/lib/google/index.ts index c1e5bd5..eb972b5 100644 --- a/src/lib/google/index.ts +++ b/src/lib/google/index.ts @@ -1,18 +1,9 @@ /** * Google API integration module * - * This module provides utilities for interacting with Google APIs: - * - Authentication (server and client-side) - * - Sheets API - * - Gmail API + * This module provides utilities for interacting with Google APIs. + * NOTE: This is a client-side module. For server-side code, import from '$lib/google/server.js' */ -// Re-export auth utilities +// Re-export client-side auth utilities export * from './auth/client.js'; -export * as authServer from './auth/server.js'; - -// Re-export sheets utilities -export * as sheets from './sheets/index.js'; - -// Re-export Gmail utilities -export * as gmail from './gmail/index.js'; diff --git a/src/lib/google/server.ts b/src/lib/google/server.ts new file mode 100644 index 0000000..2ed029e --- /dev/null +++ b/src/lib/google/server.ts @@ -0,0 +1,14 @@ +/** + * Server-side Google API integration module + * + * This module provides utilities for interacting with Google APIs from the server-side. + */ + +// Re-export server-side auth utilities +export * from './auth/server.js'; + +// Re-export sheets utilities +export * from './sheets/index.js'; + +// Re-export Gmail utilities +export * from './gmail/index.js'; diff --git a/src/routes/private/api/google/auth/refresh/+server.ts b/src/routes/private/api/google/auth/refresh/+server.ts index 83eecbb..5190a36 100644 --- a/src/routes/private/api/google/auth/refresh/+server.ts +++ b/src/routes/private/api/google/auth/refresh/+server.ts @@ -1,6 +1,6 @@ import { json } from '@sveltejs/kit'; import type { RequestHandler } from './$types'; -import { authServer } from '$lib/google/index.js'; +import { getOAuthClient } from '$lib/google/server.js'; export const POST: RequestHandler = async ({ request }) => { try { @@ -10,7 +10,7 @@ export const POST: RequestHandler = async ({ request }) => { return json({ error: 'Refresh token is required' }, { status: 400 }); } - const oauth = authServer.getOAuthClient(); + const oauth = getOAuthClient(); oauth.setCredentials({ refresh_token: refreshToken }); const { credentials } = await oauth.refreshAccessToken(); diff --git a/src/routes/private/api/google/auth/userinfo/+server.ts b/src/routes/private/api/google/auth/userinfo/+server.ts index ac76ea0..3c978d7 100644 --- a/src/routes/private/api/google/auth/userinfo/+server.ts +++ b/src/routes/private/api/google/auth/userinfo/+server.ts @@ -1,6 +1,6 @@ import { json } from '@sveltejs/kit'; import type { RequestHandler } from './$types'; -import { authServer } from '$lib/google/index.js'; +import { getOAuthClient } from '$lib/google/server.js'; import { google } from 'googleapis'; export const GET: RequestHandler = async ({ request }) => { @@ -14,7 +14,7 @@ export const GET: RequestHandler = async ({ request }) => { const accessToken = authHeader.slice(7); // Create OAuth client with the token - const oauth = authServer.getOAuthClient(); + const oauth = getOAuthClient(); oauth.setCredentials({ access_token: accessToken }); // Call the userinfo endpoint to get user details diff --git a/src/routes/private/api/google/sheets/[sheetId]/data/+server.ts b/src/routes/private/api/google/sheets/[sheetId]/data/+server.ts index e87c1ff..3126261 100644 --- a/src/routes/private/api/google/sheets/[sheetId]/data/+server.ts +++ b/src/routes/private/api/google/sheets/[sheetId]/data/+server.ts @@ -1,6 +1,6 @@ import { json } from '@sveltejs/kit'; import type { RequestHandler } from './$types'; -import { sheets } from '$lib/google/index.js'; +import { getSpreadsheetData } from '$lib/google/server.js'; export const GET: RequestHandler = async ({ params, request }) => { try { @@ -12,7 +12,7 @@ export const GET: RequestHandler = async ({ params, request }) => { } const refreshToken = authHeader.slice(7); - const sheetData = await sheets.getSpreadsheetData(refreshToken, sheetId, 'A1:Z10'); + const sheetData = await getSpreadsheetData(refreshToken, sheetId, 'A1:Z10'); return json(sheetData); } catch (error) { diff --git a/src/routes/private/api/google/sheets/recent/+server.ts b/src/routes/private/api/google/sheets/recent/+server.ts index ed01813..d39f4e8 100644 --- a/src/routes/private/api/google/sheets/recent/+server.ts +++ b/src/routes/private/api/google/sheets/recent/+server.ts @@ -1,6 +1,6 @@ import { json } from '@sveltejs/kit'; import type { RequestHandler } from './$types'; -import { sheets } from '$lib/google/index.js'; +import { getRecentSpreadsheets } from '$lib/google/server.js'; export const GET: RequestHandler = async ({ request }) => { try { @@ -10,7 +10,7 @@ export const GET: RequestHandler = async ({ request }) => { } const refreshToken = authHeader.slice(7); - const spreadsheets = await sheets.getRecentSpreadsheets(refreshToken, 20); + const spreadsheets = await getRecentSpreadsheets(refreshToken, 20); return json(spreadsheets); } catch (error) { diff --git a/src/routes/private/events/event/new/+page.svelte b/src/routes/private/events/event/new/+page.svelte index 3e87601..b130cf8 100644 --- a/src/routes/private/events/event/new/+page.svelte +++ b/src/routes/private/events/event/new/+page.svelte @@ -1,7 +1,7 @@