o
    ¢"\is  ã                   @  sJ   d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 G dd„ dƒZ
dS )	zOdds repositoryé    )Úannotations)ÚOptionalÚList)ÚSession)ÚOddsc                   @  s2   e Zd ZdZddd„Zdddd„Zdddd„ZdS )ÚOddsRepositoryzRepository for odds operationsÚdbr   c                 C  s
   || _ d S ©N)r   )Úselfr   © r   úg/var/www/www-root/data/www/176.119.141.140/sports-predictor/app/core/db/repositories/odds_repository.pyÚ__init__   s   
zOddsRepository.__init__NÚmatch_idÚintÚ	bookmakerúOptional[str]ÚreturnúOptional[Odds]c                 C  s@   | j  t¡ tj|k¡}|r| tj|k¡}| tj ¡ ¡ 	¡ S r	   )
r   Úqueryr   Úfilterr   r   Úorder_byÚcaptured_atÚdescÚfirst)r
   r   r   Úqr   r   r   Úget_latest_1x2_for_match   s   z'OddsRepository.get_latest_1x2_for_matché2   Úlimitú
List[Odds]c                 C  s.   | j  t¡ tj|k¡ tj ¡ ¡ |¡ 	¡ S r	   )
r   r   r   r   r   r   r   r   r   Úall)r
   r   r   r   r   r   Úget_history_for_match   s   
ûz$OddsRepository.get_history_for_match)r   r   r	   )r   r   r   r   r   r   )r   )r   r   r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r    r   r   r   r   r   
   s
    
r   N)r$   Ú
__future__r   Útypingr   r   Úsqlalchemy.ormr   Úapp.core.db.models.oddsr   r   r   r   r   r   Ú<module>   s    