
    [h                        d dl Z d dlmZ  ej                         Zd dlmZmZmZm	Z	m
Z
mZmZmZmZmZ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Zd dl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m+Z+ d dl,m,Z, d dl,m-Z- d dl.m/Z/ d dl.m0Z0 d dl.m1Z1 d dl.m2Z2 d dl.m3Z3 d dl.m4Z4 d dl.m5Z5 d dl6m7Z7m8Z8 d dl9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZr  ed       Zsesj                  eg d!dd"gd"g#        ej                  ej                  $       	 esj                  d%      d&        Zxesj                  d'      d(eyfd)       Zzesj                  d*      d+eyfd,       Z{esj                  d-      d(eyfd.       Z|esj                  d/      d0eyfd1       Z}esj                  d2      d3        Z~esj                  d4      d5        Zesj                  d6      d7eyfd8       Zesj                  d2      d9        Z~esj                  d:      d;eyfd<       Zesj                  d=      d>        Zesj                  d?      d@        Zesj                  dA      dBeyfdC       Zesj                  dD      dE        Zesj                  dF      d7eyfdG       Zesj                  dH      dBeyfdI       Zesj                  dJ      dK        Zesj                  dL      dM        Zesj                  dN      dO        Zesj                  dP      dQeyfdR       Zesj                  dS      dT        Zesj                  dU      dVefdW       Zesj                  dXeldYemidYemidZd[g\      d]        Zesj                  d^eldYemidYemidZd[g\      d_        Zesj                  d`      dQeyfda       Zesj                  db      dc        Zesj                  dd      de        Zesj                  df      dg        Zesj                  dh      di        Z	 esj'                  dj      dk        Zesj'                  dl      dm        Zesj'                  dn      do        Zesj'                  dp       eddqr      fdsee   fdt       Zesj'                  duedvdYeiidwg\       edx       edx       edx       edx       edx       edx       edx       edx      fdyedzed{ed|ed}ed~edeydefd       Zesj'                  d      d        Zesj'                  d      de;fd       Zesj'                  d      de?fd       Zesj'                  d      de@fd       Zesj'                  deCdvdYeCiidg\      deBfd       Zesj'                  d       edx       edx       edx      fdeydededefd       Zesj'                  d      deKfd       Zesj'                  d      deIfd       Zesj'                  d      de<fd       Zesj'                  d      deEfd       Zesj'                  d      dQeydeHfd       Zesj'                  d      deLfd       Zesj'                  d      deOfd       Zesj'                  d      dePfd       Zesj'                  d      deQfd       Zesj'                  d      de>fd       Zesj'                  d      deSfd       Zesj'                  deU      deTfd       Zesj'                  deWdvdYeWiidg\      deVfd       Zesj'                  deXdg      deYfd       Zesj'                  dedvdYeiidg\      de[fd       Zesj'                  d      de\fd       Zesj'                  d      de^fd       Zesj'                  d      de_fd       Zesj'                  dedvdYeiidg\      debfd       Zesj'                  dedvdYeiidg\      dedfdÄ       Zesj'                  dī      deefdń       Z	 esj'                  degdYehidYehidZdg\      deffdȄ       Zesj'                  dejdYekidYekidZdg\      deifd˄       Zesj'                  deldYemidYemidZd[g\       edx      fdefd΄       Zesj'                  deldYemidYemidZd[g\       edxdЫ      fdefdф       Zesj'                  deldYemidYemidZd[g\       edxdЫ      fdefdӄ       Zesj'                  deldYemidYemidZd[g\       edxdЫ       edx      fdedefdք       Zesj'                  deWdvdYeWiidg\      denfd؄       Zesj'                  deWdvdYeWiidg\      deofdۄ       Zesj'                  dܫ      deqfd݄       Zesj'                  dޫ      derfd߄       Zesj'                  ddg      de:fd       Zesj'                  ddg      d        Z	 esj}                  d      dQeydeAfd       Zesj}                  d       edx       edx       edx       edx       edx       edx       edx       ed      fdQeydyeydzed{ed}ed~edeyd|edee   fd       Zesj}                  d      deydeDfd       Zesj}                  d      dQeydeFfd       Zesj}                  d      dQeydeGfd       Zesj}                  d      deJfd       Zesj}                  d      deMfd       Zesj}                  d      deNfd       Zesj}                  d      dQeydeRfd       Zesj}                  d      dQeydeZfd       Zesj}                  d      dQeyde]fd       Zesj}                  d      dQeyde`fd       Zesj}                  d       dQeydeafd       Zesj}                  dedvdYeiidg\      decfd       Zesj}                  d       edx       edx       edx       edx       edx       edx       edx       ed      fdQeydyeydzed{ed}ed~edeyd|edee   fd       Zesj}                  d      dQeydepfd       Z	 esj                  d	      dQeyfd
       Zesj                  d      dQeyfd       Zesj                  d      dQeyfd       Zesj                  d      dQeyfd       Zesj                  d      dQeyfd       ZeӐdk(  rd dlZ eԐj                  esdd       yy(      N)	variables)BodyFastAPIFormRequestResponseQueryHTTPException
UploadFileFileCookie	WebSocketWebSocketDisconnectDepends)ListOptional)datetime)BytesIO)StreamingResponse)CORSMiddleware)JSONResponse)Dict)login)mailing)
my_profile)	profiling)account)employee)	help_desk)	contactos)general_information)soporte)mailing_support)contactabilidad)	encuestas)primer_contacto)noticias)malling_primer_contacto)	marketing)admin_propuestas)crear_excel_de_jsontabla_a_excel_prospectos):ObtenerExcelRequestLoginRequestNuevoContactoRequestActualizarNoticiaRequestadjuntoFidelizacioncodigoTemporalRequestEnviarCorreoEmpleadoRequestActualizarPerfilRequestListProspectosRequestListProspectosResponse   ActualizarContraseñaRequestNuevoPermisoRequestActualizarPermisoRequestActualizarEmpleadoRequest#ActualizarGeneralInformationRequestNuevoCuentaServicioRequestactualizarCuentaServicioRequestCuentaRequestCuentaServicioRequest!actualizarCuentadeServicioRequestActualizarMesaAyudaRequestSoporteDataRequestEnviarCorreoSoporteRequestNuevoEmpleadoRequestActualizarEmpleadoPerfilRequestNuevoPerfilRequestListEncuestadosRequestListEncuestadosResponseTablaSeleccionadaRequestTablaSeleccionadaResponserJ   CreateNotesResponseCreateNotesRequestVoluntarioUpdateRequestPrimerContactoRequestEnviarCorreoRequestupdateContactoNuevoAreaRequestNuevoCargoRequestActualizarAreaRequestActualizarCargoRequestverificacionContactadoRequestactualizarEstadoEtapaRequestagregarNuevoProspectoRequestObtenerRecordatoriosRequestObtenerUrlFirmadaRequestObtenerUrlFirmadaResponseObtenerUrlFirmadaErrorObtenerPropuestasCrmRequestObtenerPropuestasCrmResponseObtenerPropuestasCrmErrorProcesamientoResponseProcesamientoError!TablaSeleccionadaMarketingRequest!BusquedaPorCamposDinamicosRequestActualizarEstadoEtapaNuevaEncuestaRequestNuevaPreguntaRequestT)debug)zhttp://localhost:3000zhttp://localhost:4200zhttps://crm.imparables.com.coz'https://dev.crm.imparables.cic-ware.comz!https://pru.crm.imparables.com.cozhttps://pru.imparables.com.coz!https://dev.crm.imparables.com.co*)allow_originsallow_credentialsallow_methodsallow_headers)levelz/ask/consultarCargosc                  2   K   t        j                         S wN)r   consultarCargos     G/var/www/dev.api.imparables.com.co/api_imparables/crm_asincrono/main.py
get_cargosrs   N   s     %%''   z"/ask/consultarPermisos/{id_perfil}	id_perfilc                 4   K   t        j                  |       S wrn   )r   consultarPermisosru   s    rr   consultar_permisosry   T   s     &&y11   z'/ask/consultarPermisosVistas/{idPerfil}idPerfilc                 4   K   t        j                  |       S wrn   )r   consultarPermisosVistas)r{   s    rr   consultar_permisos_vistasr~   Z   s     ,,X66rz   z)/ask/consultarElementosPerfil/{id_perfil}c                 4   K   t        j                  |       S wrn   )r   consultarPermisosElementosrx   s    rr   consultar_elementos_perfilr   `   s     //	::rz   z"/ask/consultarElementos/{id_vista}id_vistac                 4   K   t        j                  |       S wrn   )r   consultarElementos)r   s    rr   consultar_elementosr   f   s     ''11rz   z/ask/consultarPerfilc                  2   K   t        j                         S wrn   r   consultarPerfilrp   rq   rr   consultar_Perfilr   l        $$&&rt   z/ask/consultarModulosc                  2   K   t        j                         S wrn   )r   consultarModulosrp   rq   rr   consultar_modulosr   r   s     %%''rt   z /ask/consultarVistas/{id_modulo}	id_moduloc                 4   K   t        j                  |       S wrn   )r   consultarVistasr   s    rr   consultar_vistasr   x   s     $$Y//rz   c                  2   K   t        j                         S wrn   r   rp   rq   rr   r   r   ~   r   rt   z#/ask/consultarCargosByArea/{idArea}idAreac                 4   K   t        j                  |       S wrn   )r   consultarCargosByAreas)r   s    rr   consultar_cargos_by_arear      s     ,,V44rz   z/ask/consultarAreac                  2   K   t        j                         S wrn   )r   consultarAreasrp   rq   rr   consultar_areasr      s     $$&&rt   z /ask/consultarGeneralInformationc                  2   K   t        j                         S wrn   )r!   consultarGenInforp   rq   rr   consultar_gen_infor      s     //11rt   z"/ask/recuperarSoporte/{idEmployee}
idEmployeec                 4   K   t        j                  |       S wrn   )r"   recuperarSoporter   s    rr   recuperar_soporter      s     ##J//rz   z/ask/getModulosc                  2   K   t        j                         S wrn   )r"   
getModulosrp   rq   rr   get_modulosr      s     rt   z/ask/getVistas/{id_modulo}c                 4   K   t        j                  |       S wrn   )r"   	getVistasr   s    rr   
get_vistasr      s     Y''rz   z/ask/getTickets/{idEmployee}c                 4   K   t        j                  |       S wrn   )r"   
getTicketsr   s    rr   consultar_tickets_por_empleador      s     j))rz   z/ask/getListaTablasDBc                  F   K   t        j                          d {   S 7 wrn   )r$   getListaTablasrp   rq   rr   get_lista_tablas_DBr      s     !002222s   !!z$/ask/tareasDisponiblesPrimerContactoc                  2   K   t        j                         S wrn   )r&   getTareasPrimerContactorp   rq   rr   get_tareas_disponiblesr      s     2244rt   z/ask/tareasDisponiblesc                  2   K   t        j                         S wrn   )r&   getTareasDisponiblesrp   rq   rr   r   r      s     //11rt   z /ask/consultarNotasContacto/{id}idc                    K   	 t        j                  d| i       d {   S 7 # t        $ r*}t        j                  d|        t        dd      d }~ww xY ww)Nid_contacto_origenz*Error al consultar las notas de contacto:   uA   Error al procesar la solicitud de consulta de notas de contactostatus_codedetail)r$   getNotesContact	Exceptionloggingerrorr
   r   es     rr   consultar_notas_contactor      s\     y$446JB5OPPPP yB1#FG4wxxys0   A% #% A% 	A%AAAz/ask/logSftpConfigc                  2   K   t        j                         S wrn   )r'   log_sftp_configurationrp   rq   rr   log_sftp_configr      s     **,,rt   z(/ask/tablasSegunContacto/{tipo_contacto}tipo_contactoc                    K   	 t        j                  |       S # t        $ r*}t        j                  d|        t        dd      d }~ww xY ww)Nz9Error al consultar las tablas segun el tipo de contacto: r   zRError al procesar la solicitud de consulta de las tablas segun el tipo de contactor   )r)   get_lista_tablas_tipo_contactor   r   r   r
   )r   r   s     rr   r   r      s[     J77FF JQRSQTUV  5I  J  	JJs$   A A	A%AAAz=/ask/procesamientoExcel/prospectos/paso3/columnasObligatoriasmodel)  r   z Procesamiento Excel - Prospectos)response_model	responsestagsc                  ~  K   	 t        j                          d {   } | j                  dd      st        d| j                  dd            t	        d| j                  dd      | j                  d	      
      S 7 `# t        $ r  t
        $ r*}t        j                  d|        t        dd      d }~ww xY ww)NsuccessFr   messagez&Error al obtener columnas obligatoriasr   T datar   r   r   zError en paso 3: r   Error interno)r$   Jprocesamiento_principal_paso_3_obtener_columnas_obligatorias_base_de_datosgetr
   r_   r   r   r   	resultador   s     rr   endpoint_paso_3r      s     	E)ttvv	}}Y.C	iQy8z{{$T9==TV;W^g^k^klr^stt w   E)!-.ODDE9   B=A> A<AA> ;B=<A> >B:%B55B::B=z;/ask/procesamientoExcel/prospectos/paso4/columnasOpcionalesc                  ~  K   	 t        j                          d {   } | j                  dd      st        d| j                  dd            t	        d| j                  dd      | j                  d	      
      S 7 `# t        $ r  t
        $ r*}t        j                  d|        t        dd      d }~ww xY ww)Nr   Fr   r   z$Error al obtener columnas opcionalesr   Tr   r   r   zError en paso 4: r   r   )r$   Hprocesamiento_principal_paso_4_obtener_columnas_opcionales_base_de_datosr   r
   r_   r   r   r   r   s     rr   endpoint_paso_4r      s     	E)rrtt	}}Y.C	iQw8xyy$T9==TV;W^g^k^klr^stt u   E)!-.ODDEr   z)/ask/obtenerRespuestasPrimerContacto/{id}c                     	 t        j                  |       S # t        $ r*}t        j                  d|        t        dd      d }~ww xY w)Nz5Error al obtener las respuestas del primer contacto: r   z@Error al procesar la solicitud de respuestas del primer contactor   )r    get_respuestas_primer_contactor   r   r   r
   r   s     rr   "obtener_respuestas_primer_contactor     sM    x77;; xMaSQR4vwwxs    	A
%AA
z/ask/estadosEtapasc                     K   	 t        j                         S # t        $ r*} t        j                  d|         t        dd      d } ~ ww xY ww)Nz'Error al consultar los estados etapas: r   z<Error al procesar la solicitud de consulta de estados etapasr   )r)   traer_estados_etapasr   r   r   r
   r   s    rr   consultar_estados_etapasr     sN     t--// t?sCD4rsst$   A A	A%AAAz/ask/consultarEncuestasc                     K   	 t        j                         S # t        $ r*} t        j                  d|         t        dd      d } ~ ww xY ww)NzError al consultar Encuestas: r   z5Error al procesar la solicitud de consultar encuestasr   )r%   traer_lista_encuestasr   r   r   r
   r   s    rr   consultar_encuestasr     sN     m..00 m6qc:;4kllmr   z/ask/consultarTiposPreguntasc                     K   	 t        j                         S # t        $ r*} t        j                  d|         t        dd      d } ~ ww xY ww)Nu<   Error al obtener la información de los tipos de preguntas: r   Error al procesar la solicitudr   )r%   traer_tipos_preguntasr   r   r   r
   r   s    rr   #consultar_tipos_preguntas_encuestasr     sP     V..00 VTUVTWXY4TUUVr   z/ask/consultarCategoriasc                     K   	 t        j                         S # t        $ r*} t        j                  d|         t        dd      d } ~ ww xY ww)NuE   Error al obtener la información de las categorias de las encuestas: r   r   r   )r%   traer_categorias_encuestasr   r   r   r
   r   s    rr   r   r   )  sP     V3355 V]^_]`ab4TUUVr   z/ask/variablesEntornoc                  2   K   t        j                         S wrn   )r   variables_entornorp   rq   rr   r   r   4  s     &&((rt   z/ask/obtenerCuentasServicioc                  2   K   t        j                         S wrn   )r   obtenerCuentasrp   rq   rr   r   r   :  s     !!##rt   z
/ask/usersc                  2   K   t        j                         S wrn   )r   listEmpleadosrp   rq   rr   	get_usersr   @  s     !!##rt   z/ask/obtenerNoticiasCrmzFecha en formato YYYY-MM-DD)descriptionfechac                 4   K   t        j                  |       S wrn   )r'   obtener_noticiascrm)r   s    rr   r   r   D  s     ''..rz   z/ask/insertarNoticiasCrm   zAgregar nueva propuesta.	principalfecha_noticiatitulolinktexto_cortotexto_largo	id_estadoadjuntoc           	         K   	 | |||||||d}t        j                  |      }	|	S # t        $ r}
|
d }
~
wt        $ r*}
t	        j
                  d|
        t        dd      d }
~
ww xY ww)N)r   r   r   r   r   r   r   r  z#Error al insertar noticia in main: r   z!Error interno al insertar noticiar   )r'   insertar_noticiar
   r   r   r   )r   r   r   r   r   r   r   r  r   r   r   s              rr   insertar_noticia_crmr  J  s     Y #*&&"	
 --d3	  Y;A3?@4WXXYs-   A*!& A*	A'1A'%A""A''A*z/ask/obtenerDataMesaAyudac                  2   K   t        j                         S wrn   )r   obtenerDatosMesaAyudarp   rq   rr   obtener_datos_mesa_ayudar  n  s     **,,rt   z
/ask/loginrequestc                    K   	 | j                   | j                  d}t        j                  |      S # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY ww)N)emailpasswordzError en login: r   z'Error al procesar la solicitud de loginr   )r
  r  r   r   r   r   r
   r  r   r   s      rr   login_router  t  sg     	_]]((

 {{4   _(,-4]^^_$   A(-2 A(	A%%A  A%%A(z/ask/codigoc                    K   	 d| j                   i}t        j                  |      S # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY ww)Nr
  zError al obtener asistentes: r   z4Error al procesar la solicitud de obtener asistentesr   )r
  r   codigoTemporalr   r   r   r
   r  s      rr   codigo_temporalr    sb     lW]]
 ##D)) l5aS9:4jkkl$   A"' A	A%AAAz/ask/sendEmailEmployeec                    K   	 | j                   | j                  | j                  d}t        j                  |      S # t
        $ r*}t        j                  d|        t        dd      d }~ww xY ww)N)userr
  codigoz'Error al enviar el correo al empleado: r   z4Error al procesar la solicitud para enviar el correor   )	r  r
  r  r   sendEmailEmployeer   r   r   r
   r  s      rr   enviar_correo_empleador    sn     
lLL]]nn
 ((.. l?sCD4jkkl%   A38= A3	A0%A++A00A3z/ask/listProspectoszListar prospectosdatosc                 T   K   t        j                  | j                               }|S wrn   )r    list_prospectosdictr  r   s     rr   list_prospectos_endpointr    s&      ))%**,7I s   &(z/ask/updateFoto/{idEmp}idEmpprofile_picture	file_name	file_typec                 B   K   |||d}t        j                  | |      S w)N)r   r!  r"  )r   
updateFoto)r  r   r!  r"  r   s        rr   update_fotor%    s-      +D   --s   z/ask/obtenerCuentasc                    K   	 d| j                   i}t        j                  |      S # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY ww)N	id_cuentazError al obtener cuentas: r   r   r   )r'  r   obtenerCuentasdeServicior   r   r   r
   r  s      rr   obtener_cuentasr)    sd     V**
 //55 V21#674TUUVr  z/ask/insertarCuentaServicioc                    K   	 | j                   | j                  d}t        j                  |      S # t        $ r*}t        j                  d|        t        dd      d }~ww xY ww)N)tipo_cuentastatus)Error al insertar la cuenta de servicio: r   E   Error al procesar la solicitud de inserción de la cuenta de servicior   )r+  r,  r   insertarCuentaServicior   r   r   r
   r  s      rr   insertar_cuenta_servicior0    si     	}"..nn

 --d33 }A!EF4{||}r  z/ask/insertarContactadosc                    K   	 | j                         }t        j                  |      S # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY ww)Nr-  r   r.  r   )r  r    insertarContactor   r   r   r
   r  s      rr   insertar_contactor3    s[     }||~))$// }A!EF4{||}$   A$) A	A%AAAz/ask/newPermissionsc                   K   	 | j                   | j                  | j                  | j                  | j                  d}t        j                  |      S # t        $ r*}t        j                  d|        t        dd      d }~ww xY ww)Nru   r   r   id_elementopermisozError al insertar el permiso: r   u8   Error al procesar la solicitud de inserción del permisor   )ru   r   r   r7  r8  r   insertarPermisor   r   r   r
   r  s      rr   insertar_permisor:    s     p ** **(("..
 ((.. p6qc:;4noop)   B	AA B		B%BBB	z"/ask/updateGeneralInformation/{id}c                 .  K   	 |j                   |j                  |j                  |j                  |j                  |j
                  d}t        j                  | |      S # t        $ r*}t        j                  d|        t        dd      d }~ww xY ww)N)nombretipo_doc	documentocorreotelefono	direccionu-   Error al actualizar la información general: r   uH   Error al procesar la solicitud de actualización de información generalr   )r=  r>  r?  r@  rA  rB  r!   actualizarGenInfor   r   r   r
   r   r  r   r   s       rr   actualizar_general_informationrE    s     @nn(( **nn(( **
 #44R>> @EaSIJ4~@s)   BAA B	B(%BBBz/ask/insertarCuentadeServicioc                    K   	 | j                   | j                  | j                  d}t        j                  |      S # t
        $ r*}t        j                  d|        t        dd      d }~ww xY ww)N)r'  datovalorz&Error al insertar cuenta de servicio: r   z=Error al procesar la solicitud de insertar cuenta de servicior   )	r'  rG  rH  r   insertarCuentadeServicior   r   r   r
   r  s      rr   insertar_cuenta_de_serviciorJ  
  sp     u **LL]]
 //55 u>qcBC4sttur  z/ask/newSupportc                 ,  K   	 | j                   | j                  | j                  | j                  | j                  | j
                  d}t        j                  |      S # t        $ r*}t        j                  d|        t        dd      d }~ww xY ww)N)	prioridadmodulovistaasuntoid_empleadoobservacionz#Error al enviar el correo de PQRS: r   r   r   )rL  rM  rN  rO  rP  rQ  r"   insertarSoporter   r   r   r
   r  s      rr   enviar_ticket_soporterS    s     V **nn]]nn".."..
 &&t,, V;A3?@4TUUV)   BAA B	B'%BBBz/ask/sendEmailSoportec                   K   	 | j                   | j                  | j                  | j                  | j                  d}t        j                  |      S # t        $ r*}t        j                  d|        t        dd      d }~ww xY ww)N)rO  rQ  r=  modulo_name
vista_namez&Error al enviar el correo de soporte: r   z?Error al procesar la solicitud para enviar el correo de soporter   )rO  rQ  r=  rV  rW  r#   sendEmailSoporter   r   r   r
   r  s      rr   enviar_correo_soporterY  -  s     wnn"..nn"..!,,
 //55 w>qcBC4uvvwr;  z/ask/newUserc                   K   	 | j                   | j                  | j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                  | j                  | j                  d}t        j                  |      S # t        $ r*}t        j                   d|        t#        dd      d }~ww xY ww)N)nombres	apellidosr>  r?  id_areaid_cargocorreo_corporativocorreo_alternorA  rB  r,  idperfilzError al insertar el empleado: r   9   Error al procesar la solicitud de inserción del empleador   )r[  r\  r>  r?  r]  r^  r_  r`  rA  rB  r,  ra  r   insertarEmpleador   r   r   r
   r  s      rr   insertar_empleadord  ?  s     q **(( **((")"<"<%44(( **nn((
 ((.. q7s;<4oppqs)   CBB  C 	C)%CCCz"/ask/NuevoRecordatorioFidelizacionc                 ,  K   	 | j                   | j                  | j                  | j                  | j                  | j
                  d}t        j                  |      S # t        $ r*}t        j                  d|        t        dd      d }~ww xY ww)N)id_contacto_unionid_agente_creadorrO  descripcion
fecha_horaid_agente_asignadoz#Error al insertar el recordatorio: r   rb  r   )rf  rg  rO  rh  ri  rj  r     insertarRecordatorioFidelizacionr   r   r   r
   r  s      rr   "insertar_recordatorio_fidelizacionrl  X  s     q!(!:!:!(!:!:nn"..!,,")"<"<
 99$?? q;A3?@4oppqrT  z/ask/newProfilc                    K   	 | j                   | j                  | j                  d}t        j                  |      S # t
        $ r*}t        j                  d|        t        dd      d }~ww xY ww)Nperfilesrh  r,  zError al insertar el perfil: r   u7   Error al procesar la solicitud de inserción del perfilr   )	ro  rh  r,  r   insertarPerfilr   r   r   r
   r  s      rr   insertar_perfilrq  j  sr     
o(("..nn
 ''-- o5aS9:4mnnor  z/ask/listEncuestados)r   c                 d   K   t        j                  | j                  | j                        }|S w)N)page	page_size)r%   obtener_encuestadosrs  pageSizer  s     rr   list_encuestados_endpointrw  z  s.      --ZZ..I s   .0z/ask/datosTablaSeleccionadau$   Selección de Tablas contactabilidadc                    K   	 | j                         }t        j                  |       d {   }|S 7 # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY wwNz5Error al obtener los datos de la tabla seleccionada: r   zLError al procesar la solicitud de obtener los datos de la tabla seleccionadar   )r  r$   datos_tabla_seleccionadar   r   r   r
   r  r   r   r   s       rr   !datos_tabla_seleccionada_endpointr|    sv     	D||~)BB4HH	  I  DMaSQR  5C  D  	DD0   A+(5 35 A+5 	A(%A##A((A+z/ask/notasContactozNotas de Contacto)r   r   c                    K   	 | j                         }t        j                  |       d {   }|S 7 # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY ww)NzError al crear las notas: r   z=Error al procesar la solicitud de crear las notas de contactor   )r  r$   createNotesr   r   r   r
   r{  s       rr   notas_contactor    sj     u||~)55d;;	 <  u21#674sttur}  z /ask/insertarTareaPrimerContactozPrimer Contactoc                    K   	 | j                         }t        j                  |      }|S # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY ww)Nz#Error al insertar primer contacto: r   z:Error al procesar la solicitud de insertar primer contactor   )r  r&   insertar_primer_contactor   r   r   r
   r{  s       rr   !insertar_primer_contacto_endpointr    s`     r||~#<<TB	 r;A3?@4pqqr$   A!&+ A!	A%AAA!z/ask/enviarCorreoPrimerContactoc                    K   	 t        j                  | j                               S # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY ww)Nz(Error al enviar correo primer contacto: r   u&   Error al procesar el envío del correor   )r(   send_email_primer_contactor  r   r   r   r
   r  r   s     rr   enviar_correo_primer_contactor    sV     ^&AA',,.QQ ^@DE4\]]^r  z/ask/newAreac                    K   	 | j                   | j                  d}t        j                  |      S # t        $ r*}t        j                  d|        t        dd      d }~ww xY ww)Narearh     Error al insertar el área: r   6   Error al procesar la solicitud de inserción del árear   )r  rh  r   insertarArear   r   r   r
   r  s      rr   insertar_arear    si     nLL"..
 &&t,, n4QC894lmmnr  z/ask/newCargosc                    K   	 | j                   | j                  | j                  d}t        j                  |      S # t
        $ r*}t        j                  d|        t        dd      d }~ww xY ww)Ncargorh  r   r  r   r  r   )	r  rh  r   r   insertarCargor   r   r   r
   r  s      rr   insertar_cargor    sr     n]]"..nn
 ''--  n4QC894lmmnr  z/ask/verificacionContactadou   verificación Contactadoc                    K   	 | j                         }t        j                  |       d {   }|S 7 # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY ww)Nz Error al verficiar el contacto: r   u;   Error al procesar la solicitud de verificación de contactor   )r  r$   verificacion_persona_contactadar   r   r   r
   r{  s       rr   funcr    si     s||~)II$OO	 P s8<=4qrrsr}  z/ask/agregarNuevoProspectoz Agregar nuevo contacto prospectoc                    K   	 | j                         }t        j                  |       d {   }|S 7 # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY ww)Nz.Error al agregar un nuevo contacto prospecto: r   zEError al procesar la solicitud de agregar un nuevo contacto prospector   )r  r$   agregar_prospecto_nuevor   r   r   r
   r{  s       rr   r  r    si     }||~)AA$GG	 H }FqcJK4{||}r}  z/ask/obtener-recordatoriosc                    K   	 t        j                  | j                        S # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY ww)Nz Error al obtener recordatorios: r   z7Error al procesar la solicitud de obtener recordatoriosr   )r    "obtener_recordatorios_por_contactorf  r   r   r   r
   r  s     rr   "obtener_recordatorios_fidelizacionr    sV     o;;G<U<UVV o8<=4mnnos$   A# A	A%AAAz/ask/obtenerUrlFirmadazURLs Firmadasc                 >  K   	 t        j                  | j                         d{   }|d   st        d|d         t	        d|d   d   	      S 7 ,# t        $ r  t
        $ r3}t        j                  d
t        |              t        dd      d}~ww xY ww)u   
    Obtiene una URL firmada para un archivo específico en S3.
    
    Args:
        request: Contiene el s3_key del archivo
    
    Returns:
        URL firmada con tiempo de expiración
    Nr   r   r   r   Tr   
signed_url)r   url_firmadazError al obtener URL firmada: r   z$Error interno al generar URL firmada)	r*   obtener_url_firmadas3_keyr
   rZ   r   r   r   strr  r   r   s      rr   obtener_url_firmada_endpointr    s     \*>>w~~NN	#C	)8LMM(!&),7
 	
 O   \6s1vh?@4Z[[\s8   B"A A+A BA B'.BBBz/ask/obtenerPropuestasCrmzPropuestas CRMc           	      n  K   	 t        j                  | j                  | j                         d{   }|d   st	        d|d         t        d|d   |d   |d   |d	   |d
         S 7 9# t        $ r  t        $ r3}t        j                  dt        |              t	        dd      d}~ww xY ww)u   
    Obtiene las propuestas con sus archivos adjuntos de S3, paginadas.
    
    Args:
        request: Contiene page y pageSize para la paginación
    
    Returns:
        Lista paginada de propuestas con sus archivos adjuntos
    Nr   r   r   r   Tr   totalRecords
totalPagescurrentPage)r   r   r   r  r  r  z!Error al obtener propuestas CRM: r   z#Error interno al obtener propuestas)
r*   obtener_propuestas_con_archivosrs  rv  r
   r]   r   r   r   r  r  s      rr   obtener_propuestas_crm_endpointr    s     [*JJ7<<Y`YiYijj	#C	)8LMM+i(6"">2 .!-0
 	
 k   [9#a&BC4YZZ[s8   B5-A- A+8A- *B5+A- -B2?.B--B22B5z:/ask/procesamientoExcel/prospectos/paso1/validacionFormatoexcelc                   K   	 t        j                  |        d {   }|j                  dd      st        d|j                  dd            t	        d|j                  dd      |j                  d	      
      S 7 `# t        $ r  t
        $ r*}t        j                  d|        t        dd      d }~ww xY ww)Nr   Fr   r   u   Error en validación de formator   Tr   r   r   zError en paso 1: r   r   )r$   1procesamiento_principal_paso_1_validacion_formator   r
   r_   r   r   r   r  r   r   s      rr   endpoint_paso_1r  >  s     	E)[[\abb	}}Y.C	iQr8stt$T9==TV;W^g^k^klp^qrr c   E)!-.ODDE9   B>A? A=AA? <B>=A? ?B;%B66B;;B>z=/ask/procesamientoExcel/prospectos/paso2/obtenerColumnasExcel)embedc                   K   	 t        j                  |        d {   }|j                  dd      st        d|j                  dd            t	        d|j                  dd      |j                  d	      
      S 7 `# t        $ r  t
        $ r*}t        j                  d|        t        dd      d }~ww xY ww)Nr   Fr   r   zError al obtener columnasr   Tr   r   r   zError en paso 2: r   r   )r$   5procesamiento_principal_paso_2_obtener_columnas_excelr   r
   r_   r   r   r   r  s      rr   endpoint_paso_2r  R  s     	E)__`eff	}}Y.C	iQl8mnn$T9==TV;W^g^k^klr^stt g   E)!-.ODDEr  z9/ask/procesamientoExcel/prospectos/paso5/validacionOpenAIc                 b  K   	 t        j                  |        d {   }|j                  dd      st        ddi       S t        d|j                  dd      |j                  d            S 7 Q# t        $ r  t
        $ r*}t        j                  d	|        t	        d
d      d }~ww xY ww)Nr   Fu0   El excel no pasó la validación correspondienter   Tr   r   r   zError en paso 5: r   r   r   )r$   0procesamiento_principal_paso_5_validacion_openair   r_   r
   r   r   r   r  s      rr   endpoint_paso_5r  f  s     E)ZZ[`aa	}}Y.(J 
 %MM)R0v&
 	
 b   E)!-.ODDEsD   B/A0 A.#A0  B/,A0 -B/.A0 0B,%B''B,,B/z6/ask/procesamientoExcel/prospectos/paso6/procesarExcelmapeo_columnasc                   K   	 	 t        j                  |      }t	        j
                  | |       d {   }|j                  dd      st        d|j                  dd            t        d|j                  dd	      |j                  d
            S # t         j                  $ r t        dd      w xY w7 # t        $ r  t        $ r*}t        j                  d|        t        dd      d }~ww xY ww)Nr   u$   mapeo_columnas no es un JSON válidor   r   Fr   zError al procesar ExcelTr   r   r   zError en paso 6: r   r   )jsonloadsJSONDecodeErrorr
   r$   Hprocesamiento_principal_paso_6_procesar_excel_y_guardar_en_base_de_datosr   r_   r   r   r   )r  r  
mapeo_dictr   r   s        rr   endpoint_paso_6r    s    E	`)-N)CJ *rr:
 
	 }}Y. }}Y0IJ 
 %MM)R0v&
 	
 ## 	`C8^__	`
    E)!-.ODDEsD   C9B B: B8AB: C9!B55B: :C6%C11C66C9z%/ask/marketing_datosTablaSeleccionadac                    K   	 | j                         }t        j                  |      }|S # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY wwry  )r  r)   rz  r   r   r   r
   r{  s       rr   "datos_tabla_seleccionada_marketingr    sk     	D||~66t<	  DMaSQR  5C  D  	DDr  z/ask/busquedaDinamicaCamposu   Selección de Tablas Marketingc                    K   	 | j                         }t        j                  |      }|S # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY ww)Nz1Error al obtener los datos de la tabla filtrada: r   zHError al procesar la solicitud de obtener los datos de la tabla filtradar   )r  r)   !filtrado_dinamico_busqueda_camposr   r   r   r
   r{  s       rr   r|  r|    sb     	@||~??E	  @I!MN4~@r  z/ask/insertarEncuestac                    K   	 | j                         }t        j                  |      S # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY ww)NzError al insertar encuesta: r   z3Error al procesar la solicitud de insertar encuestar   )r  r%   insertar_encuestar   r   r   r
   r  s      rr   r  r    s[     k||~**400 k4QC894ijjkr4  z/ask/insertarPreguntac                    K   	 | j                         }t        j                  |      S # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY ww)Nz(Error al insertar pregunta en encuesta: r   z?Error al procesar la solicitud de insertar pregunta en encuestar   )r  r%   insertar_preguntar   r   r   r
   r  s      rr   insertar_pregunta_encuestar    s[     w||~**400 w@DE4uvvwr4  z/ask/obtenerExcelDeListaJsonzGenerar Excel desde JSON)r   c                 0  K   	 t        | j                         d {   }dt        j                         j	                  d       d}t        |ddd| di      S 7 ?# t        $ r,}t        j                  d	| d
       t        dd      d }~ww xY ww)Nexport_z%Y%m%d_%H%M%Sz.xlsxAapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetContent-Dispositionzattachment; filename=""
media_typeheadersz,Error al obtener el Excel de la lista JSON: Texc_infor   zCError al procesar la solicitud de obtener el Excel de la lista JSONr   )
r+   rowsr   nowstrftimer   r   r   r   r
   )r  bufferfilenamer   s       rr   obtener_excel_de_lista_jsonr    s     
{ 3GLL AAX\\^44_EFeL Z*.DXJa,PQ
 	
 B  {DQCHSWX4yzz{s8   BA A>A BA 	B''BBBz/ask/obtenerExcelDeProspectoszGenerar Excel desde Prospectosc                     K   	 t                d {   } | j                  d       t        | dddi      S 7 %# t        $ r,}t	        j
                  d| d       t        d	d
      d }~ww xY ww)Nr   r  r  z$attachment; filename=prospectos.xlsxr  z)Error al obtener el Excel de prospectos: Tr  r   z@Error al procesar la solicitud de obtener el Excel de prospectosr   )r,   seekr   r   r   r   r
   )r  r   s     rr   obtener_excel_de_prospectosr    s     
 8 :: 	A !Z*,RS
 	
 ;  
A!EPTUU
 	

s1   A19 7$9 A19 	A.'A))A..A1z/ask/updatemyprofil/{id}c                   K   	 |j                   |j                  |j                  |j                  |j                  |j
                  |j                  |j                  |j                  |j                  |j                  d}t        j                  | |      S # t        $ r*}t        j                  d|        t!        dd      d }~ww xY ww)N)r[  r\  r>  r?  r_  r`  rA  rB  r]  r^  r,  Error al actualizar el perfil: r   z8Error al procesar la solicitud para actualizar el perfilr   )r[  r\  r>  r?  r_  r`  rA  rB  r]  r^  r,  r   actualizarMyPerfilr   r   r   r
   rD  s       rr   actualizar_my_perfilr    s     p **(( **")"<"<%44(( **((nn
 ,,R66 p7s;<4noops)   CBB C	C	%CC		Cz/ask/updateNews/{id}c	           	         K   	 ||||||||d}	t        j                  | |	      S # t        $ r6}
t        j                  d|
        t        ddt        |
             d }
~
ww xY wwN)r   r   r   r   r   r   r   r  z Error al actualizar la noticia: r   z Error al procesar la solicitud: r   r'   actualizar_noticiar   r   r   r
   r  r   r   r   r   r   r   r   r   r  r   r   s              rr   actualizar_mi_noticiar         a #*&&"	
 **2t44 a8<=6VWZ[\W]V^4_``a$   A' % A'	A$1AA$$A'z/ask/changepassword/{idUser}idUserc                    K   	 d|j                   i}t        j                  | |      S # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY ww)NnewPasswordu$   Error al actualizar la contraseña: r   u=   Error al procesar la solicitud para actualizar la contraseñar   )r  r      actualizarContraseñar   r   r   r
   )r  r  r   r   s       rr      actualizar_contraseñar  ?  sf     
u7..

 //== u<QC@A4sttus$   A#( A	A%AAAz/ask/actualizarPermiso/{id}c                   K   	 |j                   |j                  |j                  |j                  |j                  d}t        j                  | |      S # t        $ r*}t        j                  d|        t        dd      d }~ww xY ww)Nr6  Error al actualizar: r   r   r   )ru   r   r   r7  r8  r   actualizarPermisor   r   r   r
   rD  s       rr   actualizar_permisor  O  s     V ** **(("..
 **2t44 V-aS124TUUVs)   B
AA B
	B%BBB
z/ask/updateEmployee/{id}c                   K   	 |j                   |j                  |j                  |j                  |j                  |j
                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  d}t        j                  | |      S # t        $ r*}t!        j"                  d|        t%        dd      d }~ww xY ww)N)r[  r\  r>  r?  r_  r`  rA  rB  r]  r^  ra  r,  	nomstatusr  r   r   r   )r[  r\  r>  r?  r_  r`  rA  rB  r]  r^  ra  r,  r  r   actualizarEmpleador   r   r   r
   rD  s       rr   actualizar_empleador  b  s     V **(( **")"<"<%44(( **((((nn **
 **2t44 V7s;<4TUUVs)   C"B'B, +C",	C5%CCC"z/ask/actualizarCuentaServicioc                    K   	 | j                   | j                  | j                  d}t        j                  |      S # t
        $ r*}t        j                  d|        t        dd      d }~ww xY ww)N)r   r+  r,  r  r   r   r   )	r   r+  r,  r   actualizarCuentaServicior   r   r   r
   r  s      rr   actualizar_cuenta_servicior  {  sp     	V**"..nn

 //55 V-aS124TUUVr  z/ask/actualizarCuentadeServicioc                    K   	 | j                   | j                  | j                  d}t        j                  |      S # t
        $ r*}t        j                  d|        t        dd      d }~ww xY ww)N)r   rG  rH  r  r   r   r   )	r   rG  rH  r   actualizarCuentadeServicior   r   r   r
   r  s      rr   actualizar_cuenta_de_servicior    sn     	V**LL]]

 11$77 V-aS124TUUVr  z/ask/actualizarMesaAyudac                   K   	 | j                   | j                  | j                  | j                  | j                  d}t        j                  |      S # t        $ r*}t        j                  d|        t        dd      d }~ww xY ww)N)
id_reporte	respuestarP  r,  fecha_respuestaz&Error al actualizar la mesa de ayuda: r   z?Error al procesar la solicitud para actualizar la mesa de ayudar   )r  r  rP  r,  r  r   actualizarMesaAyudar   r   r   r
   r  s      rr   actualizar_mesa_ayudar     s     w!,, **"..nn&66
 ,,T22 w>qcBC4uvvwr;  z/ask/updateProfil/{id}c                    K   	 |j                   |j                  |j                  d}t        j                  | |      S # t
        $ r*}t        j                  d|        t        dd      d }~ww xY ww)Nrn  r  r   r   r   )	ro  rh  r,  r   actualizarPerfilr   r   r   r
   rD  s       rr   actualizar_perfilr    st     	V(("..nn

 ))"d33 V-aS124TUUV%   A49> A4	A1%A,,A11A4z/ask/actualizar_voluntario/{id}c                 H  K   	 |j                   }|dvrt        dd      i d|j                  d|j                  d|j                  d|j
                  d	|j                  d
|j                  d|j                  d|j                  d|j                  d|j                  d|j                  d|j                  d|j                  d|j                  d|j                   d|j"                  d|j$                  |j&                  |j                  |j                  |j                  |j                  |j                  |j(                  |j*                  |j,                  d	|j                  |j
                  |j                  |j                  |j                  |j                  |j                  |j                  |j.                  |j0                  |j                  |j2                  |j                  |j4                  di d|j                  d|j
                  d|j                  d|j                  d	|j                  d
|j                  d|j                  d|j                  d|j                  d|j.                  d|j0                  d|j                  d|j2                  d|j                  d|j4                  d|j                  d|j                  |j                  |j                   |j"                  |j$                  |j*                  |j,                  dd}|j7                  |i       }||d<   |st        dd      t9        j:                  | |       d {   S 7 # t<        $ r*}t?        j@                  d |        t        d!d"      d }~ww xY ww)#N)inscripciones_voluntariosunion_voluntarios_antiguosbase_datos_10kregistros_crm_antiguoprospectos_manualr   u-   Tabla no válida especificada en la solicitudr   tipo_documentor?  r[  r\  correosrA  paisdepartamentociudadrB  generorecomendadonombre_recomendadorgrupo_wp	grupo_wp1como_ayudarpasion)	fecha_registror  r  r  r?  rA  nombres_completos	interesesautorizacion)r[  r\  r  rA  r  r?  r  r  	localidadbarriorB  fecha_cumpleanosr  tipo_sangrer  r  r  r  )r  r  r  r  r  r  )r  r  r	  r
  nombre_tablaz/Datos no encontrados para la tabla especificadar  r   r   )!r  r
   r  r?  r[  r\  r  rA  r  r  r  rB  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r$   actualizar_voluntario_dbr   r   r   )r   r  r  tablas_mappingr   r   s         rr   actualizar_voluntarior"    s    fV++   
 
  C8ghh* '"8"8*W..* 7??* W..	*
 7??* G,,* *  4 4* '..* W..* '..* w22* &w'B'B* G,,* W..*  w22!*" '..#*( #*"8"8!.."?? ' 4 4$..#,,%,%>%>$.. ' 4 4
 #??$.."??#,,")"8"8$.. ' 4 4!..$..!..$..$+$<$<!..&22& "7??"W.." !'"8"8" W..	"
 7??" G,," "  4 4" '.." W.." '.." W.." #G$<$<" '.." w22"  w22!"" &w'B'B#"$ $,,$..&22!..$.. ' 4 4/"_H
V !!,3+^ C8ijj %==b$GGGG V-aS124TUUVs;   N"M!M, %M*&M, )N"*M, ,	N5%NNN"z/ask/actualizar_contacto/{id}c                   K   	 i d|j                   d|j                  d|j                  d|j                  d|j                  d|j
                  d|j                  d|j                  d	|j                  d
|j                  d|j                  d|j                  d|j                  d|j                  d|j                  d|j                  d|j                   |j"                  |j$                  |j&                  |j(                  |j*                  |j,                  |j.                  |j0                  |j2                  |j4                  |j6                  |j8                  d}t;        j<                  | |      }|j?                  d      stA        d|j?                  dd            |S # t@        $ r}|d }~wtB        $ r3}tE        jF                  d|        tA        dtI        |            d }~ww xY ww)Nr  r  r?  r[  r\  r  rA  r  r  r  rB  r  r  r  r  r  r  )estado_etapar  r  r  r  r  origen_datosr  nombre_embajadortiempo_primer_contactor  fecha_registro_contactor   r   r   zError al actualizar el contactor   r  )%r  r  r?  r[  r\  r  rA  r  r  r  rB  r  r  r  r  r  r  r$  r  r  r  r  r  r%  r  r&  r'  r  r(  r    actualizar_contactor   r
   r   r   r   r  )r   r  r   r   r   s        rr   r)  r)  %  s&    *<
g44
g44
 **
 w	

 **
 w
 ((
 GLL
 G00
 gnn
 **
 gnn
 7..
 "7#>#>
 ((
  **!
" gnn#
$ $00 **nn ' 8 8"..#00#00".. ' 8 8&-&D&D **'.'F'F;
> 11"d;	}}Y'C	iQr8stt  <-aS12CF;;<s5   G=F+F0 /G=0	G:9F;;G:.G55G::G=z/ask/updateArea/{id}c                    K   	 |j                   |j                  d}t        j                  | |      S # t        $ r*}t        j                  d|        t        dd      d }~ww xY ww)Nr  r  r   r   r   )r  rh  r   actualizarArear   r   r   r
   rD  s       rr   actualizar_arear,  V  sk     
VLL"..

 ((T22 V-aS124TUUVs$   A).3 A)	A&%A!!A&&A)z/ask/updateCargos/{id}c                    K   	 |j                   |j                  |j                  d}t        j                  | |      S # t
        $ r*}t        j                  d|        t        dd      d }~ww xY ww)Nr  r  r   r   r   )	r  rh  r   r   actualizarCargor   r   r   r
   rD  s       rr   actualizar_cargosr/  f  st     V]]"..nn
 ))"d33  V-aS124TUUVr  z/ask/actualizarEstadoEtapazActualizar Estado Etapac                    K   	 | j                         }t        j                  |       d {   }|S 7 # t        $ r*}t	        j
                  d|        t        dd      d }~ww xY ww)Nz2Error al actualizar el estado etapa del contacto: r   uN   Error al procesar la solicitud de actualización del estado etapa del contactor   )r  r$   "actualizar_estado_etapa_verificador   r   r   r
   r{  s       rr   r  r  x  sr     F||~)LLTRR	 S FJ1#NO  5E  F  	FFr}  z/ask/updatenews/{id}c	           	         K   	 ||||||||d}	t        j                  | |	      S # t        $ r6}
t        j                  d|
        t        ddt        |
             d }
~
ww xY wwr  r  r  s              rr   r  r    r  r  z!/ask/actualizar_estado_etapa/{id}c                 F  K   	 t        j                  | |j                        }|j                  d      st	        d|j                  dd            |S # t        $ r}|d }~wt
        $ r3}t        j                  d|        t	        dt        |            d }~ww xY ww)Nr   r   r   zError al actualizar el estador   z+Error en endpoint actualizar_estado_etapa: )	r     actualizar_estado_etapa_contactor$  r   r
   r   r   r   r  )r   r  r   r   s       rr   actualizar_estado_etapar5    s     <>>r7CWCWX	}}Y' }}Y0OP 
   <CA3GHCF;;<s5   B!AA B!	BAB+.BBB!z/ask/deletePermissions/{id}c                 4   K   t        j                  |       S wrn   )r   eliminarPermisor   s    rr   eliminar_permisor9    s     $$R((rz   z/ask/eliminarNoticiasCrm/{id}c                 4   K   t        j                  |       S wrn   )r'   eliminarNoticiar8  s    rr   eliminar_noticiar<    s     ##B''rz   z/ask/deleteProfil/{id}c                 4   K   t        j                  |       S wrn   )r   eliminarPerfilr8  s    rr   eliminar_perfilr?    s     ##B''rz   z/ask/deletearea/{id}c                 4   K   t        j                  |       S wrn   )r   eliminarArear8  s    rr   eliminar_arearB    s     ""2&&rz   z/ask/deleteCargos/{id}c                 4   K   t        j                  |       S wrn   )r   eliminarCargosr8  s    rr   eliminar_cargosrE    s     $$R((rz   __main__z0.0.0.0i  )hostport)r  configuracionesr   r   env_pathfastapir   r   r   r   r   r	   r
   r   r   r   r   r   r   typingr   r   r   ior   fastapi.responsesr   fastapi.middleware.corsr   r   r   requestsr   r   administracionr   r   r   r   r   r   personasr    r!   r"   r#   procesosr$   r%   r&   r'   r(   r)   r*   generacion_documentos.excelr+   r,   clasesr-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   appadd_middlewarebasicConfigINFOr   rs   intry   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   postr   r   r   r  r  r  r  r  r  r  r%  r)  r0  r3  r:  rE  rJ  rS  rY  rd  rl  rq  rw  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  putr  r  r  r  r  r  r  r   r  r"  r)  r,  r/  r5  deleter9  r<  r?  rB  rE  __name__uvicornrunrp   rq   rr   <module>ra     s    % '9&&( T  T  T  T !   / 2 *     " % $ " # $  /  # $  $  ,  % U @  @  @  @  @  @  @  @  @  @  @  @  @  @  @
 D    %%  "   ',, ' G	 ( !(
 	-.2 2 /2
 	237c 7 47
 	45; ; 6;
 	-.2 2 /2
 	 ' !'
 	 !( "(
 	+,0c 0 -0
 	 ' !'
 	./53 5 05
 	' '
 	+,2 -2
 	-.0 0 /0
 	   
 	%&( ( '(
 	'(*S * )*
 	 !3 "3 	/05 15 	!"2 #2 	+,ys y -y 	- - 	34J# J 5J C(01BT8UV
,	-	 	 
E
E A(01BT8UV
,	-	 	 
E
E 	45x3 x 6x 	t t 	"#m $m 	'(V )V 	#$V %V H
!") #)
 
'($ )$
 ,$ $ 
#$5:4Mj5k /Xc] / %/
 
$TcGUY?E[c|b}~#Ycs)S	CyCy#Ys)YYY Y 	Y
 Y Y Y Y YF 
%&- '-
 ,
_| 
_ 
_ -	l#8 	l 	l 
"#l*E l $l 
0FSVY`bxXyRz  CV  BW  X*?  X 
#$ #'s)#Y#Y	... . 	. %." 
 	V= 	V !	V 
'(
},F 
} )
} 
$%}%9 } &} 
 p$7 p !p  
./@S @;^ @ 0@( 
)*u/D u +u  
V); V V" 
!"w)C w #w" .q%9 q q0 
./q6I q 0q" 
o#5 o o 
 1HI+A  J 
'8Q^adk  nG  dH  ^I  Qw  Px  y
D5M 
D y
D 
/BJ]I^_u"4 u `u 
,TcT[]aSbMck|j}~r5J r r 
+,^1D ^ -^ .n!1 n n" 
n"3 n n$ 
'wX\oH^  gA  fB  Cs5 s Cs 
&tgW[_G]  fH  eI  J}4 } J} 
&'o6Q o (o ^
"3L_fh~^  HO  Qg  Gh  Yi  q@  pA  B\0H \ B\8 
%6Rel  oH  eI  QX  Zs  Pt  _u  }M  |N  O[3N [ O[F @(01BT8UV
,	-	 
  /33i 
E 
E
E C(01BT8UV
,	-	 
  (,Ct'< 
E 
E
E ?(01BT8UV
,	-	 
  (,Ct'< E EE. <(01BT8UV
,	-	 
  c&s)EEEEF 
1B[hknu  xQ  nR  hS  [A  ZB  C
D6W 
D C
D 
'8Q^adk  nG  dH  ^I  Qq  Pr  s
@5V 
@ s
@ 
!"k%9 k #k 
!"w.B w #w 
(0J/KL{/B { M{ 
)1Q0RS
 T
( G	#$p3 p1H p %p0 	  #Ycs)CyCy#YS	$(Jaaa a 	a
 a a a a j!a !a> 	'(u u7S u )u 	&'V V/G V (V$ 	#$V# V0I V %V0 	()
V.M 
V *
V 	*+
V1R 
V ,
V 	#$w)C w %w" 	!"
V 
V.M 
V #
V 	*+gVC gV2I gV ,gVT 	(),<# ,< ,< *,<` 	 Vc V,A V !V 	!"V V.D V #V" 	%dsWVZOF\d}c~F4 F @F 	  #Ycs)CyCy#YS	$(Jaaa a 	a
 a a a a j!a !aB 	,-<c <4I < .<& J)*)s ) +) +,(s ( -( $%(c ( &(
 "#'C ' $'
 $%)c ) &) z GKK)$/	 rq   