Simplified extracting of data from some MTP* responses.

This commit is contained in:
23rd 2022-07-10 17:59:52 +03:00 committed by John Preston
parent 44a7d11e4a
commit 89a3462824
5 changed files with 7 additions and 26 deletions

View file

@ -100,10 +100,7 @@ void SendBotCallbackData(
button->requestId = 0; button->requestId = 0;
owner->requestItemRepaint(item); owner->requestItemRepaint(item);
} }
const auto &data = result.match([]( const auto &data = result.data();
const auto &data) -> const MTPDmessages_botCallbackAnswer& {
return data;
});
const auto message = data.vmessage() const auto message = data.vmessage()
? qs(*data.vmessage()) ? qs(*data.vmessage())
: QString(); : QString();

View file

@ -379,10 +379,7 @@ void AddContactBox::save() {
MTP_string(lastName))) MTP_string(lastName)))
)).done(crl::guard(weak, [=]( )).done(crl::guard(weak, [=](
const MTPcontacts_ImportedContacts &result) { const MTPcontacts_ImportedContacts &result) {
const auto &data = result.match([]( const auto &data = result.data();
const auto &data) -> const MTPDcontacts_importedContacts& {
return data;
});
session->data().processUsers(data.vusers()); session->data().processUsers(data.vusers());
if (!weak) { if (!weak) {
return; return;

View file

@ -364,17 +364,10 @@ void GiftPremiumValidator::showBox(not_null<UserData*> user) {
} }
_requestId = 0; _requestId = 0;
// _controller->api().processFullPeer(peer, result); // _controller->api().processFullPeer(peer, result);
const auto &data = result.match([]( _controller->session().data().processUsers(result.data().vusers());
const MTPDusers_userFull &d) -> const MTPDusers_userFull & { _controller->session().data().processChats(result.data().vchats());
return d;
});
_controller->session().data().processUsers(data.vusers());
_controller->session().data().processChats(data.vchats());
const auto &fullUser = data.vfull_user().match( const auto &fullUser = result.data().vfull_user().data();
[](const MTPDuserFull &d) -> const MTPDuserFull & {
return d;
});
auto options = GiftOptionFromTL( auto options = GiftOptionFromTL(
fullUser, fullUser,
_controller->session().api().premium().monthlyAmount(), _controller->session().api().premium().monthlyAmount(),

View file

@ -146,10 +146,7 @@ void SponsoredMessages::append(
not_null<History*> history, not_null<History*> history,
List &list, List &list,
const MTPSponsoredMessage &message) { const MTPSponsoredMessage &message) {
const auto &data = message.match([]( const auto &data = message.data();
const auto &data) -> const MTPDsponsoredMessage& {
return data;
});
const auto randomId = data.vrandom_id().v; const auto randomId = data.vrandom_id().v;
const auto hash = qs(data.vchat_invite_hash().value_or_empty()); const auto hash = qs(data.vchat_invite_hash().value_or_empty());
const auto makeFrom = [&]( const auto makeFrom = [&](

View file

@ -818,10 +818,7 @@ void InnerWidget::addEvents(Direction direction, const QVector<MTPChannelAdminLo
: newItemsForDownDirection; : newItemsForDownDirection;
addToItems.reserve(oldItemsCount + events.size() * 2); addToItems.reserve(oldItemsCount + events.size() * 2);
for (const auto &event : events) { for (const auto &event : events) {
const auto &data = event.match([](const MTPDchannelAdminLogEvent &d) const auto &data = event.data();
-> const MTPDchannelAdminLogEvent & {
return d;
});
const auto id = data.vid().v; const auto id = data.vid().v;
if (_eventIds.find(id) != _eventIds.end()) { if (_eventIds.find(id) != _eventIds.end()) {
return; return;