-
Notifications
You must be signed in to change notification settings - Fork 47
Open
Description
from datetime import date, datetime, timedelta, timezone
from typing import List, Optional, Union
from pydantic.dataclasses import dataclass
from garth import http
from garth.utils import camel_to_snake_dict
from garth.data._base import Data
@dataclass(frozen=True)
class RestingHeartRate(Data):
user_profile_pk: int
calendar_date: str
start_timestamp_gmt: str
end_timestamp_gmt: str
start_timestamp_local: str
end_timestamp_local: str
max_heart_rate: int
min_heart_rate: int
resting_heart_rate: int
last_seven_days_avg_resting_heart_rate: int
heart_rate_value_descriptors: List
heart_rate_values: List
@classmethod
def get(
cls,
day: Union[date, str],
*,
buffer_minutes: int = 60,
client: Optional[http.Client] = None,
) -> Optional["SleepData"]:
client = client or http.client
path = (f"/wellness-service/wellness/dailyHeartRate/?date={day}")
sleep_data = client.connectapi(path)
assert sleep_data
sleep_data = camel_to_snake_dict(sleep_data)
assert isinstance(sleep_data, dict)
return (
cls(**sleep_data)
)
Metadata
Metadata
Assignees
Labels
No labels