Renamed BotEarnStatistics to CreditsEarnStatistics.

This commit is contained in:
23rd 2024-06-22 04:56:10 +03:00 committed by John Preston
parent 2044f8f9ad
commit 27a71a8dcd
6 changed files with 24 additions and 21 deletions

View file

@ -11,6 +11,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "api/api_updates.h" #include "api/api_updates.h"
#include "apiwrap.h" #include "apiwrap.h"
#include "base/unixtime.h" #include "base/unixtime.h"
#include "data/data_channel.h"
#include "data/data_peer.h" #include "data/data_peer.h"
#include "data/data_photo.h" #include "data/data_photo.h"
#include "data/data_session.h" #include "data/data_session.h"
@ -227,21 +228,22 @@ rpl::producer<not_null<PeerData*>> PremiumPeerBot(
}; };
} }
BotEarnStatistics::BotEarnStatistics(not_null<UserData*> user) CreditsEarnStatistics::CreditsEarnStatistics(not_null<PeerData*> peer)
: StatisticsRequestSender(user) { : StatisticsRequestSender(peer)
, _isUser(peer->isUser()) {
} }
rpl::producer<rpl::no_value, QString> BotEarnStatistics::request() { rpl::producer<rpl::no_value, QString> CreditsEarnStatistics::request() {
return [=](auto consumer) { return [=](auto consumer) {
auto lifetime = rpl::lifetime(); auto lifetime = rpl::lifetime();
makeRequest(MTPpayments_GetStarsRevenueStats( makeRequest(MTPpayments_GetStarsRevenueStats(
MTP_flags(0), MTP_flags(0),
user()->input (_isUser ? user()->input : channel()->input)
)).done([=](const MTPpayments_StarsRevenueStats &result) { )).done([=](const MTPpayments_StarsRevenueStats &result) {
const auto &data = result.data(); const auto &data = result.data();
const auto &status = data.vstatus().data(); const auto &status = data.vstatus().data();
_data = Data::BotEarnStatistics{ _data = Data::CreditsEarnStatistics{
.revenueGraph = StatisticalGraphFromTL(data.vrevenue_graph()), .revenueGraph = StatisticalGraphFromTL(data.vrevenue_graph()),
.currentBalance = status.vcurrent_balance().v, .currentBalance = status.vcurrent_balance().v,
.availableBalance = status.vavailable_balance().v, .availableBalance = status.vavailable_balance().v,
@ -262,7 +264,7 @@ rpl::producer<rpl::no_value, QString> BotEarnStatistics::request() {
}; };
} }
Data::BotEarnStatistics BotEarnStatistics::data() const { Data::CreditsEarnStatistics CreditsEarnStatistics::data() const {
return _data; return _data;
} }

View file

@ -72,15 +72,16 @@ private:
}; };
class BotEarnStatistics final : public StatisticsRequestSender { class CreditsEarnStatistics final : public StatisticsRequestSender {
public: public:
explicit BotEarnStatistics(not_null<UserData*>); explicit CreditsEarnStatistics(not_null<PeerData*>);
[[nodiscard]] rpl::producer<rpl::no_value, QString> request(); [[nodiscard]] rpl::producer<rpl::no_value, QString> request();
[[nodiscard]] Data::BotEarnStatistics data() const; [[nodiscard]] Data::CreditsEarnStatistics data() const;
private: private:
Data::BotEarnStatistics _data; Data::CreditsEarnStatistics _data;
bool _isUser = false;
mtpRequestId _requestId = 0; mtpRequestId _requestId = 0;

View file

@ -13,16 +13,16 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
namespace Data { namespace Data {
using BotEarnInt = uint64; using CreditsEarnInt = uint64;
struct BotEarnStatistics final { struct CreditsEarnStatistics final {
explicit operator bool() const { explicit operator bool() const {
return !!usdRate; return !!usdRate;
} }
Data::StatisticalGraph revenueGraph; Data::StatisticalGraph revenueGraph;
BotEarnInt currentBalance = 0; CreditsEarnInt currentBalance = 0;
BotEarnInt availableBalance = 0; CreditsEarnInt availableBalance = 0;
BotEarnInt overallRevenue = 0; CreditsEarnInt overallRevenue = 0;
float64 usdRate = 0.; float64 usdRate = 0.;
bool isWithdrawalEnabled = false; bool isWithdrawalEnabled = false;
QDateTime nextWithdrawalAt; QDateTime nextWithdrawalAt;

View file

@ -99,8 +99,8 @@ InnerWidget::InnerWidget(
void InnerWidget::load() { void InnerWidget::load() {
const auto apiLifetime = lifetime().make_state<rpl::lifetime>(); const auto apiLifetime = lifetime().make_state<rpl::lifetime>();
const auto request = [=](Fn<void(Data::BotEarnStatistics)> done) { const auto request = [=](Fn<void(Data::CreditsEarnStatistics)> done) {
const auto api = apiLifetime->make_state<Api::BotEarnStatistics>( const auto api = apiLifetime->make_state<Api::CreditsEarnStatistics>(
_peer->asUser()); _peer->asUser());
api->request( api->request(
) | rpl::start_with_error_done([show = _show](const QString &error) { ) | rpl::start_with_error_done([show = _show](const QString &error) {
@ -118,7 +118,7 @@ void InnerWidget::load() {
_showFinished.events( _showFinished.events(
) | rpl::take(1) | rpl::start_with_next([=] { ) | rpl::take(1) | rpl::start_with_next([=] {
request([=](Data::BotEarnStatistics state) { request([=](Data::CreditsEarnStatistics state) {
_state = state; _state = state;
_loaded.fire(true); _loaded.fire(true);
fill(); fill();
@ -129,7 +129,7 @@ void InnerWidget::load() {
Api::PerformForUpdate<TL>(updates, [&](const TL &d) { Api::PerformForUpdate<TL>(updates, [&](const TL &d) {
const auto peerId = peerFromMTP(d.vpeer()); const auto peerId = peerFromMTP(d.vpeer());
if (peerId == _peer->id) { if (peerId == _peer->id) {
request([=](Data::BotEarnStatistics state) { request([=](Data::CreditsEarnStatistics state) {
_state = state; _state = state;
_stateUpdated.fire({}); _stateUpdated.fire({});
}); });

View file

@ -57,7 +57,7 @@ private:
not_null<PeerData*> _peer; not_null<PeerData*> _peer;
std::shared_ptr<Ui::Show> _show; std::shared_ptr<Ui::Show> _show;
Data::BotEarnStatistics _state; Data::CreditsEarnStatistics _state;
rpl::event_stream<Ui::ScrollToRequest> _scrollToRequests; rpl::event_stream<Ui::ScrollToRequest> _scrollToRequests;
rpl::event_stream<ShowRequest> _showRequests; rpl::event_stream<ShowRequest> _showRequests;

View file

@ -27,7 +27,7 @@ public:
Section section() const override; Section section() const override;
using SavedState = Data::BotEarnStatistics; using SavedState = Data::CreditsEarnStatistics;
void setState(SavedState states); void setState(SavedState states);
[[nodiscard]] SavedState state(); [[nodiscard]] SavedState state();