summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjwijenbergh <jeroenwijenbergh@protonmail.com>2024-12-09 14:06:02 +0100
committerjwijenbergh <jwijenbergh@noreply.codeberg.org>2024-12-09 15:48:36 +0000
commit02a54aed212fb69dbacbbd8629ea1fe3b272cddf (patch)
tree69207041816328e7e0aa85660ff2837d9f4d9cd8
parentf88a7b917db9dab7c3d7a26b7a7ece11c4d5eb20 (diff)
Profile: Implement priority
-rw-r--r--internal/api/api_test.go2
-rw-r--r--internal/api/profiles/profiles.go4
-rw-r--r--types/server/server.go4
3 files changed, 10 insertions, 0 deletions
diff --git a/internal/api/api_test.go b/internal/api/api_test.go
index 1f70b20..5034465 100644
--- a/internal/api/api_test.go
+++ b/internal/api/api_test.go
@@ -274,6 +274,7 @@ func TestAPIInfo(t *testing.T) {
"default_gateway": false,
"display_name": "test profile 1",
"profile_id": "test1",
+ "profile_priority": 3,
"vpn_proto_list": [
"openvpn",
"wireguard"
@@ -291,6 +292,7 @@ func TestAPIInfo(t *testing.T) {
ID: "test1",
DisplayName: "test profile 1",
VPNProtoList: []string{"openvpn", "wireguard"},
+ Priority: 3,
DefaultGateway: false,
},
},
diff --git a/internal/api/profiles/profiles.go b/internal/api/profiles/profiles.go
index 9f51064..e835ffe 100644
--- a/internal/api/profiles/profiles.go
+++ b/internal/api/profiles/profiles.go
@@ -26,6 +26,9 @@ type Profile struct {
// This is provided for a Linux client issue
// See: https://github.com/eduvpn/python-eduvpn-client/issues/550
DNSSearchDomains []string `json:"dns_search_domain_list"`
+ // Priority is the priority of the profile for sorting in the UI
+ // the higher the priority, the higher it should be in the list
+ Priority int `json:"profile_priority"`
}
// ListInfo is the struct that has the profile list
@@ -109,6 +112,7 @@ func (i Info) Public() server.Profiles {
"en": p.DisplayName,
},
DefaultGateway: p.DefaultGateway,
+ Priority: p.Priority,
}
}
return server.Profiles{Map: m}
diff --git a/types/server/server.go b/types/server/server.go
index 26c41c3..5d5d4ca 100644
--- a/types/server/server.go
+++ b/types/server/server.go
@@ -89,6 +89,10 @@ type Profile struct {
// DefaultGateway is true when the profile is a default gateway one
DefaultGateway bool `json:"default_gateway"`
+
+ // Priority is the priority of the profile for sorting in the UI
+ // the higher the priority, the higher it should be in the list
+ Priority int `json:"priority"`
}
// Profiles is the map of profiles with the current defined