feat: add summary registration and deletion review
This commit is contained in:
+30
-1
@@ -4,7 +4,15 @@ from fastapi import APIRouter, Depends, HTTPException, Query, Request
|
||||
|
||||
from ..api_utils import file_meta, load_accounts, payload_to_account, read_register_payload
|
||||
from ..auth import verify_accounts_auth, verify_admin_auth
|
||||
from ..config import ACCOUNTS_PATH, CLASSNOTES_PATH, write_lock
|
||||
from ..config import (
|
||||
ACCOUNTS_PATH,
|
||||
ADMIN_TASKS_PATH,
|
||||
CLASSNOTES_PATH,
|
||||
COURSE_SUMMARIES_ROOT,
|
||||
COURSE_SUMMARY_STATE_PATH,
|
||||
OPERATION_LOGS_PATH,
|
||||
write_lock,
|
||||
)
|
||||
from ..data import (
|
||||
ACCOUNT_STATUSES,
|
||||
DuplicateRecordError,
|
||||
@@ -13,6 +21,7 @@ from ..data import (
|
||||
create_account,
|
||||
filter_accounts,
|
||||
register_class_record_lines,
|
||||
register_course_summary_texts,
|
||||
register_payment_lines,
|
||||
update_account,
|
||||
)
|
||||
@@ -51,6 +60,26 @@ async def register_payments(request: Request, _user: str = Depends(verify_admin_
|
||||
return {"ok": True, **result}
|
||||
|
||||
|
||||
@router.post("/api/register/course-summaries")
|
||||
async def register_course_summaries(request: Request, _user: str = Depends(verify_admin_auth)):
|
||||
try:
|
||||
payload = await read_register_payload(request)
|
||||
with write_lock:
|
||||
result = register_course_summary_texts(
|
||||
classnotes_path=CLASSNOTES_PATH,
|
||||
accounts_path=ACCOUNTS_PATH,
|
||||
tasks_path=ADMIN_TASKS_PATH,
|
||||
summaries_root=COURSE_SUMMARIES_ROOT,
|
||||
state_path=COURSE_SUMMARY_STATE_PATH,
|
||||
operation_logs_path=OPERATION_LOGS_PATH,
|
||||
lines=payload.lines,
|
||||
line=payload.line,
|
||||
)
|
||||
except ValueError as exc:
|
||||
raise HTTPException(status_code=400, detail=str(exc)) from exc
|
||||
return {"ok": True, **result}
|
||||
|
||||
|
||||
@router.get("/api/account-health")
|
||||
def account_health(_user: str = Depends(verify_accounts_auth)):
|
||||
accounts = load_accounts()
|
||||
|
||||
Reference in New Issue
Block a user