
    g3              
          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
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 d d	lmZ  e       Zej5                  d
       ee       ee      fde
dedefd       Zej9                  d
       ee       ee      fdedefd       Zej=                  d
       ee       ee      fdededefd       ZejA                  d       ee       ee      fdedefd       Z!ej5                  d       ee       ee      fdededefd       Z"ej9                  d       ee       ee      fde#dedefd       Z$ej9                  d       ee       ee      fde#de#dedefd       Z%ej=                  d       ee       ee      fde#dededefd       Z&ejA                  d       ee       ee      fde#dedefd       Z'ej9                  d        ee      fdefd!       Z(y")#    )	APIRouterDependsHTTPException)Session)
controllerservices)StoreCreateStoreResponseBranchCreateBranchResponseStoreUpdate)get_db)User)	StoreType)List)get_current_user/storedbcurrent_userc                 0    t        j                  | ||      S N)r   create_store_controller)r   r   r   s      5/var/www/html/hubwallet-dev/src/apps/stores/router.pycreate_store_apir      s     --eRFF    c                 .    t        j                  | |      S r   )r   get_store_controllerr   r   s     r   	get_storer       s    **2|<<r   store_updatec                 0    t        j                  | ||      S r   )r   update_store_controller)r!   r   r   s      r   update_storer$      s     --lBMMr   z/deletec                 .    t        j                  | |      S r   )r   delete_store_controllerr   s     r   delete_storer'   (   s    --b,??r   z
/branches/branchc                 0    t        j                  || |      S r   )r   create_branch)r(   r   r   s      r   create_branch_endpointr+   .   s     !!"fl;;r   z/{store_id}/branchesstore_idc                 0    t        j                  | ||      S r   )r   #get_branches_by_store_id_controller)r,   r   r   s      r   get_branchesr/   8   s     99(B|TTr   z /{store_id}/branches/{branch_id}	branch_idc                 2    t        j                  | |||      S r   )r   get_branch_by_id_controller)r,   r0   r   r   s       r   get_branch_by_idr3   B   s     11(Ir,WWr   z/branches/{branch_id}c                 2    t        j                  | |||      S r   )r   update_branch_controller)r0   r(   r   r   s       r   update_branch_apir6   L   s     ..y&"lSSr   c                 0    t        j                  | ||      S r   )r   delete_branch_controller)r0   r   r   s      r   delete_branchr9   W   s     ..y"lKKr   z/store-types/c           	          | j                  t              j                         }|st        ddddd      ddd|D cg c]  }|j                  |j
                  d	 c}d
S c c}w )z/
    API to fetch the list of store types.
    i  FzNo store types found)statuscodemessage)status_codedetailT   z Store types fetched successfully)storetype_id
store_type)r;   r<   r=   data)queryr   allr   rA   rB   )r   store_typesr   s      r   get_store_typesrG   `   s|    
 ((9%))+K#S=ST
 	
 5 %
 #//u?O?OP
	 
s    A#
N))fastapir   r   r   sqlalchemy.ormr   src.apps.storesr   r   src.apps.stores.schemasr	   r
   r   r   r   src.utils.dbr   src.apps.users.modelsr   src.apps.stores.modelsr   typingr   src.apps.auth.controllerr   routerpostr   getr    putr$   deleter'   r+   strr/   r3   r6   r9   rG    r   r   <module>rX      s   5 5 " 0 h h  & ,  5	 S &/ !12GGG G G C#FO'JZB[ =' =4 = =
 C &/ !12NNN N N y&vWM]E^ @W @d @ @
 \ &/ !12<<< < < "# &/ !12UUU U $U ./ &/ !12	XXX 	X 	X 0X #$ &/ !12	TTT 	T 	T %T &' &/ !12LLL L (L O")&/   r   