From de8b2adbcc4a39c359f3dd30249ac4ee225d4b9c Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Tue, 16 Aug 2022 13:41:12 +0200 Subject: Refactor: Use an interface for the data in the FSM callback --- internal/server/common.go | 32 ++++++++------------------------ 1 file changed, 8 insertions(+), 24 deletions(-) (limited to 'internal/server') diff --git a/internal/server/common.go b/internal/server/common.go index e8c837a..7ee8be6 100644 --- a/internal/server/common.go +++ b/internal/server/common.go @@ -1,7 +1,6 @@ package server import ( - "encoding/json" "fmt" "time" @@ -147,9 +146,7 @@ func getServerInfoScreen(base ServerBase) ServerInfoScreen { return serverInfoScreen } -func (servers *Servers) GetServersConfiguredJSON() (string, error) { - errorMessage := "failed getting configured servers JSON" - +func (servers *Servers) GetServersConfigured() (*ServersConfiguredScreen) { customServersInfo := []ServerInfoScreen{} instituteServersInfo := []ServerInfoScreen{} var secureInternetServerInfo *ServerInfoScreen = nil @@ -174,28 +171,21 @@ func (servers *Servers) GetServersConfiguredJSON() (string, error) { secureInternetServerInfo.CountryCode = servers.SecureInternetHomeServer.CurrentLocation } - serversConfiguredScreen := &ServersConfiguredScreen{CustomServers: customServersInfo, InstituteAccessServers: instituteServersInfo, SecureInternetServer: secureInternetServerInfo} - - bytes, bytesErr := json.Marshal(serversConfiguredScreen) - - if bytesErr != nil { - return "{}", &types.WrappedErrorMessage{Message: errorMessage, Err: bytesErr} - } - return string(bytes), nil + return &ServersConfiguredScreen{CustomServers: customServersInfo, InstituteAccessServers: instituteServersInfo, SecureInternetServer: secureInternetServerInfo} } -func (servers *Servers) GetCurrentServerInfoJSON() (string, error) { - errorMessage := "failed getting JSON for server" +func (servers *Servers) GetCurrentServerInfo() (*ServerInfoScreen, error) { + errorMessage := "failed getting current server info" currentServer, currentServerErr := servers.GetCurrentServer() if currentServerErr != nil { - return "{}", &types.WrappedErrorMessage{Message: errorMessage, Err: currentServerErr} + return nil, &types.WrappedErrorMessage{Message: errorMessage, Err: currentServerErr} } base, baseErr := currentServer.GetBase() if baseErr != nil { - return "{}", &types.WrappedErrorMessage{Message: errorMessage, Err: baseErr} + return nil, &types.WrappedErrorMessage{Message: errorMessage, Err: baseErr} } serverInfoScreen := getServerInfoScreen(*base) @@ -205,13 +195,7 @@ func (servers *Servers) GetCurrentServerInfoJSON() (string, error) { serverInfoScreen.CountryCode = servers.SecureInternetHomeServer.CurrentLocation } - bytes, bytesErr := json.Marshal(serverInfoScreen) - - if bytesErr != nil { - return "{}", &types.WrappedErrorMessage{Message: errorMessage, Err: bytesErr} - } - - return string(bytes), nil + return &serverInfoScreen, nil } func (servers *Servers) addInstituteAndCustom(discoServer *types.DiscoveryServer, isCustom bool, fsm *fsm.FSM) (Server, error) { @@ -491,7 +475,7 @@ func askForProfileID(server Server) error { if !base.FSM.HasTransition(fsm.ASK_PROFILE) { return &types.WrappedErrorMessage{Message: errorMessage, Err: fsm.WrongStateTransitionError{Got: base.FSM.Current, Want: fsm.ASK_PROFILE}.CustomError()} } - base.FSM.GoTransitionWithData(fsm.ASK_PROFILE, base.ProfilesRaw, false) + base.FSM.GoTransitionWithData(fsm.ASK_PROFILE, &base.Profiles, false) return nil } -- cgit v1.2.3