box_open_sdk/models/schemas/
terms_of_service_user_statuses.rs1use super::*;
4
5#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
6pub struct TermsOfServiceUserStatus {
7 pub id: String,
8 pub r#type: TermsOfServiceUserStatusType,
9 #[serde(default, skip_serializing_if = "Option::is_none")]
10 pub tos: Option<TermsOfServiceBase>,
11 #[serde(default, skip_serializing_if = "Option::is_none")]
12 pub user: Option<UserMini>,
13 #[serde(default, skip_serializing_if = "Option::is_none")]
14 pub is_accepted: Option<bool>,
15 #[serde(default, skip_serializing_if = "Option::is_none")]
16 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
17 #[serde(default, skip_serializing_if = "Option::is_none")]
18 pub modified_at: Option<chrono::DateTime<chrono::Utc>>,
19}
20
21#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
22pub struct TermsOfServiceUserStatuses {
23 #[serde(default, skip_serializing_if = "Option::is_none")]
24 pub total_count: Option<i64>,
25 #[serde(default, skip_serializing_if = "Option::is_none")]
26 pub entries: Option<Vec<TermsOfServiceUserStatus>>,
27}
28
29#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
30#[serde(transparent)]
31pub struct TermsOfServiceUserStatusType(pub String);
32
33impl TermsOfServiceUserStatusType {
34 pub const TERMS_OF_SERVICE_USER_STATUS: &'static str = "terms_of_service_user_status";
35}
36
37#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
38pub struct PostTos {
39 pub r#type: TermsOfServiceType,
40 pub id: String,
41}
42
43#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
44pub struct CreateTermsOfServiceUserStatusRequest {
45 pub tos: PostTos,
46 pub user: CollaboratorVariableVariableValue,
47 pub is_accepted: bool,
48}
49
50#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
51pub struct UpdateTermsOfServiceUserStatusRequest {
52 pub is_accepted: bool,
53}