
    J)iG                        d Z ddlmZmZ ddlmZmZmZmZm	Z	m
Z
 ddlmZ ddlmZ ddlmZ ddlmZmZmZ ddlmZ dd	lmZmZ dd
lmZ  e       Zej;                  d       e        ed       ee       ee      fdede
dededef
d       Zej?                  d       e	dd       e        ed       ee       ee      fde dede
dededefd       Z!ejE                  de       ee       ee      fde dedefd       Z#ejE                  dee          ee       ee      fde dedefd       Z$ejK                  dd !       ee       ee      fde dedefd"       Z&y)#zBrand.    )ListOptional)	APIRouterDependsFileFormPath
UploadFile)Field)Session)service)BrandCreateBrandResponseBrandUpdate)get_db)JWTPayloadSchemaget_current_student)CustomResponsez/brandN
brand_databrand_imagedbtokenreturnc                 j   K   t        j                  ||      j                  | |       d{   S 7 w)z
Post data.N)r   BrandServicecreate_brand)r   r   r   r   s       ;/var/www/html/retail-simulation-api/app/api/brand/router.pyr   r      s.      %%b%0==j+VVVVs   *313z/brand/{brand_id}.zID of the brand to update)descriptionbrand_idc                 l   K   t        j                  ||      j                  | ||       d{   S 7 w)z<Update existing brand data and optionally replace the image.N)r   r   update_brand)r   r   r   r   r   s        r   update_brand_router"      s;      %%b%0==   s   +424z/brand/{group_id})response_modelgroup_idc                 h   K   t        j                  ||      j                  |        d {   S 7 wN)r   r   get_brand_by_idr$   r   r   s      r   r'   r'   1   s*     %%b/??IIII   )202z/brands/by-group/{group_id}c                 h   K   t        j                  ||      j                  |        d {   S 7 wr&   )r   r   get_brands_by_group_idr(   s      r   r+   r+   5   s,      %%b%0GGQQQQr)   z/brand/deleteT)response_model_exclude_nonec                 h   K   t        j                  ||      j                  |        d {   S 7 wr&   )r   r   delete_brand)r   r   r   s      r   delete_catchmentr/   >   s*     %%b%0==hGGGGr)   )'__doc__typingr   r   fastapir   r   r   r   r	   r
   pydanticr   sqlalchemy.ormr   app.api.brandr   app.api.brand.schemasr   r   r   app.database.main.mysqlr   app.dependency.authanticationr   r   app.utils.schemas_utilsr   brand_routerpostr   putintr"   getr'   r+   deleter/        r   <module>rB      s    ! D D  " ! I I * O 2{8%i"4j&/%&9:	WWW 	W 	W
 W W %&*EF%i"4j&/%&9:  		
   '0 %mD6=fo`gh{`| JC JG JM] J EJ /]@ST &/%&9:RRR R UR _F7>vahi|a} HS HW HN^ H GHrA   