Use ghost user if package creator does not exist (#23822) (#23915)

Backport #23822 by @KN4CK3R

Fixes #23818

Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
This commit is contained in:
Giteabot 2023-04-04 08:37:28 -04:00 committed by Loïc Dachary
parent ff4a52d05c
commit e9fd11d600
No known key found for this signature in database
GPG key ID: 992D23B392F9E4F2

View file

@ -5,6 +5,7 @@ package packages
import (
"context"
"errors"
"fmt"
"net/url"
@ -25,6 +26,7 @@ import (
"code.gitea.io/gitea/modules/packages/pypi"
"code.gitea.io/gitea/modules/packages/rubygems"
"code.gitea.io/gitea/modules/packages/vagrant"
"code.gitea.io/gitea/modules/util"
"github.com/hashicorp/go-version"
)
@ -98,7 +100,11 @@ func GetPackageDescriptor(ctx context.Context, pv *PackageVersion) (*PackageDesc
}
creator, err := user_model.GetUserByID(ctx, pv.CreatorID)
if err != nil {
return nil, err
if errors.Is(err, util.ErrNotExist) {
creator = user_model.NewGhostUser()
} else {
return nil, err
}
}
var semVer *version.Version
if p.SemverCompatible {