增加审计日志、图表数据自动清理功能

This commit is contained in:
lanrenwo
2022-10-12 10:04:18 +08:00
parent 2c8474a478
commit 82dfb5d04f
13 changed files with 267 additions and 6 deletions

View File

@@ -3,6 +3,7 @@ package dbdata
import (
"encoding/json"
"reflect"
"xorm.io/xorm"
)
@@ -19,6 +20,11 @@ type SettingSmtp struct {
Encryption string `json:"encryption"`
}
type SettingAuditLog struct {
LifeDay int `json:"life_day"`
ClearTime string `json:"clear_time"`
}
type SettingOther struct {
LinkAddr string `json:"link_addr"`
Banner string `json:"banner"`
@@ -64,3 +70,30 @@ func SettingGet(data interface{}) error {
err = json.Unmarshal(s.Data, data)
return err
}
func SettingGetAuditLog() (SettingAuditLog, error) {
data := SettingAuditLog{}
err := SettingGet(&data)
if err == nil {
return data, err
}
if !CheckErrNotFound(err) {
return data, err
}
sess := xdb.NewSession()
defer sess.Close()
auditLog := SettingGetAuditLogDefault()
err = SettingSessAdd(sess, auditLog)
if err != nil {
return data, err
}
return auditLog, nil
}
func SettingGetAuditLogDefault() SettingAuditLog {
auditLog := SettingAuditLog{
LifeDay: 0,
ClearTime: "05:00",
}
return auditLog
}