o
    <i                  
   @   s  U d dl mZmZmZmZmZmZ d dlmZm	Z	m
Z
 d dlmZmZ ddlmZmZmZmZmZmZmZmZ G dd deZG dd	 d	eZG d
d deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZ G dd deZ!G dd deZ"G dd deZ#G d d! d!eZ$G d"d# d#eZ%G d$d% d%eZ&G d&d' d'eZ'G d(d) d)eZ(G d*d+ d+eZ)G d,d- d-eZ*G d.d/ d/eZ+ee ee"e&e(e)e%e*e+f	 Z,ee-d0< e
e,Z.e
e, e-d1< eee"e&e'e$f Z/ee-d2< d3S )4    )AnyListLiteralMappingOptionalUnion)	BaseModelFieldTypeAdapter)	TypeAlias	TypedDict   )BroadcastPayloadChannelEventsPostgresChangesDataPostgresChangesPayloadRawPresenceDiffRawPresenceStateRealtimeChannelOptions"RealtimePostgresChangesListenEventc                   @   sR   e Zd ZU dZeed< eeef ed< eed< dZe	e ed< dZ
e	e ed< dS )Messagez+
    Dataclass abstraction for message
    eventpayloadtopicNrefjoin_ref)__name__
__module____qualname____doc__str__annotations__r   r   r   r   r    r"   r"   M/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/realtime/message.pyr      s   
 r   c                   @   s4   e Zd ZU eej ed< eed< eed< eed< dS )JoinMessager   r   r   r   N)	r   r   r   r   r   joinr!   r    r   r"   r"   r"   r#   r$      s
   
 r$   c                   @   sV   e Zd ZU eed< eed< dZee ed< e	dddZ
ee ed< dZee ed< dS )	PostgresRowChangeidr   Ntableschema)aliasdefaultschema_filter)r   r   r   intr!   r   r(   r   r    r	   r,   r-   r"   r"   r"   r#   r&   %   s   
 r&   c                   @   s"   e Zd ZU dZeee  ed< dS )ReplyPostgresChangesNpostgres_changes)r   r   r   r0   r   r   r&   r!   r"   r"   r"   r#   r/   -   s   
 r/   c                   @   s"   e Zd ZU ed ed< eed< dS )SuccessReplyMessageokstatusresponseN)r   r   r   r   r!   r/   r"   r"   r"   r#   r1   1   s   
 r1   c                   @   s*   e Zd ZU ed ed< eeef ed< dS )ErrorReplyMessageerrorr3   r4   N)r   r   r   r   r!   dictr    r   r"   r"   r"   r#   r5   6   s   
 r5   c                   @   s@   e Zd ZU eej ed< eed< ee	e
f ed< ee ed< dS )ReplyMessager   r   r   r   N)r   r   r   r   r   replyr!   r    r   r1   r5   r   r"   r"   r"   r#   r8   ;   
   
 r8   c                   @   2   e Zd ZU eed< eed< eed< ed ed< dS )SuccessSystemPayloadchannel	extensionmessager2   r3   Nr   r   r   r    r!   r   r"   r"   r"   r#   r<   B   
   
 r<   c                   @   r;   )ErrorSystemPayloadr=   r>   r?   r6   r3   Nr@   r"   r"   r"   r#   rB   I   rA   rB   c                   @   s@   e Zd ZU eej ed< eed< ee	e
f ed< ed ed< dS )SystemMessager   r   r   Nr   )r   r   r   r   r   systemr!   r    r   r<   rB   r"   r"   r"   r#   rC   P   r:   rC   c                   @   s   e Zd ZdS )HeartbeatPayloadN)r   r   r   r"   r"   r"   r#   rE   W   s    rE   c                   @   s8   e Zd ZU eej ed< ed ed< eed< eed< dS )HeartbeatMessager   phoenixr   r   r   N)	r   r   r   r   r   	heartbeatr!   r    rE   r"   r"   r"   r#   rF   [   s
   
 rF   c                   @   s   e Zd ZU eed< dS )AccessTokenPayloadaccess_tokenN)r   r   r   r    r!   r"   r"   r"   r#   rI   b   s   
 rI   c                   @   8   e Zd ZU eej ed< eed< eed< ed ed< dS )AccessTokenMessager   r   r   Nr   )	r   r   r   r   r   rJ   r!   r    rI   r"   r"   r"   r#   rL   f   
   
 rL   c                   @   rK   )PostgresChangesMessager   r   r   Nr   )	r   r   r   r   r   r0   r!   r    r   r"   r"   r"   r#   rN   m   rM   rN   c                   @   rK   )BroadcastMessager   r   r   Nr   )	r   r   r   r   r   	broadcastr!   r    r   r"   r"   r"   r#   rO   t   rM   rO   c                   @   s@   e Zd ZU eej ed< eed< eee	f ed< ed ed< dS )PresenceMessager   r   r   Nr   )
r   r   r   r   r   presencer!   r    r7   r   r"   r"   r"   r#   rQ   {   r:   rQ   c                   @   rK   )PresenceStateMessager   r   r   Nr   )	r   r   r   r   r   presence_stater!   r    r   r"   r"   r"   r#   rS      rM   rS   c                   @   rK   )PresenceDiffMessager   r   r   Nr   )	r   r   r   r   r   presence_diffr!   r    r   r"   r"   r"   r#   rU      rM   rU   c                   @   @   e Zd ZU eej ed< eed< eee	f ed< e
e ed< dS )ChannelErrorMessager   r   r   r   N)r   r   r   r   r   r6   r!   r    r7   r   r   r"   r"   r"   r#   rX      r:   rX   c                   @   rW   )ChannelCloseMessager   r   r   r   N)r   r   r   r   r   closer!   r    r7   r   r   r"   r"   r"   r#   rY      r:   rY   ServerMessageServerMessageAdapterClientMessageN)0typingr   r   r   r   r   r   pydanticr   r	   r
   typing_extensionsr   r   typesr   r   r   r   r   r   r   r   r   r$   r&   r/   r1   r5   r8   r<   rB   rC   rE   rF   rI   rL   rN   rO   rQ   rS   rU   rX   rY   r[   r!   r\   r]   r"   r"   r"   r#   <module>   s\   " (