diff --git a/edit/server.py b/edit/server.py index 48314c2..09629e3 100644 --- a/edit/server.py +++ b/edit/server.py @@ -231,6 +231,23 @@ app.add_middleware( # ── Auth endpoints ──────────────────────────────────────────────────────────── +@app.get("/api/log") +async def get_wiki_log(user: User = Depends(require_auth)) -> JSONResponse: + env = _git_env() + proc = await asyncio.create_subprocess_exec( + "git", "log", "--format=%h|%ar|%aN|%s", "-n", "50", "--", "pages/", "blog/", + cwd=str(_ROOT), env=env, + stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.DEVNULL, + ) + stdout, _ = await proc.communicate() + entries = [] + for line in stdout.decode().strip().splitlines(): + parts = line.split("|", 3) + if len(parts) == 4: + entries.append({"hash": parts[0], "date": parts[1], "author": parts[2], "message": parts[3]}) + return JSONResponse({"log": entries}) + + @app.get("/api/me") async def me(user: User = Depends(require_auth)) -> JSONResponse: return JSONResponse({ diff --git a/site b/site index 476f605..dfce744 160000 --- a/site +++ b/site @@ -1 +1 @@ -Subproject commit 476f605a4a6b2e2dd5c6859b6a46717e680b2cf6 +Subproject commit dfce7440014c07b63a956b50a7ff4fcc5117aab0