o
    \hz                     @   s~  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mZmZmZ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ZedefddZeedZdgZej eeddgdgd ej!ddddd Z"e#e ej$deddddd e!ddd  Z%e!d!d"d# Z&d$d% Z'e'e_(e)d&krd d
l*Z*e*j+ed'd(d)d* d
S d
S )+    )FastAPIHTTPException)CORSMiddleware)asynccontextmanager)StaticFiles)FileResponse)database_datedatabase_numdatabase_add_qdatabase_chatdatabase_demo)router)get_openapi)loggerN)	TokenData)datetimeappc                 C  s   t  I d H  t I d H  t I d H  t I d H  t I d H  td d V  t  I d H  t I d H  t I d H  t I d H  t I d H  td d S )Nstartend)r   connectr	   r
   r   r   print
disconnect)r    r   /home/air/demo/back/main.pylifespan   s   r   )r   *T)allow_originsallow_credentialsallow_methodsallow_headers/F)include_in_schemac                      s   dS )NTr   r   r   r   r   index6   s   r"   z/segue/gemini/frontz/home/air/segue/gemini/front)	directoryhtmlstatic)namez%/segue/gemini/front/add_question.htmlc                     &   d} t j| rt| S tddd)Nz./home/air/segue/gemini/front/add_question.html  File not foundstatus_codedetailospathisfiler   r   	file_pathr   r   r   serve_add_question_fileC   
   r3   z"/segue/gemini/front/show_list.htmlc                     r'   )Nz+/home/air/segue/gemini/front/show_list.htmlr(   r)   r*   r-   r1   r   r   r   serve_show_list_fileK   r4   r5   c                  C   s*   t jrt jS tdddt jd} | t _t jS )NzAIR API with chatgptz1.0.0zy
        Speech To Text Websocket Endpoint : /ws?token=
        Send to voice stream data
        Receive a text
        )titleversiondescriptionroutes)r   openapi_schemar   r9   )r:   r   r   r   custom_openapiT   s   
r;   __main__z0.0.0.0i  debug)hostport	log_level),fastapir   r   fastapi.middleware.corsr   
contextlibr   fastapi.staticfilesr   fastapi.responsesr   dbr   r	   r
   r   r   gemini_routerV2r   fastapi.openapi.utilsr   configr   requests	db_moduleschemasr   r   r.   r   r   originsadd_middlewaregetr"   include_routermountr3   r5   r;   openapi__name__uvicornrunr   r   r   r   <module>   sV    





