from app.main.data_model.games.leadedge.le_round import LERound


class LERoundRepository:

    def __init__(self, session):
        self.session = session

    def get_round_by_id(self, round_id):
        le_round = self.session.query(LERound).filter(LERound.id == round_id).first()
        return le_round

    def get_other_rounds_with_same_status(self, game_session_id, round_id, status):
        rounds = self.session.query(LERound).filter(
            LERound.game_session_id == game_session_id,
            LERound.id != round_id,
            LERound.status == status).all()
        if len(rounds) == 0:
            return None
        return rounds

    def get_rounds_by_game_session_id(self, game_session_id):
        rounds = self.session.query(LERound).filter(LERound.game_session_id == game_session_id).all()
        if len(rounds) == 0:
            return []
        return rounds