29 lines
889 B
Go
29 lines
889 B
Go
package domain
|
||
|
||
import (
|
||
"time"
|
||
)
|
||
|
||
type AuditLog struct {
|
||
ID int `json:"id"`
|
||
UserID *int `json:"userId,omitempty"` // nil для неаутентифицированных действий
|
||
Action string `json:"action"` // "login", "password_change", "recovery_initiated"
|
||
EntityType string `json:"entityType"` // "user", "device", "session"
|
||
EntityID *int `json:"entityId,omitempty"`
|
||
IPAddress string `json:"ipAddress"`
|
||
UserAgent string `json:"userAgent"`
|
||
Metadata string `json:"metadata"` // JSON с дополнительными данными
|
||
Status string `json:"status"` // "success", "failed"
|
||
CreatedAt time.Time `json:"createdAt"`
|
||
}
|
||
|
||
type AuditFilter struct {
|
||
UserID *int
|
||
Action string
|
||
EntityType string
|
||
DateFrom time.Time
|
||
DateTo time.Time
|
||
Limit int
|
||
Offset int
|
||
}
|