
    !\im                         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	e      Zej%                  d
       ee      fdefd       Zy)zModel API endpoints    )	APIRouterDepends)Session)get_db)ModelRepository)	BaseModel)OptionalDictAnyc                       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      Z
y)ModelResponseidversion
model_type
parameterstrain_accuracytest_accuracytrain_loglosstest_logloss
trained_attrained_on_matches	is_activec                       e Zd ZdZy)ModelResponse.ConfigTN)__name__
__module____qualname__from_attributes     /app/app/api/models.pyConfigr      s    r    r"   N)r   r   r   int__annotations__strr	   r
   r   floatr"   r   r    r!   r   r      sj    GLOc3h((UO#E?"E?"5/!O %N r    r   z/modelsdbc                   K   t        |       }|j                         }|D cg c]  }t        |j                  |j                  |j
                  |j                  |j                  |j                  |j                  |j                  |j                  r|j                  j                         nd|j                  |j                         c}S c c}w w)zGet all models )r   r   r   r   r   r   r   r   r   r   r   )r   get_allr   r   r   r   r   r   r   r   r   r   	isoformatr   r   )r'   
model_repomodelsms       r!   
get_modelsr/      s      !$J!F  ! 44		<<<<''oooo^^/0||1<<))+//++   s    CB'C	C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!   <module>r9      s[     & " ' E  & &	I " I#*6?   r    