
    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 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j1                  d       ee       ee      f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j1                  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de	fd       Zy)    )	APIRouterDependsstatus)JSONResponse)get_db)Session)Rol	UpdateRol	UserLoginRolList)RolClass)	UserModel)get_current_active_userz/rolsRols)prefixtags/rol_listsession_userdbc                    |r|j                   nd }| j                  dn| j                  }t        |      j                  || j                  | j
                  |      }| j                  dnd}t        t        j                  d||d      S )Nr   )pageitems_per_pagerolcustomer_id)Complete rols list retrieved successfullyzRols retrieved successfully   r   messagedatastatus_codecontent)	r   r   r   get_allper_pager   r   r   HTTP_200_OK)r   r   r   r   
page_valueresultr   s          VC:\Users\jesus\OneDrive\Escritorio\proyecto_pie360\backend\app\backend\routers\rols.pyindexr*      s     /;,**Kmm+Jb\!!z(BSBSYaYeYes~!F=E]]=R9XuG&&
     z/listc                     | r| j                   nd }t        |      j                  d|      }t        t        j
                  dd|d      S )Nr   )r   r   r   r   r   r!   )r   r   r$   r   r   r&   )r   r   r   r(   s       r)   get_all_listr-   "   sP     /;,**Kb\!!qk!BF&&B
 r+   z/storer   c                 n   |r|j                   nd }| j                         }||d<   d|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 )Nr   r   deleted_status_idr   error  r   zError creating Rolr   r!      zRol created successfully)
r   dictr   store
isinstancegetr   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_201_CREATED)r   r   r   r   
rol_inputsr(   s         r)   r4   r4   2   s     /;,**KJ +J}&'J"#b\
+F&$FJJx$8G$C==!::i1EF
 	
 ++1
 r+   z
/edit/{id}idc           	         	 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 # t        $ r5}t	        t
        j                  d
dt        |       d d      cY d }~S d }~ww xY w)Nr0   r     r   Rol not foundr   r!   r   zRol retrieved successfullyr1   zError: )r   r6   r5   r3   r   r   HTTP_404_NOT_FOUNDr&   	Exceptionr7   str)r:   r   r   	rol_classr(   es         r)   editrC   P   s    
RL	r"fd#G)<

8@TX_@_"55!%zz'2\fjjO6\   **7
 	
  
==$SVH-
 	

s$   BB4 B4 4	C2=*C-'C2-C2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   r0   r<   r   r=   r   r!   r   zRol deleted successfully)	r   deleter5   r3   r6   r   r   r>   r&   )r:   r   r   r(   s       r)   rE   rE   r   s    b\  $F&$FJJx$8G$C11!::iA
 	
 &&1
 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   r0   r1   r   zError updating Rolr   r!   r   zRol updated successfully)	r3   r   updater5   r6   r   r   r7   r&   )r:   r   r   r   r9   r(   s         r)   rH   rH      s    -Jb\  Z0F&$FJJx$8G$C==!::i1EF
 	
 &&1
 r+   N) fastapir   r   r   fastapi.responsesr   app.backend.db.databaser   sqlalchemy.ormr   app.backend.schemasr	   r
   r   r   app.backend.classes.rol_classr   app.backend.db.modelsr   app.backend.auth.auth_userr   rolspostr*   r6   r-   r4   intrC   rE   putrH    r+   r)   <module>rV      s   . . * * " B B 2 + >

 37>?V7Wgnougv G 9 ]d  $ '+23J+K[bci[j y QX   8.56M.N^efl^m s ) T[  : ,,34K,L\cdj\k 
S 
	 
RY 
 
B ^.56M.N^efl^m s ) T[  , .>EF]>^nuv|n} s  ) dk  r+   