
    vhv              
       H   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de	fd       Zej9                  d       ee       ee      fdedede	fd       Zy)    )	APIRouterDependsstatus)JSONResponse)get_db)Session)	UserLoginCommuneListStoreCommuneUpdateCommune)CommuneClass)get_current_active_userz	/communesCommunes)prefixtags/communesession_userdbc                 F   t        |      j                  | j                  | 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 )N)commune_name	region_idr   error  messageErrorr   r   datastatus_codecontent   zCommunes retrieved successfully)r   get_allr   r   
isinstancedictgetr   r   HTTP_404_NOT_FOUNDHTTP_200_OK)r   r   r   results       ZC:\Users\jesus\OneDrive\Escritorio\proyecto_pie360\backend\app\backend\routers\communes.pyindexr+      s    "%%73G3GSZSdSd%eF&$FJJx$8G$C11!::i9
 	
 &&8
     z/storec                 :   | 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   r     r   zError creating communer   r      zCommune created successfully)	r%   r   storer$   r&   r   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_201_CREATED)r   r   r   commune_inputsr)   s        r*   r0   r0   %   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   r   Commune not foundr   r   r"   zCommune retrieved successfully)r   r&   r$   r%   r   r   r'   r(   r4   r   r   r)   s       r*   editr8   =   s    "!!"%F&$VZZ%8FJJx<PT[<[11!::g.\&**YH[2\
 	
 &&7
 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 communer   r   r"   zCommune updated successfully)	r%   r   updater$   r&   r   r   r1   r(   )r4   r   r   r   r3   r)   s         r*   r;   r;   T   s    \\\5N"$$R8F&$FJJx$8G$C==!::i1IJ
 	
 &&5
 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   r   r   r6   r   r   r"   zCommune deleted successfully)	r   deleter$   r%   r&   r   r   r'   r(   r7   s       r*   r=   r=   l   s    "$$R(F&$FJJx$8G$C11!::i1DE
 	
 &&5
 r,   N)fastapir   r   r   fastapi.responsesr   app.backend.db.databaser   sqlalchemy.ormr   app.backend.schemasr	   r
   r   r   !app.backend.classes.commune_classr   app.backend.auth.auth_userr   communespostr+   r0   r&   intr8   putr;   r=    r,   r*   <module>rJ      s   . . * * " S S : >

 
s:ABY:Zjqrxjy ; i `g  , 
x;BCZ;[krsykz < y ah  . 
l,34K,L\cdj\k S 	 RY  , 
nFMNeFfv}  E  wF s ] ) ls  . 
 .56M.N^efl^m s ) T[  !r,   