o
    :@i                     @   sh  d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZ d dlZzd dlmZ W n ey;   dZY nw edd	gd
ZG dd deZG dd deZejdededededededfdededee dee dee f
ddZG dd deZejdededfdefddZejdedededfdedee fd d!ZdS )"    )	APIRouterFormHTTPException)	BaseModel)Optional)interview_module)ZOOM_MEETING_IDZOOM_MEETING_PASSWORDN)create_eventz/goalskill-sales/api/interviewzInterview Check)prefixtagsc                   @   s&   e Zd ZU eed< eed< eed< dS )EvaluationResponsestatusmessageidN)__name__
__module____qualname__str__annotations__int r   r   >/home/air/goalskill_sales/back/app/routers/interview_router.pyr      s   
 r   c                   @   s^   e Zd ZU eed< eed< dZee ed< dZee ed< dZee ed< dZ	ee ed< dS )ScheduleResponser   r   N	zoom_linkzoom_passwordcalendar_urlmeeting_time)
r   r   r   r   r   r   r   r   r   r   r   r   r   r   r      s   
 r   z/eval)response_model.
session_idratingadviceinterviewer_nameinterview_typec              
      s^   zt j| ||||d}tdd|dW S  ty. } ztd|  tdt|dd }~ww )N)r   r    r!   r"   r#   successzEvaluation saved successfully.)r   r   r   z[Interview Router Error]   status_codedetail)r   insert_evaluationr   	Exceptionprintr   r   )r   r    r!   r"   r#   new_ider   r   r   save_evaluation#   s&   r.   c                   @   s   e Zd ZU eed< eed< dS )ProfileResponser   	user_nameN)r   r   r   r   r   r   r   r   r   r/   >   s   
 r/   z/profilec              
      sb   zt | }|sd}td|dW S  ty0 } ztd|  tdddW  Y d }~S d }~ww )NGuestr$   )r   r0   z[Profile Fetch Error] error)r   get_username_from_profiler/   r*   r+   )r   r0   r-   r   r   r   get_user_profileB   s   
r4   z	/scheduler0   c           
   
      s  zit | }|r|dkr|}n|sd}d }d }tr&tr&dt dt }t}d }d }tr`|r`tj tjdd }|jddddd}|	 }|d	d
}td| d| d| d| |dd}t
dd||||dW S  ty }	 ztd|	  tdt|	dd }	~	ww )Nr1   zhttps://zoom.us/j/z?pwd=   )days   r   )hourminutesecondmicrosecond  u   面談: u   候補者名: u   
Zoomミーティング: u   
パスコード: Zoom)summarydescriptionstart_time_strlocationr$   zMeeting scheduled.)r   r   r   r   r   r   z[Interview Schedule Error] r%   r&   )r   r3   r   r	   r
   datetimenow	timedeltareplace	isoformatr   r*   r+   r   r   )
r   r0   real_user_namer   r   r   meeting_time_strtarget_dateclean_zoom_linkr-   r   r   r   schedule_meetingS   sL   
	rL   )fastapir   r   r   pydanticr   typingr   
app.modelsr   app.core.configr   r	   rC   app.utils.google_calendarr
   ImportErrorrouterr   r   postr   r   r.   r/   r4   rL   r   r   r   r   <module>   s`   