v1.0.157: VM API /api/supplements + /api/documents — index.cfm no longer calls Lucee api.cfm
This commit is contained in:
@@ -10,6 +10,11 @@ from db import prompts as db_prompts
|
||||
from db.connection import DB_CONFIG
|
||||
db_prompts.seed_defaults()
|
||||
|
||||
# ── DB modules ────────────────────────────────────────────────────────────
|
||||
from db import supplements as db_supplements
|
||||
from db import documents as db_documents
|
||||
from db import spec_current as db_spec_current
|
||||
|
||||
# ── Services ──────────────────────────────────────────────────────────────
|
||||
from services.upload import handle_upload
|
||||
from services.unzip import handle_unzip
|
||||
@@ -35,6 +40,10 @@ class Handler(BaseHTTPRequestHandler):
|
||||
self._handle_process_v2(parsed)
|
||||
elif parsed.path == "/health":
|
||||
self._json({"ok": True, "db": DB_CONFIG["dbname"]})
|
||||
elif parsed.path == "/api/supplements":
|
||||
self._handle_api_supplements(parsed)
|
||||
elif parsed.path.startswith("/api/documents/"):
|
||||
self._handle_api_document(parsed)
|
||||
else:
|
||||
self.send_error(404)
|
||||
|
||||
@@ -79,6 +88,33 @@ class Handler(BaseHTTPRequestHandler):
|
||||
self.wfile.write(f"data: {json.dumps(data, ensure_ascii=False)}\n\n".encode())
|
||||
self.wfile.flush()
|
||||
|
||||
# ── /api/supplements ──────────────────────────────────────────────────
|
||||
|
||||
def _handle_api_supplements(self, parsed):
|
||||
params = parse_qs(parsed.query)
|
||||
cid = params.get("contract_id", [None])[0]
|
||||
if not cid:
|
||||
self._json({"ok": False, "error": "contract_id required"}, 400)
|
||||
return
|
||||
rows = db_supplements.list_by_contract(cid)
|
||||
self._json({"ok": True, "supplements": rows})
|
||||
|
||||
# ── /api/documents/<id> ──────────────────────────────────────────────
|
||||
|
||||
def _handle_api_document(self, parsed):
|
||||
doc_id = parsed.path.split("/")[-1]
|
||||
doc = db_documents.get(doc_id)
|
||||
if not doc:
|
||||
self._json({"ok": False, "error": "not found"}, 404)
|
||||
return
|
||||
self._json({
|
||||
"ok": True,
|
||||
"id": doc["id"],
|
||||
"filename": doc["filename"],
|
||||
"status": doc["status"],
|
||||
"elements_json": doc.get("elements_json"),
|
||||
})
|
||||
|
||||
# ── /upload ───────────────────────────────────────────────────────────
|
||||
|
||||
def _handle_upload(self):
|
||||
|
||||
Reference in New Issue
Block a user