From 1865b016d0cca74cd3703db5a3b4217917988dec Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Tue, 5 Jul 2022 13:17:24 +0200 Subject: Refactor: Handling of different servers and identifiers - Uses OrgID for Secure Internet and gets the data from discovery - Uses URL for Institute/Custom and gets the data from discovery - Implements SKIP WAYF as we now have the needed data - Implements an initial change location with a default location (NL right now) --- internal/types/server.go | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 internal/types/server.go (limited to 'internal/types/server.go') diff --git a/internal/types/server.go b/internal/types/server.go new file mode 100644 index 0000000..ba9b217 --- /dev/null +++ b/internal/types/server.go @@ -0,0 +1,42 @@ +package types + +// Shared server types + +// Structs that define the json format for +// url: "https://disco.eduvpn.org/v2/organization_list.json" +type DiscoveryOrganizations struct { + Version uint64 `json:"v"` + List []DiscoveryOrganization `json:"organization_list"` + Timestamp int64 `json:"-"` + RawString string `json:"-"` +} + +type DiscoveryOrganization struct { + DisplayName struct { + En string `json:"en"` + } `json:"display_name"` + OrgId string `json:"org_id"` + SecureInternetHome string `json:"secure_internet_home"` + KeywordList struct { + En string `json:"en"` + } `json:"keyword_list"` +} + +// Structs that define the json format for +// url: "https://disco.eduvpn.org/v2/server_list.json" +type DiscoveryServers struct { + Version uint64 `json:"v"` + List []DiscoveryServer `json:"server_list"` + Timestamp int64 `json:"-"` + RawString string `json:"-"` +} + +type DiscoveryServer struct { + AuthenticationURLTemplate string `json:"authentication_url_template"` + BaseURL string `json:"base_url"` + CountryCode string `json:"country_code"` + PublicKeyList []string `json:"public_key_list"` + Type string `json:"server_type"` + SupportContact []string `json:"support_contact"` +} + -- cgit v1.2.3