bitwarden_api_api/models/
send_request_model.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct SendRequestModel {
17 #[serde(
18 rename = "type",
19 alias = "R#type",
20 skip_serializing_if = "Option::is_none"
21 )]
22 pub r#type: Option<models::SendType>,
23 #[serde(
24 rename = "fileLength",
25 alias = "FileLength",
26 skip_serializing_if = "Option::is_none"
27 )]
28 pub file_length: Option<i64>,
29 #[serde(
30 rename = "name",
31 alias = "Name",
32 skip_serializing_if = "Option::is_none"
33 )]
34 pub name: Option<String>,
35 #[serde(
36 rename = "notes",
37 alias = "Notes",
38 skip_serializing_if = "Option::is_none"
39 )]
40 pub notes: Option<String>,
41 #[serde(rename = "key", alias = "Key")]
42 pub key: String,
43 #[serde(
44 rename = "maxAccessCount",
45 alias = "MaxAccessCount",
46 skip_serializing_if = "Option::is_none"
47 )]
48 pub max_access_count: Option<i32>,
49 #[serde(
50 rename = "expirationDate",
51 alias = "ExpirationDate",
52 skip_serializing_if = "Option::is_none"
53 )]
54 pub expiration_date: Option<String>,
55 #[serde(rename = "deletionDate", alias = "DeletionDate")]
56 pub deletion_date: String,
57 #[serde(
58 rename = "file",
59 alias = "File",
60 skip_serializing_if = "Option::is_none"
61 )]
62 pub file: Option<Box<models::SendFileModel>>,
63 #[serde(
64 rename = "text",
65 alias = "Text",
66 skip_serializing_if = "Option::is_none"
67 )]
68 pub text: Option<Box<models::SendTextModel>>,
69 #[serde(
70 rename = "password",
71 alias = "Password",
72 skip_serializing_if = "Option::is_none"
73 )]
74 pub password: Option<String>,
75 #[serde(rename = "disabled", alias = "Disabled")]
76 pub disabled: bool,
77 #[serde(
78 rename = "hideEmail",
79 alias = "HideEmail",
80 skip_serializing_if = "Option::is_none"
81 )]
82 pub hide_email: Option<bool>,
83}
84
85impl SendRequestModel {
86 pub fn new(key: String, deletion_date: String, disabled: bool) -> SendRequestModel {
87 SendRequestModel {
88 r#type: None,
89 file_length: None,
90 name: None,
91 notes: None,
92 key,
93 max_access_count: None,
94 expiration_date: None,
95 deletion_date,
96 file: None,
97 text: None,
98 password: None,
99 disabled,
100 hide_email: None,
101 }
102 }
103}