mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2026-05-07 13:30:19 -05:00
Store/delete repos after forge communication (#4827)
This commit is contained in:
+22
-21
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user