Files
upstream-gitea/models/audit/entity.go
upstream-mirror 52ae0c5802
Some checks failed
cache-seeder / prune (push) Has been skipped
cache-seeder / frontend (push) Failing after 3s
cache-seeder / python (push) Failing after 3s
cache-seeder / gobuild (push) Failing after 4s
cache-seeder / lint (bindata, lint-backend) (push) Failing after 3s
giteabot backport / giteabot (push) Has been skipped
giteabot / giteabot (push) Has been skipped
cache-prune / prune (push) Has been skipped
release-nightly-snapcraft / build-and-publish (ubuntu-24.04) (push) Has been cancelled
release-nightly-snapcraft / build-and-publish (ubuntu-24.04-arm) (push) Has been cancelled
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
cron-renovate / cron-renovate (push) Has been skipped
snapshot of https://github.com/go-gitea/gitea.git (main, 2026-09-15; blobs > 131072B omitted)
2026-09-15 21:41:59 +05:00

50 lines
949 B
Go

// Copyright 2026 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package audit
import (
"net/url"
"gitea.dev/modules/setting"
"gitea.dev/modules/util"
)
// EntityRef is a denormalized reference persisted at record time.
type EntityRef struct {
Type ScopeType `json:"type"`
ID int64 `json:"id,omitempty"`
Name string `json:"name,omitempty"`
}
func (r EntityRef) DisplayName() string {
if r.Name != "" {
return r.Name
}
if r.Type == ScopeSystem {
return "System"
}
return ""
}
func (r EntityRef) HomeLink() string {
switch r.Type {
case ScopeUser, ScopeOrganization:
if r.Name == "" {
return ""
}
return setting.AppSubURL + "/" + url.PathEscape(r.Name)
case ScopeRepository:
if r.Name == "" {
return ""
}
return setting.AppSubURL + "/" + util.PathEscapeSegments(r.Name)
default:
return ""
}
}
func (r EntityRef) HasLink() bool {
return r.HomeLink() != "" && r.ID > 0
}