
    2h
                       S SK Jr  S SKrS SKrS SKJr  S SK	J
r  S SKJr  S SKJr  S SKJr  \R"                  (       a  SSKJr  \" 5       r\R+                  S5      r \R+                  S	5      r SS
 jrSS jrSS jrSS jrSS jrg)    )annotationsN)current_app)has_app_context)	Namespace   )Sessionzmodels-committedzbefore-models-committedc                   [         R                  " U S[        SS9  [         R                  " U S[        SS9  [         R                  " U S[        5        [         R                  " U S[        5        [         R                  " U S[
        5        g )Nbefore_flushT)namedbefore_commitafter_commitafter_rollback)sa_eventlisten_record_ops_before_commit_after_commit_after_rollbacksessions    \/var/www/auris/envauris/lib/python3.13/site-packages/flask_sqlalchemy/track_modifications.py_listenr       sW    OOG^[EOOG_kFOOG_n=OOG^];OOG-?    c                h   [        5       (       d  g [        R                  S   (       d  g U R                  S4U R                  S4U R
                  S44 H\  u  p#U HQ  n[        R                  " U5      nUR                  (       a  UR                  O
[        U5      nXC4U R                  U'   MS     M^     g )NSQLALCHEMY_TRACK_MODIFICATIONSinsertupdatedelete)r   r   confignewdirtydeletedsainspecthas_identityidentity_keyid_model_changes)r   kwargstargets	operationtargetstatekeys          r   r   r   (   s    >? 
h	!	(#
 FJJv&E(-(:(:%$$6
C+1*=G""3' r   c                   [        5       (       d  g [        R                  " 5       nUR                  S   (       d  g U R                  (       a7  [        U R                  R                  5       5      n[        R                  XS9  g g Nr   )changes)	r   r   _get_current_objectr   r(   listvaluesbefore_models_committedsendr   appr1   s      r   r   r   :   sd    

)
)
+C::67w--4467$$S$: r   c                <   [        5       (       d  g [        R                  " 5       nUR                  S   (       d  g U R                  (       aQ  [        U R                  R                  5       5      n[        R                  XS9  U R                  R                  5         g g r0   )
r   r   r2   r   r(   r3   r4   models_committedr6   clearr7   s      r   r   r   H   sv    

)
)
+C::67w--4467c3$$& r   c                8    U R                   R                  5         g )N)r(   r;   r   s    r   r   r   W   s      "r   )r   zsa_orm.scoped_session[Session]returnNone)r   r   r)   zt.Anyr=   r>   )r   r   r=   r>   )
__future__r   typingt
sqlalchemyr#   sqlalchemy.eventeventr   sqlalchemy.ormormsa_ormflaskr   r   flask.signalsr   TYPE_CHECKINGr   r   _signalssignalr:   r5   r   r   r   r   r    r   r   <module>rN      st    "   #   ! #?? ;??#56  #//*CD 
@>$;'#r   