package local_event import ( "time" "gorm.io/gorm" adminModels "git.ilapage.cn/ila/yovision/Sense/server/app/admin/models" ) const ( auditSuccess = "1" auditFailure = "2" ) type AccessAudit struct { Action string Status string Username string UserID int ClientIP string Route string Remark string At time.Time } // WriteAccessAudit persists a minimal, synchronous GoAdmin operation record. // It deliberately excludes query values, response bodies and evidence data. func WriteAccessAudit(db *gorm.DB, input AccessAudit) error { model := adminModels.SysOperaLog{ Title: "本地事件", BusinessType: "query", Method: "local_event.API." + input.Action, RequestMethod: "GET", OperatorType: "1", OperName: input.Username, OperUrl: input.Route, OperIp: input.ClientIP, Status: input.Status, OperTime: input.At.UTC(), Remark: input.Remark, CreatedAt: input.At.UTC(), UpdatedAt: input.At.UTC(), } model.CreateBy, model.UpdateBy = input.UserID, input.UserID return db.Create(&model).Error }