diff options
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/fsm/fsm.go | 1 | ||||
| -rw-r--r-- | internal/server/custom.go | 6 | ||||
| -rw-r--r-- | internal/server/instituteaccess.go | 14 | ||||
| -rw-r--r-- | internal/server/secureinternet.go | 10 |
4 files changed, 31 insertions, 0 deletions
diff --git a/internal/fsm/fsm.go b/internal/fsm/fsm.go index 0b32f84..ec19899 100644 --- a/internal/fsm/fsm.go +++ b/internal/fsm/fsm.go @@ -144,6 +144,7 @@ func (fsm *FSM) Init( DEREGISTERED: FSMState{Transitions: []FSMTransition{{NO_SERVER, "Client registers"}}}, NO_SERVER: FSMState{ Transitions: []FSMTransition{ + {NO_SERVER, "Reload list"}, {CHOSEN_SERVER, "User chooses a server"}, {SEARCH_SERVER, "The user is trying to choose a Server in the UI"}, {CONNECTED, "The user is already connected"}, diff --git a/internal/server/custom.go b/internal/server/custom.go new file mode 100644 index 0000000..c757f76 --- /dev/null +++ b/internal/server/custom.go @@ -0,0 +1,6 @@ +package server + +func (servers *Servers) RemoveCustomServer(url string) { + servers.CustomServers.Remove(url) +} + diff --git a/internal/server/instituteaccess.go b/internal/server/instituteaccess.go index 6ac248d..e948480 100644 --- a/internal/server/instituteaccess.go +++ b/internal/server/instituteaccess.go @@ -22,6 +22,20 @@ type InstituteAccessServers struct { CurrentURL string `json:"current_url"` } +func (servers *Servers) RemoveInstituteAccess(url string) { + servers.InstituteServers.Remove(url) +} + +func (servers *InstituteAccessServers) Remove(url string) { + // Reset the current url + if servers.CurrentURL == url { + servers.CurrentURL = "" + } + + // Delete the url from the map + delete(servers.Map, url) +} + // For an institute, we can simply get the OAuth func (institute *InstituteAccessServer) GetOAuth() *oauth.OAuth { return &institute.OAuth diff --git a/internal/server/secureinternet.go b/internal/server/secureinternet.go index 3498bcc..40c429b 100644 --- a/internal/server/secureinternet.go +++ b/internal/server/secureinternet.go @@ -24,6 +24,16 @@ type SecureInternetHomeServer struct { CurrentLocation string `json:"current_location"` } +func (servers *Servers) RemoveSecureInternet() { + // Empty out the struct + servers.SecureInternetHomeServer = SecureInternetHomeServer{} + + // If the current server is secure internet, default to custom server + if servers.IsType == SecureInternetServerType { + servers.IsType = CustomServerType + } +} + func (secure *SecureInternetHomeServer) GetOAuth() *oauth.OAuth { return &secure.OAuth } |
