o
    iS                     @   s   d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlmZ d dlZedd	gd
ZG dd deZeddefddZeddefddZdS )    )	APIRouterHTTPException)FileResponse)	BaseModel)get_summary_datagenerate_ai_analysis)update_a_part_status)loggerNz/goal-skill-t/api/summarySummary)prefixtagsc                   @   s   e Zd ZU eed< dS )SummaryRequest
session_idN)__name__
__module____qualname__str__annotations__ r   r   </home/air/goalskill_sales/back/app/routers/summary_router.pyr      s   
 r    requestc              
      s   zt | j}t|I dH }||d< t| jd d|dW S  ty? } ztd|  dt|i dW  Y d}~S d}~ww )	u   
    현재 세션의 전체 진행 상황 요약 데이터를 반환합니다.
    user_profile_summary에서 데이터를 가져오고, AI 분석 코멘트를 생성합니다.
    Nai_analysis   success)statusdatazSummary API Error: error)r   messager   )r   r   r   r   	Exceptionr	   r   r   )r   r   
ai_commenter   r   r   get_summary   s"   
r"   z/curriculum/{session_id}r   c              
      s   zPd|  d}t d|  d|  tj|s*t d|  tdd|  dt d	|  d
dlm} d|  d}||}t	|ddd| d| idW S  tyY     t
yt } zt d|  tdt|dd}~ww )ux   
    커리큘럼 PDF 파일 서빙
    /home/air/goalskill_t/back/studyplan_files/curriculum_sess_{session_id}.pdf
    z6/home/air/goalskill_t/back/studyplan_files/curriculum_z.pdfz#Curriculum PDF Request: session_id=z, path=zCurriculum PDF not found: i  z&Curriculum PDF not found for session: )status_codedetailzCurriculum PDF found: r   )quoteu   カリキュラム_zapplication/pdfzContent-Dispositionzinline; filename="z"; filename*=UTF-8'')
media_typeheaderszCurriculum PDF Error: i  N)r	   infoospathexistsr   r   urllib.parser%   r   r   r   )r   pdf_pathr%   filenameencoded_filenamer!   r   r   r   get_curriculum_pdf-   s0   r0   )fastapir   r   fastapi.responsesr   pydanticr   app.models.summary_moduler   r   app.models.general_moduler   app.core.configr	   r)   routerr   postr"   getr   r0   r   r   r   r   <module>   s     