Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,9 @@ getMessages: $(SRCS) $(EXAMPLES_DIR)/messaging/messages/getMessages.cpp
createMessage: $(SRCS) $(EXAMPLES_DIR)/messaging/messages/createMessage.cpp
@mkdir -p ./$(TESTS_DIR)
$(CXX) $(CXXFLAGS) -o ./$(TESTS_DIR)/createMessage $(SRCS) $(EXAMPLES_DIR)/messaging/messages/createMessage.cpp $(LDFLAGS)
deleteProvider: $(SRCS) $(EXAMPLES_DIR)/messaging/messages/deleteProvider.cpp
@mkdir -p ./$(TESTS_DIR)
$(CXX) $(CXXFLAGS) -o ./$(TESTS_DIR)/deleteProvider $(SRCS) $(EXAMPLES_DIR)/messaging/messages/deleteProvider.cpp $(LDFLAGS)
listProviders: $(SRCS) $(EXAMPLES_DIR)/messaging/messages/listProviders.cpp
@mkdir -p ./$(TESTS_DIR)
$(CXX) $(CXXFLAGS) -o ./$(TESTS_DIR)/listProviders $(SRCS) $(EXAMPLES_DIR)/messaging/messages/listProviders.cpp $(LDFLAGS)
Expand All @@ -262,11 +265,11 @@ listMessageLogs: $(SRCS) $(EXAMPLES_DIR)/messaging/messages/listMessageLogs.cpp
$(CXX) $(CXXFLAGS) -o ./$(TESTS_DIR)/listMessageLogs $(SRCS) $(EXAMPLES_DIR)/messaging/messages/listMessageLogs.cpp $(LDFLAGS)
deleteMessages: $(SRCS) $(EXAMPLES_DIR)/messaging/messages/deleteMessages.cpp
@mkdir -p ./$(TESTS_DIR)
$(CXX) $(CXXFLAGS) -o ./$(TESTS_DIR)/deleteMessages $(SRCS) $(EXAMPLES_DIR)/messaging/messages/deleteMessages.cpp $(LDFLAGS)

$(CXX) $(CXXFLAGS) -o ./$(TESTS_DIR)/deleteMessages $(SRCS) $(EXAMPLES_DIR)/messaging/messages/deleteMessages.cpp $(LDFLAGS)
listTargets: $(SRCS) $(EXAMPLES_DIR)/messaging/messages/listTargets.cpp
@mkdir -p ./$(TESTS_DIR)
$(CXX) $(CXXFLAGS) -o ./$(TESTS_DIR)/listTargets $(SRCS) $(EXAMPLES_DIR)/messaging/messages/listTargets.cpp $(LDFLAGS)

# Messaging - Topics
getTopic: $(SRCS) $(EXAMPLES_DIR)/messaging/topics/getTopic.cpp
@mkdir -p ./$(TESTS_DIR)
Expand Down
15 changes: 15 additions & 0 deletions examples/messaging/messages/deleteProvider.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#include "Appwrite.hpp"
#include <iostream>
int main() {
std::string projectId = "68853010003a3f4fc106";
std::string apiKey = "";
std::string providerId = "68a22c7b00325882e4e5";
try {
Messaging messaging(projectId, apiKey);
std::string response = messaging.deleteProvider(providerId);
std::cout << "provider deleted!\nResponse: " << response << std::endl;
} catch (const AppwriteException &ex) {
std::cerr << "Exception: " << ex.what() << std::endl;
}
return 0;
}
8 changes: 8 additions & 0 deletions include/classes/Messaging.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,13 @@ class Messaging {
*/
std::string listProviders(Queries &queries);

/**
* @brief Delete a provider.
* @param providerId ID of the provider
* @return JSON response
*/
std::string deleteProvider(const std::string &providerId);

/**
* @brief List all message logs with optional filters.
* @param messageId ID of the message
Expand All @@ -204,6 +211,7 @@ class Messaging {
*/
std::string listTargets(const std::string &messageId,
const std::vector<std::string> &queries = {});

private:
std::string projectId; ///< Project ID
std::string apiKey; ///< API Key
Expand Down
18 changes: 18 additions & 0 deletions src/services/Messaging.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -530,6 +530,23 @@ std::string Messaging::updatePush(const std::string &messageId,
}
}

std::string Messaging::deleteProvider(const std::string &providerId) {
if (providerId.empty()) {
throw AppwriteException("Missing required parameter: providerId");
}
std::string url =
Config::API_BASE_URL + "/messaging/providers/" + providerId;
std::vector<std::string> headers = Config::getHeaders(projectId);
headers.push_back("X-Appwrite-Key: " + apiKey);
std::string response;
int statusCode = Utils::deleteRequest(url, headers, response);
if (statusCode == HttpStatus::DELETED) {
return "provider deleted successfully.";
} else {
throw AppwriteException("Failed to delete provider. Status code: " +
}
}

std::string Messaging::listProviders(Queries &queries) {
std::string url = Config::API_BASE_URL + "/messaging/providers";
std::vector<std::string> headers = Config::getHeaders(projectId);
Expand Down Expand Up @@ -611,4 +628,5 @@ std::string Messaging::listTargets(const std::string &messageId,
"Error fetching message targets. Status code: " + std::to_string(statusCode) +
"\n\nResponse: " + response);
}

}