import { json } from '@sveltejs/kit';
import { calendrier, decisionsAttendues, prochainesEcheances } from '$serveur/requetes';
import type { RequestHandler } from './$types';

/**
 * `GET /api/echeances` — calendrier.
 *
 * `?jours=N` restreint aux N prochains jours ; sans paramètre, tout le
 * calendrier est rendu, décisions attendues comprises.
 */
export const GET: RequestHandler = async ({ url }) => {
	const jours = Number.parseInt(url.searchParams.get('jours') ?? '', 10);

	return json(
		{
			echeances: Number.isFinite(jours) && jours > 0 ? prochainesEcheances(jours) : calendrier(),
			decisions_attendues: decisionsAttendues()
		},
		{
			headers: {
				'cache-control': 'public, max-age=300',
				'access-control-allow-origin': '*'
			}
		}
	);
};
