o
    !\i_                     @   s   d Z 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 ddlmZ ddlmZ e ZG d	d
 d
eZededddeddddee
fdee dedefddZdS )zAgent run API endpoints    )	APIRouterDependsQuery)Session)Optional)get_db)AgentRunRepository)	BaseModel)datetimec                   @   sl   e Zd ZU eed< eed< eed< eed< ee ed< ee ed< eed< eed< eed	< G d
d dZdS )RunResponseid
agent_namestatus
started_atfinished_aterrormatches_processedrecords_createdrecords_updatedc                   @   s   e Zd ZdZdS )zRunResponse.ConfigTN)__name__
__module____qualname__from_attributes r   r   K/var/www/www-root/data/www/176.119.141.140/sports-predictor/app/api/runs.pyConfig   s    r   N)	r   r   r   int__annotations__strr
   r   r   r   r   r   r   r      s   
 r   z/runsNzFilter by agent name)description2      i  )geler   limitdbc                    s&   t |}|j| |d}dd |D S )zGet agent run history)r   r$   c                 S   s8   g | ]}t |j|j|j|j|j|j|j|j|j	d 	qS ))	r   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   ).0rr   r   r   
<listcomp>&   s    

zget_runs.<locals>.<listcomp>)r   
get_recent)r   r$   r%   run_reporunsr   r   r   get_runs   s   
r,   )__doc__fastapir   r   r   sqlalchemy.ormr   typingr   app.core.db.databaser   -app.core.db.repositories.agent_run_repositoryr   pydanticr	   r
   routerr   getr   r   r,   r   r   r   r   <module>   s*    
