Skip to content
Snippets Groups Projects
Unverified Commit e789dd80 authored by Angelo Capossele's avatar Angelo Capossele Committed by GitHub
Browse files

:bug: Fix search (#574)

parent 256f8326
No related branches found
No related tags found
No related merge requests found
...@@ -3,7 +3,6 @@ package dashboard ...@@ -3,7 +3,6 @@ package dashboard
import ( import (
"fmt" "fmt"
"net/http" "net/http"
"sync"
"github.com/iotaledger/goshimmer/dapps/valuetransfers" "github.com/iotaledger/goshimmer/dapps/valuetransfers"
"github.com/iotaledger/goshimmer/dapps/valuetransfers/packages/address" "github.com/iotaledger/goshimmer/dapps/valuetransfers/packages/address"
...@@ -12,6 +11,7 @@ import ( ...@@ -12,6 +11,7 @@ import (
"github.com/iotaledger/goshimmer/plugins/messagelayer" "github.com/iotaledger/goshimmer/plugins/messagelayer"
"github.com/iotaledger/goshimmer/plugins/webapi/value/utils" "github.com/iotaledger/goshimmer/plugins/webapi/value/utils"
"github.com/labstack/echo" "github.com/labstack/echo"
"github.com/mr-tron/base58/base58"
) )
// ExplorerMessage defines the struct of the ExplorerMessage. // ExplorerMessage defines the struct of the ExplorerMessage.
...@@ -111,42 +111,35 @@ func setupExplorerRoutes(routeGroup *echo.Group) { ...@@ -111,42 +111,35 @@ func setupExplorerRoutes(routeGroup *echo.Group) {
routeGroup.GET("/search/:search", func(c echo.Context) error { routeGroup.GET("/search/:search", func(c echo.Context) error {
search := c.Param("search") search := c.Param("search")
result := &SearchResult{} result := &SearchResult{}
wg := sync.WaitGroup{}
switch len(search) { searchInByte, err := base58.Decode(search)
if err != nil {
return fmt.Errorf("%w: search ID %s", ErrInvalidParameter, search)
}
switch len(searchInByte) {
case address.Length: case address.Length:
wg.Add(1) addr, err := findAddress(search)
go func() { if err == nil {
defer wg.Done() result.Address = addr
addr, err := findAddress(search) }
if err == nil {
result.Address = addr
}
}()
case message.IdLength: case message.IdLength:
wg.Add(1) messageID, err := message.NewId(search)
go func() { if err != nil {
defer wg.Done() return fmt.Errorf("%w: search ID %s", ErrInvalidParameter, search)
}
messageID, err := message.NewId(search)
if err != nil {
return
}
msg, err := findMessage(messageID) msg, err := findMessage(messageID)
if err == nil { if err == nil {
result.Message = msg result.Message = msg
} }
}()
default: default:
return fmt.Errorf("%w: search ID %s", ErrInvalidParameter, search) return fmt.Errorf("%w: search ID %s", ErrInvalidParameter, search)
} }
wg.Wait()
return c.JSON(http.StatusOK, result) return c.JSON(http.StatusOK, result)
}) })
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment