From 74e36f0ead717105f26087c2cab08b41ba5a7ce8 Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Mon, 12 Feb 2024 19:18:05 +0100 Subject: All: Document everything to pass revive lint --- internal/api/endpoints/endpoints.go | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'internal/api/endpoints') diff --git a/internal/api/endpoints/endpoints.go b/internal/api/endpoints/endpoints.go index 11e244b..c98d2c7 100644 --- a/internal/api/endpoints/endpoints.go +++ b/internal/api/endpoints/endpoints.go @@ -1,3 +1,5 @@ +// Package endpoints defines a wrapper around the various +// endpoints returned by an eduVPN server in well-known package endpoints import ( @@ -5,21 +7,30 @@ import ( "net/url" ) +// List is the list of endpoints as returned by the eduVPN server type List struct { - API string `json:"api_endpoint"` + // API is the API endpoint which we use for calls such as /info, /connect, ... + API string `json:"api_endpoint"` + // Authorization is the authorization endpoint for OAuth Authorization string `json:"authorization_endpoint"` - Token string `json:"token_endpoint"` + // Token is the token endpoint for OAuth + Token string `json:"token_endpoint"` } +// Versions is the endpoints separated by API version type Versions struct { + // V2 is the legacy V2 API, this is not used V2 List `json:"http://eduvpn.org/api#2"` + // V3 is the newest API, which we use V3 List `json:"http://eduvpn.org/api#3"` } // Endpoints defines the json format for /.well-known/vpn-user-portal". type Endpoints struct { + // API defines the API endpoints, split by version API Versions `json:"api"` - V string `json:"v"` + // V is the version string for the server + V string `json:"v"` } // Validate validates the endpoints by parsing them and checking the scheme is HTTP -- cgit v1.2.3