Ë
    ´¼¾hd  ã                   ó<   — d dl Z d dlmZ d dlmZmZ  G d„ d«      Zy)é    N)ÚConnectionConfig)ÚConnectionErrorsÚPydanticClassRequiredc                   ó8   — e Zd ZdZdeddfd„Zd	d„Zd
d„Zd
d„Zy)Ú
ConnectionzK
    Manages Connection to provided email service with its credentials
    ÚsettingsÚreturnNc                 óH   — t        |t        «      st        d«      ‚|| _        y )Nz<Configuration should be provided from ConnectionConfig class)Ú
isinstancer   r   r   )Úselfr   s     úb/var/www/html/retail-simulation-api/retail/lib/python3.12/site-packages/fastapi_mail/connection.pyÚ__init__zConnection.__init__   s&   € Ü˜(Ô$4Ô5Ü'ØNóð ð !ˆó    c              ƒ   óB   K  — | j                  «       ƒ d{  –—†  | S 7 Œ­w)z)
        Setting up a connection
        N)Ú_configure_connection)r   s    r   Ú
__aenter__zConnection.__aenter__   s$   è ø€ ð ×(Ñ(Ó*×*Ð*Øˆð 	+ús   ‚–—c              ƒ   ó‚   K  — | j                   j                  s#| j                  j                  «       ƒ d{  –—†  yy7 Œ­w)z(
        Closing the connection
        N)r   ÚSUPPRESS_SENDÚsessionÚquit)r   Úexc_typeÚexcÚtbs       r   Ú	__aexit__zConnection.__aexit__   s3   è ø€ ð }‰}×*Ò*Ø—,‘,×#Ñ#Ó%×%Ñ%ð +Ø%ús   ‚4?¶=·?c              ƒ   óÚ  K  — 	 t        j                  | j                  j                  | j                  j                  | j                  j
                  | j                  j                  | j                  j                  | j                  j                  ¬«      | _	        | j                  j                  s”| j                  j                  «       ƒ d {  –—†  | j                  j                  r[| j                  j                  | j                  j                  | j                  j                  j!                  «       «      ƒ d {  –—†  y y y 7 Œw7 Œ	# t"        $ r}t%        d|› d«      ‚d }~ww xY w­w)N)ÚhostnameÚtimeoutÚportÚuse_tlsÚ	start_tlsÚvalidate_certszException raised z7, check your credentials or email service configuration)Ú
aiosmtplibÚSMTPr   ÚMAIL_SERVERÚTIMEOUTÚ	MAIL_PORTÚMAIL_SSL_TLSÚMAIL_STARTTLSÚVALIDATE_CERTSr   r   ÚconnectÚUSE_CREDENTIALSÚloginÚMAIL_USERNAMEÚMAIL_PASSWORDÚget_secret_valueÚ	Exceptionr   )r   Úerrors     r   r   z Connection._configure_connection!   s  è ø€ ð	Ü%Ÿ?™?ØŸ™×2Ñ2ØŸ™×-Ñ-Ø—]‘]×,Ñ,ØŸ™×2Ñ2ØŸ-™-×5Ñ5Ø#Ÿ}™}×;Ñ;ôˆDŒLð —=‘=×.Ò.Ø—l‘l×*Ñ*Ó,×,Ð,à—=‘=×0Ò0ØŸ,™,×,Ñ,ØŸ™×3Ñ3ØŸ™×3Ñ3×DÑDÓFó÷ ñ ð 1ð /Ø,øðùô
 ò 	Ü"Ø# E 7Ð*aÐbóð ûð	üsN   ‚E+„CE ÃEÃA/E Ä?E	Å E ÅE+ÅE Å	E Å	E(ÅE#Å#E(Å(E+)r	   r   )r	   N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   © r   r   r   r      s*   „ ñð!Ð!1ð !°dó !óó&ôr   r   )r"   Úfastapi_mail.configr   Úfastapi_mail.errorsr   r   r   r6   r   r   ú<module>r9      s   ðÛ å 0ß G÷1ò 1r   