From 7792f64b344138985192774da29bd790ffe86412 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Wed, 6 Dec 2017 10:56:09 +0100 Subject: [PATCH] feat(MainDb): clean some pieces of code --- src/db/main-db-p.h | 2 +- src/db/main-db.cpp | 37 +++++++++++++++---------------------- 2 files changed, 16 insertions(+), 23 deletions(-) diff --git a/src/db/main-db-p.h b/src/db/main-db-p.h index a9c3e009d..bb8f82202 100644 --- a/src/db/main-db-p.h +++ b/src/db/main-db-p.h @@ -52,7 +52,6 @@ private: long long insertSipAddress (const std::string &sipAddress); void insertContent (long long messageEventId, const Content &content); - void removeContentsForChatMessageEvent (long long messageEventId); long long insertContentType (const std::string &contentType); long long insertBasicChatRoom ( long long peerSipAddressId, @@ -69,6 +68,7 @@ private: long long selectChatRoomId (const ChatRoomId &chatRoomId) const; long long selectChatRoomParticipantId (long long chatRoomId, long long sipAddressId) const; + void deleteContents (long long messageEventId); void deleteChatRoomParticipant (long long chatRoomId, long long participantSipAddressId); void deleteChatRoomParticipantDevice (long long participantId, long long participantDeviceSipAddressId); diff --git a/src/db/main-db.cpp b/src/db/main-db.cpp index 5b9d0d601..c08b3b2f4 100644 --- a/src/db/main-db.cpp +++ b/src/db/main-db.cpp @@ -154,36 +154,24 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), const long long &contentTypeId = insertContentType(content.getContentType().asString()); const string &body = content.getBodyAsString(); *session << "INSERT INTO chat_message_content (event_id, content_type_id, body) VALUES" - " (:eventId, :contentTypeId, :body)", soci::use(eventId), soci::use(contentTypeId), + " (:eventId, :contentTypeId, :body)", soci::use(eventId), soci::use(contentTypeId), soci::use(body); - const long long &messageContentId = q->getLastInsertId(); + const long long &chatMessageContentId = q->getLastInsertId(); if (content.getContentType().isFile()) { const FileContent &fileContent = static_cast(content); - const string &fileName = fileContent.getFileName(); - const size_t &fileSize = fileContent.getFileSize(); - const string &filePath = fileContent.getFilePath(); + const string &name = fileContent.getFileName(); + const size_t &size = fileContent.getFileSize(); + const string &path = fileContent.getFilePath(); *session << "INSERT INTO chat_message_file_content (chat_message_content_id, name, size, path) VALUES " - " (:contentId, :name, :size, :path)", - soci::use(messageContentId), soci::use(fileName), soci::use(fileSize), soci::use(filePath); + " (:chatMessageContentId, :name, :size, :path)", + soci::use(chatMessageContentId), soci::use(name), soci::use(size), soci::use(path); } for (const auto &appData : content.getAppDataMap()) *session << "INSERT INTO chat_message_content_app_data (chat_message_content_id, name, data) VALUES" - " (:messageContentId, :name, :data)", - soci::use(messageContentId), soci::use(appData.first), soci::use(appData.second); - } - - void MainDbPrivate::removeContentsForChatMessageEvent (long long eventId) { - soci::session *session = dbSession.getBackendSession(); - - *session << "DELETE FROM chat_message_content WHERE event_id=:eventId", soci::use(eventId); - - //TODO: remove file content if exists - //*session << "DELETE FROM chat_message_file_content WHERE chat_message_content_id=:messageContentId", soci::use(messageContentId); - - //TODO: remove contents' app_data - //*session << "DELETE FROM chat_message_content_app_data WHERE chat_message_content_id=:messageContentId", soci::use(messageContentId); + " (:chatMessageContentId, :name, :data)", + soci::use(chatMessageContentId), soci::use(appData.first), soci::use(appData.second); } long long MainDbPrivate::insertContentType (const string &contentType) { @@ -374,6 +362,11 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), return session->got_data() ? id : -1; } + void MainDbPrivate::deleteContents (long long messageEventId) { + soci::session *session = dbSession.getBackendSession(); + *session << "DELETE FROM chat_message_content WHERE event_id = :messageEventId", soci::use(messageEventId); + } + void MainDbPrivate::deleteChatRoomParticipant (long long chatRoomId, long long participantSipAddressId) { soci::session *session = dbSession.getBackendSession(); *session << "DELETE FROM chat_room_participant" @@ -777,7 +770,7 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), soci::use(state), soci::use(eventId); //TODO: improve - removeContentsForChatMessageEvent(eventId); + deleteContents(eventId); for (const Content *content : chatMessage->getContents()) insertContent(eventId, *content); }