
    ^@4h                        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
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 d d	lmZ d d
lZ e       Zej/                  dej0                         ee      fdej2                  defd       Zej7                  dej0                         ee      fdedefd       Zej/                  de
ej0                            ee      fde
eeef      defd       Zej7                  de
ej0                            ed       ed
       ee      fdedee   defd       Z ejC                  dej0                         ee      fdedejD                  defd       Z#ejI                  d       ee      fdedefd       Z%ej/                  d      d ejL                  fd!       Z'y
)"    )	APIRouterDependsHTTPExceptionstatusQueryPath)Session)ListUnionOptional)schemas)
controller)services)get_db)models)utilsN )response_modelprojectdbc                 .    t        j                  ||       S N)r   create_project)r   r   s     C/var/www/html/hubwallet-dev/src/menu_design/apps/projects/router.pyr   r      s    ""2w//    z/{slug}slugc                 P    t        j                  ||       }|st        dd      |S N  Project not foundstatus_codedetail)r   get_project_by_slugr   )r   r   
db_projects      r   get_projectr&   $   s+    //D9J4GHHr   z/batchidsc                 .    t        j                  ||       S r   )r   get_projects_by_slugs_or_ids)r'   r   s     r   get_projectsr*   -   s    222s;;r   z/branch/{branch_id}.	branch_idqc                 "   |r|j                  t        j                        j                  t        j                  j                  j                  d| d      t        j                  j                  j                  d| d      z        j                         }|r|S t        dd      |j                  t        j                        j                  t        j                  j                  | k(        j                         }|st        dd      |S )N%r   z$No projects found matching the queryr!   z!No projects found for this branch)
queryr   Projectfilterr   ilikenameallr   r+   )r+   r,   r   resultsall_projectss        r   search_projectsr7   1   s     	((6>>*11^^  &&1#Qx0^^  &&1#Qx02
 #% 	 NC8^__ 88FNN+226>>3K3Ky3XY]]_L4WXXr   z/{project_id}
project_idc                 R    t        j                  || |      }|st        dd      |S r   )r   update_projectr   )r8   r   r   r%   s       r   r:   r:   K   s-    **2z7CJ4GHHr   c                 T    t        j                  ||       }|st        dd      ddiS )Nr   r    r!   r#   Deleted)r   delete_projectr   )r8   r   r%   s      r   r=   r=   T   s0    **2z:J4GHHi  r   z/upload-template-imagepayloadc                 ,    t        j                  |       S r   )r   upload_template_image)r>   s    r   r@   r@   `   s    ++G44r   )(fastapir   r   r   r   r   r   sqlalchemy.ormr	   typingr
   r   r   src.menu_design.apps.projectsr   r   r   src.utils.dbr   r   r   osrouterpost
ProjectOutProjectCreater   getstrr&   intr*   r7   putProjectUpdater:   deleter=   Base64ImageUploadr@    r   r   <module>rS      s	   H H " ( ( 1 4 2  0 / 	  
 R 2 23AH 0G11 0w 0 40
 Ig&8&89)0 c w  : Xd7+=+=&>?;B6? <d5c?+ < < @< !$w7I7I2JK#YT{&/} 	 L2 OG,>,>?RYZ`Ra s W-B-B   @ 29&/ !s ! !  ! %&57#<#< 5 '5r   