mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 16:00:24 +08:00 
			
		
		
		
	实现基本的区域监控终端管理功能
This commit is contained in:
		@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user