Bläddra i källkod

Add GetOperators client API

Andrea Fazzi 3 år sedan
förälder
incheckning
22bac6bd30
1 ändrade filer med 25 tillägg och 0 borttagningar
  1. 25 0
      client/client.go

+ 25 - 0
client/client.go

@@ -367,6 +367,31 @@ func (c *Client) GetClasses() ([]*orm.Class, error) {
 	return classes, nil
 }
 
+func (c *Client) GetOperators() ([]*orm.Operator, error) {
+	var (
+		response  renderer.JsonResponse
+		operators []*orm.Operator
+	)
+
+	data, err := c.SendRequest("GET", "/api/operators?format=json", nil)
+	if err != nil {
+		return nil, err
+	}
+
+	if err := json.Unmarshal(data, &response); err != nil {
+		return nil, err
+	}
+
+	if string(response.Error) != "" {
+		return nil, errors.New(string(response.Error))
+	}
+
+	if err := json.Unmarshal(response.Result, &operators); err != nil {
+		return nil, err
+	}
+	return operators, nil
+}
+
 func (c *Client) GetClass(id uint) (*orm.Class, error) {
 	var (
 		response renderer.JsonResponse