o
    h$                     @   sz  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 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)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d d V  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   print
disconnect)r    r   #/home/air/segue/gemini/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   index4   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_fileA   
   r2   z"/segue/gemini/front/show_list.htmlc                     r&   )Nz+/home/air/segue/gemini/front/show_list.htmlr'   r(   r)   r,   r0   r   r   r   serve_show_list_fileI   r3   r4   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   r8   )r9   r   r   r   custom_openapiR   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   gemini_routerV2r   fastapi.openapi.utilsr   configr   requests	db_moduleschemasr   r   r-   r   r   originsadd_middlewaregetr!   include_routermountr2   r4   r:   openapi__name__uvicornrunr   r   r   r   <module>   sV    





