Ë
    3úyj®  ã                   ón  — U d dl Z e j                  j                  d d«       d dlmZ d dlmZmZ d dlm	Z	m
Z
 d dlmZ d„ Z eej                  «      Z ej                   ede«        e	d	d	e¬
«      Z edd¬«      Zeedz     ed<   i Zeeef   ed<   i Zeeef   ed<    G d„ de
«      Zdefd„Zd„ Zd„ Zy)é    Nz/var/www/html/metafoliadorv2)Ú
ContextVar)Úcreate_engineÚevent)ÚsessionmakerÚDeclarativeBase)Úsettingsc                 ó’   — | j                  «       }	 |j                  d«       |j                  «        y # |j                  «        w xY w)NzSET TIMEZONE TO 'UTC')ÚcursorÚexecuteÚclose)Ú
dbapi_connÚ_recordÚcurs      ú3/var/www/html/metafoliadorv2/app/models/database.pyÚ_set_session_utcr      s5   € Ø
×
Ñ
Ó
€CðØ�‰Ð+Ô,à�	‰	�øˆ�	‰	�ús	   ’4 ´AÚconnectF©Ú
autocommitÚ	autoflushÚbindÚtenant_db_url)ÚdefaultÚtenant_db_url_ctxÚ_tenant_enginesÚ_tenant_sessionsc                   ó   — e Zd Zy)ÚBaseN)Ú__name__Ú
__module__Ú__qualname__© ó    r   r   r      s   „ Ør"   r   Ú
tenant_urlc                 ó¬   — | t         vrDt        | «      }t        j                  |dt        «       |t         | <   t        dd|¬«      t        | <   t         |    S )Nr   Fr   )r   r   r   Úlistenr   r   r   )r#   Úengine_ts     r   Ú_get_tenant_enginer'   !   sP   € ØœÑ(Ü  Ó,ˆÜ�‰�X˜yÔ*:Ô;Ø&.Œ˜
Ñ#Ü'3¸uÐPUÐ\dÔ'eÔ˜Ñ$Ü˜:Ñ&Ð&r"   c               #   óÒ   K  — t         j                  «       } | rt        | «       t        |    «       }n
t	        «       }	 |–— |j                  «        y # |j                  «        w xY w­w)N)r   Úgetr'   r   ÚSessionLocalr   )r#   Údbs     r   Úget_dbr,   *   sO   è ø€ Ü"×&Ñ&Ó(€JÙÜ˜:Ô&Ü˜jÑ)Ó+‰ä‹^ˆðØŠà
�‰�
øˆ�‰�
üs   ‚:A'½A ÁA'ÁA$Á$A'c                  ór   — t         j                  «       } | rt        | «       t        |    «       S t	        «       S )u`   Crea una sesiÃ³n de BD respetando el contexto multitenant (Ãºtil fuera de dependencias FastAPI).)r   r)   r'   r   r*   )r#   s    r   Úget_tenant_sessionr.   7   s1   € ä"×&Ñ&Ó(€JÙÜ˜:Ô&Ü 
Ñ+Ó-Ð-Ü‹>Ðr"   )ÚsysÚpathÚinsertÚcontextvarsr   Ú
sqlalchemyr   r   Úsqlalchemy.ormr   r   Ú
app.configr   r   Údatabase_urlÚenginer%   r*   r   ÚstrÚ__annotations__r   ÚdictÚanyr   r   r'   r,   r.   r!   r"   r   ú<module>r<      sÂ   ðÜ 
Ø ‡�‡��Ð1Ô 2å "ß +ß 8å òñ 
�x×,Ñ,Ó	-€Ø €‡�ˆV�YÐ 0Ô 1Ù u¸ÀFÔK€á,6°ÐPTÔ,UÐ �:˜c D™jÑ)Ó Uà"$€��c˜3�h‘Ó $Ø#%Ð �$�s˜C�x‘.Ó %ô	ˆ?ô 	ð' 3ó 'ò
ór"   