from app.main.data_model.games.finedge.fe_order import FEOrder


class FEOrderRepository:
    def __init__(self, session):
        self.session = session

    def get_order_by_id(self, order_id):
        order = self.session.query(FEOrder).filter(FEOrder.id == order_id).all()
        if len(order) == 0:
            return None
        return order[0]

    def get_orders_by_portfolio_id(self, portfolio_id):
        orders = self.session.query(FEOrder).filter(FEOrder.portfolio_id == portfolio_id).all()
        if len(orders) == 0:
            return None
        return orders

    def get_orders_by_portfolio_id_and_asset_id(self, portfolio_id, asset_id):
        orders = self.session.query(FEOrder).filter(FEOrder.portfolio_id == portfolio_id).\
            filter(FEOrder.asset_id == asset_id).all()
        if len(orders) == 0:
            return None
        return orders