Ben 1 gadu atpakaļ
vecāks
revīzija
9fe9a8bc5b
2 mainītis faili ar 11 papildinājumiem un 27 dzēšanām
  1. 6 10
      internal/dto/response.go
  2. 5 17
      internal/server/server.go

+ 6 - 10
internal/dto/response.go

@@ -45,19 +45,15 @@ type RegisterResult struct {
 
 type ListResponse struct {
 	Response
-	Data []ListResult `json:"data"`
-}
-
-type ListResult struct {
-	CountryCode string `json:"countryCode"`
-	Nodes       []Node `json:"nodes"`
-}
-
-type Node struct {
-	Ip string `json:"ip"`
+	Data []Node `json:"data"`
 }
 
 type DetailResponse struct {
 	Response
 	Data Node `json:"data"`
 }
+
+type Node struct {
+	CountryCode string `json:"countryCode"`
+	Ip          string `json:"ip"`
+}

+ 5 - 17
internal/server/server.go

@@ -51,31 +51,19 @@ func List(c *gin.Context) {
 	locker.RLock()
 	defer locker.RUnlock()
 
-	dtoNodes := make(map[string][]dto.Node)
+	dtoNodes := make([]dto.Node, 0)
 	for _, node := range nodes {
-		if _, ok := dtoNodes[node.CountryCode]; !ok {
-			dtoNodes[node.CountryCode] = make([]dto.Node, 0)
-		}
 		if node.LastUpdateTime.Add(10 * time.Second).After(time.Now()) {
-			dtoNodes[node.CountryCode] = append(dtoNodes[node.CountryCode], dto.Node{
-				Ip: node.Ip,
+			dtoNodes = append(dtoNodes, dto.Node{
+				Ip:          node.Ip,
+				CountryCode: node.CountryCode,
 			})
 		}
 	}
 
-	listResult := make([]dto.ListResult, len(dtoNodes))
-	i := 0
-	for countryCode, itemNodes := range dtoNodes {
-		listResult[i] = dto.ListResult{
-			CountryCode: countryCode,
-			Nodes:       itemNodes,
-		}
-		i++
-	}
-
 	c.JSON(http.StatusOK, dto.ListResponse{
 		Response: dto.NewOkResponse(),
-		Data:     listResult,
+		Data:     dtoNodes,
 	})
 }