
    dh\                         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mZmZmZmZmZ dZdZdZdZ ed	
       G d d             Z G d de	      Zy)    )	dataclass)Any	AwaitableCallableDictOptional)BaseMiddleware)ChatChatBoostSourcePremiumInaccessibleMessageTelegramObjectUpdateUserevent_contextevent_from_user
event_chatevent_thread_idT)frozenc                       e Zd ZU 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e
   fd       Zedee
   fd       Zy)	EventContextNchatuser	thread_idbusiness_connection_idreturnc                 J    | j                   r| j                   j                  S d S N)r   idselfs    e/var/www/netwell/bot/venv/lib/python3.12/site-packages/aiogram/dispatcher/middlewares/user_context.pyuser_idzEventContext.user_id       #yytyy||2d2    c                 J    | j                   r| j                   j                  S d S r   )r   r   r   s    r!   chat_idzEventContext.chat_id    r#   r$   )__name__
__module____qualname__r   r   r
   __annotations__r   r   r   intr   strpropertyr"   r&    r$   r!   r   r      sw    D(4.D(4.#Ix}#,0HSM03# 3 3 3# 3 3r$   r   c                   f    e Zd Zdeeeeef   gee   f   dedeeef   defdZ	e
dedefd       Zy)UserContextMiddlewarehandlereventdatar   c                 V  K   t        |t              st        d      | j                  |      x}|t        <   |j
                  |j
                  |t        <   |j                  |j                  |t        <   |j                  |j                  |t        <    |||       d {   S 7 w)Nz3UserContextMiddleware got an unexpected event type!)r2   )
isinstancer   RuntimeErrorresolve_event_contextEVENT_CONTEXT_KEYr   EVENT_FROM_USER_KEYr   EVENT_CHAT_KEYr   EVENT_THREAD_ID_KEY)r    r1   r2   r3   r   s        r!   __call__zUserContextMiddleware.__call__&   s      %(TUU262L2LSX2L2YY./ )(5(:(:D$%)#0#5#5D "".(5(?(?D$%UD))))s   B B)"B'#B)c           	      N   |j                   rgt        |j                   j                  |j                   j                  |j                   j                  r|j                   j
                        S d      S |j                  rgt        |j                  j                  |j                  j                  |j                  j                  r|j                  j
                        S d      S |j                  r t        |j                  j                        S |j                  r t        |j                  j                        S |j                  r t        |j                  j                        S |j                  r t        |j                  j                        S |j                  r|j                  j                   }|rvt        |j                  |j                  j                  t        |t              s|j                  r|j
                  ndt        |t              s|j                        S d      S t        |j                  j                        S |j                  r t        |j                  j                        S |j                   r t        |j                   j                        S |j"                  r5t        |j"                  j$                  |j"                  j&                        S |j(                  r5t        |j(                  j                  |j(                  j                        S |j*                  r5t        |j*                  j                  |j*                  j                        S |j,                  r5t        |j,                  j                  |j,                  j                        S |j.                  r5t        |j.                  j                  |j.                  j&                        S |j0                  r t        |j0                  j                        S |j2                  rt        |j2                  j4                  j6                  t8              rIt        |j2                  j                  |j2                  j4                  j6                  j&                        S t        |j2                  j                        S |j:                  r t        |j:                  j                        S |j<                  r5t        |j<                  j                  |j<                  j                        S |j>                  r5t        |j>                  j&                  |j>                  j@                        S |jB                  rwt        |jB                  j                  |jB                  j                  |jB                  j                  r|jB                  j
                  nd|jB                  j                        S |jD                  rwt        |jD                  j                  |jD                  j                  |jD                  j                  r|jD                  j
                  nd|jD                  j                        S |jF                  r t        |jF                  j                        S t               S )	zC
        Resolve chat and user instance from Update object
        N)r   r   r   )r   )r   )r   r   r   r   )r   r   )r   r   )r   r   )$messager   r   	from_useris_topic_messagemessage_thread_idedited_messagechannel_postedited_channel_postinline_querychosen_inline_resultcallback_queryr5   r   r   shipping_querypre_checkout_querypoll_answer
voter_chatr   my_chat_memberchat_memberchat_join_requestmessage_reactionmessage_reaction_count
chat_boostboostsourcer   removed_chat_boostdeleted_business_messagesbusiness_connectionr   business_messageedited_business_messagepurchased_paid_media)clsr2   callback_query_messages      r!   r7   z+UserContextMiddleware.resolve_event_context:   s[   
 ==]]'']],,7<}}7U7UEMM33	  \`	  ))..))33 ++<< ((::	    U%7%7%<%<==$$U%>%>%C%CDDU%7%7%A%ABB%%U%?%?%I%IJJ%*%9%9%A%A"%#/44--77  **@BUV2CC /@@ "  **@BUV /EE  "   U%9%9%C%CDDU%9%9%C%CDD##U%=%=%G%GHH&&11&&++  ))..U5I5I5S5S  U%6%6%;%;%BSBSB]B]^^"",,118O8O8Y8Y  !!++00++00  ''U%A%A%F%FGG %**00779OP#))..))//66;; 
  U%5%5%:%:;;##U%=%=%B%BCC**4499','F'F']']  $$..33','@'@'C'C  !!++00++55 -->> **<<','='='T'T	 	 ((227722<< 44EE 11CC','D'D'['[	 	 %%//99  ~r$   N)r'   r(   r)   r   r   r   r,   r   r   r<   classmethodr   r   r7   r.   r$   r!   r0   r0   %   sv    *>4S>:IcNJK* * 38n	*
 
*( {& {\ { {r$   r0   N)dataclassesr   typingr   r   r   r   r   #aiogram.dispatcher.middlewares.baser	   aiogram.typesr
   r   r   r   r   r   r8   r9   r:   r;   r   r0   r.   r$   r!   <module>ra      s`    ! ; ; >  $ ' '  $3 3 3QN Qr$   