@@ -173,16 +173,73 @@ class Messaging {
173173 const std::string &body,
174174 const std::vector<std::string> &topicId = {},
175175 const std::vector<std::string> &userId = {});
176+
177+ /* *
178+ * @brief List all providers.
179+ * @param queries Optional query filters
180+ * @return JSON string of providers list
181+ */
182+ std::string listProviders (Queries &queries);
176183
177- /* *
184+ /* *
178185 * @brief List all provider logs.
179- * @param topicId ID of the provider
186+ * @param providerId ID of the provider
180187 * @param queries Optional query filters
181188 * @return JSON string of provider logs list
182189 */
183190 std::string listProviderLogs (const std::string &providerId,
184191 Queries &queries);
192+
193+ /* *
194+ * @brief Create a new Firebase Cloud Messaging provider.
195+ * @param providerId A unique Id for the provider.
196+ * @param name provider name.
197+ * @param service_account_json FCM service account JSON..
198+ * @param enabled Whether the provider should be active immediately after creation.
199+ * @return JSON response.
200+ */
201+ std::string createFcmProvider (std::string &providerId, std::string name,
202+ std::string service_account_json,
203+ bool enabled);
204+
205+ /* *
206+ * @brief Delete a provider.
207+ * @param providerId ID of the provider
208+ * @return JSON response
209+ */
210+ std::string deleteProvider (const std::string &providerId);
211+
212+ /* *
213+ * @brief Get a specific provider by ID.
214+ * @param providerId ID of the provider
215+ * @return JSON string of the provider details
216+ */
217+ std::string getProvider (const std::string &providerId);
218+
219+ /* *
220+ * @brief List all message logs with optional filters.
221+ * @param messageId ID of the message
222+ * @param queries Query parameters for filtering
223+ * @return JSON string of messageLog list
224+ */
225+ std::string listMessageLogs (const std::string &messageId, Queries &queries);
226+
227+ /* *
228+ * @brief Delete a message by its ID.
229+ * @param messageId ID of the message.
230+ * @return JSON response.
231+ */
232+ std::string deleteMessages (const std::string &messageId);
185233
234+ /* *
235+ * @brief List all targets for a given message.
236+ * @param messageId ID of the message.
237+ * @param queries Optional query filters.
238+ * @return JSON response.
239+ */
240+ std::string listTargets (const std::string &messageId,
241+ const std::vector<std::string> &queries = {});
242+
186243 private:
187244 std::string projectId; // /< Project ID
188245 std::string apiKey; // /< API Key
0 commit comments