from app.main.data_model.games.finedge.fe_market_data import FEMarketData
from sqlalchemy import func


class FEHistoricalDataRepository:
    def __init__(self, session):
        self.session = session

    def get_historical_data_by_asset_id(self, asset_id):
        historical_data = self.session.query(FEMarketData).filter(FEMarketData.asset_id == asset_id).all()
        if len(historical_data) == 0:
            return None
        return historical_data

    def get_last_historical_data(self):
        last_date = self.session.query(func.max(FEMarketData.market_date))
        historical_data = self.session.query(FEMarketData).filter(
            FEMarketData.market_date == last_date
        ).all()
        if len(historical_data) == 0:
            return None
        return historical_data

