summaryrefslogtreecommitdiff
path: root/internal/server
diff options
context:
space:
mode:
authorjwijenbergh <jeroenwijenbergh@protonmail.com>2022-10-11 10:19:56 +0200
committerjwijenbergh <jeroenwijenbergh@protonmail.com>2022-10-11 12:42:11 +0200
commit565237c14a303a46d62d240b35c6f0082424256a (patch)
tree522f2aeb441a3eb22b6d5e05e66ef348241b2e66 /internal/server
parent17e261dd224bc67f031b80930490768ea54353db (diff)
Client: Refactor out adding a Server from getting a config
Diffstat (limited to 'internal/server')
-rw-r--r--internal/server/custom.go12
-rw-r--r--internal/server/instituteaccess.go7
-rw-r--r--internal/server/secureinternet.go10
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{}