an updated and hopefully faster version of the ST Toolbox
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

41 lines
1.0 KiB

package api
import (
"bytes"
"encoding/json"
"fmt"
"io"
"marmic/servicetrade-toolbox/internal/auth"
)
func GetDeficiencyById(session *auth.Session, deficiencyId string) (map[string]interface{}, error) {
url := fmt.Sprintf("%s/deficiency/%s", BaseURL, deficiencyId)
req, err := AuthenticatedRequest(session, "GET", url, nil)
if err != nil {
return nil, fmt.Errorf("error creating request: %v", err)
}
resp, err := DoAuthenticatedRequest(session, req)
if err != nil {
return nil, fmt.Errorf("error sending request: %v", err)
}
defer resp.Body.Close()
if resp.StatusCode != 200 {
return nil, fmt.Errorf("API request failed with status code: %d", resp.StatusCode)
}
body, err := io.ReadAll(resp.Body)
if err != nil {
return nil, fmt.Errorf("error reading response body: %v", err)
}
var result map[string]interface{}
d := json.NewDecoder(bytes.NewReader(body))
d.UseNumber()
if err := d.Decode(&result); err != nil {
return nil, fmt.Errorf("error decoding response: %v", err)
}
return result, nil
}