Skip to content

Commit

Permalink
feat: allow arbitrary kwargs in requests
Browse files Browse the repository at this point in the history
  • Loading branch information
terra-alex committed Jun 18, 2024
1 parent 3e6f91e commit 9218b19
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
12 changes: 12 additions & 0 deletions terra/base_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ def get_activity_for_user(
end_date: typing.Optional[datetime.datetime] = None,
to_webhook: bool = True,
with_samples: bool = True,
**kwargs: typing.Any,
) -> api_responses.TerraApiResponse:
"""
Retrieves workouts/activity data for a given User object. By default, data will be asynchronously sent to registered
Expand All @@ -130,6 +131,7 @@ def get_activity_for_user(
end_date=end_date if end_date is not None else None,
to_webhook=to_webhook,
with_samples=with_samples,
**kwargs,
)

def get_body_for_user(
Expand All @@ -139,6 +141,7 @@ def get_body_for_user(
end_date: typing.Optional[datetime.datetime] = None,
to_webhook: bool = True,
with_samples: bool = True,
**kwargs: typing.Any,
) -> api_responses.TerraApiResponse:
"""
Retrieves body metrics data for a given User object. By default, data will be asynchronously sent to registered
Expand All @@ -162,6 +165,7 @@ def get_body_for_user(
end_date=end_date if end_date is not None else None,
to_webhook=to_webhook,
with_samples=with_samples,
**kwargs,
)

def get_daily_for_user(
Expand All @@ -171,6 +175,7 @@ def get_daily_for_user(
end_date: typing.Optional[datetime.datetime] = None,
to_webhook: bool = True,
with_samples: bool = True,
**kwargs: typing.Any,
) -> api_responses.TerraApiResponse:
"""
Retrieves daily summary data for a given User object. By default, data will be asynchronously sent to registered
Expand All @@ -194,6 +199,7 @@ def get_daily_for_user(
end_date=end_date if end_date is not None else None,
to_webhook=to_webhook,
with_samples=with_samples,
**kwargs,
)

def get_sleep_for_user(
Expand All @@ -203,6 +209,7 @@ def get_sleep_for_user(
end_date: typing.Optional[datetime.datetime] = None,
to_webhook: bool = True,
with_samples: bool = True,
**kwargs: typing.Any,
) -> api_responses.TerraApiResponse:
"""
Retrieves sleep data for a given User object. By default, data will be asynchronously sent to registered
Expand All @@ -226,6 +233,7 @@ def get_sleep_for_user(
end_date=end_date if end_date is not None else None,
to_webhook=to_webhook,
with_samples=with_samples,
**kwargs,
)

def get_athlete_for_user(
Expand Down Expand Up @@ -255,6 +263,7 @@ def get_menstruation_for_user(
end_date: typing.Optional[datetime.datetime] = None,
to_webhook: bool = True,
with_samples: bool = True,
**kwargs: typing.Any,
) -> api_responses.TerraApiResponse:
"""
Retrieves daily summary data for a given User object. By default, data will be asynchronously sent to registered
Expand All @@ -279,6 +288,7 @@ def get_menstruation_for_user(
end_date=end_date if end_date is not None else None,
to_webhook=to_webhook,
with_samples=with_samples,
**kwargs,
)

def get_nutrition_for_user(
Expand All @@ -288,6 +298,7 @@ def get_nutrition_for_user(
end_date: typing.Optional[datetime.datetime] = None,
to_webhook: bool = True,
with_samples: bool = True,
**kwargs: typing.Any,
) -> api_responses.TerraApiResponse:
"""
Retrieves daily summary data for a given User object. By default, data will be asynchronously sent to registered
Expand All @@ -312,6 +323,7 @@ def get_nutrition_for_user(
end_date=end_date if end_date is not None else None,
to_webhook=to_webhook,
with_samples=with_samples,
**kwargs,
)

def generate_widget_session(
Expand Down
12 changes: 12 additions & 0 deletions terra/models/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ def get_activity(
end_date: t.Optional[datetime.datetime] = None,
to_webhook: bool = True,
with_samples: bool = True,
**kwargs: t.Any,
) -> api_responses.TerraApiResponse:
"""
Retrieves workouts/activity data for a given User object. By default, data will be asynchronously sent to registered
Expand Down Expand Up @@ -113,6 +114,7 @@ def get_activity(
end_date=int(end_date.timestamp()) if end_date is not None else None,
to_webhook=to_webhook,
with_samples=with_samples,
**kwargs,
)

def get_body(
Expand All @@ -121,6 +123,7 @@ def get_body(
end_date: t.Optional[datetime.datetime] = None,
to_webhook: bool = True,
with_samples: bool = True,
**kwargs: t.Any,
) -> api_responses.TerraApiResponse:
"""
Retrieves body metrics data for a given User object. By default, data will be asynchronously sent to registered
Expand All @@ -147,6 +150,7 @@ def get_body(
end_date=int(end_date.timestamp()) if end_date is not None else None,
to_webhook=to_webhook,
with_samples=with_samples,
**kwargs,
)

def get_nutrition(
Expand All @@ -155,6 +159,7 @@ def get_nutrition(
end_date: t.Optional[datetime.datetime] = None,
to_webhook: bool = True,
with_samples: bool = True,
**kwargs: t.Any,
) -> api_responses.TerraApiResponse:
"""
Retrieves nutrition data for a given User object. By default, data will be asynchronously sent to registered
Expand All @@ -180,6 +185,7 @@ def get_nutrition(
end_date=int(end_date.timestamp()) if end_date is not None else None,
to_webhook=to_webhook,
with_samples=with_samples,
**kwargs,
)

def get_daily(
Expand All @@ -188,6 +194,7 @@ def get_daily(
end_date: t.Optional[datetime.datetime] = None,
to_webhook: bool = True,
with_samples: bool = True,
**kwargs: t.Any,
) -> api_responses.TerraApiResponse:
"""
Retrieves daily summary data for a given User object. By default, data will be asynchronously sent to registered
Expand All @@ -213,6 +220,7 @@ def get_daily(
end_date=int(end_date.timestamp()) if end_date is not None else None,
to_webhook=to_webhook,
with_samples=with_samples,
**kwargs,
)

def get_sleep(
Expand All @@ -221,6 +229,7 @@ def get_sleep(
end_date: t.Optional[datetime.datetime] = None,
to_webhook: bool = True,
with_samples: bool = True,
**kwargs: t.Any,
) -> api_responses.TerraApiResponse:
"""
Retrieves sleep data for a given User object. By default, data will be asynchronously sent to registered
Expand All @@ -247,6 +256,7 @@ def get_sleep(
end_date=int(end_date.timestamp()) if end_date is not None else None,
to_webhook=to_webhook,
with_samples=with_samples,
**kwargs,
)

def get_athlete(
Expand Down Expand Up @@ -274,6 +284,7 @@ def get_menstruation(
end_date: t.Optional[datetime.datetime] = None,
to_webhook: bool = True,
with_samples: bool = True,
**kwargs: t.Any,
) -> api_responses.TerraApiResponse:
"""
Retrieves daily summary data for a given User object. By default, data will be asynchronously sent to registered
Expand All @@ -299,4 +310,5 @@ def get_menstruation(
end_date=int(end_date.timestamp()) if end_date is not None else None,
to_webhook=to_webhook,
with_samples=with_samples,
**kwargs,
)

0 comments on commit 9218b19

Please sign in to comment.