from app.main.data_model.games.finedge.fe_asset import FEAsset


class FEAssetRepository:
    def __init__(self, session):
        self.session = session

    def get_asset_by_id(self, asset_id):
        asset = self.session.query(FEAsset).filter(FEAsset.id == asset_id).all()
        if len(asset) == 0:
            return None
        return asset[0]

    def get_assets_by_asset_class_id(self, asset_class_id):
        assets = self.session.query(FEAsset).filter(FEAsset.asset_class_id == asset_class_id).all()
        if len(assets) == 0:
            return None
        return assets

    def get_assets_by_market_id(self, market_id):
        assets = self.session.query(FEAsset).filter(FEAsset.market_id == market_id).all()
        if len(assets) == 0:
            return None
        return assets

    def get_assets_by_market_id_and_asset_class_id(self,market_id, asset_class_id):
        assets = self.session.query(FEAsset).filter(FEAsset.market_id == market_id).\
            filter(FEAsset.asset_class_id == asset_class_id).all()
        if len(assets) == 0:
            return None
        return assets

    def get_assets(self):
        assets = self.session.query(FEAsset).all()
        if len(assets) == 0:
            return None
        return assets