Write step count summary to Google Fit.
[kraftakt.git] / gfitsync.go
index 2bc3b73..22f4c56 100644 (file)
@@ -218,21 +218,31 @@ func handleNotification(ctx context.Context, s *fitbit.Subscription) error {
        if err != nil {
                return err
        }
-       c, err := fitbit.NewClient(ctx, s.OwnerID, u)
+
+       tm, err := time.Parse("2006-01-02", s.Date)
        if err != nil {
                return err
        }
 
-       tm, err := time.Parse("2006-01-02", s.Date)
+       fitbitClient, err := fitbit.NewClient(ctx, s.OwnerID, u)
        if err != nil {
                return err
        }
 
-       summary, err := c.ActivitySummary(tm)
+       summary, err := fitbitClient.ActivitySummary(tm)
        if err != nil {
                return err
        }
-
        log.Debugf(ctx, "ActivitySummary for %s = %+v", u.Email, summary)
+
+       gfitClient, err := gfit.NewClient(ctx, u)
+       if err != nil {
+               return err
+       }
+
+       if err := gfitClient.SetSteps(ctx, summary.Summary.Steps, tm); err != nil {
+               return fmt.Errorf("gfitClient.SetSteps(%d) = %v", summary.Summary.Steps, err)
+       }
+
        return nil
 }