
    "\is                    P    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      Z
y)	zOdds repository    )annotations)OptionalList)Session)Oddsc                  ,    e Zd ZdZddZdddZd	d
dZy)OddsRepositoryzRepository for odds operationsc                    || _         y N)db)selfr   s     0/app/app/core/db/repositories/odds_repository.py__init__zOddsRepository.__init__   s	        Nc                >   | j                   j                  t              j                  t        j                  |k(        }|r"|j                  t        j
                  |k(        }|j                  t        j                  j                               j                         S r   )
r   queryr   filtermatch_id	bookmakerorder_bycaptured_atdescfirst)r   r   r   qs       r   get_latest_1x2_for_matchz'OddsRepository.get_latest_1x2_for_match   si    GGMM$&&t}}'@A945Azz$**//1288::r   c                   | j                   j                  t              j                  t        j                  |k(        j                  t        j                  j                               j                  |      j                         S r   )
r   r   r   r   r   r   r   r   limitall)r   r   r   s      r   get_history_for_matchz$OddsRepository.get_history_for_match   sS    GGMM$VDMMX-.Xd&&++-.U5\SU	
r   )r   r   r   )r   intr   zOptional[str]returnzOptional[Odds])2   )r   r    r   r    r!   z
List[Odds])__name__
__module____qualname____doc__r   r   r    r   r   r	   r	   
   s    (;
r   r	   N)r&   
__future__r   typingr   r   sqlalchemy.ormr   app.core.db.models.oddsr   r	   r'   r   r   <module>r,      s     " ! " (
 
r   