
    =[jv                        d Z ddlmZ ddlmZ ddlmZmZmZmZm	Z	 ddl
mZ ddlmZ erddl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dS )z'High-level Notes data transfer objects.    )annotations)datetime)TYPE_CHECKINGIteratorListLiteralOptional)computed_field)FrozenServiceModel   )NotesServicec                  d    e Zd ZU dZded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   dS )NoteSummaryz2Lightweight metadata returned by list/search APIs.stridOptional[str]titlesnippetzOptional[datetime]modified_at	folder_idfolder_namebool
is_deleted	is_lockedN)__name__
__module____qualname____doc____annotations__     j/home/thesage/.hermes/hermes-agent/venv/lib/python3.11/site-packages/pyicloud/services/notes/models/dto.pyr   r      sp         <<GGG####OOOOOr!   r   c                  p    e Zd ZU dZded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ddZddddZdS )
AttachmentzMetadata for a note attachment.r   r   r   filenameutiOptional[int]sizedownload_urlpreview_urlthumbnail_url	directoryservice'NotesService'returnc               .    |                     | |          S )zDDownload the attachment to ``directory`` using the provided service.)_download_attachment_to)selfr,   r-   s      r"   save_tozAttachment.save_to(   s     ..tY???r!   i   
chunk_sizer5   intIterator[bytes]c             #  D   K   |                     | |          E d{V  dS )z@Yield the attachment bytes in chunks using the provided service.r4   N)_stream_attachment)r2   r-   r5   s      r"   streamzAttachment.stream-   s9      
 --dz-JJJJJJJJJJJr!   N)r,   r   r-   r.   r/   r   )r-   r.   r5   r6   r/   r7   )r   r   r   r   r   r3   r:   r    r!   r"   r$   r$      s         ))GGG    @ @ @ @ =CK K K K K K K Kr!   r$   c                  ^    e Zd ZU dZded<   dZded<   ded<   eedd
                        ZdS )Notez3Full note payload returned by ``NotesService.get``.r   textNhtmlzOptional[List[Attachment]]attachmentsr/   Optional[bool]c                <    | j         dS t          | j                   S )zKReturn ``True``/``False`` when attachments were loaded, otherwise ``None``.N)r?   r   )r2   s    r"   has_attachmentszNote.has_attachments<   s#     #4D$%%%r!   )r/   r@   )	r   r   r   r   r   r>   r
   propertyrB   r    r!   r"   r<   r<   5   sm         ==D++++& & & X ^& & &r!   r<   c                  8    e Zd ZU ded<   ded<   ded<   ded<   d	S )

NoteFolderr   r   r   namer@   has_subfoldersr'   countNr   r   r   r   r    r!   r"   rE   rE   E   s?         GGG""""r!   rE   c                  $    e Zd ZU ded<   ded<   dS )ChangeEventzLiteral['updated', 'deleted']typer   noteNrI   r    r!   r"   rK   rK   L   s*         ''''r!   rK   N)r   
__future__r   r   typingr   r   r   r   r	   pydanticr
   pyicloud.common.modelsr   r-   r   r   r$   r<   rE   rK   r    r!   r"   <module>rR      s   - - " " " " " "       C C C C C C C C C C C C C C # # # # # # 5 5 5 5 5 5 '&&&&&&
 
 
 
 
$ 
 
 
K K K K K# K K K0& & & & &; & & &     #       $     r!   