import { Router } from 'express'; import { fetchGraph } from '../utils/index.ts'; import { acquireAppToken } from '../helper/msal.ts'; import { AuthManager } from '../auth/index.ts'; export default (auth?: AuthManager) => { const router = Router(); router.get('/', async (req, res) => { try { // Authentication handled via client credentials (resolveCredential + createMsalClient) let token: string; try { token = await acquireAppToken(req, auth); } catch (err: any) { return res.status(401).json({ error: 'Failed to acquire access token', message: err?.message ?? String(err) }); } const data = await fetchGraph('/me/events', token); res.json(data); } catch (err: any) { res.status(500).json({ error: err.message }); } }); return router; };