ScuttleBot
merge main into feature/104-scuttlectl-topology
Commit
905bc247878d22458436a08b03769a3daecc6f8ccead8f439ee9316e9123aee6
Parent
38781b672358eee…
1 file changed
+31
| --- cmd/scuttlectl/internal/apiclient/apiclient.go | ||
| +++ cmd/scuttlectl/internal/apiclient/apiclient.go | ||
| @@ -157,10 +157,41 @@ | ||
| 157 | 157 | // RevokeAPIKey sends DELETE /v1/api-keys/{id}. |
| 158 | 158 | func (c *Client) RevokeAPIKey(id string) error { |
| 159 | 159 | _, err := c.doNoBody("DELETE", "/v1/api-keys/"+id) |
| 160 | 160 | return err |
| 161 | 161 | } |
| 162 | + | |
| 163 | +// GetTopology returns GET /v1/topology. | |
| 164 | +func (c *Client) GetTopology() (json.RawMessage, error) { | |
| 165 | + return c.get("/v1/topology") | |
| 166 | +} | |
| 167 | + | |
| 168 | +// ProvisionChannel sends POST /v1/channels. | |
| 169 | +func (c *Client) ProvisionChannel(name string) (json.RawMessage, error) { | |
| 170 | + return c.post("/v1/channels", map[string]string{"name": name}) | |
| 171 | +} | |
| 172 | + | |
| 173 | +// DropChannel sends DELETE /v1/topology/channels/{channel}. | |
| 174 | +func (c *Client) DropChannel(channel string) error { | |
| 175 | + _, err := c.doNoBody("DELETE", "/v1/topology/channels/"+strings.TrimPrefix(channel, "#")) | |
| 176 | + return err | |
| 177 | +} | |
| 178 | + | |
| 179 | +// GetConfig returns GET /v1/config. | |
| 180 | +func (c *Client) GetConfig() (json.RawMessage, error) { | |
| 181 | + return c.get("/v1/config") | |
| 182 | +} | |
| 183 | + | |
| 184 | +// GetConfigHistory returns GET /v1/config/history. | |
| 185 | +func (c *Client) GetConfigHistory() (json.RawMessage, error) { | |
| 186 | + return c.get("/v1/config/history") | |
| 187 | +} | |
| 188 | + | |
| 189 | +// GetSettings returns GET /v1/settings. | |
| 190 | +func (c *Client) GetSettings() (json.RawMessage, error) { | |
| 191 | + return c.get("/v1/settings") | |
| 192 | +} | |
| 162 | 193 | |
| 163 | 194 | // SetAdminPassword sends PUT /v1/admins/{username}/password. |
| 164 | 195 | func (c *Client) SetAdminPassword(username, password string) error { |
| 165 | 196 | _, err := c.put("/v1/admins/"+username+"/password", map[string]string{"password": password}) |
| 166 | 197 | return err |
| 167 | 198 |
| --- cmd/scuttlectl/internal/apiclient/apiclient.go | |
| +++ cmd/scuttlectl/internal/apiclient/apiclient.go | |
| @@ -157,10 +157,41 @@ | |
| 157 | // RevokeAPIKey sends DELETE /v1/api-keys/{id}. |
| 158 | func (c *Client) RevokeAPIKey(id string) error { |
| 159 | _, err := c.doNoBody("DELETE", "/v1/api-keys/"+id) |
| 160 | return err |
| 161 | } |
| 162 | |
| 163 | // SetAdminPassword sends PUT /v1/admins/{username}/password. |
| 164 | func (c *Client) SetAdminPassword(username, password string) error { |
| 165 | _, err := c.put("/v1/admins/"+username+"/password", map[string]string{"password": password}) |
| 166 | return err |
| 167 |
| --- cmd/scuttlectl/internal/apiclient/apiclient.go | |
| +++ cmd/scuttlectl/internal/apiclient/apiclient.go | |
| @@ -157,10 +157,41 @@ | |
| 157 | // RevokeAPIKey sends DELETE /v1/api-keys/{id}. |
| 158 | func (c *Client) RevokeAPIKey(id string) error { |
| 159 | _, err := c.doNoBody("DELETE", "/v1/api-keys/"+id) |
| 160 | return err |
| 161 | } |
| 162 | |
| 163 | // GetTopology returns GET /v1/topology. |
| 164 | func (c *Client) GetTopology() (json.RawMessage, error) { |
| 165 | return c.get("/v1/topology") |
| 166 | } |
| 167 | |
| 168 | // ProvisionChannel sends POST /v1/channels. |
| 169 | func (c *Client) ProvisionChannel(name string) (json.RawMessage, error) { |
| 170 | return c.post("/v1/channels", map[string]string{"name": name}) |
| 171 | } |
| 172 | |
| 173 | // DropChannel sends DELETE /v1/topology/channels/{channel}. |
| 174 | func (c *Client) DropChannel(channel string) error { |
| 175 | _, err := c.doNoBody("DELETE", "/v1/topology/channels/"+strings.TrimPrefix(channel, "#")) |
| 176 | return err |
| 177 | } |
| 178 | |
| 179 | // GetConfig returns GET /v1/config. |
| 180 | func (c *Client) GetConfig() (json.RawMessage, error) { |
| 181 | return c.get("/v1/config") |
| 182 | } |
| 183 | |
| 184 | // GetConfigHistory returns GET /v1/config/history. |
| 185 | func (c *Client) GetConfigHistory() (json.RawMessage, error) { |
| 186 | return c.get("/v1/config/history") |
| 187 | } |
| 188 | |
| 189 | // GetSettings returns GET /v1/settings. |
| 190 | func (c *Client) GetSettings() (json.RawMessage, error) { |
| 191 | return c.get("/v1/settings") |
| 192 | } |
| 193 | |
| 194 | // SetAdminPassword sends PUT /v1/admins/{username}/password. |
| 195 | func (c *Client) SetAdminPassword(username, password string) error { |
| 196 | _, err := c.put("/v1/admins/"+username+"/password", map[string]string{"password": password}) |
| 197 | return err |
| 198 |