o
    <аib                     @   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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)loggerSTUDYPLAN_FILES_PATHNz/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   8/home/air/goalskill_t/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   zUt jtd|  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y^     tyy } ztd|  tdt|dd}~ww )ux   
    커리큘럼 PDF 파일 서빙
    /home/air/goalskill_t/back/studyplan_files/curriculum_sess_{session_id}.pdf
    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)ospathjoinr
   r	   infoexistsr   r   urllib.parser'   r   r    r   )r   pdf_pathr'   filenameencoded_filenamer"   r   r   r   get_curriculum_pdf-   s0   r3   )fastapir   r   fastapi.responsesr   pydanticr   app.models.summary_moduler   r   app.models.general_moduler   app.core.configr	   r
   r*   routerr   postr#   getr   r3   r   r   r   r   <module>   s     