import { json, error } from '@sveltejs/kit'; import { createAirtableServices } from '$lib/airtable'; import type { RequestHandler } from './$types'; const apiKey = process.env.VITE_AIRTABLE_API_KEY; const baseId = process.env.VITE_AIRTABLE_BASE_ID; if (!apiKey || !baseId) { throw new Error('Airtable API key and base ID must be configured'); } const airtable = createAirtableServices(apiKey, baseId); // GET /api/users - List all users export const GET: RequestHandler = async () => { try { const response = await airtable.users.listRecords(); const users = response.records.map(record => ({ id: record.id, ...record.fields })); return json(users); } catch (err) { console.error('Error fetching users:', err); throw error(500, 'Failed to fetch users'); } }; // POST /api/users - Create a new user export const POST: RequestHandler = async ({ request }) => { try { const userData = await request.json(); const record = await airtable.users.createRecord(userData); const user = { id: record.id, ...record.fields }; return json(user, { status: 201 }); } catch (err) { console.error('Error creating user:', err); throw error(500, 'Failed to create user'); } };