feat: new, more customizable client supporting API Key and user/password authentication

This commit is contained in:
Mateusz Filipowicz
2025-02-08 21:45:00 +01:00
committed by Mateusz Filipowicz
parent 8a0cf33e75
commit f79f21c4ad
87 changed files with 1286 additions and 960 deletions

View File

@@ -438,11 +438,11 @@ func (dst *NetworkWANProviderCapabilities) UnmarshalJSON(b []byte) error {
func (c *Client) listNetwork(ctx context.Context, site string) ([]Network, error) {
var respBody struct {
Meta meta `json:"meta"`
Meta Meta `json:"meta"`
Data []Network `json:"data"`
}
err := c.do(ctx, "GET", fmt.Sprintf("s/%s/rest/networkconf", site), nil, &respBody)
err := c.Get(ctx, fmt.Sprintf("s/%s/rest/networkconf", site), nil, &respBody)
if err != nil {
return nil, err
}
@@ -452,17 +452,17 @@ func (c *Client) listNetwork(ctx context.Context, site string) ([]Network, error
func (c *Client) getNetwork(ctx context.Context, site, id string) (*Network, error) {
var respBody struct {
Meta meta `json:"meta"`
Meta Meta `json:"meta"`
Data []Network `json:"data"`
}
err := c.do(ctx, "GET", fmt.Sprintf("s/%s/rest/networkconf/%s", site, id), nil, &respBody)
err := c.Get(ctx, fmt.Sprintf("s/%s/rest/networkconf/%s", site, id), nil, &respBody)
if err != nil {
return nil, err
}
if len(respBody.Data) != 1 {
return nil, &NotFoundError{}
return nil, NotFoundError
}
d := respBody.Data[0]
@@ -470,7 +470,7 @@ func (c *Client) getNetwork(ctx context.Context, site, id string) (*Network, err
}
func (c *Client) deleteNetwork(ctx context.Context, site, id string) error {
err := c.do(ctx, "DELETE", fmt.Sprintf("s/%s/rest/networkconf/%s", site, id), struct{}{}, nil)
err := c.Delete(ctx, fmt.Sprintf("s/%s/rest/networkconf/%s", site, id), struct{}{}, nil)
if err != nil {
return err
}
@@ -479,17 +479,17 @@ func (c *Client) deleteNetwork(ctx context.Context, site, id string) error {
func (c *Client) createNetwork(ctx context.Context, site string, d *Network) (*Network, error) {
var respBody struct {
Meta meta `json:"meta"`
Meta Meta `json:"meta"`
Data []Network `json:"data"`
}
err := c.do(ctx, "POST", fmt.Sprintf("s/%s/rest/networkconf", site), d, &respBody)
err := c.Post(ctx, fmt.Sprintf("s/%s/rest/networkconf", site), d, &respBody)
if err != nil {
return nil, err
}
if len(respBody.Data) != 1 {
return nil, &NotFoundError{}
return nil, NotFoundError
}
new := respBody.Data[0]
@@ -499,17 +499,17 @@ func (c *Client) createNetwork(ctx context.Context, site string, d *Network) (*N
func (c *Client) updateNetwork(ctx context.Context, site string, d *Network) (*Network, error) {
var respBody struct {
Meta meta `json:"meta"`
Meta Meta `json:"meta"`
Data []Network `json:"data"`
}
err := c.do(ctx, "PUT", fmt.Sprintf("s/%s/rest/networkconf/%s", site, d.ID), d, &respBody)
err := c.Put(ctx, fmt.Sprintf("s/%s/rest/networkconf/%s", site, d.ID), d, &respBody)
if err != nil {
return nil, err
}
if len(respBody.Data) != 1 {
return nil, &NotFoundError{}
return nil, NotFoundError
}
new := respBody.Data[0]