
    =[jd                        d Z ddlmZ ddlmZ ddlmZmZ ddlmZ ddl	m
Z
mZ  G d de          Z G d	 d
e
          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          ZdS )z8Domain models for reminders and related data structures.    )datetime)IntEnum)LiteralOptional)Field)FrozenServiceModelMutableServiceModelc                      e Zd ZU dZeed<   eed<   eed<   dZeed<   dZ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d<   dZeed<   dZeed<   dZeed<   d	Ze
e         ed<    ee          Zee         ed<    ee          Zee         ed<    ee          Zee         ed<    ee          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	S )Reminderz=A reminder in a reminders list with metadata and related IDs.idlist_idtitle descF	completedNcompleted_datedue_date
start_dater   priorityflaggedall_daydeleted	time_zonedefault_factory	alarm_idshashtag_idsattachment_idsrecurrence_rule_idsparent_reminder_idcreatedmodifiedrecord_change_tag)__name__
__module____qualname____doc__str__annotations__r   r   boolr   r   r   r   r   r   intr   r   r   r   r   listr   r   r   r   r    r!   r"   r#        q/home/thesage/.hermes/hermes-agent/venv/lib/python3.11/site-packages/pyicloud/services/reminders/models/domain.pyr   r      s        GGGGGLLLJJJD#NNNIt)-NHX&---#'Hhx '''%)J")))HcGTGTGT#Ix}### 5666ItCy666"U4888Kc888 %d ; ; ;NDI;;;%*U4%@%@%@c@@@(,,,,"&GXh&&&#'Hhx ''''+x}+++++r.   r   c                   N    e Zd ZU dZed         ed<   eed<   dZee	         ed<   dS )ReminderChangeEventz@Incremental reminder change event emitted by ``iter_changes()``.)updatedr   typereminder_idNreminder)
r$   r%   r&   r'   r   r)   r(   r5   r   r   r-   r.   r/   r1   r1   &   sK         JJ
&
''''#'Hhx '''''r.   r1   c                       e Zd ZU dZeed<   eed<   dZee         ed<   dZe	ed<   dZ
ee         ed<   dZee         ed	<   d
Zeed<    ee          Zee         ed<   dZee         ed<   dZee         ed<   dS )RemindersListz-A collection of reminders with list metadata.r   r   Ncolorr   countbadge_emblemsorting_styleFis_groupr   reminder_idsguidr#   )r$   r%   r&   r'   r(   r)   r8   r   r9   r+   r:   r;   r<   r*   r   r,   r=   r>   r#   r-   r.   r/   r7   r7   .   s         77GGGJJJE8C=E3NNN"&L(3-&&&#'M8C='''Hd#eD999L$s)999D(3-'+x}+++++r.   r7   c                   V    e Zd ZU dZeed<   eed<   eed<   eed<   dZee         ed<   dS )Alarmz?Container for alarm triggers, referenced by Reminder.alarm_ids.r   	alarm_uidr4   
trigger_idNr#   )r$   r%   r&   r'   r(   r)   r#   r   r-   r.   r/   r@   r@   @   sT         IIGGGNNNOOO'+x}+++++r.   r@   c                       e Zd ZdZdZdZdS )	ProximityzGeofence proximity direction.      N)r$   r%   r&   r'   ARRIVINGLEAVINGr-   r.   r/   rD   rD   J   s        ''HGGGr.   rD   c                       e Zd ZU dZeed<   eed<   dZeed<   dZeed<   dZe	ed<   dZ
e	ed	<    edd
          Ze	ed<   ej        Zeed<   dZeed<   dZee         ed<   dS )LocationTriggerz(Location-based alarm trigger (geofence).r   alarm_idr   r   addressg        latitude	longitudedefaultgeradius	proximitylocation_uidNr#   )r$   r%   r&   r'   r(   r)   r   rL   rM   floatrN   r   rR   rD   rG   rS   rT   r#   r   r-   r.   r/   rJ   rJ   Q   s         22GGGMMME3OOOGSHeIuE##...FE...$-Iy---L#'+x}+++++r.   rJ   c                   ^    e Zd ZU dZeed<   eed<   dZeed<   dZeed<   dZe	e         ed	<   dS )
URLAttachmentzURL attachment on a reminder.r   r4   r   urlz
public.urlutiNr#   )
r$   r%   r&   r'   r(   r)   rX   rY   r#   r   r-   r.   r/   rW   rW   c   s_         ''GGGCMMMC'+x}+++++r.   rW   c                       e Zd ZU dZeed<   eed<   dZeed<   dZeed<    edd          Z	e
ed	<    edd          Ze
ed
<    edd          Ze
ed<   dZeed<   dZee         ed<   dS )ImageAttachmentzImage attachment on a reminder.r   r4   r   file_asset_urlfilenamer   rO   	file_sizewidthheightzpublic.jpegrY   Nr#   )r$   r%   r&   r'   r(   r)   r\   r]   r   r^   r+   r_   r`   rY   r#   r   r-   r.   r/   r[   r[   m   s         ))GGGNCHcU1+++Is+++qQ'''E3'''%a(((FC(((C'+x}+++++r.   r[   c                   f    e Zd ZU dZeed<   eed<   eed<   dZee         ed<   dZ	ee         ed<   dS )HashtagzTag associated with a reminder.r   namer4   Nr!   r#   )
r$   r%   r&   r'   r(   r)   r!   r   r   r#   r-   r.   r/   rb   rb   ~   s`         ))GGG
III"&GXh&&&'+x}+++++r.   rb   c                   "    e Zd ZdZdZdZdZdZdS )RecurrenceFrequencyzRecurrence frequency type.rE   rF         N)r$   r%   r&   r'   DAILYWEEKLYMONTHLYYEARLYr-   r.   r/   re   re      s(        $$EFGFFFr.   re   c                       e Zd ZU dZeed<   eed<   ej        Zeed<    e	dd          Z
eed<    e	dd          Zeed	<    e	ddd
          Zeed<   dZee         ed<   dS )RecurrenceRulez)Recurrence rule for a repeating reminder.r   r4   	frequencyrE   rO   intervalr   occurrence_count   )rP   rQ   lefirst_day_of_weekNr#   )r$   r%   r&   r'   r(   r)   re   rh   rn   r   ro   r+   rp   rs   r#   r   r-   r.   r/   rm   rm      s         33GGG%8%>I">>>E!***Hc***!E!222c222"U1q999s999'+x}+++++r.   rm   N)r'   r   enumr   typingr   r   pydanticr   pyicloud.common.modelsr   r	   r   r1   r7   r@   rD   rJ   rW   r[   rb   re   rm   r-   r.   r/   <module>rx      sR   > >             $ $ $ $ $ $ $ $       J J J J J J J J, , , , ," , , ,4( ( ( ( (, ( ( (, , , , ,' , , ,$, , , , , , , ,       , , , , ,) , , ,$, , , , ,' , , ,, , , , ,) , , ,", , , , ,! , , ,    '   	, 	, 	, 	, 	,( 	, 	, 	, 	, 	,r.   