
    Dy)i	                         d dl mZ d dl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 d dlmZ  G d de      Z G d	 d
e      Zy)    )HTTPException)Field)INTEGERVARCHAR
ForeignKeyText)MappedSessionmapped_columnrelationship)Base)CustomModelc                       e Zd ZU dZ 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)		BrandBase	tbl_brandN)defaultbrand_id
brand_namebrand_image	rationalegroup_id)__name__
__module____qualname____tablename__r   r   int__annotations__r   strr   r   r        </var/www/html/retail-simulation-api/app/models/main/brand.pyr   r   
   sf    M .HcDj."40Jd
0#D1Kt1!$/IsTz/ .HcDj.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      Zee   e	d	<    ed
e ed      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efd       Zy)TblBrandr   r   T)primary_keyautoincrementr      )nullabler   r   r   ztbl_group.group_idFTblGroupbrands)back_populatesdatadbreturnc                 x    |j                         } | di |}|j                  |       |j                          |S )Nr   )
model_dumpaddflush)clsr+   r,   	data_dictnew_datas        r!   createzTblBrand.create   s5    OO%	##
x

r    c                     |j                  |       j                  | j                  |k(        j                         }|st	        dd      |S Ni  zUser not found)status_codedetail)queryfilterr   firstr   )r2   r   r,   get_datas       r!   
get_usr_idzTblBrand.get_usr_id'   sB    88C=''(@AGGIC8HIIr    c                 F   |j                  |       j                  | j                  |k(        j                         }|st	        dd      |j                         }|j                         D ]  \  }}t        |||        |j                  |       |j                          |S r7   )
r:   r;   r   r<   r   r/   itemssetattrr0   r1   )r2   r   r+   r,   r=   r3   keyvalues           r!   updatezTblBrand.update.   s    88C=''(@AGGIC8HIIOO%	#//+JCHc5) ,
x

r    c                     |j                  |       j                  | j                  |k(        j                         }|syd |_        |j                          y)NFT)r:   r;   r   r<   r   commit)r2   r   r,   objs       r!   deletezTblBrand.delete:   sE    hhsm""3<<8#;<BBD
		r    N)r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   groupclassmethodr   r
   r5   r>   rD   boolrH   r   r    r!   r#   r#      sG   M)*g4_cdHfSkd+L'#,QUVJsV,]GCLSWXKX*;tLIvc{L)*gzJ^?_jopHfSkp H=E)  Z   # 7 z   	c 	 	 	J 	 	 c w 4  r    r#   N)fastapir   pydanticr   
sqlalchemyr   r   r   r   sqlalchemy.ormr	   r
   r   r   app.models.mainr   app.utils.schemas_utilsr   r   r#   r   r    r!   <module>rR      s5    !  9 9 G G   // //t /r    