// Fully type-checked (tsconfig.server.json); leading import type keeps Node type-stripping active. import type { Req, Res, Next } from '../types/http'; const express = require('express'); const router = express.Router(); const { getTracker, getUpcomingBills, getOverdueCount } = require('../services/trackerService.cts'); const { ApiError, ValidationError } = require('../utils/apiError.cts'); // GET /api/tracker/overdue-count — lightweight count for sidebar badge router.get('/overdue-count', (req: Req, res: Res) => { res.json(getOverdueCount(req.user.id)); }); // GET /api/tracker?year=2026&month=5 router.get('/', (req: Req, res: Res) => { const result = getTracker(req.user.id, req.query); if (result.error) throw new ApiError('VALIDATION_ERROR', result.error, result.status || 400); res.json(result); }); // GET /api/tracker/upcoming?days=30 router.get('/upcoming', (req: Req, res: Res) => { res.json(getUpcomingBills(req.user.id, req.query)); }); module.exports = router;