实现域名、记录同步等API

This commit is contained in:
GoEdgeLab
2021-06-01 16:43:00 +08:00
parent 312fd8e995
commit b4bdf7ba8f
13 changed files with 379 additions and 11 deletions

View File

@@ -7,6 +7,8 @@ import (
"errors"
teaconst "github.com/TeaOSLab/EdgeAPI/internal/const"
"github.com/TeaOSLab/EdgeAPI/internal/db/models"
"github.com/TeaOSLab/EdgeAPI/internal/db/models/authority"
"github.com/TeaOSLab/EdgeAPI/internal/db/models/nameservers"
"github.com/TeaOSLab/EdgeAPI/internal/encrypt"
"github.com/TeaOSLab/EdgeAPI/internal/utils"
"github.com/iwind/TeaGo/lists"
@@ -156,7 +158,24 @@ func ValidateRequest(ctx context.Context, userTypes ...UserType) (userType UserT
nodeUserId = clusterId
case UserTypeUser:
case UserTypeMonitor:
case UserTypeAuthority:
nodeIntId, err := authority.SharedAuthorityNodeDAO.FindEnabledAuthorityNodeIdWithUniqueId(nil, nodeId)
if err != nil {
return UserTypeNode, 0, errors.New("context: " + err.Error())
}
if nodeIntId <= 0 {
return UserTypeNode, 0, errors.New("context: not found node with id '" + nodeId + "'")
}
nodeUserId = nodeIntId
case UserTypeDNS:
nodeIntId, err := nameservers.SharedNSNodeDAO.FindEnabledNodeIdWithUniqueId(nil, nodeId)
if err != nil {
return UserTypeNode, 0, errors.New("context: " + err.Error())
}
if nodeIntId <= 0 {
return UserTypeNode, 0, errors.New("context: not found node with id '" + nodeId + "'")
}
nodeUserId = nodeIntId
}
if nodeUserId > 0 {