Return array instead of map on /api/v1/services/statuses

This commit is contained in:
TwinProduction
2021-09-02 14:57:50 -04:00
committed by Chris
parent 44c36a8a5e
commit c61b406483
6 changed files with 23 additions and 23 deletions

View File

@ -47,11 +47,11 @@ func NewStore(file string) (*Store, error) {
// GetAllServiceStatuses returns all monitored core.ServiceStatus
// with a subset of core.Result defined by the page and pageSize parameters
func (s *Store) GetAllServiceStatuses(params *paging.ServiceStatusParams) map[string]*core.ServiceStatus {
func (s *Store) GetAllServiceStatuses(params *paging.ServiceStatusParams) []*core.ServiceStatus {
serviceStatuses := s.cache.GetAll()
pagedServiceStatuses := make(map[string]*core.ServiceStatus, len(serviceStatuses))
for k, v := range serviceStatuses {
pagedServiceStatuses[k] = ShallowCopyServiceStatus(v.(*core.ServiceStatus), params)
pagedServiceStatuses := make([]*core.ServiceStatus, 0, len(serviceStatuses))
for _, v := range serviceStatuses {
pagedServiceStatuses = append(pagedServiceStatuses, ShallowCopyServiceStatus(v.(*core.ServiceStatus), params))
}
return pagedServiceStatuses
}

View File

@ -148,7 +148,7 @@ func (s *Store) createSchema() error {
// GetAllServiceStatuses returns all monitored core.ServiceStatus
// with a subset of core.Result defined by the page and pageSize parameters
func (s *Store) GetAllServiceStatuses(params *paging.ServiceStatusParams) map[string]*core.ServiceStatus {
func (s *Store) GetAllServiceStatuses(params *paging.ServiceStatusParams) []*core.ServiceStatus {
tx, err := s.db.Begin()
if err != nil {
return nil
@ -158,13 +158,13 @@ func (s *Store) GetAllServiceStatuses(params *paging.ServiceStatusParams) map[st
_ = tx.Rollback()
return nil
}
serviceStatuses := make(map[string]*core.ServiceStatus, len(keys))
serviceStatuses := make([]*core.ServiceStatus, 0, len(keys))
for _, key := range keys {
serviceStatus, err := s.getServiceStatusByKey(tx, key, params)
if err != nil {
continue
}
serviceStatuses[key] = serviceStatus
serviceStatuses = append(serviceStatuses, serviceStatus)
}
if err = tx.Commit(); err != nil {
_ = tx.Rollback()

View File

@ -13,7 +13,7 @@ import (
type Store interface {
// GetAllServiceStatuses returns the JSON encoding of all monitored core.ServiceStatus
// with a subset of core.Result defined by the page and pageSize parameters
GetAllServiceStatuses(params *paging.ServiceStatusParams) map[string]*core.ServiceStatus
GetAllServiceStatuses(params *paging.ServiceStatusParams) []*core.ServiceStatus
// GetServiceStatus returns the service status for a given service name in the given group
GetServiceStatus(groupName, serviceName string, params *paging.ServiceStatusParams) *core.ServiceStatus

View File

@ -184,8 +184,8 @@ func TestStore_GetAllServiceStatuses(t *testing.T) {
if len(serviceStatuses) != 1 {
t.Fatal("expected 1 service status")
}
actual, exists := serviceStatuses[testService.Key()]
if !exists {
actual := serviceStatuses[0]
if actual == nil {
t.Fatal("expected service status to exist")
}
if len(actual.Results) != 2 {
@ -213,8 +213,8 @@ func TestStore_GetAllServiceStatusesWithResultsAndEvents(t *testing.T) {
if len(serviceStatuses) != 1 {
t.Fatal("expected 1 service status")
}
actual, exists := serviceStatuses[testService.Key()]
if !exists {
actual := serviceStatuses[0]
if actual == nil {
t.Fatal("expected service status to exist")
}
if len(actual.Results) != 2 {