o
    ìcj	                     @   s  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 e Ze jejrQe jne jdd e eZd dlm Z  e e e Z!eeZ"eee"dZ#edefddZ$ede$dZ%e%j&eej'ddgdgd e%j(ee#dd e%j(e
e"dd ejre%j(ee#dd e)d e%(ee! edkrd dl*m+Z+ d dl,Z,e-e+e./ j0gZ1e,j2dej3ej4ej5ej5re1ndd dS dS )     N)asynccontextmanager)FastAPI)CORSMiddleware)create_debug_router)create_crm_router)create_api_router)get_settings)create_crm_client)CallService)ConnectionManager)create_ws_routerz1%(asctime)s [%(levelname)s] %(name)s: %(message)s)levelformat)configure_google_credentials)settingscrmappc                 C  sv   t tj t  I d H  tdtj tj	r#tdtj
pdtj d V  t  I d H  t I d H  td d S )Nz!Call service started (ARI app=%s)z.CRM API enabled base_id=%s endpoint_polizas=%sz(url absoluta)zCall service stopped)call_serviceset_broadcast
ws_manager	broadcaststartuploggerinfor   
stasis_appcrm_api_enabledcrm_api_base_idcrm_endpoint_polizasshutdown
crm_clientclose)r    r!   ./var/www/html/bot-asterisk-ari/backend/main.pylifespan"   s   r#   zLlamadas API)titler#   T*)allow_originsallow_credentialsallow_methodsallow_headersz/api)prefixu4   Rutas de depuración ARI habilitadas en /api/debug/*__main__)Pathzmain:app)hostportreloadreload_dirs)6logging
contextlibr   fastapir   fastapi.middleware.corsr   api.debug_routesr   api.crm_routesr   
api.routesr   configr   crm.factoryr	   services.call_servicer
   websocket.managerr   websocket.routesr   r   basicConfig	ari_debugDEBUGINFO	getLogger__name__r   voice.google_credentialsr   r   r   r   r#   r   add_middlewarecors_origin_listinclude_routerr   pathlibr,   uvicornstr__file__resolveparentr0   runr-   r.   
dev_reloadr!   r!   r!   r"   <module>   sf    


