Skip to content

Commit 6663f42

Browse files
authored
Merge branch 'develop' into deleteProvider
2 parents 55b14ba + 05bb8c2 commit 6663f42

4 files changed

Lines changed: 48 additions & 2 deletions

File tree

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,9 @@ createMessage: $(SRCS) $(EXAMPLES_DIR)/messaging/messages/createMessage.cpp
257257
deleteProvider: $(SRCS) $(EXAMPLES_DIR)/messaging/messages/deleteProvider.cpp
258258
@mkdir -p ./$(TESTS_DIR)
259259
$(CXX) $(CXXFLAGS) -o ./$(TESTS_DIR)/deleteProvider $(SRCS) $(EXAMPLES_DIR)/messaging/messages/deleteProvider.cpp $(LDFLAGS)
260+
getProvider: $(SRCS) $(EXAMPLES_DIR)/messaging/messages/getProvider.cpp
261+
@mkdir -p ./$(TESTS_DIR)
262+
$(CXX) $(CXXFLAGS) -o ./$(TESTS_DIR)/getProvider $(SRCS) $(EXAMPLES_DIR)/messaging/messages/getProvider.cpp $(LDFLAGS)
260263
listProviders: $(SRCS) $(EXAMPLES_DIR)/messaging/messages/listProviders.cpp
261264
@mkdir -p ./$(TESTS_DIR)
262265
$(CXX) $(CXXFLAGS) -o ./$(TESTS_DIR)/listProviders $(SRCS) $(EXAMPLES_DIR)/messaging/messages/listProviders.cpp $(LDFLAGS)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#include "Appwrite.hpp"
2+
#include <iostream>
3+
int main() {
4+
std::string projectId = "68853010003a3f4fc106";
5+
std::string apiKey = "";
6+
std::string providerId = "689a4547001864da9330";
7+
try {
8+
Messaging messaging(projectId, apiKey);
9+
std::string response = messaging.getProvider(providerId);
10+
std::cout << "provider Fetched!\nResponse: " << response << std::endl;
11+
} catch (const AppwriteException &ex) {
12+
std::cerr << "Exception: " << ex.what() << std::endl;
13+
}
14+
return 0;
15+
}

include/classes/Messaging.hpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,13 @@ class Messaging {
188188
*/
189189
std::string deleteProvider(const std::string &providerId);
190190

191+
/**
192+
* @brief Get a specific provider by ID.
193+
* @param providerId ID of the provider
194+
* @return JSON string of the provider details
195+
*/
196+
std::string getProvider(const std::string &providerId);
197+
191198
/**
192199
* @brief List all message logs with optional filters.
193200
* @param messageId ID of the message

src/services/Messaging.cpp

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ std::string Messaging::listSubscribers(const std::string &topicId,
249249

250250
std::string url = Config::API_BASE_URL + "/messaging/topics/" + topicId +
251251
"/subscribers" + queries.to_string();
252-
;
252+
253253

254254
std::vector<std::string> headers = Config::getHeaders(projectId);
255255
headers.push_back("X-Appwrite-Key: " + apiKey);
@@ -544,6 +544,27 @@ std::string Messaging::deleteProvider(const std::string &providerId) {
544544
return "provider deleted successfully.";
545545
} else {
546546
throw AppwriteException("Failed to delete provider. Status code: " +
547+
std::to_string(statusCode) +
548+
"\nResponse: " + response);
549+
}
550+
}
551+
552+
std::string Messaging::getProvider(const std::string &providerId) {
553+
if (providerId.empty()) {
554+
throw AppwriteException("Missing required parameter: providerId");
555+
}
556+
std::string url =
557+
Config::API_BASE_URL + "/messaging/providers/" + providerId;
558+
std::vector<std::string> headers = Config::getHeaders(projectId);
559+
headers.push_back("X-Appwrite-Key: " + apiKey);
560+
std::string response;
561+
int statusCode = Utils::getRequest(url, headers, response);
562+
if (statusCode == HttpStatus::OK) {
563+
return response;
564+
} else {
565+
throw AppwriteException("Error fetching provider. Status code: " +
566+
std::to_string(statusCode) +
567+
"\nResponse: " + response);
547568
}
548569
}
549570

@@ -628,5 +649,5 @@ std::string Messaging::listTargets(const std::string &messageId,
628649
"Error fetching message targets. Status code: " + std::to_string(statusCode) +
629650
"\n\nResponse: " + response);
630651
}
631-
632652
}
653+

0 commit comments

Comments
 (0)