from app.main.data_model.games.finedge.fe_market import FEMarket
from app.main.data_model.games.finedge.fe_session_benchmark import FESessionBenchmark


class FEMarketRepository:
    def __init__(self, session):
        self.session = session

    def get_market_by_id(self, market_id):
        market = self.session.query(FEMarket).filter(FEMarket.id == market_id).all()
        if len(market) == 0:
            return None
        return market[0]

    def get_markets(self):
        markets = self.session.query(FEMarket).all()
        if len(markets) == 0:
            return None
        return markets

    def get_benchmark_market(self, game_session_id):
        market = self.session.query(FEMarket).join(FESessionBenchmark).filter(
            FESessionBenchmark.game_session_id == game_session_id,
            FESessionBenchmark.market_id == FEMarket.id
        ).all()
        if len(market) == 0:
            return None
        return market[0]