Skip to content

Commit aa425b3

Browse files
Delete message function (#117)
* delete message function * removed excess spaces from delete function * format: deleteMessages --------- Co-authored-by: Pooranjoy <pooranjoyb2016@gmail.com>
1 parent d7d4563 commit aa425b3

4 files changed

Lines changed: 45 additions & 2 deletions

File tree

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,10 @@ getMessages: $(SRCS) $(EXAMPLES_DIR)/messaging/messages/getMessages.cpp
254254
createMessage: $(SRCS) $(EXAMPLES_DIR)/messaging/messages/createMessage.cpp
255255
@mkdir -p ./$(TESTS_DIR)
256256
$(CXX) $(CXXFLAGS) -o ./$(TESTS_DIR)/createMessage $(SRCS) $(EXAMPLES_DIR)/messaging/messages/createMessage.cpp $(LDFLAGS)
257-
257+
deleteMessages: $(SRCS) $(EXAMPLES_DIR)/messaging/messages/deleteMessages.cpp
258+
@mkdir -p ./$(TESTS_DIR)
259+
$(CXX) $(CXXFLAGS) -o ./$(TESTS_DIR)/deleteMessages $(SRCS) $(EXAMPLES_DIR)/messaging/messages/deleteMessages.cpp $(LDFLAGS)
260+
258261
# Messaging - Topics
259262
getTopic: $(SRCS) $(EXAMPLES_DIR)/messaging/topics/getTopic.cpp
260263
@mkdir -p ./$(TESTS_DIR)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#include "Appwrite.hpp"
2+
#include <iostream>
3+
int main() {
4+
std::string projectId = "68853010003a3f4fc106";
5+
std::string apiKey = "";
6+
std::string messageId = "";
7+
try {
8+
Appwrite appwrite(projectId, apiKey);
9+
std::string response =
10+
appwrite.getMessaging().deleteMessages(messageId);
11+
std::cout << "Message deleted successfully! \nResponse: " << response
12+
<< std::endl;
13+
} catch (const AppwriteException &ex) {
14+
std::cerr << "Exception: " << ex.what() << std::endl;
15+
}
16+
return 0;
17+
}

include/classes/Messaging.hpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,12 @@ class Messaging {
174174
const std::vector<std::string> &topicId = {},
175175
const std::vector<std::string> &userId = {});
176176

177-
177+
/**
178+
* @brief Delete a message by its ID.
179+
* @param messageId ID of the message.
180+
* @return JSON response.
181+
*/
182+
std::string deleteMessages(const std::string &messageId);
178183
private:
179184
std::string projectId; ///< Project ID
180185
std::string apiKey; ///< API Key

src/services/Messaging.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -528,4 +528,22 @@ std::string Messaging::updatePush(const std::string &messageId,
528528
"Error updating push message. Status code: " + std::to_string(statusCode) +
529529
"\n\nResponse: " + response);
530530
}
531+
}
532+
533+
std::string Messaging::deleteMessages(const std::string &messageId) {
534+
if (messageId.empty()) {
535+
throw AppwriteException("Missing required parameter: messageId");
536+
}
537+
std::string url = Config::API_BASE_URL + "/messaging/messages/" + messageId;
538+
std::vector<std::string> headers = Config::getHeaders(projectId);
539+
headers.push_back("X-Appwrite-Key: " + apiKey);
540+
std::string response;
541+
int statusCode = Utils::deleteRequest(url, headers, response);
542+
if (statusCode == HttpStatus::DELETED) {
543+
return "Message deleted.";
544+
} else {
545+
throw AppwriteException("Failed to delete message. Status code: " +
546+
std::to_string(statusCode) +
547+
"\nResponse: " + response);
548+
}
531549
}

0 commit comments

Comments
 (0)