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;
owner->requestItemRepaint(item);
}
const auto &data = result.match([](
const auto &data) -> const MTPDmessages_botCallbackAnswer& {
return data;
});
const auto &data = result.data();
const auto message = data.vmessage()
? qs(*data.vmessage())
: QString();

View file

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

View file

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

View file

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

View file

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