
    h
                         d dl mZ 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
)    )List)	BaseModelField)Mappedmapped_columnSessionrelationship)
ForeignKeyIntegerVARCHAR)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<    ed      Zedz  ed<    ed      Zedz  ed<   y)	AdditionalInstallationBaseN)defaultadditional_idnamedescriptioncost_per_unitremarkgroup_id)__name__
__module____qualname__r   r   int__annotations__r   strr   r   r   r        G/var/www/html/RetailAPI/app/models/main/additional_installations_fix.pyr   r      st    !&t!4MC$J4d+D3:+$T2K#*2!&t!4MC$J4-FS4Z-!$/HsTz/r   r   c            	          e Zd ZU dZ ededd      Zee   e	d<    ed e
d      dd      Zee   e	d<    ed	 e
d      dd      Zee   e	d	<    ed
edd      Zee   e	d
<    ed e
d      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)TblAdditionalInstallationtbl_additional_installationr   T)primary_keyautoincrementr      N)nullableserver_defaultr   r   r   r   ztbl_group.group_idTblGroupadditional_installation)back_populatesdatadbreturnc                 t     | di |j                         }|j                  |       |j                          |S )Nr   )
model_dumpaddflush)clsr+   r,   new_datas       r   create_additional_installationz8TblAdditionalInstallation.create_additional_installation   s0    +*+
x

r   additional_get_idc                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   first)r2   r5   r,   get_datas       r   get_additional_installationz5TblAdditionalInstallation.get_additional_installation$   s4    88C=''(9(9=N(NOUUWr   additional_update_idc                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r7   )	r8   r9   r   r:   r/   itemssetattrcommitrefresh)r2   r=   r+   r,   update_data	data_dictkeyvalues           r   update_additional_installationz8TblAdditionalInstallation.update_additional_installation)   s    hhsm**3+<+<@T+TU[[]OO%	#//+JC S%0 , 			


;r   c                     |j                  |       j                  | j                  |k(        j                         }|sy|D ]#  }|j	                  |       |j                          % y)NFT)r8   r9   r   alldeleterA   )r2   r   r,   delete_datarJ   s        r   delete_additional_installationz8TblAdditionalInstallation.delete_additional_installation4   sV    hhsm**3<<8+CDHHJ!FIIfIIK " r   )r   r   r   __tablename__r   r   r   r   r   r   r   r   r   r   r   r   r
   r   r	   groupclassmethodr   r   r4   r<   rG   rL   r   r   r   r!   r!      sw   1M"/VZjn"oMF3Ko&vws|d[_`D6#;` -mWS\TXim nK&+n"/SWhl"mMF3Km(73<$_cdFVC[d*:w
K_@`aHvc{a4MNE1K PW [v   3 7 Ni    Ke jq   vQ   S W Hc  r   r!   N)typingr   pydanticr   r   sqlalchemy.ormr   r   r   r	   
sqlalchemyr
   r   r   app.models.base_classr   r   r!   r   r   r   <module>rU      s2     % G G 3 3 &0 0+ +r   