feat(admin): implement audit, settings, moderation and bulk management #10

Merged
blacklight merged 3 commits from feat/admin-cli into main 2026-08-22 21:29:37 +02:00
Owner

Closes: #9

Closes: #9
feat(admin): implement audit, settings, moderation and bulk management
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is passing
c19edc09be
Adds the administrative feature set:

- Audit logging service and `AuditLog` model.
- Runtime settings service backed by the `Setting` table and Redis cache.
- Content moderation reports.
- Admin endpoints for user search/delete/deactivate/bulk, audit log listing,
  settings, reports, storage cleanup, and health/stats.
- Admin CLI commands.
- Integration of DB settings overrides into `create_app` / `_lifespan`.

Closes: #9
test(app): fix flaky Tornado signal test port race
Some checks failed
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
9d5207936b
- Use an advisory fcntl lock to serialize _free_port() and
  server startup across pytest-xdist workers.
- Capture the server subprocess output to a per-test log file
  for better diagnostics on future failures.
test(app): fix flaky tornado signal test with port 0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
a894ce00f6
- Bind the test server to port 0 and let the kernel pick an ephemeral port.
- Write the actual bound port to a file via SONGHIVE_WRITE_PORT_TO.
- Read the port in the test and probe the server there.
- Remove the fcntl-based advisory lock, which could not prevent cross-runner races.
- Relax the shutdown-time threshold from 1.0s to 5.0s for CI reaping latency.
blacklight deleted branch feat/admin-cli 2026-08-22 21:29:37 +02:00
Sign in to join this conversation.
No description provided.