mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-03-27 23:02:54 +00:00
Store/delete repos after forge communication (#4827)
This commit is contained in:
parent
091e55ff79
commit
b4df9e68fd
1 changed files with 22 additions and 21 deletions
|
@ -148,19 +148,6 @@ func PostRepo(c *gin.Context) {
|
||||||
|
|
||||||
repo.OrgID = org.ID
|
repo.OrgID = org.ID
|
||||||
|
|
||||||
if enabledOnce {
|
|
||||||
err = _store.UpdateRepo(repo)
|
|
||||||
} else {
|
|
||||||
repo.ForgeID = user.ForgeID // TODO: allow to use other connected forges of the user
|
|
||||||
err = _store.CreateRepo(repo)
|
|
||||||
}
|
|
||||||
if err != nil {
|
|
||||||
msg := "could not create/update repo in store."
|
|
||||||
log.Error().Err(err).Msg(msg)
|
|
||||||
c.String(http.StatusInternalServerError, msg)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// creates the jwt token used to verify the repository
|
// creates the jwt token used to verify the repository
|
||||||
t := token.New(token.HookToken)
|
t := token.New(token.HookToken)
|
||||||
t.Set("repo-id", strconv.FormatInt(repo.ID, 10))
|
t.Set("repo-id", strconv.FormatInt(repo.ID, 10))
|
||||||
|
@ -186,6 +173,19 @@ func PostRepo(c *gin.Context) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if enabledOnce {
|
||||||
|
err = _store.UpdateRepo(repo)
|
||||||
|
} else {
|
||||||
|
repo.ForgeID = user.ForgeID // TODO: allow to use other connected forges of the user
|
||||||
|
err = _store.CreateRepo(repo)
|
||||||
|
}
|
||||||
|
if err != nil {
|
||||||
|
msg := "could not create/update repo in store."
|
||||||
|
log.Error().Err(err).Msg(msg)
|
||||||
|
c.String(http.StatusInternalServerError, msg)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
repo.Perm = from.Perm
|
repo.Perm = from.Perm
|
||||||
repo.Perm.Synced = time.Now().Unix()
|
repo.Perm.Synced = time.Now().Unix()
|
||||||
repo.Perm.UserID = user.ID
|
repo.Perm.UserID = user.ID
|
||||||
|
@ -455,10 +455,7 @@ func DeleteRepo(c *gin.Context) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
repo.IsActive = false
|
if err := _forge.Deactivate(c, user, repo, server.Config.Server.WebhookHost); err != nil {
|
||||||
repo.UserID = 0
|
|
||||||
|
|
||||||
if err := _store.UpdateRepo(repo); err != nil {
|
|
||||||
_ = c.AbortWithError(http.StatusInternalServerError, err)
|
_ = c.AbortWithError(http.StatusInternalServerError, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -468,12 +465,16 @@ func DeleteRepo(c *gin.Context) {
|
||||||
handleDBError(c, err)
|
handleDBError(c, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
repo.IsActive = false
|
||||||
|
repo.UserID = 0
|
||||||
|
|
||||||
|
if err := _store.UpdateRepo(repo); err != nil {
|
||||||
|
_ = c.AbortWithError(http.StatusInternalServerError, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := _forge.Deactivate(c, user, repo, server.Config.Server.WebhookHost); err != nil {
|
|
||||||
_ = c.AbortWithError(http.StatusInternalServerError, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
c.JSON(http.StatusOK, repo)
|
c.JSON(http.StatusOK, repo)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue