audit.go
package models
import "github.com/readysite/readysite/pkg/database"
// AuditLog records create, update, and delete operations for auditing.
type AuditLog struct {
database.Model
UserID string // User who performed the action
Action string // create, update, delete
ResourceType string // page, collection, document, endpoint, file, user
ResourceID string // ID of affected resource
ResourceName string // Human-readable name/title of resource (for display)
Details string // JSON details of the change
IP string // Client IP address
}
// User returns the user who performed this action.
func (a *AuditLog) User() *User {
if a.UserID == "" {
return nil
}
user, _ := Users.Get(a.UserID)
return user
}