o
    g                     @   s
  d dl m Z  d dlZd dlmZmZmZ d dl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mZ d dlmZmZmZmZmZmZmZ ede Z!ede Z"ede Z#e"j$ddgddd Z%e#j$ddgdedd Z&dS )    )datetimeN)requestjsonify	Blueprint)funcor_)aliased)NoResultFound)checkpw)
BadRequest)HTTP404Error)Zeus)verify_tokenwrite_token)buscar_existe_gs_user_objectbuscar_imeiget_access_userinsert_gs_user_objectinsert_integraTAGsacar_grupo_smartreportupdate_group_idapi
main_loginmain_integraTAG/POST)methodsc               
   C   sT  zct  } zLt| \}}|rt|t| d | d }|rD|d d |d d d}t|}t|trC|	d}t
d|id	fW W S n
t
d
didfW W S W W d S  tyc   t
d
didf Y W S w  ty } zt
d
t| i}|dfW  Y d }~S d }~w ty } zt
dt| dtt  d}|dfW  Y d }~S d }~ww )Nusernamepasswordr   idemail)r   r    zutf-8token   messagezUsuario no encontradoi  Internal Server Errorz - r#   error  )r   get_jsonr   validate_json_keys
ValueErrorr   r   
isinstancebytesdecoder   r	   r   str	Exception	traceback
format_exc)dataerror_validateis_validateget_usernotSensibleDatar!   exresponse r9    /var/www/html/api-tag/src/api.pylogin   sD   



r;   c            	      C   s  zt  } t| \}}|rtd|idfW S t }|d}t|| d | d | d | d | d | d	 | d
 | d | d 
 d}| d 	 dkr| d 
 dkr|t| d
 }|rst|| d
 }|rkt|d d  n<t|| d
  n4tddidfW S | d 
 dkrt| d
 }|rt|| d
  ntddidfW S n	tddidfW S tddidfW S  ty } ztd|ddfW  Y d }~S d }~ww )Nr#   i  z%Y-%m-%d %H:%M:%Stipo_negocioppumarca_vehiculomodelo_vehiculoanio_vehiculocolor_vehiculoimei_gpsusuario_solicitantetipo_actividad   RACaltar   	object_idu7   Error en los parámetros de entrada. Imei no encontradobajauV   Error en los parámetros de entrada. No se permite otro tipo de negocio que no sea RACu!   Integración realizada con éxitor"   r$   r%   r'   )r   r(   r   validate_json_apitagr   r   nowstrftimer   upperlowerr   r   r   r   r   r/   )	r2   r3   r4   fecha_actualfecha_formateadauser_idimei_existeexiste_user_imeir7   r9   r9   r:   
integraTAG:   s<   
>rT   )'r   r0   flaskr   r   r   
sqlalchemyr   r   sqlalchemy.ormr   sqlalchemy.orm.excr	   bcryptr
   werkzeug.exceptionsr   lib.ExceptionsHTTPr   lib.Zeusr   src.decoratorsr   r   src.models.modelsr   r   r   r   r   r   r   __name__r   r   r   router;   rT   r9   r9   r9   r:   <module>   s(    $



%