package model import ( "time" "gorm.io/datatypes" ) // AuditLog records user operations for auditing. type AuditLog struct { ID uint `gorm:"primaryKey;autoIncrement" json:"id"` Username string `gorm:"size:50;index" json:"username"` Action string `gorm:"size:50;index" json:"action"` // create/update/delete/assign/import/login/export TargetType string `gorm:"size:50;index" json:"target_type"` // merchant/user/keyword/schedule/setting/task TargetID string `gorm:"size:100" json:"target_id"` Detail datatypes.JSON `gorm:"type:json" json:"detail"` IP string `gorm:"size:45" json:"ip"` CreatedAt time.Time `gorm:"index" json:"created_at"` } func (AuditLog) TableName() string { return "audit_logs" }