
    ιh'                     |    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)IntegerTextVARCHAR
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<    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)
DefineYourPromotionsBaseN)default	define_idreference_competitorongoing_key_promotionsamoung_key_variouse_promotionwhat_are_the_same_keyother_remarkgroup_id)__name__
__module____qualname__r   r   int__annotations__r   strr   r   r   r   r        V/var/www/html/retail-simulation-api/app/models/main/define_your_promotions_strategy.pyr   r      s    "40Id
0(-d(;3:;*/*=S4Z=16t1D!C$JD).t)<C$J< %d 3L3:3!$/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      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
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)TblDefineYourPromotionstbl_define_your_promotionsr   T)primary_keyautoincrementr   N)nullableserver_defaultr   r   r   r      r   ztbl_group.group_idTblGroupdefine_your_promotions)back_populatesdatadbreturnc                 t     | di |j                         }|j                  |       |j                          |S )Nr   )
model_dumpaddflush)clsr,   r-   	data_dicts       r    create_definez%TblDefineYourPromotions.create_define   s1    ,$//+,	
y

r   c                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   all)r3   r   r-   get_datas       r    
get_definez"TblDefineYourPromotions.get_define"   s1    88C=''(@AEEGr   	update_idc                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r7   )	r8   r9   r   firstr0   itemssetattrcommitrefresh)r3   r=   r,   r-   update_datar4   keyvalues           r    update_definez%TblDefineYourPromotions.update_define'   s|    hhsm**3==I+EFLLNOO%	#//+JC S%0 , 			


;r   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          y)NFT)r8   r9   r   r?   deleterB   )r3   r   r-   delete_datas       r    delete_definez%TblDefineYourPromotions.delete_define2   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   r   r   r   groupclassmethodr   r   r5   r<   rG   rK   r   r   r    r"   r"      s   0M+KdbfgIsg)67Mt^bsw)x6#;x+89QSWbfw{+|VC[|2?@_aept  FJ  3K!F3K  K*78OQU`duy*zF3Kz!.~ws|VZko!pL6#;p*:w
K_@`aHvc{a4LME 8 W Ha     4M   S /G G Wp   S W 8Q  r   r"   N)pydanticr   r   sqlalchemy.ormr   r   r   r   
sqlalchemyr	   r
   r   r   app.models.base_classr   r   r"   r   r   r    <module>rS      s/    % G G 9 9 &0y 0*d *r   