mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-03-13 07:52:42 +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
|
||||
|
||||
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
|
||||
t := token.New(token.HookToken)
|
||||
t.Set("repo-id", strconv.FormatInt(repo.ID, 10))
|
||||
|
@ -186,6 +173,19 @@ func PostRepo(c *gin.Context) {
|
|||
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.Synced = time.Now().Unix()
|
||||
repo.Perm.UserID = user.ID
|
||||
|
@ -455,10 +455,7 @@ func DeleteRepo(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
repo.IsActive = false
|
||||
repo.UserID = 0
|
||||
|
||||
if err := _store.UpdateRepo(repo); err != nil {
|
||||
if err := _forge.Deactivate(c, user, repo, server.Config.Server.WebhookHost); err != nil {
|
||||
_ = c.AbortWithError(http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
|
@ -468,12 +465,16 @@ func DeleteRepo(c *gin.Context) {
|
|||
handleDBError(c, err)
|
||||
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)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue