Skip to main content

box_open_sdk/models/schemas/
user_collaborations.rs

1// Code generated by box-gantry 0.1.0 (spec 3fb3510fe12f2f80) for Box API 2024.0. DO NOT EDIT.
2
3use super::*;
4
5#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
6#[serde(transparent)]
7pub struct PutCollaborationIdStatus(pub String);
8
9impl PutCollaborationIdStatus {
10    pub const PENDING: &'static str = "pending";
11    pub const ACCEPTED: &'static str = "accepted";
12    pub const REJECTED: &'static str = "rejected";
13}
14
15#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
16pub struct UpdateCollaborationRequest {
17    #[serde(default, skip_serializing_if = "Option::is_none")]
18    pub role: Option<CollaborationRole>,
19    #[serde(default, skip_serializing_if = "Option::is_none")]
20    pub status: Option<PutCollaborationIdStatus>,
21    #[serde(default, skip_serializing_if = "Option::is_none")]
22    pub expires_at: Option<chrono::DateTime<chrono::Utc>>,
23    #[serde(default, skip_serializing_if = "Option::is_none")]
24    pub can_view_path: Option<bool>,
25}
26
27#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
28pub struct PostCollaborationsItem {
29    #[serde(default, skip_serializing_if = "Option::is_none")]
30    pub r#type: Option<EventSourceItemType>,
31    #[serde(default, skip_serializing_if = "Option::is_none")]
32    pub id: Option<String>,
33}
34
35#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
36#[serde(transparent)]
37pub struct AccessibleByType(pub String);
38
39impl AccessibleByType {
40    pub const USER: &'static str = "user";
41    pub const GROUP: &'static str = "group";
42}
43
44#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
45pub struct PostCollaborationsAccessibleBy {
46    pub r#type: AccessibleByType,
47    #[serde(default, skip_serializing_if = "Option::is_none")]
48    pub id: Option<String>,
49    #[serde(default, skip_serializing_if = "Option::is_none")]
50    pub login: Option<String>,
51}
52
53#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
54pub struct CreateCollaborationsRequest {
55    pub item: PostCollaborationsItem,
56    pub accessible_by: PostCollaborationsAccessibleBy,
57    pub role: FileFullAllowedInviteeRoles,
58    #[serde(default, skip_serializing_if = "Option::is_none")]
59    pub is_access_only: Option<bool>,
60    #[serde(default, skip_serializing_if = "Option::is_none")]
61    pub can_view_path: Option<bool>,
62    #[serde(default, skip_serializing_if = "Option::is_none")]
63    pub expires_at: Option<chrono::DateTime<chrono::Utc>>,
64}