feat(admin): Storage panel on admin dashboard — MinIO admin API integration #334
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
The admin dashboard (#324) intentionally excludes a Storage panel in v1 because the required data is not available from the database and would require new MinIO admin API integration. This issue tracks that follow-on work.
The backend currently uses the standard AWS S3 client (object put/get only). File sizes are not stored in the
Documententity. Storage metrics require the MinIO admin API (DataUsageInfo), which is a separate client.What this adds
A Storage panel on the admin dashboard (
/admin) with:archive-documentsbucketdocumentstable count)Why orphaned objects matter
When a document is deleted or an upload fails mid-way, the file object may remain in MinIO. The database is unaware of these. The only way to detect them is to cross-reference MinIO object keys against the
documentstable. This is a data integrity concern that has no DB-side solution.Implementation notes
MinioAdminClientbean (or equivalent) configured alongside the existingMinioConfigAdminDashboardService(from #324) gains agetStorageStats()method that calls the MinIO admin APIAdminDashboardDTOgains astoragesection:documents.file_path(or equivalent key field)Non-goals
Acceptance criteria
/admindashboard alongside Activity, OCR, and Invites panelsDepends on