
    ^, iB              
       V   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\S\	4S jj5       r\R9                  S5      \" \5      \" \5      4S\S\S\	4S jj5       rg)    )	APIRouterDependsstatus)JSONResponse)get_db)Session)	UserLogin
RegionListStoreRegionUpdateRegion)RegionClass)get_current_active_userz/regionsRegions)prefixtags/regionsession_userdbc                 @   [        U5      R                  U R                  S9n[        U5        [	        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$ )N)region_namer   error  messageErrorr   r   datastatus_codecontent   zRegions retrieved successfully)r   get_allr   print
isinstancedictgetr   r   HTTP_404_NOT_FOUNDHTTP_200_OK)r   r   r   results       MC:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\routers\regions.pyindexr+      s    _$$1C1C$DF	&M&$FJJx$8G$C11!::i9
 	
 &&7
     z/storec                 :   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   r     r   zError creating regionr   r      zRegion created successfully)	r%   r   storer$   r&   r   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_201_CREATED)r   r   r   region_inputsr)   s        r*   r0   r0   &   s    KKMM_""=1F&$FJJx$8G$C==!::i1HI
 	
 ++4
 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   r   Region not foundr   r   r!   zRegion retrieved successfully)r   r&   r$   r%   r   r   r'   r(   r4   r   r   r)   s       r*   editr8   >   s    _  $F&$VZZ%8%8FJJx<PT[<[11!::g.[&**YHZ2[
 	
 &&6
 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 regionr   r   r!   zRegion updated successfully)	r%   r   updater$   r&   r   r   r1   r(   )r4   r   r   r   r3   r)   s         r*   r;   r;   U   s    KKdK3M_##B6F&$FJJx$8G$C==!::i1HI
 	
 &&4
 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   r   r   r6   r   r   r!   zRegion deleted successfully)	r   deleter$   r%   r&   r   r   r'   r(   r7   s       r*   r=   r=   m   s    _##B'F&$FJJx$8G$C11!::i1CD
 	
 &&4
 r,   N)fastapir   r   r   fastapi.responsesr   app.backend.db.databaser   sqlalchemy.ormr   app.backend.schemasr	   r
   r   r    app.backend.classes.region_classr   app.backend.auth.auth_userr   regionspostr+   r0   r&   intr8   putr;   r=    r,   r*   <module>rJ      s   . . * * " P P 8 >


 	c8?@W8Xhopvhw * I ^e  . 	h9@AX9Yipqwix + Y _f  . 	\,34K,L\cdj\k S 	 RY  , 	^DKLcDdt{  }C  uD s L 	 jq  . 	.56M.N^efl^m s ) T[   r,   