import express from 'express'; import StravaClient from './clients/strava/StravaClient'; import { Effect } from 'effect' /** * Strava API * Main entry point for the application */ const app = express(); const PORT = process.env.PORT || 3000; app.use(express.json()); const stravaClientEffect = StravaClient.create(); const stravaClient = Effect.runPromise(stravaClientEffect); // Basic routes app.get('/', (req: express.Request, res: express.Response) => { console.log(req) res.json({ message: 'Strava API' }); }); app.get('/health', (req: express.Request, res: express.Response) => { console.log(req); res.json({ status: 'ok' }); }); app.get('/athlete', async (req: express.Request, res: express.Response) => { console.log(req.baseUrl); const client = await stravaClient; const athlete = await Effect.runPromise(client.getAthlete()); res.json(athlete); }); app.listen(PORT, () => { console.log(`Server running on port ${PORT}`); }); export default app;