feat: impl deserialize manually to fix case sensitivity

This commit is contained in:
itsscb 2025-04-29 22:16:58 +02:00
parent 46006ae5ef
commit 1a17f8ea99

View File

@ -2,7 +2,7 @@ use std::{fmt::Display, str::FromStr};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
#[derive(Deserialize, Serialize, Clone, Debug)] #[derive(Serialize, Clone, Debug)]
pub enum DataType { pub enum DataType {
DateTime, DateTime,
String, String,
@ -49,3 +49,14 @@ impl FromStr for DataType {
} }
} }
} }
impl<'de> Deserialize<'de> for DataType {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
DataType::from_str(&s)
.map_err(|_| serde::de::Error::custom(format!("invalid Datatype: {}", s)))
}
}