mirror of
https://github.com/Zproger/Aurum.git
synced 2026-10-13 02:56:39 +07:00
fix: график крипты открывать за всё время, лучший/худший рост — по выбранному периоду
График во вкладке «Криптовалюта» теперь по умолчанию показывает всю историю, а не 30 дней — короткое окно у портфеля, растущего годами, часто попадало на локальную просадку и выглядело демотивирующе. Плитки «Лучший рост» и «Худшее падение» раньше всегда считались за 24 часа. Теперь они следуют за диапазоном, выбранным у графика (7д/30д/90д/всё время): для 7д/30д используются закэшированные данные CoinGecko, для «всё время» — метрика за 1 год (дальше бесплатный тариф CoinGecko историю не отдаёт), а для 90д — отдельный запрос по каждой монете, который выполняется только когда пользователь реально выбрал этот период.
This commit is contained in:
@@ -83,6 +83,13 @@ class CryptoHolding(Base, TimestampMixin):
|
||||
price_change_1h: Mapped[Numeric | None] = mapped_column(Numeric(10, 4), nullable=True)
|
||||
price_change_24h: Mapped[Numeric | None] = mapped_column(Numeric(10, 4), nullable=True)
|
||||
price_change_7d: Mapped[Numeric | None] = mapped_column(Numeric(10, 4), nullable=True)
|
||||
# 30d and 1y ride along on the same batched CoinGecko call as the three
|
||||
# above — no extra API cost. 1y stands in for "all time" on the Crypto
|
||||
# tab's Best/Worst Performer stat (see routes/crypto.py): CoinGecko's
|
||||
# free tier caps historical lookback at 365 days regardless, so 1y is
|
||||
# already the most "all time" this API key can ever give us.
|
||||
price_change_30d: Mapped[Numeric | None] = mapped_column(Numeric(10, 4), nullable=True)
|
||||
price_change_1y: Mapped[Numeric | None] = mapped_column(Numeric(10, 4), nullable=True)
|
||||
|
||||
asset: Mapped["Asset"] = relationship()
|
||||
portfolio: Mapped["CryptoPortfolio"] = relationship(back_populates="holdings")
|
||||
|
||||
Reference in New Issue
Block a user