mirror of
https://github.com/Quiq/docker-registry-ui.git
synced 2025-07-16 15:25:59 +00:00
Fix repo tag count when a repo name is a prefix for another repo name(s)
This commit is contained in:
parent
c7c3a815fb
commit
b49076db7c
@ -1,5 +1,9 @@
|
|||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
|
## UNRELEASED
|
||||||
|
|
||||||
|
* Fix repo tag count when a repo name is a prefix for another repo name(s)
|
||||||
|
|
||||||
## 0.10.1 (2024-04-19)
|
## 0.10.1 (2024-04-19)
|
||||||
|
|
||||||
* Rename cmd flag `-purge-from-repos` to `-purge-include-repos` to purge tags only for the specified repositories.
|
* Rename cmd flag `-purge-from-repos` to `-purge-include-repos` to purge tags only for the specified repositories.
|
||||||
|
@ -272,8 +272,8 @@ func (c *Client) GetImageCreated(imageRef string) time.Time {
|
|||||||
return cfg.Created.Time
|
return cfg.Created.Time
|
||||||
}
|
}
|
||||||
|
|
||||||
// TagCounts return map with tag counts according to the provided list of repos/sub-repos etc.
|
// SubRepoTagCounts return map with tag counts according to the provided list of repos/sub-repos etc.
|
||||||
func (c *Client) TagCounts(repoPath string, repos []string) map[string]int {
|
func (c *Client) SubRepoTagCounts(repoPath string, repos []string) map[string]int {
|
||||||
counts := map[string]int{}
|
counts := map[string]int{}
|
||||||
for _, r := range repos {
|
for _, r := range repos {
|
||||||
subRepo := r
|
subRepo := r
|
||||||
@ -281,7 +281,7 @@ func (c *Client) TagCounts(repoPath string, repos []string) map[string]int {
|
|||||||
subRepo = repoPath + "/" + r
|
subRepo = repoPath + "/" + r
|
||||||
}
|
}
|
||||||
for k, v := range c.tagCounts {
|
for k, v := range c.tagCounts {
|
||||||
if strings.HasPrefix(k, subRepo) {
|
if k == subRepo || strings.HasPrefix(k, subRepo+"/") {
|
||||||
counts[subRepo] = counts[subRepo] + v
|
counts[subRepo] = counts[subRepo] + v
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
web.go
2
web.go
@ -76,7 +76,7 @@ func (a *apiClient) viewCatalog(c echo.Context) error {
|
|||||||
}
|
}
|
||||||
data.Set("repos", repos)
|
data.Set("repos", repos)
|
||||||
data.Set("isCatalogReady", a.client.IsCatalogReady())
|
data.Set("isCatalogReady", a.client.IsCatalogReady())
|
||||||
data.Set("tagCounts", a.client.TagCounts(repoPath, repos))
|
data.Set("tagCounts", a.client.SubRepoTagCounts(repoPath, repos))
|
||||||
data.Set("tags", tags)
|
data.Set("tags", tags)
|
||||||
if repoPath != "" && (len(repos) > 0 || len(tags) > 0) {
|
if repoPath != "" && (len(repos) > 0 || len(tags) > 0) {
|
||||||
// Do not show events in the root of catalog.
|
// Do not show events in the root of catalog.
|
||||||
|
Loading…
Reference in New Issue
Block a user