forked from baron/baron-sso
24 lines
741 B
Go
24 lines
741 B
Go
package domain
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
// AuditLog represents a single audit event
|
|
type AuditLog struct {
|
|
Timestamp time.Time `json:"timestamp"`
|
|
UserID string `json:"user_id"`
|
|
EventType string `json:"event_type"` // e.g., "login_success", "login_failed", "otp_sent"
|
|
Status string `json:"status"` // e.g., "success", "failure"
|
|
IPAddress string `json:"ip_address"`
|
|
UserAgent string `json:"user_agent"`
|
|
DeviceID string `json:"device_id,omitempty"`
|
|
Details string `json:"details,omitempty"` // JSON string or simple text
|
|
}
|
|
|
|
// AuditRepository defines interface for storing logs
|
|
type AuditRepository interface {
|
|
Create(log *AuditLog) error
|
|
// FindAll(filter Filter) ([]*AuditLog, error) // Future scope
|
|
}
|