From d93f3222a5eb88fbc0f192c3bf3a0ebfd7ccc6c9 Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Tue, 4 Apr 2023 10:14:46 +0200 Subject: [PATCH] Use ghost user if package creator does not exist (#23822) Fixes #23818 --- models/packages/descriptor.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/models/packages/descriptor.go b/models/packages/descriptor.go index 06699b5d5..974c5b2c3 100644 --- a/models/packages/descriptor.go +++ b/models/packages/descriptor.go @@ -5,6 +5,7 @@ package packages import ( "context" + "errors" "fmt" "net/url" @@ -26,6 +27,7 @@ import ( "code.gitea.io/gitea/modules/packages/rubygems" "code.gitea.io/gitea/modules/packages/swift" "code.gitea.io/gitea/modules/packages/vagrant" + "code.gitea.io/gitea/modules/util" "github.com/hashicorp/go-version" ) @@ -99,7 +101,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 {