1
0
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:
Anbraten
2023-06-12 16:07:52 -07:00
committed by GitHub
parent e3593cd9a4
commit ff01a9ff1d
98 changed files with 1402 additions and 1676 deletions

View File

@ -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)
}
}