with garth

This commit is contained in:
2025-08-28 09:58:24 -07:00
parent dc5bfcb281
commit 73258c0b41
31 changed files with 983 additions and 738 deletions

View File

@@ -10,25 +10,22 @@ import (
func (c *Client) GetBodyComposition(ctx context.Context, req BodyCompositionRequest) ([]BodyComposition, error) {
// Validate date range
if req.StartDate.IsZero() || req.EndDate.IsZero() || req.StartDate.After(req.EndDate) {
return nil, fmt.Errorf("invalid date range: start %s to end %s",
req.StartDate.Format("2006-01-02"),
return nil, fmt.Errorf("invalid date range: start %s to end %s",
req.StartDate.Format("2006-01-02"),
req.EndDate.Format("2006-01-02"))
}
// Build URL with query parameters
u := c.baseURL.ResolveReference(&url.URL{
Path: "/body-composition",
RawQuery: fmt.Sprintf("startDate=%s&endDate=%s",
req.StartDate.Format("2006-01-02"),
req.EndDate.Format("2006-01-02"),
),
})
// Build query parameters
params := url.Values{}
params.Add("startDate", req.StartDate.Format("2006-01-02"))
params.Add("endDate", req.EndDate.Format("2006-01-02"))
path := fmt.Sprintf("/body-composition?%s", params.Encode())
// Execute GET request
var results []BodyComposition
err := c.Get(ctx, u.String(), &results)
err := c.Get(ctx, path, &results)
if err != nil {
return nil, err
return nil, fmt.Errorf("failed to get body composition: %w", err)
}
return results, nil