#include "conversations_change_callback.h"
#include "email_manager.h"
#include "find_msg_callback_user_data.h"
-#include "folders_callback_data.h"
#include "folders_change_callback.h"
#include "message.h"
#include "message_storage.h"
using common::ErrorCode;
using common::TypeMismatchException;
using common::PlatformResult;
+using common::tools::ReportError;
namespace extension {
namespace messaging {
const char* FUNCTIONS_HIDDEN_ARGS_SERVICE_ID = "serviceId";
const char* FUN_MESSAGE_MESSAGING_EMAIL = "messaging.email";
-auto getServiceIdFromJSON = [](picojson::object& data) -> int {
- std::string serviceStrId;
+int getServiceIdFromJSON(const picojson::object& data) {
try {
- serviceStrId =
- MessagingUtil::getValueFromJSONObject<std::string>(data, FUNCTIONS_HIDDEN_ARGS_SERVICE_ID);
- return std::stoi(serviceStrId);
+ return std::stoi(
+ MessagingUtil::getValueFromJSONObject<std::string>(data, FUNCTIONS_HIDDEN_ARGS_SERVICE_ID));
} catch (...) {
return -1;
}
void MessagingInstance::GetMessageServices(const picojson::value& args, picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "GetMessageServices() is deprecated and will be removed from next "
+ "release without any alternatives.",
+ "8.0");
CHECK_EXIST(args, JSON_CALLBACK_ID, out);
void MessagingInstance::MessageServiceSendMessage(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageServiceSendMessage() is deprecated and will be removed from next "
+ "release without any alternatives.",
+ "8.0");
CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
CHECK_EXIST(args, JSON_CALLBACK_ID, out);
void MessagingInstance::MessageServiceLoadMessageBody(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageServiceLoadMessageBody() is deprecated and will be removed from "
+ "next release without any alternatives.",
+ "8.0");
CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
CHECK_EXIST(args, JSON_CALLBACK_ID, out);
void MessagingInstance::MessageServiceLoadMessageAttachment(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageServiceLoadMessageAttachment() is deprecated and will be removed "
+ "from next release without any alternatives.",
+ "8.0");
CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
CHECK_EXIST(args, JSON_CALLBACK_ID, out);
void MessagingInstance::MessageServiceSync(const picojson::value& args, picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageServiceSync() is deprecated and will be removed from next "
+ "release without any alternatives.",
+ "8.0");
CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
CHECK_EXIST(args, JSON_CALLBACK_ID, out);
void MessagingInstance::MessageServiceSyncFolder(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageServiceSyncFolder() is deprecated and will be removed from next "
+ "release without any alternatives.",
+ "8.0");
CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
CHECK_EXIST(args, JSON_CALLBACK_ID, out);
SyncFolderCallbackData* callback = new SyncFolderCallbackData(queue_, callbackId, *this);
callback->setAccountId(id);
- callback->setMessageFolder(MessagingUtil::jsonToMessageFolder(v_folder));
+ auto folder_ptr = std::make_shared<picojson::value>(v_folder);
+ callback->setMessageFolder(folder_ptr);
callback->setLimit(limit);
callback->AddToQueue();
void MessagingInstance::MessageServiceStopSync(const picojson::value& args, picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageServiceStopSync() is deprecated and will be removed from next "
+ "release without any alternatives.",
+ "8.0");
CHECK_EXIST(args, STOP_SYNC_ARGS_OPID, out);
picojson::object data = args.get<picojson::object>();
void MessagingInstance::MessageStorageAddDraftMessage(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageStorageAddDraftMessage() is deprecated and will be removed from "
+ "next release without any alternatives.",
+ "8.0");
CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
CHECK_EXIST(args, JSON_CALLBACK_ID, out);
void MessagingInstance::MessageStorageFindMessages(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageStorageFindMessages() is deprecated and will be removed from "
+ "next release without any alternatives.",
+ "8.0");
CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingRead, &out);
CHECK_EXIST(args, JSON_CALLBACK_ID, out);
void MessagingInstance::MessageStorageRemoveMessages(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageStorageRemoveMessages() is deprecated and will be removed from "
+ "next release without any alternatives.",
+ "8.0");
CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
CHECK_EXIST(args, JSON_CALLBACK_ID, out);
void MessagingInstance::MessageStorageUpdateMessages(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageStorageUpdateMessages() is deprecated and will be removed from "
+ "next release without any alternatives.",
+ "8.0");
CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
CHECK_EXIST(args, JSON_CALLBACK_ID, out);
void MessagingInstance::MessageStorageFindConversations(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageStorageFindConversations() is deprecated and will be removed "
+ "from next release without any alternatives.",
+ "8.0");
CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingRead, &out);
CHECK_EXIST(args, JSON_CALLBACK_ID, out);
void MessagingInstance::MessageStorageRemoveConversations(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageStorageRemoveConversations() is deprecated and will be removed "
+ "from next release without any alternatives.",
+ "8.0");
CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingWrite, &out);
CHECK_EXIST(args, JSON_CALLBACK_ID, out);
void MessagingInstance::MessageStorageFindFolders(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageStorageFindFolders() is deprecated and will be removed from next "
+ "release without any alternatives.",
+ "8.0");
CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingRead, &out);
CHECK_EXIST(args, JSON_CALLBACK_ID, out);
- picojson::object data = args.get<picojson::object>();
- const double callbackId = args.get(JSON_CALLBACK_ID).get<double>();
+ const auto& data = args.get<picojson::object>();
+ auto service = manager_.getMessageService(getServiceIdFromJSON(data));
- auto json = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
- picojson::object& obj = json->get<picojson::object>();
- obj[JSON_CALLBACK_ID] = picojson::value(callbackId);
+ auto task_params = new FindFoldersTaskParams();
+ task_params->instance = this;
+ task_params->callback_id = args.get(JSON_CALLBACK_ID).get<double>();
+ task_params->account_id = service->getMsgServiceId();
+ task_params->message_type = service->getMsgServiceTypeString();
- AbstractFilterPtr filter;
- PlatformResult ret = MessagingUtil::jsonToAbstractFilter(data, &filter);
+ PlatformResult ret = MessagingUtil::jsonToAbstractFilter(data, &(task_params->filter));
if (ret.IsError()) {
- POST_AND_RETURN(ret, json, obj)
+ LoggerE("Cannot convert json to AbstractFilter: %s", args.serialize().c_str());
+ ReportError(ret, &out);
+ delete task_params;
+ return;
}
- FoldersCallbackData* callback = new FoldersCallbackData(queue_, callbackId, *this);
- callback->setFilter(filter);
-
- callback->AddToQueue();
- auto service = manager_.getMessageService(getServiceIdFromJSON(data));
- service->getMsgStorage()->findFolders(callback);
+ service->getMsgStorage()->findFolders(task_params);
}
void MessagingInstance::MessageStorageAddMessagesChangeListener(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageStorageAddMessagesChangeListener() is deprecated and will be "
+ "removed from next release without any alternatives.",
+ "8.0");
CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingRead, &out);
void MessagingInstance::MessageStorageAddConversationsChangeListener(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageStorageAddConversationsChangeListener() is deprecated and will "
+ "be removed from next release without any alternatives.",
+ "8.0");
CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingRead, &out);
void MessagingInstance::MessageStorageAddFolderChangeListener(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageStorageAddFolderChangeListener() is deprecated and will be "
+ "removed from next release without any alternatives.",
+ "8.0");
CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingRead, &out);
auto service = manager_.getMessageService(serviceId);
- std::shared_ptr<FoldersChangeCallback> callback(new FoldersChangeCallback(
- static_cast<long>(-1), serviceId, service->getMsgServiceType(), queue_, *this));
+ std::shared_ptr<FoldersChangeCallback> callback(
+ new FoldersChangeCallback(serviceId, service->getMsgServiceType(), *this));
callback->setFilter(filter);
void MessagingInstance::MessageStorageRemoveChangeListener(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageStorageRemoveChangeListener() is deprecated and will be removed "
+ "from next release without any alternatives.",
+ "8.0");
CHECK_PRIVILEGE_ACCESS(kPrivilegeMessagingRead, &out);
void MessagingInstance::MessageGetMessageStatus(const picojson::value& args,
picojson::object& out) {
ScopeLogger();
+ DEPRECATION_WARN(
+ "MessageGetMessageStatus() is deprecated and will be removed from next "
+ "release without any alternatives.",
+ "8.0");
picojson::object data = args.get<picojson::object>();
const int id = stoi(data.at("id").get<std::string>());