mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-05 00:43:58 +08:00
set static nodes to list
This commit is contained in:
@@ -326,6 +326,7 @@ func getNetworkNodes(w http.ResponseWriter, r *http.Request) {
|
|||||||
if len(filteredNodes) > 0 {
|
if len(filteredNodes) > 0 {
|
||||||
nodes = filteredNodes
|
nodes = filteredNodes
|
||||||
}
|
}
|
||||||
|
nodes = logic.AddStaticNodestoList(nodes)
|
||||||
|
|
||||||
// returns all the nodes in JSON/API format
|
// returns all the nodes in JSON/API format
|
||||||
apiNodes := logic.GetAllNodesAPI(nodes[:])
|
apiNodes := logic.GetAllNodesAPI(nodes[:])
|
||||||
@@ -362,10 +363,10 @@ func getAllNodes(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
if !userPlatformRole.FullAccess {
|
if !userPlatformRole.FullAccess {
|
||||||
nodes = logic.GetFilteredNodesByUserAccess(*user, nodes)
|
nodes = logic.GetFilteredNodesByUserAccess(*user, nodes)
|
||||||
} else {
|
|
||||||
nodes = logic.AddStaticNodestoList(nodes)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
nodes = logic.AddStaticNodestoList(nodes)
|
||||||
// return all the nodes in JSON/API format
|
// return all the nodes in JSON/API format
|
||||||
apiNodes := logic.GetAllNodesAPI(nodes[:])
|
apiNodes := logic.GetAllNodesAPI(nodes[:])
|
||||||
logger.Log(3, r.Header.Get("user"), "fetched all nodes they have access to")
|
logger.Log(3, r.Header.Get("user"), "fetched all nodes they have access to")
|
||||||
|
@@ -48,6 +48,9 @@ type ApiNode struct {
|
|||||||
InetNodeReq InetNodeReq `json:"inet_node_req" yaml:"inet_node_req"`
|
InetNodeReq InetNodeReq `json:"inet_node_req" yaml:"inet_node_req"`
|
||||||
InternetGwID string `json:"internetgw_node_id" yaml:"internetgw_node_id"`
|
InternetGwID string `json:"internetgw_node_id" yaml:"internetgw_node_id"`
|
||||||
AdditionalRagIps []string `json:"additional_rag_ips" yaml:"additional_rag_ips"`
|
AdditionalRagIps []string `json:"additional_rag_ips" yaml:"additional_rag_ips"`
|
||||||
|
IsStatic bool `json:"is_static"`
|
||||||
|
IsUserNode bool `json:"is_user_node"`
|
||||||
|
StaticNode ExtClient `json:"static_node"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// ApiNode.ConvertToServerNode - converts an api node to a server node
|
// ApiNode.ConvertToServerNode - converts an api node to a server node
|
||||||
@@ -183,6 +186,9 @@ func (nm *Node) ConvertToAPINode() *ApiNode {
|
|||||||
for _, ip := range nm.AdditionalRagIps {
|
for _, ip := range nm.AdditionalRagIps {
|
||||||
apiNode.AdditionalRagIps = append(apiNode.AdditionalRagIps, ip.String())
|
apiNode.AdditionalRagIps = append(apiNode.AdditionalRagIps, ip.String())
|
||||||
}
|
}
|
||||||
|
apiNode.IsStatic = nm.IsStatic
|
||||||
|
apiNode.IsUserNode = nm.IsUserNode
|
||||||
|
apiNode.StaticNode = nm.StaticNode
|
||||||
return &apiNode
|
return &apiNode
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -688,7 +688,7 @@ func GetFilteredNodesByUserAccess(user models.User, nodes []models.Node) (filter
|
|||||||
nodesMap := make(map[string]struct{})
|
nodesMap := make(map[string]struct{})
|
||||||
allNetworkRoles := make(map[models.UserRoleID]struct{})
|
allNetworkRoles := make(map[models.UserRoleID]struct{})
|
||||||
defer func() {
|
defer func() {
|
||||||
logic.AddStaticNodestoList(nodes)
|
filteredNodes = logic.AddStaticNodestoList(filteredNodes)
|
||||||
}()
|
}()
|
||||||
if len(user.NetworkRoles) > 0 {
|
if len(user.NetworkRoles) > 0 {
|
||||||
for _, netRoles := range user.NetworkRoles {
|
for _, netRoles := range user.NetworkRoles {
|
||||||
@@ -698,7 +698,8 @@ func GetFilteredNodesByUserAccess(user models.User, nodes []models.Node) (filter
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if _, ok := user.NetworkRoles[models.AllNetworks]; ok {
|
if _, ok := user.NetworkRoles[models.AllNetworks]; ok {
|
||||||
return nodes
|
filteredNodes = nodes
|
||||||
|
return
|
||||||
}
|
}
|
||||||
if len(user.UserGroups) > 0 {
|
if len(user.UserGroups) > 0 {
|
||||||
for userGID := range user.UserGroups {
|
for userGID := range user.UserGroups {
|
||||||
@@ -706,7 +707,8 @@ func GetFilteredNodesByUserAccess(user models.User, nodes []models.Node) (filter
|
|||||||
if err == nil {
|
if err == nil {
|
||||||
if len(userG.NetworkRoles) > 0 {
|
if len(userG.NetworkRoles) > 0 {
|
||||||
if _, ok := userG.NetworkRoles[models.AllNetworks]; ok {
|
if _, ok := userG.NetworkRoles[models.AllNetworks]; ok {
|
||||||
return nodes
|
filteredNodes = nodes
|
||||||
|
return
|
||||||
}
|
}
|
||||||
for _, netRoles := range userG.NetworkRoles {
|
for _, netRoles := range userG.NetworkRoles {
|
||||||
for netRoleI := range netRoles {
|
for netRoleI := range netRoles {
|
||||||
|
Reference in New Issue
Block a user