删除节点的时候同时也删除相关的运行日志

This commit is contained in:
GoEdgeLab
2022-07-07 20:31:12 +08:00
parent 7a80760419
commit 762173a842
8 changed files with 64 additions and 19 deletions

View File

@@ -58,15 +58,22 @@ func (this *APINodeDAO) EnableAPINode(tx *dbs.Tx, id int64) error {
} }
// DisableAPINode 禁用条目 // DisableAPINode 禁用条目
func (this *APINodeDAO) DisableAPINode(tx *dbs.Tx, id int64) error { func (this *APINodeDAO) DisableAPINode(tx *dbs.Tx, nodeId int64) error {
_, err := this.Query(tx). _, err := this.Query(tx).
Pk(id). Pk(nodeId).
Set("state", APINodeStateDisabled). Set("state", APINodeStateDisabled).
Update() Update()
if err != nil { if err != nil {
return err return err
} }
return this.NotifyUpdate(tx, id)
err = this.NotifyUpdate(tx, nodeId)
if err != nil {
return err
}
// 删除运行日志
return SharedNodeLogDAO.DeleteNodeLogs(tx, nodeconfigs.NodeRoleAPI, nodeId)
} }
// FindEnabledAPINode 查找启用中的条目 // FindEnabledAPINode 查找启用中的条目

View File

@@ -4,6 +4,7 @@ import (
"encoding/base64" "encoding/base64"
"github.com/TeaOSLab/EdgeAPI/internal/encrypt" "github.com/TeaOSLab/EdgeAPI/internal/encrypt"
"github.com/TeaOSLab/EdgeAPI/internal/errors" "github.com/TeaOSLab/EdgeAPI/internal/errors"
"github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs"
_ "github.com/go-sql-driver/mysql" _ "github.com/go-sql-driver/mysql"
"github.com/iwind/TeaGo/Tea" "github.com/iwind/TeaGo/Tea"
"github.com/iwind/TeaGo/dbs" "github.com/iwind/TeaGo/dbs"
@@ -49,14 +50,19 @@ func (this *DBNodeDAO) EnableDBNode(tx *dbs.Tx, id int64) error {
} }
// DisableDBNode 禁用条目 // DisableDBNode 禁用条目
func (this *DBNodeDAO) DisableDBNode(tx *dbs.Tx, id int64) error { func (this *DBNodeDAO) DisableDBNode(tx *dbs.Tx, nodeId int64) error {
_, err := this.Query(tx). _, err := this.Query(tx).
Pk(id). Pk(nodeId).
Set("state", DBNodeStateDisabled). Set("state", DBNodeStateDisabled).
Update() Update()
if err != nil {
return err return err
} }
// 删除运行日志
return SharedNodeLogDAO.DeleteNodeLogs(tx, nodeconfigs.NodeRoleDatabase, nodeId)
}
// FindEnabledDBNode 查找启用中的条目 // FindEnabledDBNode 查找启用中的条目
func (this *DBNodeDAO) FindEnabledDBNode(tx *dbs.Tx, id int64) (*DBNode, error) { func (this *DBNodeDAO) FindEnabledDBNode(tx *dbs.Tx, id int64) (*DBNode, error) {
result, err := this.Query(tx). result, err := this.Query(tx).

View File

@@ -47,14 +47,19 @@ func (this *MonitorNodeDAO) EnableMonitorNode(tx *dbs.Tx, id int64) error {
} }
// DisableMonitorNode 禁用条目 // DisableMonitorNode 禁用条目
func (this *MonitorNodeDAO) DisableMonitorNode(tx *dbs.Tx, id int64) error { func (this *MonitorNodeDAO) DisableMonitorNode(tx *dbs.Tx, nodeId int64) error {
_, err := this.Query(tx). _, err := this.Query(tx).
Pk(id). Pk(nodeId).
Set("state", MonitorNodeStateDisabled). Set("state", MonitorNodeStateDisabled).
Update() Update()
if err != nil {
return err return err
} }
// 删除运行日志
return SharedNodeLogDAO.DeleteNodeLogs(tx, nodeconfigs.NodeRoleMonitor, nodeId)
}
// FindEnabledMonitorNode 查找启用中的条目 // FindEnabledMonitorNode 查找启用中的条目
func (this *MonitorNodeDAO) FindEnabledMonitorNode(tx *dbs.Tx, id int64) (*MonitorNode, error) { func (this *MonitorNodeDAO) FindEnabledMonitorNode(tx *dbs.Tx, id int64) (*MonitorNode, error) {
result, err := this.Query(tx). result, err := this.Query(tx).

View File

@@ -100,7 +100,8 @@ func (this *NodeDAO) DisableNode(tx *dbs.Tx, nodeId int64) (err error) {
return err return err
} }
return nil // 删除运行日志
return SharedNodeLogDAO.DeleteNodeLogs(tx, nodeconfigs.NodeRoleNode, nodeId)
} }
// FindEnabledNode 查找启用中的条目 // FindEnabledNode 查找启用中的条目

View File

@@ -360,3 +360,12 @@ func (this *NodeLogDAO) UpdateAllNodeLogsRead(tx *dbs.Tx) error {
Set("isRead", true). Set("isRead", true).
UpdateQuickly() UpdateQuickly()
} }
// DeleteNodeLogs 删除某个节点上的日志
func (this *NodeLogDAO) DeleteNodeLogs(tx *dbs.Tx, role nodeconfigs.NodeRole, nodeId int64) error {
_, err := this.Query(tx).
Attr("nodeId", nodeId).
Attr("role", role).
Delete()
return err
}

View File

@@ -52,16 +52,23 @@ func (this *NSNodeDAO) EnableNSNode(tx *dbs.Tx, id int64) error {
} }
// DisableNSNode 禁用条目 // DisableNSNode 禁用条目
func (this *NSNodeDAO) DisableNSNode(tx *dbs.Tx, id int64) error { func (this *NSNodeDAO) DisableNSNode(tx *dbs.Tx, nodeId int64) error {
_, err := this.Query(tx). _, err := this.Query(tx).
Pk(id). Pk(nodeId).
Set("state", NSNodeStateDisabled). Set("state", NSNodeStateDisabled).
Update() Update()
if err != nil { if err != nil {
return err return err
} }
return this.NotifyUpdate(tx, id)
err = this.NotifyUpdate(tx, nodeId)
if err != nil {
return err
}
// 删除运行日志
return SharedNodeLogDAO.DeleteNodeLogs(tx, nodeconfigs.NodeRoleDNS, nodeId)
} }
// FindEnabledNSNode 查找启用中的条目 // FindEnabledNSNode 查找启用中的条目

View File

@@ -50,14 +50,19 @@ func (this *ReportNodeDAO) EnableReportNode(tx *dbs.Tx, id int64) error {
} }
// DisableReportNode 禁用条目 // DisableReportNode 禁用条目
func (this *ReportNodeDAO) DisableReportNode(tx *dbs.Tx, id int64) error { func (this *ReportNodeDAO) DisableReportNode(tx *dbs.Tx, nodeId int64) error {
_, err := this.Query(tx). _, err := this.Query(tx).
Pk(id). Pk(nodeId).
Set("state", ReportNodeStateDisabled). Set("state", ReportNodeStateDisabled).
Update() Update()
if err != nil {
return err return err
} }
// 删除运行日志
return SharedNodeLogDAO.DeleteNodeLogs(tx, nodeconfigs.NodeRoleReport, nodeId)
}
// FindEnabledReportNode 查找启用中的条目 // FindEnabledReportNode 查找启用中的条目
func (this *ReportNodeDAO) FindEnabledReportNode(tx *dbs.Tx, id int64) (*ReportNode, error) { func (this *ReportNodeDAO) FindEnabledReportNode(tx *dbs.Tx, id int64) (*ReportNode, error) {
result, err := this.Query(tx). result, err := this.Query(tx).

View File

@@ -51,14 +51,19 @@ func (this *UserNodeDAO) EnableUserNode(tx *dbs.Tx, id uint32) error {
} }
// DisableUserNode 禁用条目 // DisableUserNode 禁用条目
func (this *UserNodeDAO) DisableUserNode(tx *dbs.Tx, id int64) error { func (this *UserNodeDAO) DisableUserNode(tx *dbs.Tx, nodeId int64) error {
_, err := this.Query(tx). _, err := this.Query(tx).
Pk(id). Pk(nodeId).
Set("state", UserNodeStateDisabled). Set("state", UserNodeStateDisabled).
Update() Update()
if err != nil {
return err return err
} }
// 删除运行日志
return SharedNodeLogDAO.DeleteNodeLogs(tx, nodeconfigs.NodeRoleUser, nodeId)
}
// FindEnabledUserNode 查找启用中的条目 // FindEnabledUserNode 查找启用中的条目
func (this *UserNodeDAO) FindEnabledUserNode(tx *dbs.Tx, id int64) (*UserNode, error) { func (this *UserNodeDAO) FindEnabledUserNode(tx *dbs.Tx, id int64) (*UserNode, error) {
result, err := this.Query(tx). result, err := this.Query(tx).