You've already forked woodpecker
mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-06-24 22:06:51 +02:00
Access repos by their ids (#1691)
closes #1295 closes #648 # TODO - [x] add new routes with `:repoID` - [x] load repo in middleware using `:repoID` if present - [x] update UI routes `:owner/:name` to `:repoID` - [x] load repos using id in UI - [x] add lookup endpoint `:owner/:name` to `:repoID` - [x] redirect `:owner/:name` to `:repoID` in UI - [x] use badge with `:repoID` route in UI - [x] update `woodpecker-go` - [x] check cli - [x] add migrations / deprecation notes - [x] check if #648 got solved directly - [x] Test - [x] create repo - [x] repo pages - [x] ui redirects - [x] forge status links
This commit is contained in:
@ -96,9 +96,9 @@ func GetRepos(c *gin.Context) {
|
||||
}
|
||||
|
||||
if all {
|
||||
active := map[string]bool{}
|
||||
active := map[model.ForgeRemoteID]*model.Repo{}
|
||||
for _, r := range activeRepos {
|
||||
active[r.FullName] = r.IsActive
|
||||
active[r.ForgeRemoteID] = r
|
||||
}
|
||||
|
||||
_repos, err := _forge.Repos(c, user)
|
||||
@ -106,13 +106,18 @@ func GetRepos(c *gin.Context) {
|
||||
c.String(http.StatusInternalServerError, "Error fetching repository list. %s", err)
|
||||
return
|
||||
}
|
||||
|
||||
var repos []*model.Repo
|
||||
for _, r := range _repos {
|
||||
if r.Perm.Push {
|
||||
if active[r.FullName] {
|
||||
r.IsActive = true
|
||||
if active[r.ForgeRemoteID] != nil && active[r.ForgeRemoteID].IsActive {
|
||||
existingRepo := active[r.ForgeRemoteID]
|
||||
existingRepo.Update(r)
|
||||
existingRepo.IsActive = true
|
||||
repos = append(repos, existingRepo)
|
||||
} else {
|
||||
repos = append(repos, r)
|
||||
}
|
||||
repos = append(repos, r)
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user