o
    Uh	                     @   s   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 deZG d	d
 d
eZdS )    )HTTPException)Field)INTEGERVARCHAR
ForeignKeyText)MappedSessionmapped_columnrelationship)Base)CustomModelc                   @   s   e Zd ZU dZeddZedB ed< eddZe	dB ed< eddZ
e	dB ed< eddZe	dB ed< eddZedB ed< dS )		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    r   r   0/var/www/html/RetailAPI/app/models/main/brand.pyr   
   s   
 r   c                	   @   s  e Zd ZU dZ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ddZee e	d< ed	eddZee e	d	< ed
eedddZee e	d
< edddZedededd fddZedededd fddZededededd fddZedededefddZdS )TblBrandr   r   T)primary_keyautoincrementr      )nullabler   r   r   ztbl_group.group_idFTblGroupbrands)back_populatesdatadbreturnc                 C   s,   |  }| di |}|| |  |S )Nr   )
model_dumpaddflush)clsr'   r(   	data_dictnew_datar   r   r   create   s
   
zTblBrand.createc                 C   s.   | | | j|k }|stddd|S Ni  zUser not found)status_codedetail)queryfilterr   firstr   )r-   r   r(   get_datar   r   r   
get_usr_id'   s   zTblBrand.get_usr_idc                 C   sf   | | | j|k }|stddd| }| D ]
\}}t||| q|| |	  |S r1   )
r4   r5   r   r6   r   r*   itemssetattrr+   r,   )r-   r   r'   r(   r7   r.   keyvaluer   r   r   update.   s   
zTblBrand.updatec                 C   s8   | | | j|k }|sdS || |  dS )NFT)r4   r5   r   r6   deletecommit)r-   r   r(   objr   r   r   r>   :   s   
zTblBrand.deleteN)r   r   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   groupclassmethodr   r	   r0   r8   r=   boolr>   r   r   r   r   r      s    
  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   r   <module>   s    	