mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Added API support to request statistical graph for single message.
This commit is contained in:
parent
23868bf9cc
commit
3fa6335b24
2 changed files with 32 additions and 2 deletions
|
@ -225,7 +225,7 @@ rpl::producer<rpl::no_value, QString> Statistics::request(
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
rpl::producer<Data::StatisticalGraph, QString> Statistics::requestZoom(
|
Statistics::GraphResult Statistics::requestZoom(
|
||||||
not_null<PeerData*> peer,
|
not_null<PeerData*> peer,
|
||||||
const QString &token,
|
const QString &token,
|
||||||
float64 x) {
|
float64 x) {
|
||||||
|
@ -253,6 +253,32 @@ rpl::producer<Data::StatisticalGraph, QString> Statistics::requestZoom(
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Statistics::GraphResult Statistics::requestMessage(
|
||||||
|
not_null<PeerData*> peer,
|
||||||
|
MsgId msgId) {
|
||||||
|
return [=](auto consumer) {
|
||||||
|
auto lifetime = rpl::lifetime();
|
||||||
|
const auto channel = peer->asChannel();
|
||||||
|
if (!channel) {
|
||||||
|
return lifetime;
|
||||||
|
}
|
||||||
|
|
||||||
|
_api.request(MTPstats_GetMessageStats(
|
||||||
|
MTP_flags(MTPstats_GetMessageStats::Flags(0)),
|
||||||
|
channel->inputChannel,
|
||||||
|
MTP_int(msgId.bare)
|
||||||
|
)).done([=](const MTPstats_MessageStats &result) {
|
||||||
|
consumer.put_next(
|
||||||
|
StatisticalGraphFromTL(result.data().vviews_graph()));
|
||||||
|
consumer.put_done();
|
||||||
|
}).fail([=](const MTP::Error &error) {
|
||||||
|
consumer.put_error_copy(error.type());
|
||||||
|
}).send();
|
||||||
|
|
||||||
|
return lifetime;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
Data::ChannelStatistics Statistics::channelStats() const {
|
Data::ChannelStatistics Statistics::channelStats() const {
|
||||||
return _channelStats;
|
return _channelStats;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,10 +21,14 @@ public:
|
||||||
|
|
||||||
[[nodiscard]] rpl::producer<rpl::no_value, QString> request(
|
[[nodiscard]] rpl::producer<rpl::no_value, QString> request(
|
||||||
not_null<PeerData*> peer);
|
not_null<PeerData*> peer);
|
||||||
[[nodiscard]] rpl::producer<Data::StatisticalGraph, QString> requestZoom(
|
using GraphResult = rpl::producer<Data::StatisticalGraph, QString>;
|
||||||
|
[[nodiscard]] GraphResult requestZoom(
|
||||||
not_null<PeerData*> peer,
|
not_null<PeerData*> peer,
|
||||||
const QString &token,
|
const QString &token,
|
||||||
float64 x);
|
float64 x);
|
||||||
|
[[nodiscard]] GraphResult requestMessage(
|
||||||
|
not_null<PeerData*> peer,
|
||||||
|
MsgId msgId);
|
||||||
|
|
||||||
[[nodiscard]] Data::ChannelStatistics channelStats() const;
|
[[nodiscard]] Data::ChannelStatistics channelStats() const;
|
||||||
[[nodiscard]] Data::SupergroupStatistics supergroupStats() const;
|
[[nodiscard]] Data::SupergroupStatistics supergroupStats() const;
|
||||||
|
|
Loading…
Add table
Reference in a new issue