
    U+iu              
          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          @/var/www/pie360backend.cl/public_html/app/backend/routes/rols.pyindexr*      s     /;,**Kmm+Jb\!!z(BSBSYaYeYes~!F=E]]=R9XuG&&
     z/listc                     | r| j                   nd }| r| j                  nd }t        |      j                  d||      }t	        t
        j                  dd|d      S )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.   "   sa     /;,**K*6&&DIb\!!qkY!WF&&B
 r+   z/storer   c                    |r|j                   nd }|r|j                  nd }| j                         }||d<   ||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-   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}'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)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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   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   |r|j                   nd }|j                  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 )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'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*   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+   