fcm_rs/
conversions.rs

1//! This module provides implementations for conversion and display traits related to FCM operations.
2
3use crate::error::FcmError;
4use crate::models::{FcmErrorResponse, FcmSendResult, FcmSuccessResponse};
5use std::fmt::Display;
6
7impl Into<Result<FcmSuccessResponse, FcmError>> for FcmSendResult {
8    fn into(self) -> Result<FcmSuccessResponse, FcmError> {
9        match self {
10            FcmSendResult::Success(success) => Ok(success),
11            FcmSendResult::Error(error) => Err(FcmError::ResponseError(error)),
12        }
13    }
14}
15
16impl Display for FcmErrorResponse {
17    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
18        write!(f, "{}", serde_json::json!(&self))
19    }
20}