o
    Lgp                     @   s   d dl mZmZmZ d dlmZ d dlZd dlZd dlZd dl	Z	d dl
Z
d dlmZmZ e Zeddd Zedd	d
 Zd dlmZmZ G dd deZeddefddZd dlmZ ejejd G dd deZeddefddZdS )    )FastAPIHTTPExceptionRequest)	BaseModelN)DictAny/c                   C      ddiS )NmessagezHello World Testing  r   r   r   ^/var/www/eduai.edurigo.com/doc_train/edurigo_ai/get_recommendations/testing/./fast_api_test.pyroot      r   z/helloTestingc                   C   r	   )Nr
   zHello from FastAPI Testingr   r   r   r   r   hello   r   r   )train_model
save_modelc                   @   s.   e Zd ZU eed< eed< eed< eed< dS )RecommendationRequestcourses_data
users_datacompetency_datatop_rated_coursesN)__name__
__module____qualname__dict__annotations__listr   r   r   r   r      s
   
 r   z/trainTesting/requestc           	   
      s   z1|   I d H }|d}|d}|d}|d}|d}t|||||}t| ddiW S  tyK } ztd td	t|d
d }~ww )N	client_idr   r   r   r   r
   z&Models trained and saved successfully.zFailed to train and save models  status_codedetail)	jsongetr   r   	Exceptionlogging	exceptionr   str)	r   datar   r   r   r   r   trained_modelser   r   r   train_model_api   s    






r,   )get_recommendations)levelc                   @   s   e Zd ZU eed< eed< dS )r   r   	user_dataN)r   r   r   r(   r   r   r   r   r   r   r   5   s   
 z/recommendationsTesting/c              
      s   z.|   I d H }|dd}|di }td| d|  t||}td|  |W S  tyK } ztd|  tdt|d	d }~ww )
Nr    r/   zReceived data - Client ID: z, User Data: zRecommendations: zError in recommendation API: r   r    )	r#   r$   r&   debugr-   r%   errorr   r(   )r   r)   r   r/   recommendationsr+   r   r   r   get_recommendations_api9   s   
r4   )fastapir   r   r   pydanticr   
subprocessr#   r&   ospickletypingr   r   appr$   r   r   model_trainerr   r   r   postr,   recommendationr-   basicConfigDEBUGr4   r   r   r   r   <module>   s,    

