
    i              
          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mZmZmZ d dlmZ d dlmZ  edd	g
      Zej)                  d       ee       ee      fde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j/                  d       ee       ee      fde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j7                  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	fd       Zy)    )	APIRouterDependsstatus)JSONResponse)get_db)Session)	UserLoginPackageListStorePackageUpdatePackage)PackageClass)get_current_active_userz	/packagesPackages)prefixtags/package_listsession_userdbc                     | j                   dn| j                   }t        |      j                  || j                  | j                        }| j                   dnd}t        t        j                  d||d      S )Nr   )pageitems_per_pagepackage_namez-Complete packages list retrieved successfullyzPackages retrieved successfully   r   messagedatastatus_codecontent)r   r   get_allper_pager   r   r   HTTP_200_OK)r   r   r   
page_valueresultr   s         ZC:\Users\jesus\OneDrive\Escritorio\proyecto_pie360\backend\app\backend\routers\packages.pyindexr'      s    "''/\5F5FJ"%%#,,!.. & F BNARARAZ=  aBG&&
     z/storepackagec                 :   | j                         }t        |      j                  |      }t        |t               rC|j	                  d      dk(  r/t        t        j                  d|j	                  dd      d d      S t        t        j                  dd	|d      S )
Nr   error  r   zError creating packager   r      zPackage created successfully)	dictr   store
isinstancegetr   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_201_CREATED)r)   r   r   package_inputsr%   s        r&   r/   r/   "   s    \\^N"##N3F&$FJJx$8G$C==!::i1IJ
 	
 ++5
 r(   z
/edit/{id}idc                 b   t        |      j                  |       }t        |t              rg|j                  d      s|j                  d      dk(  rBt	        t
        j                  d|j                  d      xs |j                  dd      d d      S t	        t
        j                  dd	|d      S )
Nr+   r     r   Package not foundr   r   r   zPackage retrieved successfully)r   r1   r0   r.   r   r   HTTP_404_NOT_FOUNDr#   r5   r   r   r%   s       r&   editr;   ;   s    "!!"%F&$VZZ%8FJJx<PT[<[11!::g.\&**YH[2\
 	
 &&7
 r(   z/delete/{id}c                    t        |      j                  |       }t        |t              rC|j	                  d      dk(  r/t        t        j                  d|j	                  dd      d d      S t        t        j                  dd	|d      S )
Nr   r+   r7   r   r8   r   r   r   zPackage deleted successfully)	r   deleter0   r.   r1   r   r   r9   r#   r:   s       r&   r=   r=   R   s    "$$R(F&$FJJx$8G$C11!::i1DE
 	
 &&5
 r(   z/update/{id}c                 @   |j                  d      }t        |      j                  | |      }t        |t               rC|j	                  d      dk(  r/t        t        j                  d|j	                  dd      d d	      S t        t        j                  d
d|d	      S )NT)exclude_unsetr   r+   r,   r   zError updating packager   r   r   zPackage updated successfully)	r.   r   updater0   r1   r   r   r2   r#   )r5   r)   r   r   r4   r%   s         r&   r@   r@   i   s    \\\5N"$$R8F&$FJJx$8G$C==!::i1IJ
 	
 &&5
 r(   z/listc                    t        |      j                  d      }t        |t              rC|j	                  d      dk(  r/t        t        j                  d|j	                  dd      d d	      S t        t        j                  d
d|d	      S )Nr   )r   r   r+   r7   r   Errorr   r   r   z$Packages list retrieved successfully)	r   r!   r0   r.   r1   r   r   r9   r#   )r   r   r%   s      r&   get_all_listrC      s    "%%1%-F&$FJJx$8G$C11!::i9
 	
 &&=
 r(   N)fastapir   r   r   fastapi.responsesr   app.backend.db.databaser   sqlalchemy.ormr   app.backend.schemasr	   r
   r   r   !app.backend.classes.package_classr   app.backend.auth.auth_userr   packagespostr'   r/   r1   intr;   r=   putr@   rC    r(   r&   <module>rP      s   . . * * " S S : >

 
s?FG^?_ovw}o~  9 el  & 
x;BCZ;[krsykz < y ah  0 
l,34K,L\cdj\k S 	 RY  , 
 .56M.N^efl^m s ) T[  !, 
nFMNeFfv}  E  wF s ] ) ls  . 
g+23J+K[bci[j y QX  r(   