Set repo user to repairing user when old user is missing (#4128)

This commit is contained in:
Lukas 2024-09-20 22:39:22 +02:00 committed by GitHub
parent e52dfc92e3
commit 79aeb92e0c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -615,10 +615,14 @@ func repairRepo(c *gin.Context, repo *model.Repo, withPerms, skipOnErr bool) {
user, err := _store.GetUser(repo.UserID)
if err != nil {
if errors.Is(err, types.RecordNotExist) {
if !skipOnErr {
c.AbortWithStatus(http.StatusNotFound)
oldUserID := repo.UserID
user = session.User(c)
repo.UserID = user.ID
err = _store.UpdateRepo(repo)
if err != nil {
_ = c.AbortWithError(http.StatusInternalServerError, err)
}
log.Error().Err(err).Msg("could not get user on repo repair")
log.Debug().Msgf("Could not find repo user with ID %d during repo repair, set to repair request user with ID %d", oldUserID, user.ID)
} else {
_ = c.AbortWithError(http.StatusInternalServerError, err)
}