
    h
                        d dl mZ d dlmZ d dlmZ d dlmZ ddlm	Z	 ddl
mZ e G d d	             Ze G d
 d             Ze G d d             Ze G d d             Ze G d d             Ze G d d             Ze G d d             Zy)    )date)Dict)	dataclass)Self   )http)camel_to_snake_dictc                   P    e Zd ZU eed<   eed<   eed<   eed<   eed<   edz  ed<   y)PowerFormat	format_id
format_keymin_fractionmax_fractiongrouping_usedNdisplay_format__name__
__module____qualname__int__annotations__strbool     O/var/www/html/python/myenv/lib/python3.12/site-packages/garth/users/settings.pyr   r      s(    NO$Jr   r   c                   6    e Zd ZU eed<   eed<   eed<   eed<   y)FirstDayOfWeekday_idday_name
sort_orderis_possible_first_dayNr   r   r   r   r   r      s    KMOr   r   c                   n    e Zd ZU edz  ed<   edz  ed<   edz  ed<   edz  ed<   edz  ed<   edz  ed<   y)WeatherLocationNuse_fixed_locationlatitude	longitudelocation_nameiso_country_codepostal_code)r   r   r   r   r   floatr   r   r   r   r$   r$      s>    t#dlt|:Dj tr   r$   c                      e Zd ZU eed<   eed<   eed<   eed<   eed<   eed<   edz  ed<   eed	<   eed
<   eed<   eed<   edz  ed<   edz  ed<   edz  ed<   edz  ed<   e	dz  ed<   eed<   e	ed<   e	ed<   eed<   e
eeeez  dz  f      ed<   eed<   edz  ed<   e	dz  ed<   e	dz  ed<   eed<   edz  ed<   edz  ed<   edz  ed<   edz  ed<   edz  ed <   edz  ed!<   edz  ed"<   y)#UserDatagenderweightheighttime_format
birth_datemeasurement_systemNactivity_level
handednesspower_formatheart_rate_formatfirst_day_of_weekvo_2_max_runningvo_2_max_cyclinglactate_threshold_speedlactate_threshold_heart_ratedive_numberintensity_minutes_calc_method"moderate_intensity_minutes_hr_zone"vigorous_intensity_minutes_hr_zonehydration_measurement_unithydration_containershydration_auto_goal_enabledfirstbeat_max_stress_scorefirstbeat_cycling_lt_timestampfirstbeat_running_lt_timestamp"threshold_heart_rate_auto_detectedftp_auto_detectedtraining_status_paused_dateweather_locationgolf_distance_unitgolf_elevation_unitgolf_speed_unitexternal_bottom_time)r   r   r   r   r   r+   r   r   r   r   listr   r   r$   r   r   r   r-   r-   '   s   KMM$JO""%%dl"dl""T\)"'$,.t#&&(++(++ ##tCt);$;<==!%% %,$'$J.$'$J.(,,d{"!$t+%,,d
"t#4Z$,&r   r-   c                   6    e Zd ZU eed<   eed<   eed<   eed<   y)	UserSleep
sleep_timedefault_sleep_time	wake_timedefault_wake_timeN)r   r   r   r   r   r   r   r   r   rQ   rQ   L   s    ONr   rQ   c                   ,    e Zd ZU eed<   eed<   eed<   y)UserSleepWindowsleep_window_frequency&start_sleep_time_seconds_from_midnight$end_sleep_time_seconds_from_midnightN)r   r   r   r   r   r   r   r   r   rW   rW   T   s    ,//*--r   rW   c                       e Zd ZU eed<   eed<   eed<   edz  ed<   edz  ed<   dZe	e
   dz  ed<   eddej                  dz  d	efd
       Zy)UserSettingsid	user_data
user_sleepNconnect_datesource_typeuser_sleep_windowsclientreturnc                    |xs t         j                  }|j                  d      }t        |t              sJ t        |      } | di |S )Nz./userprofile-service/userprofile/user-settingsr   )r   rc   
connectapi
isinstancedictr	   )clsrc   settingsdatas       r   getzUserSettings.getd   sK    &4;;$$<
 (D)))"8,{T{r   )N)r   r   r   r   r   r-   rQ   r   rb   rO   rW   classmethodr   Clientr   rl   r   r   r   r\   r\   [   se    G*t7;_-4;DKK$. $  r   r\   N)datetimer   typingr   pydantic.dataclassesr   typing_extensionsr    r   utilsr	   r   r   r$   r-   rQ   rW   r\   r   r   r   <module>ru      s      * "  '             !' !' !'H    . . .   r   