From c34f7cdb1a46d98d73762c368cc53918cd291754 Mon Sep 17 00:00:00 2001 From: Giteabot Date: Tue, 4 Apr 2023 08:37:28 -0400 Subject: [PATCH] Use ghost user if package creator does not exist (#23822) (#23915) Backport #23822 by @KN4CK3R Fixes #23818 Co-authored-by: KN4CK3R --- 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 f4be21e74e..e69b579f99 100644 --- a/models/packages/descriptor.go +++ b/models/packages/descriptor.go @@ -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 {