feat: Add audit logging (#38189)

Co-authored-by: bircni <bircni@users.noreply.github.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
bircni
2026-09-12 10:15:23 +02:00
committed by GitHub
parent 4d43445532
commit da37b7916b
136 changed files with 3864 additions and 209 deletions
+49
View File
@@ -0,0 +1,49 @@
// 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
}