
     ni                     z    d Z ddlmZmZ ddlmZmZmZmZ ddl	m
Z
mZ  G d de
          Z G d de
          Zd	S )
z7
Pydantic models for exercise activities and workouts.
    )datetimedate)OptionalListDictAny)	BaseModelFieldc                      e Zd ZU dZ edd          Zeed<    edd          Zeed<    edd	
          Z	e
e         ed<    edd          Zeed<    edd
          Ze
e         ed<    edd
          Ze
e         ed<    edd
          Ze
e         ed<    edd
          Ze
e         ed<    edd
          Ze
e         ed<    edd
          Ze
e         ed<    edd
          Ze
e         ed<    edd
          Ze
e         ed<    edd
          Ze
e         ed<    edd 
          Ze
e         ed!<    edd"
          Ze
e         ed#<    edd$
          Ze
e         ed%<    edd&
          Ze
e         ed'<    edd(
          Ze
e         ed)<    edd*
          Ze
e         ed+<    edd,
          Ze
e         ed-<    edd.
          Z e
e!ee"f                  ed/<   dS )0ActivityzExercise activity summary..zUnique activity IDdescriptionactivity_idz)Type of activity (running, cycling, etc.)activity_typeNzActivity namedefaultr   activity_namezDate of the activityr   zActivity start time
start_timezActivity duration in secondsduration_secondszDistance covered in metersdistance_meterszElevation gain in meterselevation_gain_meterszElevation loss in meterselevation_loss_meterszCalories burnedcalorieszAverage heart rate in bpmaverage_heart_ratezMaximum heart rate in bpmmax_heart_ratez"Average speed in meters per secondaverage_speed_mpsz"Maximum speed in meters per secondmax_speed_mpsz%Average pace in minutes per kilometeraverage_pace_min_per_kmz"Average cadence (steps/min or rpm)average_cadencezAerobic training effecttraining_effectzAnaerobic training effectanaerobic_training_effectzLocation of the activitylocation_namezActivity descriptionr   Raw API responseraw_data)#__name__
__module____qualname____doc__r
   r   str__annotations__r   r   r   r   	date_typer   r   r   floatr   r   r   r   intr   r   r   r   r   r   r    r!   r"   r   r$   r   r        //root/projects/butler/health/models/activity.pyr   r   
   s        $$uS.BCCCKCCCs0[\\\M3\\\#(5?#S#S#SM8C=SSSeC-CDDDD)DDD%*U4EZ%[%[%[J"[[[(-"@) ) )huo    (-u">( ( (OXe_    .3U"<. . .8E?    .3U"<. . .8E?    $eD>OPPPHhsmPPP(-"=) ) )    %*E"=% % %NHSM    */"F* * *x    &+U"F& & &M8E?    05u"I0 0 0Xe_    (-u"F( ( (OXe_    (-u";( ( (OXe_    27"=2 2 2x    $)5"<$ $ $M8C=    "'"8" " "K#    */"4* * *HhtCH~&     r/   r   c                      e Zd ZU dZ edd          Zeed<    edd          Ze	ed<    edd	
          Z
eeeeef                           ed<    edd
          Zeeeeef                           ed<    edd
          Zeeeeef                           ed<    edd
          Zee         ed<    edd
          Zeeeef                  ed<   dS )ActivityDetailz1Detailed activity data including splits and laps..zActivity IDr   r   zActivity summarysummaryNzLap datar   lapsz
Split datasplitsz%Time-series samples (HR, speed, etc.)samplesz	Gear usedgearr#   r$   )r%   r&   r'   r(   r
   r   r)   r*   r3   r   r4   r   r   r   r   r5   r6   r7   r$   r.   r/   r0   r2   r2   B   sy        ;;uSm<<<K<<<c/ABBBGXBBB+05*, , ,D(4S#X'
(    .3U,. . .FHT$sCx.)*    /4e"I/ / /GXd4S>*+     %+FFFD(3-FFF)."4* * *HhtCH~&     r/   r2   N)r(   r   r   r+   typingr   r   r   r   pydanticr	   r
   r   r2   r.   r/   r0   <module>r:      s     1 0 0 0 0 0 0 0 , , , , , , , , , , , , % % % % % % % %5 5 5 5 5y 5 5 5p    Y     r/   