use super::*;
#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct TermsOfServiceUserStatus {
pub id: String,
pub r#type: TermsOfServiceUserStatusType,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tos: Option<TermsOfServiceBase>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<UserMini>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub is_accepted: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<chrono::DateTime<chrono::Utc>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub modified_at: Option<chrono::DateTime<chrono::Utc>>,
}
#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct TermsOfServiceUserStatuses {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total_count: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub entries: Option<Vec<TermsOfServiceUserStatus>>,
}
#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(transparent)]
pub struct TermsOfServiceUserStatusType(pub String);
impl TermsOfServiceUserStatusType {
pub const TERMS_OF_SERVICE_USER_STATUS: &'static str = "terms_of_service_user_status";
}
#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct PostTos {
pub r#type: TermsOfServiceType,
pub id: String,
}
#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct CreateTermsOfServiceUserStatusRequest {
pub tos: PostTos,
pub user: CollaboratorVariableVariableValue,
pub is_accepted: bool,
}
#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct UpdateTermsOfServiceUserStatusRequest {
pub is_accepted: bool,
}