o
    !\im                     @   s   d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZmZmZ e ZG dd	 d	eZed
eefdefddZdS )zModel API endpoints    )	APIRouterDepends)Session)get_db)ModelRepository)	BaseModel)OptionalDictAnyc                   @   s   e Zd ZU eed< eed< eed< eeeef  ed< ee	 ed< ee	 ed< ee	 ed< ee	 ed< eed	< ee ed
< eed< G dd dZ
dS )ModelResponseidversion
model_type
parameterstrain_accuracytest_accuracytrain_loglosstest_logloss
trained_attrained_on_matches	is_activec                   @   s   e Zd ZdZdS )zModelResponse.ConfigTN)__name__
__module____qualname__from_attributes r   r   M/var/www/www-root/data/www/176.119.141.140/sports-predictor/app/api/models.pyConfig   s    r   N)r   r   r   int__annotations__strr   r	   r
   floatr   r   r   r   r   r      s   
 r   z/modelsdbc                    s    t | }| }dd |D S )zGet all modelsc                 S   sN   g | ]#}t |j|j|j|j|j|j|j|j|j	r|j	
 nd |j|jdqS ) )r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   	isoformatr   r   ).0mr   r   r   
<listcomp>#   s    
zget_models.<locals>.<listcomp>)r   get_all)r"   
model_repomodelsr   r   r   
get_models   s   r+   N)__doc__fastapir   r   sqlalchemy.ormr   app.core.db.databaser   )app.core.db.repositories.model_repositoryr   pydanticr   typingr   r	   r
   routerr   getr+   r   r   r   r   <module>   s    