aboutsummaryrefslogtreecommitdiffhomepage
path: root/td/telegram/SuggestedAction.cpp
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2021-11-26 14:48:43 +0300
committerlevlam <levlam@telegram.org>2021-11-26 14:48:43 +0300
commit25baedaa34835b6afe34304a97bb5d57995fb9b1 (patch)
treeabbd4765423862536a502aa3fa968b1fc259933d /td/telegram/SuggestedAction.cpp
parentc49c5954ed5c8ba7b35dc925ae6f9db32cc5f341 (diff)
Move dismiss_suggested_action to SuggestedAction.cpp.
Diffstat (limited to 'td/telegram/SuggestedAction.cpp')
-rw-r--r--td/telegram/SuggestedAction.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/td/telegram/SuggestedAction.cpp b/td/telegram/SuggestedAction.cpp
index 97251965a..57721ffe5 100644
--- a/td/telegram/SuggestedAction.cpp
+++ b/td/telegram/SuggestedAction.cpp
@@ -7,6 +7,8 @@
#include "td/telegram/SuggestedAction.h"
#include "td/telegram/ChannelId.h"
+#include "td/telegram/ConfigManager.h"
+#include "td/telegram/ContactsManager.h"
#include "td/telegram/Global.h"
#include "td/telegram/Td.h"
@@ -151,4 +153,23 @@ void remove_suggested_action(vector<SuggestedAction> &suggested_actions, Suggest
}
}
+void dismiss_suggested_action(SuggestedAction action, Promise<Unit> &&promise) {
+ switch (action.type_) {
+ case SuggestedAction::Type::Empty:
+ return promise.set_error(Status::Error(400, "Action must be non-empty"));
+ case SuggestedAction::Type::EnableArchiveAndMuteNewChats:
+ case SuggestedAction::Type::CheckPassword:
+ case SuggestedAction::Type::CheckPhoneNumber:
+ case SuggestedAction::Type::SeeTicksHint:
+ return send_closure_later(G()->config_manager(), &ConfigManager::dismiss_suggested_action, std::move(action),
+ std::move(promise));
+ case SuggestedAction::Type::ConvertToGigagroup:
+ return send_closure_later(G()->contacts_manager(), &ContactsManager::dismiss_dialog_suggested_action,
+ std::move(action), std::move(promise));
+ default:
+ UNREACHABLE();
+ return;
+ }
+}
+
} // namespace td