link,[object Object]
Skip to content

Reports Playbook (Admin)

Purpose: Step-by-step operational guide for handling user reports. Audience: Admin, Support, Operations Prerequisites: Admin role; access to /admin/reports.

Intake

  1. Review new items in status pending.
  2. Open the row menu (…) → “View entity” to validate context (listing/user).
  3. If action is required, choose “Start review” → status under_review.

Investigation

  • Verify reporter message and evidence URLs.
  • Cross-check related data (listing details, user history, prior reports).
  • If needed, contact parties via Admin Templates → Direct Message.

Resolution

  • Resolve: Use “Mark resolved” when issue has been addressed.
  • Dismiss: Use “Dismiss” when report is invalid or non-actionable.
  • Reopen: Available for resolved/dismissed to continue review.

Notes

  • Status updates are performed via SECURITY DEFINER RPC to bypass RLS safely.
  • Notifications: reporter receives a system notification on status change.

Exports & Audit

  • Export selected: CSV with key fields for handoff/compliance.
  • Recommended: follow up with an audit-log entry (future improvement) that captures: report_id, old_status, new_status, actor_id, timestamp, reason.

Troubleshooting

  • 403 on direct PATCH: use admin_set_report_status RPC (UI already wired).
  • 400 enum mismatch: ensure RPC wrapper is called with text; wrapper casts to enum.
  • Ambiguous overload: keep admin_set_report_status as the public entrypoint.

KPIs

  • Pending queue size
  • Average time to first review
  • Average time to resolution
  • Feature: /features/reports
  • RPC Reference: /data-model/rpc