diff options
| author | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2024-06-27 19:43:49 +0200 |
|---|---|---|
| committer | Jeroen Wijenbergh <46386452+jwijenbergh@users.noreply.github.com> | 2024-06-27 20:09:00 +0000 |
| commit | 3fb8bc94fdbc362f49bf211a3090358c70c26e8b (patch) | |
| tree | 16a5d251a745b26b6658415356539f57a149e151 | |
| parent | 979da77c1c91520793c6c307df8c5c3b6822b28f (diff) | |
Discovery: Unmarshal to a new structure to fix #55
| -rw-r--r-- | internal/discovery/discovery.go | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/internal/discovery/discovery.go b/internal/discovery/discovery.go index 3994aba..fe72e7c 100644 --- a/internal/discovery/discovery.go +++ b/internal/discovery/discovery.go @@ -292,8 +292,10 @@ func (discovery *Discovery) Organizations(ctx context.Context) (*Organizations, return &discovery.OrganizationList, false, nil } file := "organization_list.json" - err := discovery.file(ctx, file, discovery.OrganizationList.Version, &discovery.OrganizationList) + var jsonDecode Organizations + err := discovery.file(ctx, file, discovery.OrganizationList.Version, &jsonDecode) if err != nil { + log.Logger.Warningf("failed to get fresh organizations: %v", err) // Return previous with an error orgs, perr := discovery.previousOrganizations() if perr != nil { @@ -301,6 +303,11 @@ func (discovery *Discovery) Organizations(ctx context.Context) (*Organizations, } return orgs, false, err } + if len(jsonDecode.List) == 0 { + log.Logger.Warningf("fresh organization list is empty") + } else { + discovery.OrganizationList = jsonDecode + } discovery.OrganizationList.Timestamp = time.Now() return &discovery.OrganizationList, true, nil } @@ -313,8 +320,10 @@ func (discovery *Discovery) Servers(ctx context.Context) (*Servers, bool, error) return &discovery.ServerList, false, nil } file := "server_list.json" - err := discovery.file(ctx, file, discovery.ServerList.Version, &discovery.ServerList) + var jsonDecode Servers + err := discovery.file(ctx, file, discovery.ServerList.Version, &jsonDecode) if err != nil { + log.Logger.Warningf("failed to get fresh servers: %v", err) // Return previous with an error srvs, perr := discovery.previousServers() if perr != nil { @@ -322,7 +331,11 @@ func (discovery *Discovery) Servers(ctx context.Context) (*Servers, bool, error) } return srvs, false, err } - // Update servers timestamp + if len(jsonDecode.List) == 0 { + log.Logger.Warningf("fresh server list is empty") + } else { + discovery.ServerList = jsonDecode + } discovery.ServerList.Timestamp = time.Now() return &discovery.ServerList, true, nil } |
