实现基本的区域监控终端管理功能

This commit is contained in:
GoEdgeLab
2021-09-05 11:10:18 +08:00
parent bd30d4714d
commit 63bf680adb
14 changed files with 430 additions and 151 deletions

View File

@@ -31,6 +31,7 @@ const (
UserTypeLog = "log"
UserTypeAPI = "api"
UserTypeAuthority = "authority"
UserTypeReport = "report"
)
// ValidateRequest 校验请求
@@ -160,38 +161,48 @@ func ValidateRequest(ctx context.Context, userTypes ...UserType) (userType UserT
case UserTypeUser:
nodeIntId, err := models.SharedUserNodeDAO.FindEnabledUserNodeIdWithUniqueId(nil, nodeId)
if err != nil {
return UserTypeNode, 0, 0, errors.New("context: " + err.Error())
return UserTypeUser, 0, 0, errors.New("context: " + err.Error())
}
if nodeIntId <= 0 {
return UserTypeNode, 0, 0, errors.New("context: not found node with id '" + nodeId + "'")
return UserTypeUser, 0, 0, errors.New("context: not found node with id '" + nodeId + "'")
}
resultNodeId = nodeIntId
case UserTypeMonitor:
nodeIntId, err := models.SharedMonitorNodeDAO.FindEnabledMonitorNodeIdWithUniqueId(nil, nodeId)
if err != nil {
return UserTypeNode, 0, 0, errors.New("context: " + err.Error())
return UserTypeMonitor, 0, 0, errors.New("context: " + err.Error())
}
if nodeIntId <= 0 {
return UserTypeNode, 0, 0, errors.New("context: not found node with id '" + nodeId + "'")
return UserTypeMonitor, 0, 0, errors.New("context: not found node with id '" + nodeId + "'")
}
resultNodeId = nodeIntId
case UserTypeAuthority:
nodeIntId, err := authority.SharedAuthorityNodeDAO.FindEnabledAuthorityNodeIdWithUniqueId(nil, nodeId)
if err != nil {
return UserTypeNode, 0, 0, errors.New("context: " + err.Error())
return UserTypeAuthority, 0, 0, errors.New("context: " + err.Error())
}
if nodeIntId <= 0 {
return UserTypeNode, 0, 0, errors.New("context: not found node with id '" + nodeId + "'")
return UserTypeAuthority, 0, 0, errors.New("context: not found node with id '" + nodeId + "'")
}
nodeUserId = nodeIntId
resultNodeId = nodeIntId
case UserTypeDNS:
nodeIntId, err := models.SharedNSNodeDAO.FindEnabledNodeIdWithUniqueId(nil, nodeId)
if err != nil {
return UserTypeNode, nodeIntId, 0, errors.New("context: " + err.Error())
return UserTypeDNS, nodeIntId, 0, errors.New("context: " + err.Error())
}
if nodeIntId <= 0 {
return UserTypeNode, nodeIntId, 0, errors.New("context: not found node with id '" + nodeId + "'")
return UserTypeDNS, nodeIntId, 0, errors.New("context: not found node with id '" + nodeId + "'")
}
nodeUserId = nodeIntId
resultNodeId = nodeIntId
case UserTypeReport:
nodeIntId, err := models.SharedReportNodeDAO.FindEnabledNodeIdWithUniqueId(nil, nodeId)
if err != nil {
return UserTypeReport, nodeIntId, 0, errors.New("context: " + err.Error())
}
if nodeIntId <= 0 {
return UserTypeReport, nodeIntId, 0, errors.New("context: not found node with id '" + nodeId + "'")
}
nodeUserId = nodeIntId
resultNodeId = nodeIntId