Compare commits
base: unkin/artifactapi:v3.7.2
unkin/artifactapi:master
unkin/artifactapi:benvin/auth-design-doc
unkin/artifactapi:benvin/yaml_updates
unkin/artifactapi:benvin/develop
unkin/artifactapi:v3.11.2
unkin/artifactapi:v3.11.1
unkin/artifactapi:v3.11.0
unkin/artifactapi:v3.10.1
unkin/artifactapi:v3.10.0
unkin/artifactapi:v3.9.1
unkin/artifactapi:v3.9.0
unkin/artifactapi:v3.8.0
unkin/artifactapi:v3.7.7
unkin/artifactapi:v3.7.6
unkin/artifactapi:v3.7.5
unkin/artifactapi:v3.7.4
unkin/artifactapi:v3.7.3
unkin/artifactapi:v3.7.2
unkin/artifactapi:v3.7.1
unkin/artifactapi:v3.7.0
unkin/artifactapi:v3.6.5
unkin/artifactapi:v3.6.4
unkin/artifactapi:v3.6.3
unkin/artifactapi:v3.6.2
unkin/artifactapi:v3.6.1
unkin/artifactapi:v3.6.0
unkin/artifactapi:v3.5.0
unkin/artifactapi:v3.4.0
unkin/artifactapi:v3.3.0
unkin/artifactapi:v3.2.0
unkin/artifactapi:v3.1.0
unkin/artifactapi:v3.0.0
unkin/artifactapi:v2.7.3
unkin/artifactapi:v2.7.2
unkin/artifactapi:v2.7.1
unkin/artifactapi:v2.7.0
unkin/artifactapi:v2.6.0
unkin/artifactapi:v2.5.0
unkin/artifactapi:v2.4.0
unkin/artifactapi:v2.3.0
unkin/artifactapi:v2.2.1
unkin/artifactapi:v2.2.0
unkin/artifactapi:v2.1.3
unkin/artifactapi:v2.1.2
unkin/artifactapi:v2.1.1
unkin/artifactapi:v2.1.0
unkin/artifactapi:v2.0.4
..
compare: unkin/artifactapi:cbf45bfee1b5efa09842ce3db032c6fb4f00b63d
unkin/artifactapi:master
unkin/artifactapi:benvin/auth-design-doc
unkin/artifactapi:benvin/yaml_updates
unkin/artifactapi:benvin/develop
unkin/artifactapi:v3.11.2
unkin/artifactapi:v3.11.1
unkin/artifactapi:v3.11.0
unkin/artifactapi:v3.10.1
unkin/artifactapi:v3.10.0
unkin/artifactapi:v3.9.1
unkin/artifactapi:v3.9.0
unkin/artifactapi:v3.8.0
unkin/artifactapi:v3.7.7
unkin/artifactapi:v3.7.6
unkin/artifactapi:v3.7.5
unkin/artifactapi:v3.7.4
unkin/artifactapi:v3.7.3
unkin/artifactapi:v3.7.2
unkin/artifactapi:v3.7.1
unkin/artifactapi:v3.7.0
unkin/artifactapi:v3.6.5
unkin/artifactapi:v3.6.4
unkin/artifactapi:v3.6.3
unkin/artifactapi:v3.6.2
unkin/artifactapi:v3.6.1
unkin/artifactapi:v3.6.0
unkin/artifactapi:v3.5.0
unkin/artifactapi:v3.4.0
unkin/artifactapi:v3.3.0
unkin/artifactapi:v3.2.0
unkin/artifactapi:v3.1.0
unkin/artifactapi:v3.0.0
unkin/artifactapi:v2.7.3
unkin/artifactapi:v2.7.2
unkin/artifactapi:v2.7.1
unkin/artifactapi:v2.7.0
unkin/artifactapi:v2.6.0
unkin/artifactapi:v2.5.0
unkin/artifactapi:v2.4.0
unkin/artifactapi:v2.3.0
unkin/artifactapi:v2.2.1
unkin/artifactapi:v2.2.0
unkin/artifactapi:v2.1.3
unkin/artifactapi:v2.1.2
unkin/artifactapi:v2.1.1
unkin/artifactapi:v2.1.0
unkin/artifactapi:v2.0.4
2 Commits
v3.7.2
..
cbf45bfee1
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
cbf45bfee1 |
fix: prune RPM metadata when a local file is evicted
Evicting or deleting a local RPM removed the local_files row but left its rpm_metadata behind, so generated repodata kept listing a package that no longer exists. Deletes now run a provider cleanup hook symmetric to the existing upload hook. - add PostDeleteHook and MetadataDeleter provider interfaces, plus a DeleteRPMMetadata DB method - implement AfterDelete in the RPM provider to drop the metadata row - route both local delete paths (evictLocal and the files handler) through a shared deleteLocalFile helper that removes the file then runs the hook - cover the cleanup with a dockerised test |
||
|
|
47bc8cb517 |
fix: show local-repo files in the cached-objects UI
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
|