o
    (li                     @   sD  d dl mZmZ d dlmZmZ G dd deZG dd deZG dd deZG d	d
 d
eZ	G dd deZ
G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG d!d" d"eZG d#d$ d$eZG d%d& d&eZd'S )(    )	BaseModelField)OptionalListc                   @   s   e Zd ZU eed< dS )StartDayRequest
session_idN__name__
__module____qualname__str__annotations__ r   r   ?/home/air/goalskill_sales/back/app/schemas/today_goal_schema.pyr      s   
 r   c                   @   sb   e Zd ZU edddZeed< edddZeed< edddZ	e
e ed	< ed
ddZeed< dS )CheckInRequest.u    체크인할 세부 목표의 IDdescriptiongoal_idu2   지난 30분 동안 달성한 수치 (없으면 0)increment_countNu'   유저의 현재 감정이나 코멘트	user_moodAMu    'AM'(오전) 또는 'PM'(오후)session_type)r	   r
   r   r   r   intr   r   floatr   r   r   r   r   r   r   r   r      
   
 r   c                   @   s.   e Zd ZU eed< eed< eed< eed< dS )CheckInResponsestatus
is_successai_modemessageN)r	   r
   r   r   r   boolr   r   r   r   r      
   
 r   c                   @   s.   e Zd ZU eed< eed< eed< eed< dS )AdjustedGoalr   categoryoriginal_targetadjusted_targetN)r	   r
   r   r   r   r   r   r   r   r   r   r"      r!   r"   c                   @   "   e Zd ZU edddZeed< dS )MorningAssessmentRequest.u*   평가할 오늘의 계획(daily_plans) IDr   plan_idNr	   r
   r   r   r(   r   r   r   r   r   r   r'         
 r'   c                   @   s.   e Zd ZU eed< eed< eed< eed< dS )GoalBreakdowntitlecurrenttargetrateN)r	   r
   r   r   r   r   r   r   r   r   r   r+      r!   r+   c                   @   s   e Zd ZU edddZeed< edddZeed< edddZ	eed< edd	dZ
eed
< eg ddZee ed< eg ddZee ed< dS )MorningAssessmentResponse.u   'HIGH' 또는 'LOW'r   motivation_levelu   전체 달성률 (%)scoreu   AI 요약 코멘트
ai_summaryu   오후 행동 지침afternoon_actionu   조정된 목표 리스트)defaultr   adjusted_goalsu   항목별 상세 달성 현황	breakdownN)r	   r
   r   r   r1   r   r   r2   r   r3   r4   r6   r   r"   r7   r+   r   r   r   r   r0   "   s   
 r0   c                   @   s6   e Zd ZU edddZeed< edddZeed< dS )MorningReflectionRequest.   오늘의 계획 IDr   r(   u%   유저의 고민 또는 회고 내용reflection_textN)	r	   r
   r   r   r(   r   r   r:   r   r   r   r   r   r8   ,   s   
 r8   c                   @   s   e Zd ZU eed< eed< dS )MorningReflectionResponser   	ai_adviceNr   r   r   r   r   r;   0      
 r;   c                   @   r&   )EndDayRequest.r9   r   r(   Nr)   r   r   r   r   r>   4   r*   r>   c                   @   sb   e Zd ZU edddZeed< edddZeed< edddZ	e
e ed< d	Zee
e  ed
< d	S )EndDayResponse.u   최종 달성률(%)r   final_scoreu   마무리 인사 메시지r   u   최종 항목별 상세 내역r7   Ngoals)r	   r
   r   r   r@   r   r   r   r   r7   r   r+   rA   r   dictr   r   r   r   r?   7   r   r?   c                   @      e Zd ZU eed< eed< dS )SalesReflectionItemr   r:   Nr	   r
   r   r   r   r   r   r   r   r   rD   =   r=   rD   c                   @   s*   e Zd ZU eed< eed< ee ed< dS )SubmitSalesReportRequestr   r(   reflectionsN)r	   r
   r   r   r   r   r   rD   r   r   r   r   rF   A   s   
 rF   c                   @   s&   e Zd ZU eed< eed< eed< dS )BossCommentRequestr   dateboss_commentNr   r   r   r   r   rH   F      
 rH   c                   @   s:   e Zd ZU eed< dZee ed< eed< dZeed< dS )CounselingRequestr   Nr(   r   usersender)	r	   r
   r   r   r   r(   r   r   rN   r   r   r   r   rL   L   s
   
 rL   c                   @   rC   )FinalReviewAnalysisRequestr(   r   NrE   r   r   r   r   rO   S   r=   rO   c                   @   s&   e Zd ZU eed< eed< eed< dS )SubmitFinalReviewRequestr(   final_user_commentfinal_ai_commentNrE   r   r   r   r   rP   X   rK   rP   c                   @   rC   )FinishCounselingRequestr   r(   N)r	   r
   r   r   r   r   r   r   r   r   rS   ^   r=   rS   N)pydanticr   r   typingr   r   r   r   r   r"   r'   r+   r0   r8   r;   r>   r?   rD   rF   rH   rL   rO   rP   rS   r   r   r   r   <module>   s(    
