pub mod lunch;
pub mod school;
pub mod user;
pub trait Deserializer {
type Error;
fn deserialize(data: &str) -> Result<Self, Self::Error>
where
Self: Sized;
}
pub mod schoolsoft_date {
use chrono::NaiveDateTime;
use serde::{self, Deserialize, Deserializer};
pub fn deserialize<'de, D>(deserializer: D) -> Result<NaiveDateTime, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
NaiveDateTime::parse_from_str(&s, "%Y-%m-%d %H:%M:%S%.f").map_err(serde::de::Error::custom)
}
}