summaryrefslogtreecommitdiff
path: root/internal/server
diff options
context:
space:
mode:
authorjwijenbergh <jeroenwijenbergh@protonmail.com>2022-08-24 14:37:05 +0200
committerjwijenbergh <jeroenwijenbergh@protonmail.com>2022-08-24 14:37:05 +0200
commit03f0fc68168de8db1735cc7d1c4d328c4bdd03f2 (patch)
tree53218a27cbfbfccf8fb792835e31f28d36aadbfa /internal/server
parentfea086334359e715ee388e01c4a4a00f5f379fe4 (diff)
State + Server + Exports: Implement removing a server
Diffstat (limited to 'internal/server')
-rw-r--r--internal/server/custom.go6
-rw-r--r--internal/server/instituteaccess.go14
-rw-r--r--internal/server/secureinternet.go10
3 files changed, 30 insertions, 0 deletions
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
}