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 GitHub
parent fd0baf637d
commit c34f7cdb1a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

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