feat: add admin UI for reviewing copyright flags (#390)
* feat: add admin UI for reviewing copyright flags
adds /admin endpoint to moderation service with:
- simple HTML/JS UI for reviewing flagged tracks
- /admin/flags API to list copyright-violation labels
- /admin/resolve API to create negation labels (false positives)
- auth via existing X-Moderation-Key header
resolves #388
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: modularize moderation service
breaks main.rs into focused modules:
- config.rs: environment config loading
- state.rs: AppState and AppError types
- auth.rs: authentication middleware
- audd.rs: AuDD fingerprinting types and handler
- xrpc.rs: ATProto labeler endpoints
- handlers.rs: health, landing, emit_label
main.rs now only composes routes (~100 lines vs ~700)
also fixes clippy warning in labels.rs (redundant closure)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
authored by
zzstoatzz.io
Claude
and committed by
GitHub
7e334b38
d3ecaf81