mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-15 21:57:10 +02:00
Replaced MTP types with type aliases for shared media api.
This commit is contained in:
parent
7727cd734e
commit
c9bd0ab725
5 changed files with 24 additions and 23 deletions
|
@ -477,8 +477,8 @@ PRIVATE
|
|||
data/data_media_rotation.h
|
||||
data/data_media_types.cpp
|
||||
data/data_media_types.h
|
||||
data/data_messages.cpp
|
||||
data/data_messages.h
|
||||
# data/data_messages.cpp
|
||||
# data/data_messages.h
|
||||
data/data_message_reactions.cpp
|
||||
data/data_message_reactions.h
|
||||
data/data_msg_id.h
|
||||
|
|
|
@ -2906,10 +2906,16 @@ void ApiWrap::requestSharedMedia(
|
|||
histories.sendRequest(history, requestType, [=](Fn<void()> finish) {
|
||||
return request(
|
||||
std::move(*prepared)
|
||||
).done([=](const MTPmessages_Messages &result) {
|
||||
).done([=](const Api::SearchRequestResult &result) {
|
||||
const auto key = std::make_tuple(peer, type, messageId, slice);
|
||||
_sharedMediaRequests.remove(key);
|
||||
sharedMediaDone(peer, type, messageId, slice, result);
|
||||
auto parsed = Api::ParseSearchResult(
|
||||
peer,
|
||||
type,
|
||||
messageId,
|
||||
slice,
|
||||
result);
|
||||
sharedMediaDone(peer, type, std::move(parsed));
|
||||
finish();
|
||||
}).fail([=] {
|
||||
_sharedMediaRequests.remove(key);
|
||||
|
@ -2922,15 +2928,7 @@ void ApiWrap::requestSharedMedia(
|
|||
void ApiWrap::sharedMediaDone(
|
||||
not_null<PeerData*> peer,
|
||||
SharedMediaType type,
|
||||
MsgId messageId,
|
||||
SliceType slice,
|
||||
const MTPmessages_Messages &result) {
|
||||
auto parsed = Api::ParseSearchResult(
|
||||
peer,
|
||||
type,
|
||||
messageId,
|
||||
slice,
|
||||
result);
|
||||
Api::SearchResult &&parsed) {
|
||||
_session->storage().add(Storage::SharedMediaAddSlice(
|
||||
peer->id,
|
||||
type,
|
||||
|
|
|
@ -53,6 +53,8 @@ struct PreparedList;
|
|||
|
||||
namespace Api {
|
||||
|
||||
struct SearchResult;
|
||||
|
||||
class Updates;
|
||||
class Authorizations;
|
||||
class AttachedStickers;
|
||||
|
@ -450,9 +452,7 @@ private:
|
|||
void sharedMediaDone(
|
||||
not_null<PeerData*> peer,
|
||||
SharedMediaType type,
|
||||
MsgId messageId,
|
||||
SliceType slice,
|
||||
const MTPmessages_Messages &result);
|
||||
Api::SearchResult &&parsed);
|
||||
|
||||
void sendSharedContact(
|
||||
const QString &phone,
|
||||
|
|
|
@ -20,11 +20,12 @@ namespace Api {
|
|||
namespace {
|
||||
|
||||
constexpr auto kSharedMediaLimit = 100;
|
||||
constexpr auto kFirstSharedMediaLimit = 0;
|
||||
constexpr auto kDefaultSearchTimeoutMs = crl::time(200);
|
||||
|
||||
} // namespace
|
||||
|
||||
std::optional<MTPmessages_Search> PrepareSearchRequest(
|
||||
std::optional<SearchRequest> PrepareSearchRequest(
|
||||
not_null<PeerData*> peer,
|
||||
Storage::SharedMediaType type,
|
||||
const QString &query,
|
||||
|
@ -66,7 +67,7 @@ std::optional<MTPmessages_Search> PrepareSearchRequest(
|
|||
|
||||
const auto minId = 0;
|
||||
const auto maxId = 0;
|
||||
const auto limit = messageId ? kSharedMediaLimit : 0;
|
||||
const auto limit = messageId ? kSharedMediaLimit : kFirstSharedMediaLimit;
|
||||
const auto offsetId = [&] {
|
||||
switch (direction) {
|
||||
case Data::LoadDirection::Before:
|
||||
|
@ -111,7 +112,7 @@ SearchResult ParseSearchResult(
|
|||
Storage::SharedMediaType type,
|
||||
MsgId messageId,
|
||||
Data::LoadDirection direction,
|
||||
const MTPmessages_Messages &data) {
|
||||
const SearchRequestResult &data) {
|
||||
auto result = SearchResult();
|
||||
result.noSkipRange = MsgRange{ messageId, messageId };
|
||||
|
||||
|
@ -382,7 +383,7 @@ void SearchController::requestMore(
|
|||
auto requestId = histories.sendRequest(history, type, [=](Fn<void()> finish) {
|
||||
return _session->api().request(
|
||||
std::move(*prepared)
|
||||
).done([=](const MTPmessages_Messages &result) {
|
||||
).done([=](const SearchRequestResult &result) {
|
||||
listData->requests.remove(key);
|
||||
auto parsed = ParseSearchResult(
|
||||
listData->peer,
|
||||
|
|
|
@ -7,7 +7,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
*/
|
||||
#pragma once
|
||||
|
||||
#include "mtproto/sender.h"
|
||||
#include "data/data_sparse_ids.h"
|
||||
#include "storage/storage_sparse_ids_list.h"
|
||||
#include "storage/storage_shared_media.h"
|
||||
|
@ -30,7 +29,10 @@ struct SearchResult {
|
|||
int fullCount = 0;
|
||||
};
|
||||
|
||||
std::optional<MTPmessages_Search> PrepareSearchRequest(
|
||||
using SearchRequest = MTPmessages_Search;
|
||||
using SearchRequestResult = MTPmessages_Messages;
|
||||
|
||||
std::optional<SearchRequest> PrepareSearchRequest(
|
||||
not_null<PeerData*> peer,
|
||||
Storage::SharedMediaType type,
|
||||
const QString &query,
|
||||
|
@ -42,7 +44,7 @@ SearchResult ParseSearchResult(
|
|||
Storage::SharedMediaType type,
|
||||
MsgId messageId,
|
||||
Data::LoadDirection direction,
|
||||
const MTPmessages_Messages &data);
|
||||
const SearchRequestResult &data);
|
||||
|
||||
class SearchController final {
|
||||
public:
|
||||
|
|
Loading…
Add table
Reference in a new issue