use chrono::{DateTime, TimeZone}; use rocket::serde::json::Json; use serde::{Deserialize, Serialize, Serializer}; pub(crate) mod auth; pub(crate) mod oauth; pub(crate) mod profile; pub fn serialize_dt(dt: &DateTime, ser: S) -> Result where S: Serializer, TZ: TimeZone, { ser.serialize_i64(dt.timestamp()) } pub fn serialize_dt_opt(dt: &Option>, ser: S) -> Result where S: Serializer, TZ: TimeZone, { match dt { Some(dt) => serialize_dt(dt, ser), None => ser.serialize_unit(), } } #[derive(Clone, Copy, Serialize, Deserialize)] #[serde(deny_unknown_fields)] pub struct Empty {} pub const EMPTY: Json = Json(Empty {});