this repo has no description
1use serde::{de::DeserializeOwned, Serialize};
2
3use super::super::OAuthError;
4
5pub fn to_json<T: Serialize>(value: &T) -> Result<serde_json::Value, OAuthError> {
6 serde_json::to_value(value).map_err(|e| {
7 tracing::error!("JSON serialization error: {}", e);
8 OAuthError::ServerError("Internal serialization error".to_string())
9 })
10}
11
12pub fn from_json<T: DeserializeOwned>(value: serde_json::Value) -> Result<T, OAuthError> {
13 serde_json::from_value(value).map_err(|e| {
14 tracing::error!("JSON deserialization error: {}", e);
15 OAuthError::ServerError("Internal data corruption".to_string())
16 })
17}