fix: show local-repo files in the cached-objects UI #99
Reference in New Issue
Block a user
Delete Branch "benvin/local-repo-objects-ui"
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?
Why
Local repos store uploaded files in the `local_files` table, whereas remote/proxy repos cache into the `artifacts` table. The shared Cached Objects page always queried the artifacts table via `/api/v2/remotes/{name}/objects`, so files uploaded to a local repo (e.g. an internal RPM) were fully stored and servable but showed as 0 objects in the UI.
Changes
Notes
Generated `repodata/*` files are not listed — they are produced on the fly from `rpm_metadata` and never stored in `local_files`, which matches how the repo serves them.
Local repos store uploaded files in the local_files table, while remote/proxy repos cache into the artifacts table. The shared "Cached Objects" page always queried the artifacts table via /api/v2/remotes/{name}/objects, so local packages (e.g. an uploaded RPM) were servable but listed as "0 objects" in the UI. - add ListLocalArtifacts, joining local_files with blobs and returning models.Artifact-shaped rows (size from the blob; counters zero and timestamps derived from created_at, since local files track no access) - add LocalRoutes to the objects handler: listLocal reads local_files, evictLocal deletes via DeleteLocalFile; extract shared page parsing into pageBounds - mount /api/v2/locals/{name}/objects (GET + DELETE) in the server - add listLocalObjects/evictLocalObject to the UI client and route the Objects page to them when viewing a local repo - cover the listing and eviction paths with a dockerised test