
    	hp                     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relationshipSession)Integer
ForeignKeyJSON)Basec                   t    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<   y)CategoriesUnderPromotionsBaseN)defaultcategories_idon_which_categorygroup_id)
__name__
__module____qualname__r   r   int__annotations__r   dictr        R/var/www/html/retail-simulation-api/app/models/main/categories_under_promotions.pyr   r      s<    !&t!4MC$J4&+D&9t9!$/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	            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)TblCategoriesUnderPromotionstbl_categories_under_promotionsr   T)primary_keyautoincrementr   N)nullableserver_defaultr   ztbl_group.group_idTblGroupcategories_under_promotions)back_populatesdatadbreturnc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr   )
model_dumpaddflush)clsr&   r'   da	data_dicts        r   createz#TblCategoriesUnderPromotions.create   s4    __I"I	
y

r   c                 |    |j                  |       j                  | j                  |k(        j                         }|S N)queryfilterr   all)r-   r   r'   get_datas       r   getz TblCategoriesUnderPromotions.get   s1    88C=''(@AEEGr   c                 .   |j                  |       j                  | j                  |k(        j                         }|j	                         }|j                         D ]  \  }}|	t        |||        |j                          |j                  |       |S r2   )	r3   r4   r   firstr*   itemssetattrcommitrefresh)r-   r   r&   r'   update_datar/   keyvalues           r   updatez#TblCategoriesUnderPromotions.update    s~    hhsm**3+<+<+MNTTVOO%	#//+JC S%0 , 			


;r   c                     |j                  |       j                  | j                  |k(        j                         }|sy|j	                  |       |j                          |S )NF)r3   r4   r   r9   deleter<   )r-   r   r'   delete_datas       r   rC   z#TblCategoriesUnderPromotions.delete+   sO    hhsm**3+<+<+MNTTV
		+
		r   )r   r   r   __tablename__r   r	   r   r   r   r   r   r   r   r
   r   r   groupclassmethodr   r   r0   r7   rA   rC   r   r   r   r   r      s   5M#0'W[ko#pMFCLp'45H$Y]nr'sts*:zBV7WXHvc{X4QRE6 7 Fd   # ' -K   # ,I g Yw   # ' 5S  r   r   N)pydanticr   r   sqlalchemy.ormr   r   r   r   
sqlalchemyr	   r
   r   app.models.base_classr   r   r   r   r   r   <module>rL      s/    % G G 0 0 &0I 0
'4 'r   