diff options
| author | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-08-16 13:41:12 +0200 |
|---|---|---|
| committer | jwijenbergh <jeroenwijenbergh@protonmail.com> | 2022-08-16 13:41:12 +0200 |
| commit | de8b2adbcc4a39c359f3dd30249ac4ee225d4b9c (patch) | |
| tree | ba51a86a850e24bb54637becc7834a38c51d2429 /internal/server | |
| parent | fec6ea1eba9cee325bbd9d82aa71b8ebf5ef90b0 (diff) | |
Refactor: Use an interface for the data in the FSM callback
Diffstat (limited to 'internal/server')
| -rw-r--r-- | internal/server/common.go | 32 |
1 files changed, 8 insertions, 24 deletions
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 } |
