feat: add audit log tables, indexes, and CLI/content recording hooks
This commit is contained in:
@@ -8,6 +8,7 @@ from devplacepy.utils import generate_uid, require_user, time_ago
|
||||
from devplacepy.seo import base_seo_context
|
||||
from devplacepy.responses import respond
|
||||
from devplacepy.schemas import SavedOut
|
||||
from devplacepy.services.audit import record as audit
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
router = APIRouter()
|
||||
@@ -111,6 +112,16 @@ async def toggle_bookmark(request: Request, target_type: str, target_uid: str):
|
||||
)
|
||||
saved = True
|
||||
|
||||
audit.record(
|
||||
request,
|
||||
"bookmark.add" if saved else "bookmark.remove",
|
||||
user=user,
|
||||
target_type=target_type,
|
||||
target_uid=target_uid,
|
||||
summary=f"{user['username']} {'bookmarked' if saved else 'removed bookmark from'} {target_type} {target_uid}",
|
||||
links=[audit.target(target_type, target_uid)],
|
||||
)
|
||||
|
||||
if request.headers.get("x-requested-with") == "fetch":
|
||||
return JSONResponse({"saved": saved})
|
||||
return RedirectResponse(
|
||||
|
||||
Reference in New Issue
Block a user