
    Ҫ)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KJr  \" S	S
/S9r\R-                  S5      \" \5      \" \5      4S\S\S\	4S jj5       r\R1                  S5      \" \5      \" \5      4S\S\	4S jj5       r\R-                  S5      \" \5      \" \5      4S\S\S\	4S jj5       r\R1                  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\S\	4S jj5       rg)    )	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                    U(       a  UR                   OS nU R                  c  SOU R                  n[        U5      R                  X@R                  U R
                  US9nU R                  c  SOSn[        [        R                  SUUS.S9$ )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          JC:\Users\jesus\Desktop\proyecto_pie360\backend\app\backend\routers\rols.pyindexr*      s     /;,**Kmm+Jb\!!zBSBSYaYeYes~!F=E]]=R9XuG&&
     z/listc                     U (       a  U R                   OS nU (       a  U R                  OS n[        U5      R                  SX#S9n[	        [
        R                  SSUS.S9$ )Nr   )r   r   	school_idr   r   r   r!   )r   r-   r   r$   r   r   r&   )r   r   r   r-   r(   s        r)   get_all_listr.   "   s_     /;,**K*6&&DIb\!!qk!WF&&B
 r+   z/storer   c                    U(       a  UR                   OS nU(       a  UR                  OS nU R                  5       nX5S'   XES'   SUS'   [        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   deleted_status_idr   error  r   zError creating Rolr   r!      zRol created successfully)r   r-   dictr   store
isinstancegetr   r   HTTP_500_INTERNAL_SERVER_ERRORHTTP_201_CREATED)r   r   r   r   r-   
rol_inputsr(   s          r)   r5   r5   3   s     /;,**K*6&&DIJ +}'{&'J"#b\
+F&$FJJx$8G$C==!::i1EF
 	
 ++1
 r+   z
/edit/{id}idc           	          [        U5      nU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$ ! [         a2  n[	        [
        R                  S
S[        U5       3S S.S9s S nA$ S nAff = f)Nr1   r     r   Rol not foundr   r!   r   zRol retrieved successfullyr2   zError: )r   r7   r6   r4   r   r   HTTP_404_NOT_FOUNDr&   	Exceptionr8   str)r;   r   r   	rol_classr(   es         r)   editrD   S   s    
RL	r"fd##G)<)<

8@TX_@_"55!%zz'2\fjjO6\   **7
 	
  
==$SVH-
 	

s$   BB> "B> >
C:'C5/C:5C: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   r1   r=   r   r>   r   r!   r   zRol deleted successfully)	r   deleter6   r4   r7   r   r   r?   r&   )r;   r   r   r(   s       r)   rF   rF   u   s    b\  $F&$FJJx$8G$C11!::iA
 	
 &&1
 r+   z/update/{id}c                 j   U(       a  UR                   OS nUR                  SS9nXES'   [        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   r1   r2   r   zError updating Rolr   r!   r   zRol updated successfully)
r-   r4   r   updater6   r7   r   r   r8   r&   )r;   r   r   r   r-   r:   r(   s          r)   rI   rI      s     +7&&DI-J'{b\  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*   r7   r.   r5   intrD   rF   putrI    r+   r)   <module>rW      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+   