diff options
Diffstat (limited to 'internal/server')
| -rw-r--r-- | internal/server/custom.go | 12 | ||||
| -rw-r--r-- | internal/server/instituteaccess.go | 7 | ||||
| -rw-r--r-- | internal/server/secureinternet.go | 10 |
3 files changed, 28 insertions, 1 deletions
diff --git a/internal/server/custom.go b/internal/server/custom.go index a93242d..52a0094 100644 --- a/internal/server/custom.go +++ b/internal/server/custom.go @@ -1,5 +1,17 @@ package server +import ( + "fmt" + "github.com/eduvpn/eduvpn-common/types" +) + +func (servers *Servers) GetCustomServer(url string) (*InstituteAccessServer, error) { + if server, ok := servers.CustomServers.Map[url]; ok { + return server, nil + } + return nil, &types.WrappedErrorMessage{Message: "failed to get institute access server", Err: fmt.Errorf("No custom server with URL: %s", url)} +} + func (servers *Servers) RemoveCustomServer(url string) { servers.CustomServers.Remove(url) } diff --git a/internal/server/instituteaccess.go b/internal/server/instituteaccess.go index c5b58ef..f2669b8 100644 --- a/internal/server/instituteaccess.go +++ b/internal/server/instituteaccess.go @@ -21,6 +21,13 @@ type InstituteAccessServers struct { CurrentURL string `json:"current_url"` } +func (servers *Servers) GetInstituteAccess(url string) (*InstituteAccessServer, error) { + if server, ok := servers.InstituteServers.Map[url]; ok { + return server, nil + } + return nil, &types.WrappedErrorMessage{Message: "failed to get institute access server", Err: fmt.Errorf("No institute access server with URL: %s", url)} +} + func (servers *Servers) RemoveInstituteAccess(url string) { servers.InstituteServers.Remove(url) } diff --git a/internal/server/secureinternet.go b/internal/server/secureinternet.go index 3981022..776bb72 100644 --- a/internal/server/secureinternet.go +++ b/internal/server/secureinternet.go @@ -1,11 +1,12 @@ package server import ( + "errors" "fmt" "github.com/eduvpn/eduvpn-common/internal/oauth" - "github.com/eduvpn/eduvpn-common/types" "github.com/eduvpn/eduvpn-common/internal/util" + "github.com/eduvpn/eduvpn-common/types" ) // A secure internet server which has its own OAuth tokens @@ -23,6 +24,13 @@ type SecureInternetHomeServer struct { CurrentLocation string `json:"current_location"` } +func (servers *Servers) GetSecureInternetHomeServer() (*SecureInternetHomeServer, error) { + if !servers.HasSecureLocation() { + return nil, errors.New("No secure internet home server") + } + return &servers.SecureInternetHomeServer, nil +} + func (servers *Servers) RemoveSecureInternet() { // Empty out the struct servers.SecureInternetHomeServer = SecureInternetHomeServer{} |
