
    ιhg                         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mZ d dlmZ  G d de      Z G d d	e      Zy
)    )Literal)	BaseModelField)Mappedmapped_columnSessionrelationship)
ForeignKeyIntegerVARCHAREnum)Basec                       e Zd ZU  ed      Zedz  ed<   ed   ed<   ed   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)!StoreFormatepricingStrategiesBaseN)defaultstore_id)Store Format AStore Format Bstore_format_type)Everyday Low PriceHigh-LowOtherschoose_a_pricing_strategiesrationalspecify_other_strategygroup_id)__name__
__module____qualname__r   r   int__annotations__r   r   strr   r        W/var/www/html/retail-simulation-api/app/models/main/store_formate_pricing_strategies.pyr   r      sg    !$/HsTz/ BCC")*T"UU!$/HsTz/*/*=S4Z=!$/HsTz/r$   r   c            	          e Zd ZU dZ ededd      Zee   e	d<    e e
dd            Zee   e	d<    e 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d      Zee   e	d<    ed 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) TblStoreFormatepricingStrategies$tbl_store_formate_pricing_strategiesr   T)primary_keyautoincrementr   r   r   r   r   r   r   r      N)nullableserver_defaultr   r   ztbl_group.group_idTblGroup store_formate_pricing_strategies)back_populatesdatadbreturnc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr#   )
model_dumpaddflush)clsr1   r2   	data_dictnew_datas        r%   create_stor_formatez4TblStoreFormatepricingStrategies.create_stor_formate#   s5    OO%	##
x

r$   store_get_idc                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   first)r8   r<   r2   get_datas       r%   $get_store_formate_pricing_strategieszETblStoreFormatepricingStrategies.get_store_formate_pricing_strategies+   s1    88C=''(DEKKMr$   store_update_idc                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r>   )	r?   r@   r   rA   r5   itemssetattrcommitrefresh)r8   rD   r1   r2   update_datar9   keyvalues           r%   update_store_formatez5TblStoreFormatepricingStrategies.update_store_formate;   s|    hhsm**3<<?+JKQQSOO%	#//+JC S%0 , 			


;r$   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          y)NFT)r?   r@   r   rA   deleterH   )r8   r   r2   delete_datas       r%   'delete_store_formate_pricing_strategieszHTblStoreFormatepricingStrategies.delete_store_formate_pricing_strategiesF   sJ    hhsm**3<<8+CDJJL
		+
		r$   )r   r   r   __tablename__r   r   r   r   r    r!   r   r   r"   r   r   r   r   r
   r   r	   groupclassmethodr   r   r;   rC   rM   rQ   r#   r$   r%   r'   r'      s   :M*:wD`deHvc{e&3D9IK[4\&]s]0=dCWYcem>n0o&+o*:ws|dcghHvc{h+89QSZ[^S_jn  @D  ,EVC[  E*:zBV7WXHvc{X4VWE &G G Wy   s w Rt   # <] bi   nP   c g Qs  r$   r'   N)typingr   pydanticr   r   sqlalchemy.ormr   r   r   r	   
sqlalchemyr
   r   r   r   app.models.base_classr   r   r'   r#   r$   r%   <module>rZ      s2     % D D 8 8 &0	 0=t =r$   