fixed status response

This commit is contained in:
Annika Hannig 2023-01-18 15:58:13 +01:00
parent d768d3edac
commit 16c6eabe13
3 changed files with 29 additions and 25 deletions

View File

@ -101,7 +101,7 @@ func (s *Server) apiRegisterEndpoints(
router.GET("/api/v1/routeservers", router.GET("/api/v1/routeservers",
endpoint(s.apiRouteServersList)) endpoint(s.apiRouteServersList))
router.GET("/api/v1/routeservers/:id/status", router.GET("/api/v1/routeservers/:id/status",
endpoint(s.apiStatus)) endpoint(s.apiRouteServerStatusShow))
router.GET("/api/v1/routeservers/:id/neighbors", router.GET("/api/v1/routeservers/:id/neighbors",
endpoint(s.apiNeighborsList)) endpoint(s.apiNeighborsList))
router.GET("/api/v1/routeservers/:id/neighbors/:neighborId/routes", router.GET("/api/v1/routeservers/:id/neighbors/:neighborId/routes",

View File

@ -20,30 +20,6 @@ func (s *Server) apiStatusShow(
return status, err return status, err
} }
// Handle status
func (s *Server) apiStatus(
ctx context.Context,
_req *http.Request,
params httprouter.Params,
) (response, error) {
rsID, err := validateSourceID(params.ByName("id"))
if err != nil {
return nil, err
}
source := s.cfg.SourceInstanceByID(rsID)
if source == nil {
return nil, ErrSourceNotFound
}
result, err := source.Status(ctx)
if err != nil {
s.logSourceError("status", rsID, err)
}
return result, err
}
// Handle Config Endpoint // Handle Config Endpoint
func (s *Server) apiConfigShow( func (s *Server) apiConfigShow(
_ctx context.Context, _ctx context.Context,

View File

@ -8,6 +8,7 @@ import (
"github.com/julienschmidt/httprouter" "github.com/julienschmidt/httprouter"
"github.com/alice-lg/alice-lg/pkg/api" "github.com/alice-lg/alice-lg/pkg/api"
"github.com/alice-lg/alice-lg/pkg/config"
) )
// Handle RouteServers List // Handle RouteServers List
@ -41,3 +42,30 @@ func (s *Server) apiRouteServersList(
return response, nil return response, nil
} }
// Handle route server status
func (s *Server) apiRouteServerStatusShow(
ctx context.Context,
_req *http.Request,
params httprouter.Params,
) (response, error) {
rsID, err := validateSourceID(params.ByName("id"))
if err != nil {
return nil, err
}
source := s.cfg.SourceInstanceByID(rsID)
if source == nil {
return nil, ErrSourceNotFound
}
result, err := source.Status(ctx)
if err != nil {
s.logSourceError("status", rsID, err)
}
if result != nil {
result.Meta.Version = config.Version
}
return result, nil
}