U
    !gMS                     @   sn  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 d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlZd dlZeddZejedgddgdgd eddd ZededddZededddZe ddd Z!ededd d!Z"ed"edd#d$Z#ed%edd&d'Z$e%d(edd)d*Z&e d+edd,d-Z'ed.edd/d0Z(e%d1edd2d3Z)ed4edd5d6Z*ed7edd8d9Z+ed:edd;d<Z,e%d=edd>d?Z-e d@eddAdBZ.edCeddDdEZ/edFeddGdHZ0edIeddJdKZ1e%dLeddMdNZ2e dOeddPdQZ3edReddSdTZ4edUeddVdWZ5edXeddYdZZ6e%d[edd\d]Z7e d^edd_d`Z8edaeddbdcZ9eddeddedfZ:edgeddhdiZ;edjeddkdlZ<e%dmeddndoZ=e dpeddqdrZ>edseddtduZ?edveddwdxZ@edyeddzd{ZAed|edd}d~ZBe%dedddZCe dedddZDededddZEeFdkrjejGeddd dS )    )FastAPIHTTPExceptionRequest)Users)Roles)Products)Empresas)Maquinas)Services)Logs)Response)CORSMiddlewareNz/context360service)	root_pathzhttp://localhost:3000T*)Zallow_originsZallow_credentialsZallow_methodsZallow_headersz/pruebac                   C   s   ddiS )Nmessagezhello world r   r   r   '/var/www/html/context360service/main.py	read_root   s    r   z/users/create)requestc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )N	authToken!Token required or session expiredregister_user  status_codeZdetail)
cookiesget	Exceptionjsonrvalidate_input_datar   r   r   strr   tokendatauserresponseer   r   r   register_users"   s    

r(   z/users/loginc              
      sh   z0|   I d H }t|d t }||}|W S  tk
rb } ztdt|dW 5 d }~X Y nX d S )Nlogin_usersr   r   )r   r   r    r   r)   r   r   r!   )r   r$   r%   r&   r'   r   r   r   r)   2   s    
r)   z/users/destroySessionc               
      sL   zt  } |  }|W S  tk
rF } ztdt|dW 5 d }~X Y nX d S )Nr   r   )r   destroy_sessionr   r   r!   )r%   r&   r'   r   r   r   r*   =   s    r*   z/users/listUsersc              
      sz   zB| j d}|d kr tdn |  I d H }t }||}|W S  tk
rt } ztdt|dW 5 d }~X Y nX d S Nr   r   r   r   )r   r   r   r   r   
list_usersr   r!   r"   r   r   r   r,   F   s    

r,   z/users/validate-sessionc              
      sb   z*t  jj}t| }t|d|}|W S  tk
r\ } ztdt	|dW 5 d }~X Y nX d S )N   r   r   )
inspectcurrentframef_codeco_namer   Zvalidate_sessionZgenerate_responser   r   r!   )r   Zfunction_nameZdecoded_tokenr&   r'   r   r   r   validate_session_routeV   s    
r2   z/users/usersIdc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   get_user_by_idr   r   )
r   r   r   r   r   r    r   r3   r   r!   r"   r   r   r   r3   `   s    

r3   z/users/updateUsersc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   update_userr   r   )
r   r   r   r   r   r    r   r4   r   r!   r"   r   r   r   r4   q   s    

r4   z/users/deleteUserc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   delete_userr   r   )
r   r   r   r   r   r    r   r5   r   r!   r"   r   r   r   r5      s    

r5   z/rolesUser/addUserToRolec              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   add_user_to_roler   r   )
r   r   r   r   r   r    r   r6   r   r!   r"   r   r   r   r6      s    

r6   z/rolesUser/updateUserRolec              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   update_user_roler   r   )
r   r   r   r   r   r    r   r7   r   r!   r"   r   r   r   r7      s    

r7   z/roles/registerRolec              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   register_rolesr   r   )
r   r   r   r   r   r    r   r8   r   r!   r   r#   r$   Zrolesr&   r'   r   r   r   r8      s    

r8   z/roles/getRolesc              
      sz   zB| j d}|d kr tdn |  I d H }t }||}|W S  tk
rt } ztdt|dW 5 d }~X Y nX d S r+   )r   r   r   r   r   	get_rolesr   r!   r9   r   r   r   r:      s    

r:   z/roles/getRolesIdc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   get_roles_by_modulor   r   )
r   r   r   r   r   r    r   r;   r   r!   r9   r   r   r   r;      s    

r;   z/roles/updateRolesc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   update_rolesr   r   )
r   r   r   r   r   r    r   r<   r   r!   r9   r   r   r   r<      s    

r<   z/roles/deleteRolesc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   delete_rolesr   r   )
r   r   r   r   r   r    r   r=   r   r!   r9   r   r   r   r=     s    

r=   z/products/registerProductsc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   register_productsr   r   )
r   r   r   r   r   r    r   r>   r   r!   r   r#   r$   Zproductsr&   r'   r   r   r   r>     s    

r>   z/products/getProductsc              
      sz   zB| j d}|d kr tdn |  I d H }t }||}|W S  tk
rt } ztdt|dW 5 d }~X Y nX d S r+   )r   r   r   r   r   get_productsr   r!   r?   r   r   r   r@   /  s    

r@   z/products/getProductsIdc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   get_products_by_modulor   r   )
r   r   r   r   r   r    r   rA   r   r!   r?   r   r   r   rA   @  s    

rA   z/products/updateProductsc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   update_productsr   r   )
r   r   r   r   r   r    r   rB   r   r!   r?   r   r   r   rB   R  s    

rB   z/products/deleteProductsc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   delete_productsr   r   )
r   r   r   r   r   r    r   rC   r   r!   r?   r   r   r   rC   d  s    

rC   z/empresas/registerEmpresasc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   register_empresasr   r   )
r   r   r   r   r   r    r   rD   r   r!   r   r#   r$   Zempresasr&   r'   r   r   r   rD   {  s    

rD   z/empresas/getEmpresasc              
      sz   zB| j d}|d kr tdn |  I d H }t }||}|W S  tk
rt } ztdt|dW 5 d }~X Y nX d S r+   )r   r   r   r   r   get_empresasr   r!   rE   r   r   r   rF     s    

rF   z/empresas/getEmpresasIdc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   get_empresas_by_modulor   r   )
r   r   r   r   r   r    r   rG   r   r!   rE   r   r   r   rG     s    

rG   z/empresas/updateEmpresasc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   update_empresasr   r   )
r   r   r   r   r   r    r   rH   r   r!   rE   r   r   r   rH     s    

rH   z/empresas/deleteEmpresasc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   delete_empresasr   r   )
r   r   r   r   r   r    r   rI   r   r!   rE   r   r   r   rI     s    

rI   z/maquinas/registerMaquinasc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   register_maquinasr   r   )
r   r   r   r   r   r    r	   rJ   r   r!   r   r#   r$   Zmaquinasr&   r'   r   r   r   rJ     s    

rJ   z/maquinas/getMaquinasc              
      sz   zB| j d}|d kr tdn |  I d H }t }||}|W S  tk
rt } ztdt|dW 5 d }~X Y nX d S r+   )r   r   r   r   r	   get_maquinasr   r!   rK   r   r   r   rL     s    

rL   z/maquinas/getMaquinasActivec              
      sz   zB| j d}|d kr tdn |  I d H }t }||}|W S  tk
rt } ztdt|dW 5 d }~X Y nX d S r+   )r   r   r   r   r	   get_maquinas_activer   r!   rK   r   r   r   rM     s    

rM   z/maquinas/getMaquinasIdc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   get_maquinas_by_modulor   r   )
r   r   r   r   r   r    r	   rN   r   r!   rK   r   r   r   rN     s    

rN   z/maquinas/updateMaquinasc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   update_maquinasr   r   )
r   r   r   r   r   r    r	   rO   r   r!   rK   r   r   r   rO     s    

rO   z/maquinas/deleteMaquinasc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   delete_maquinasr   r   )
r   r   r   r   r   r    r	   rP   r   r!   rK   r   r   r   rP   /  s    

rP   z/servicios/registerServicesc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   register_servicesr   r   )
r   r   r   r   r   r    r
   rQ   r   r!   r   r#   r$   servicesr&   r'   r   r   r   rQ   E  s    

rQ   z /servicios/getServicesMaqEmpProdc              
      sj   z2| j d}|d kr tdn t }| }|W S  tk
rd } ztdt|dW 5 d }~X Y nX d S r+   )r   r   r   r
   get_info_all_servicesr   r!   )r   r#   rS   r&   r'   r   r   r   rT   W  s    
rT   z/servicios/getServicesc              
      sz   zB| j d}|d kr tdn |  I d H }t }||}|W S  tk
rt } ztdt|dW 5 d }~X Y nX d S r+   )r   r   r   r   r
   get_servicesr   r!   rR   r   r   r   rU   f  s    

rU   z/servicios/getServicesIdc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   get_services_by_modulor   r   )
r   r   r   r   r   r    r
   rV   r   r!   rR   r   r   r   rV   w  s    

rV   z/servicios/updateServicesc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   update_servicesr   r   )
r   r   r   r   r   r    r
   rW   r   r!   rR   r   r   r   rW     s    

rW   z/servicios/deleteServicesc              
      s   zN| j d}|d kr tdn |  I d H }t|d t }||}|W S  tk
r } ztdt	|dW 5 d }~X Y nX d S )Nr   r   delete_servicesr   r   )
r   r   r   r   r   r    r
   rX   r   r!   rR   r   r   r   rX     s    

rX   z/logs/registerLogsc              
      s   zV| j d}|d kr tdn |  I d H }t|d t }||}t| |W S  tk
r } zt| t	dt
|dW 5 d }~X Y nX d S )Nr   r   register_logsr   r   )r   r   r   r   r   r    r   rY   printr   r!   )r   r#   r$   Zlogsr&   r'   r   r   r   rY     s    

rY   __main__z0.0.0.0i@  )hostport)HZfastapir   r   r   Zclasses.classUserr   Zclasses.ClassRolesr   Zclasses.ClassProductsr   Zclasses.ClassEmpresasr   Zclasses.ClassMaquinasr	   Zclasses.ClassServicer
   Zclasses.ClassLogsr   Zdecorador.decoratorr   r   Zfastapi.middleware.corsr   uvicornr.   appZadd_middlewarer   r   postr(   r)   deleter*   r,   r2   r3   putr4   r5   r6   r7   r8   r:   r;   r<   r=   r>   r@   rA   rB   rC   rD   rF   rG   rH   rI   rJ   rL   rM   rN   rO   rP   rQ   rT   rU   rV   rW   rX   rY   __name__runr   r   r   r   <module>   s   

	

	
