
    i              
          S SK JrJrJr  S SKJr  S SKJr  S SKJ	r	  S SK
JrJrJrJr  S SKJr  S SKJr  \" SS	/S
9r\R)                  S5      \" \5      \" \5      4S\S\S\	4S jj5       r\R)                  S5      \" \5      \" \5      4S\S\S\	4S jj5       r\R/                  S5      \" \5      \" \5      4S\S\S\	4S jj5       r\R5                  S5      \" \5      \" \5      4S\S\S\	4S jj5       r\R7                  S5      \" \5      \" \5      4S\S\S\S\	4S jj5       r\R/                  S5      \" \5      \" \5      4S\S\	4S jj5       rg)    )	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                     U R                   c  SOU R                   n[        U5      R                  UU R                  U R                  S9nU R                   c  SOSn[        [        R                  SUUS.S9$ )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         NC:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\routers\packages.pyindexr'      s    "''/\5F5FJ"%%#,,!.. & F BNARARAZ=  aBG&&
     z/storepackagec                 :   U R                  5       n[        U5      R                  U5      n[        U[         5      (       aA  UR	                  S5      S:X  a,  [        [        R                  SUR	                  SS5      S S.S9$ [        [        R                  SS	US.S9$ )
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                 v   [        U5      R                  U 5      n[        U[        5      (       ao  UR                  S5      (       d  UR                  S5      S:X  aD  [	        [
        R                  SUR                  S5      =(       d    UR                  SS5      S S.S9$ [	        [
        R                  SS	US.S9$ )
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%8%8FJJx<PT[<[11!::g.\&**YH[2\
 	
 &&7
 r(   z/delete/{id}c                    [        U5      R                  U 5      n[        U[        5      (       aA  UR	                  S5      S:X  a,  [        [        R                  SUR	                  SS5      S S.S9$ [        [        R                  SS	US.S9$ )
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                 8   UR                  SS9n[        U5      R                  X5      n[        U[         5      (       aA  UR	                  S5      S:X  a,  [        [        R                  SUR	                  SS5      S S.S	9$ [        [        R                  S
SUS.S	9$ )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                    [        U5      R                  SS9n[        U[        5      (       aA  UR	                  S5      S:X  a,  [        [        R                  SUR	                  SS5      S S.S	9$ [        [        R                  S
SUS.S	9$ )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(   