o
    Ղi	                     @   s  d 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mZmZmZ e Ze	  e	jejd
ej ddd ddlZedej edej edefddZeejejdedZ e j!edgddgdgd e j"ej#ddgd e j"ej#ddgd e j"ej#ddgd e j"ej#ddgd e $d d!d" Z%e $d#d$d% Z&e'd&krddl(Z(e(j)d'd(d)ej*ej+ d* dS dS )+u   FastAPI 应用入口    N)asynccontextmanager)FastAPI)CORSMiddleware)logger)get_settings)init_db)tasks	documentsstatssourceszE{time:YYYY-MM-DDTHH:mm:ss.SSSZ} | {level} | {name}:{line} | {message}F)formatlevelcolorize	serializezsqlalchemy.enginezuvicorn.accessappc                 C  s@   t dtj dtj  t  t d dV  t d dS )u   应用生命周期管理z	Starting z vzDatabase initializedNzShutting down application)r   infosettingsapp_nameapp_versionr   )r    r   6/lsinfo/ai/hellotax_ai/data_center/backend/app/main.pylifespan   s   
r   u!   税务数据采集和处理服务)titleversiondescriptionr   *T)allow_originsallow_credentialsallow_methodsallow_headersz/api/v1/tasksu   任务管理)prefixtagsz/api/v1/documentsu   文档管理z/api/v1/statsu   统计信息z/api/v1r   /c                      s   t jt jddS )u	   根路径running)namer   status)r   r   r   r   r   r   r   rootE   s
   r&   z/healthc                      s
   ddiS )u   健康检查r%   healthyr   r   r   r   r   health_checkO   s   r(   __main__zapp.main:appz0.0.0.0iB  )hostportreload	log_level),__doc__sys
contextlibr   fastapir   fastapi.middleware.corsr   logurur   
app.configr   app.databaser   
app.api.v1r   r	   r
   r   r   removeaddstdoutr-   upperlogging	getLoggersetLevelWARNINGr   r   r   r   add_middlewareinclude_routerroutergetr&   r(   __name__uvicornrundebuglowerr   r   r   r   <module>   sl    	
	

