
    Eh                     |    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mZ d dlmZ  G d de      Z G d de      Zy	)
    )	BaseModelField)Mappedmapped_columnrelationshipSession)VARCHARIntegerEnum
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)OnlinePreSelectServiceBaseN)default	online_idtype	check_boxgroup_id)__name__
__module____qualname__r   r   int__annotations__r   strr   r        X/var/www/html/retail-simulation-api/app/models/main/online_pre_selected_service_level.pyr   r      sN    #D1It1d+D3:+"40Id
0"40Hd
0r   r   c            	       b   e Zd ZU dZ ededd      Zee   e	d<    ed e
dd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)TblOnlinePreSelectServicetbl_online_pre_select_servicer   T)primary_keyautoincrementr   zOwn WebsitezOnline MarketplacezOnline AggregatorsOthersr      N)nullableserver_defaultr   ztbl_group.group_idTblGrouponline_pre_selected_service)back_populatesdatadbreturnc                 t     | di |j                         }|j                  |       |j                          |S )Nr   )
model_dumpaddflush)clsr*   r+   create_datas       r   createz TblOnlinePreSelectService.create   s1    .DOO-.
{

r   c                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   all)r1   r   r+   get_datas       r   getzTblOnlinePreSelectService.get   s1    88C=''(@AEEGr   c                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r5   )	r6   r7   r   firstr.   itemssetattrcommitrefresh)r1   r   r*   r+   
updatedata	data_dictkeyvalues           r   updatez TblOnlinePreSelectService.update!   s|    XXc]))#--9*DEKKM
OO%	#//+JC 
C/ , 			


:r   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          y)NFT)r6   r7   r   r<   deleter?   )r1   r   r+   delete_datas       r   rG   z TblOnlinePreSelectService.delete,   sJ    hhsm**3==I+EFLLN
		+
		r   )r   r   r   __tablename__r   r
   r   r   r   r   r   r   r   r	   r   r   r   r   groupclassmethodr   r   r3   r:   rE   rG   r   r   r   r   r      s<   3M+KdbfgIsg&vtMBVWklt/uvD6#;v+KPTeijIsj*:w
K_@`aHvc{a4QRE3  C^   # ' -H   c (B w Rm   c g 1L  r   r   N)pydanticr   r   sqlalchemy.ormr   r   r   r   
sqlalchemyr	   r
   r   r   app.models.base_classr   r   r   r   r   r   <module>rP      s/    % G G 9 9 &1 1' 'r   