Add and use QuickReplyManager::get_shortcut_it.
This commit is contained in:
parent
5ef3562533
commit
2c8c883fbf
@ -684,13 +684,12 @@ int64 QuickReplyManager::get_shortcuts_hash() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void QuickReplyManager::delete_quick_reply_shortcut(const string &name, Promise<Unit> &&promise) {
|
void QuickReplyManager::delete_quick_reply_shortcut(const string &name, Promise<Unit> &&promise) {
|
||||||
auto s = get_shortcut(name);
|
auto it = get_shortcut_it(name);
|
||||||
if (s == nullptr) {
|
if (it == shortcuts_.shortcuts_.end()) {
|
||||||
return promise.set_error(Status::Error(400, "Shortcut not found"));
|
return promise.set_error(Status::Error(400, "Shortcut not found"));
|
||||||
}
|
}
|
||||||
auto shortcut_id = s->shortcut_id_;
|
auto shortcut_id = (*it)->shortcut_id_;
|
||||||
td::remove_if(shortcuts_.shortcuts_,
|
shortcuts_.shortcuts_.erase(it);
|
||||||
[shortcut_id](const unique_ptr<Shortcut> &shortcut) { return shortcut->shortcut_id_ == shortcut_id; });
|
|
||||||
|
|
||||||
if (!shortcut_id.is_server()) {
|
if (!shortcut_id.is_server()) {
|
||||||
return promise.set_value(Unit());
|
return promise.set_value(Unit());
|
||||||
@ -731,6 +730,15 @@ QuickReplyManager::Shortcut *QuickReplyManager::get_shortcut(const string &name)
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vector<unique_ptr<QuickReplyManager::Shortcut>>::iterator QuickReplyManager::get_shortcut_it(const string &name) {
|
||||||
|
for (auto it = shortcuts_.shortcuts_.begin(); it != shortcuts_.shortcuts_.end(); ++it) {
|
||||||
|
if ((*it)->name_ == name) {
|
||||||
|
return it;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return shortcuts_.shortcuts_.end();
|
||||||
|
}
|
||||||
|
|
||||||
void QuickReplyManager::sort_quick_reply_messages(vector<unique_ptr<QuickReplyMessage>> &messages) {
|
void QuickReplyManager::sort_quick_reply_messages(vector<unique_ptr<QuickReplyMessage>> &messages) {
|
||||||
std::sort(messages.begin(), messages.end(),
|
std::sort(messages.begin(), messages.end(),
|
||||||
[](const unique_ptr<QuickReplyMessage> &lhs, const unique_ptr<QuickReplyMessage> &rhs) {
|
[](const unique_ptr<QuickReplyMessage> &lhs, const unique_ptr<QuickReplyMessage> &rhs) {
|
||||||
|
@ -168,6 +168,8 @@ class QuickReplyManager final : public Actor {
|
|||||||
|
|
||||||
Shortcut *get_shortcut(const string &name);
|
Shortcut *get_shortcut(const string &name);
|
||||||
|
|
||||||
|
vector<unique_ptr<Shortcut>>::iterator get_shortcut_it(const string &name);
|
||||||
|
|
||||||
static void sort_quick_reply_messages(vector<unique_ptr<QuickReplyMessage>> &messages);
|
static void sort_quick_reply_messages(vector<unique_ptr<QuickReplyMessage>> &messages);
|
||||||
|
|
||||||
using QuickReplyMessageUniqueId = std::pair<MessageId, int32>;
|
using QuickReplyMessageUniqueId = std::pair<MessageId, int32>;
|
||||||
|
Loading…
Reference in New Issue
Block a user