use serde::{Deserialize, Serialize};
use time::{serde::rfc3339, OffsetDateTime};
#[derive(Debug, PartialEq, Eq, Hash, Clone, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct Submission {
#[serde(flatten)]
pub id: String,
pub owner_id: crate::id::Group,
pub target_record_id: crate::id::Record,
#[serde(with = "rfc3339")]
pub submission_time: OffsetDateTime,
pub submitted_by_id: crate::id::User,
pub submitted_by_name: String,
pub featured: bool,
pub featured_by_user_id: Option<crate::id::User>,
#[serde(rename = "featuredTimestamp")]
#[serde(default)]
#[serde(with = "crate::util::opt_rfc3339")]
pub featured_time: Option<OffsetDateTime>,
}