
    h                         d dl mZm Z  d dlmZmZ d dlmZ d dlmZ ddl	m
Z
 ddlmZ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e             Zy)    )datedatetime)OptionalUnion)	dataclass)Self   )http)camel_to_snake_dictget_localized_datetime   )Datac                   |    e Zd ZU eed<   dZee   ed<   dZee   ed<   dZ	ee
   ed<   dZee   ed<   dZee   ed<   y)Scorequalifier_keyNoptimal_startoptimal_endvalueideal_start_in_secondsideal_end_in_seconds)__name__
__module____qualname__str__annotations__r   r   floatr   r   intr   r        K/var/www/html/python/myenv/lib/python3.12/site-packages/garth/data/sleep.pyr   r      sP    %)M8E?)#'K%'E8C=.2HUO2,0(5/0r   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ed<   eed<   y	)
SleepScorestotal_durationstressawake_countoverallrem_percentagerestlessnesslight_percentagedeep_percentageN)r   r   r   r   r   r   r   r    r"   r"      s0    MN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ed<   eed<   eed	<   eed
<   eed<   eed<   eed<   dZe	e   ed<   dZ
e	e   ed<   dZe	e   ed<   dZe	e   ed<   dZe	e   ed<   dZe	e   ed<   dZe	e   ed<   dZe	e   ed<   dZe	e   ed<   dZe	e   ed<   dZe	e   ed<   dZe	e   ed<   dZe	e   ed<   dZe	e   ed<   dZe	e   ed<   dZe	e   ed<   dZe	e   ed<   dZe	e   ed <   dZe	e   ed!<   dZe	e   ed"<   dZe	e   ed#<   dZ e	e   ed$<   dZ!e	e   ed%<   dZ"e	e   ed&<   e#d'e$fd(       Z%e#d'e$fd)       Z&y)*DailySleepDTOiduser_profile_pkcalendar_datesleep_time_secondsnap_time_secondssleep_window_confirmedsleep_window_confirmation_typesleep_start_timestamp_gmtsleep_end_timestamp_gmtsleep_start_timestamp_localsleep_end_timestamp_localdevice_rem_capableretroNunmeasurable_sleep_secondsdeep_sleep_secondslight_sleep_secondsrem_sleep_secondsawake_sleep_secondssleep_from_devicesleep_versionr%   sleep_scoresauto_sleep_start_timestamp_gmtauto_sleep_end_timestamp_gmtsleep_quality_type_pksleep_result_type_pkaverage_sp_o2_valuelowest_sp_o2_valuehighest_sp_o2_valueaverage_sp_o2_hr_sleepaverage_respiration_valuelowest_respiration_valuehighest_respiration_valueavg_sleep_stress	age_groupsleep_score_feedbacksleep_score_insightreturnc                 B    t        | j                  | j                        S N)r   r4   r6   selfs    r    sleep_startzDailySleepDTO.sleep_startJ   s     %**D,L,L
 	
r   c                 B    t        | j                  | j                        S rS   )r   r5   r7   rT   s    r    	sleep_endzDailySleepDTO.sleep_endP   s     %(($*H*H
 	
r   )'r   r   r   r   r   r   boolr   r:   r   r;   r<   r=   r>   r?   r@   r%   rA   r"   rB   rC   rD   rE   rF   r   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   propertyr   rV   rX   r   r   r    r,   r,   "   s   G  $''""  !$$""K044(,,)-#-'+x}+)-#-(,x~,#'M8C='!%K#%*.L(;'.48"HSM826 (3-6+/8C=/*.(3-.+/%/(,,)-#-.2HUO215x504huo415x5(,huo,#Ix}#*.(3-.)-#-
X 
 

 
8 
 
r   r,   c                   ,    e Zd ZU eed<   eed<   eed<   y)SleepMovement	start_gmtend_gmtactivity_levelN)r   r   r   r   r   r   r   r   r    r\   r\   W   s    r   r\   c                        e Zd ZU eed<   dZeee      ed<   e	dddde
eef   dedeej                     d	ee   fd
       Ze	d	ee   f fd       Z xZS )	SleepDatadaily_sleep_dtoNsleep_movement<   )buffer_minutesclientdayre   rf   rQ   c                    |xs t         j                  }d|j                   d| d| }|j                  |      }|sJ t	        |      }t        |t              sJ |d   d   r | di |S d S )Nz*/wellness-service/wellness/dailySleepData/z?nonSleepBufferMinutes=z&date=rb   r-   r   )r
   rf   username
connectapir   
isinstancedict)clsrg   re   rf   path
sleep_datas         r    getzSleepData.getc   s     &4;;88I J%%3$4F3%A 	 &&t,
z(4
*d+++!+,=!>t!DC*	
JN	
r   c                 >    t        |   |i |}t        |d       S )Nc                 .    | j                   j                  S rS   )rb   r/   )xs    r    <lambda>z SleepData.list.<locals>.<lambda>{   s    !*;*;*I*I r   )key)superlistsorted)rm   argskwargsdata	__class__s       r    rw   zSleepData.listx   s$    w|T,V,d IJJr   )r   r   r   r,   r   rc   r   rw   r\   classmethodr   r   r   r   r
   Clientr   rp   __classcell__)r|   s   @r    ra   ra   ^   s    ""48NHT-018
 !(,
49
 	

 %
 
$
 
( Kd4j K Kr   ra   N)r   r   typingr   r   pydantic.dataclassesr   typing_extensionsr    r
   utilsr   r   _baser   r   r"   r,   r\   ra   r   r   r    <module>r      s    # " * "  ?  1 1 1    1
 1
 1
h    K K Kr   