Package app: Wrap oauth2.TokenSource to ensure datastore is always updated.
[kraftakt.git] / fitbit / fitbit.go
index 6f15027..81d4ebc 100644 (file)
@@ -123,19 +123,19 @@ type Client struct {
 }
 
 func NewClient(ctx context.Context, fitbitUserID string, u *app.User) (*Client, error) {
-       tok, err := u.Token(ctx, "Fitbit")
-       if err != nil {
-               return nil, err
-       }
-
        if fitbitUserID == "" {
                fitbitUserID = "-"
        }
 
+       c, err := u.OAuthClient(ctx, "Fitbit", oauth2Config)
+       if err != nil {
+               return nil, err
+       }
+
        return &Client{
                fitbitUserID: fitbitUserID,
                appUser:      u,
-               client:       oauth2Config.Client(ctx, tok),
+               client:       c,
        }, nil
 }