
    ιh[                     x    d dl mZmZ d dlmZmZmZmZ d dlm	Z	m
Z
mZ d dlmZ  G d de      Z G d de      Zy	)
    )	BaseModelField)Mappedmapped_columnSessionrelationship)IntegerText
ForeignKey)Basec                       e Zd ZU  ed      Zedz  ed<    ed      Zedz  ed<    ed      Z	edz  ed<    ed      Z
edz  ed<   y)AnnexuresBaseN)defaultannexures_idassumptionssourcegroup_id)__name__
__module____qualname__r   r   int__annotations__r   strr   r        @/var/www/html/retail-simulation-api/app/models/main/annexures.pyr   r      sN     %d 3L3:3$T2K#*2-FS4Z-!$/HsTz/r   r   c            	       J   e Zd ZU dZ ededd      Zee   e	d<    ede
dd      Zee   e	d<    ede
dd      Zee   e	d<    ed	e ed
            Zee   e	d	<    edd      Zedededd fd       Zed	ededd fd       Zededededd fd       Zedededd fd       Zy)TblAnnexurestbl_annexuresr   T)primary_keyautoincrementr   N)nullableserver_defaultr   r   ztbl_group.group_idTblGroup	annexures)back_populatesdatadbreturnc                 t     | di |j                         }|j                  |       |j                          |S )Nr   )
model_dumpaddflush)clsr'   r(   	data_dicts       r   create_annexureszTblAnnexures.create_annexures   s1    ,$//+,	
y

r   c                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   all)r.   r   r(   get_datas       r   get_annuexureszTblAnnexures.get_annuexures   s1    88C=''(@AEEGr   	update_idc                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r2   )	r3   r4   r   firstr+   itemssetattrcommitrefresh)r.   r8   r'   r(   update_datar/   keyvalues           r   update_annuexureszTblAnnexures.update_annuexures!   s~    hhsm**3+;+;y+HIOOQOO%	#//+JC S%0 , 			


;r   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          y)NFT)r3   r4   r   r:   deleter=   )r.   r   r(   delete_datas       r   delete_annexureszTblAnnexures.delete_annexures,   sL    hhsm**3+;+;|+KLRRT
		+
		r   )r   r   r   __tablename__r   r	   r   r   r   r   r
   r   r   r   r   r   r   groupclassmethodr   r   r0   r7   rB   rF   r   r   r   r   r      s)   #M!.~wTXhl!mL6#;m -mTDae fK&+f(4$W[\FVC[\*:w
K_@`aHvc{aK@E= W    S W     = W P^   3 7 n  r   r   N)pydanticr   r   sqlalchemy.ormr   r   r   r   
sqlalchemyr	   r
   r   app.models.base_classr   r   r   r   r   r   <module>rN      s/    % G G 0 0 &0I 0'4 'r   