from __future__ import annotations from fastapi import APIRouter, Depends from ..api_utils import file_meta, load_accounts, load_records, load_teachers from ..auth import verify_records_auth from ..config import ( ACCOUNTS_PATH, CLASSNOTES_PATH, COURSE_SUMMARIES_ROOT, COURSE_SUMMARY_STATE_PATH, OPERATION_LOGS_PATH, TEACHERS_PATH, ) from ..data import account_summary router = APIRouter() @router.get("/api/health") def health(_user: str = Depends(verify_records_auth)): records = load_records() accounts = load_accounts() teachers = load_teachers() return { "ok": True, "classnotes": file_meta(CLASSNOTES_PATH), "accounts": file_meta(ACCOUNTS_PATH), "teachers": file_meta(TEACHERS_PATH), "course_summaries": file_meta(COURSE_SUMMARIES_ROOT), "course_summary_state": file_meta(COURSE_SUMMARY_STATE_PATH), "operation_logs": file_meta(OPERATION_LOGS_PATH), "records_count": len(records), "accounts_count": len(accounts), "teachers_count": len(teachers), "account_summary": account_summary(accounts), }