use serde::{Deserialize, Serialize};
use chrono::{DateTime, Utc};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[non_exhaustive]
pub struct CalendarEvent {
pub id: String,
pub etag: String,
pub summary: String,
pub start: DateTime<Utc>,
pub end: DateTime<Utc>,
pub description: Option<String>,
pub is_whole_day_event: bool,
pub location: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub(crate) enum EventTimeType {
DateTime(DateTime<Utc>),
Date(DateTime<Utc>),
}
impl EventTimeType {
pub fn into_datetime(self) -> DateTime<Utc> {
match self {
EventTimeType::DateTime(dt) | EventTimeType::Date(dt) => dt,
}
}
}