From b1a5f91f9db606cb1a7fec7792b2f4a3700c7f3f Mon Sep 17 00:00:00 2001 From: cyBerta <cyberta@riseup.net> Date: Tue, 16 Jul 2024 17:31:52 +0200 Subject: [PATCH] new bridges api --- pkg/bootstrap/init.go | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/pkg/bootstrap/init.go b/pkg/bootstrap/init.go index 4859280..0a6320e 100644 --- a/pkg/bootstrap/init.go +++ b/pkg/bootstrap/init.go @@ -268,6 +268,13 @@ type GatewayParams struct { CC string } +type BridgesParams struct { + Location string + Port string + Transport string + Type string +} + // GetGateways returns a list of gateways (it it's enabled by the menshen // API). It optionally accepts a GatewayParams object where you can set // different filters. @@ -287,7 +294,27 @@ func (api *API) GetGateways(p *GatewayParams) ([]*models.ModelsGateway, error) { if err != nil { return nil, err } - return gateways.Payload, err + return gateways.Payload, nil +} + +func (api *API) GetBridges(p *BridgesParams) ([]*models.ModelsBridge, error) { + params := provisioning.NewGet5BridgesParams() + if p != nil { + params.Loc = &p.Location + params.Port = &p.Port + params.Tr = &p.Transport + params.Type = &p.Type + } + if api.httpClient != nil { + params = params.WithHTTPClient(api.httpClient) + } + + bridges, err := api.client.Provisioning.Get5Bridges(params) + if err != nil { + return nil, err + } + + return bridges.Payload, nil } // GetOpenVPNCert returns valid OpenVPN client credentials (certificate and -- GitLab