mirror of
https://github.com/go-gitea/gitea.git
synced 2026-09-12 17:10:55 +00:00
Co-authored-by: bircni <bircni@users.noreply.github.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
50 lines
949 B
Go
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
|
|
}
|