pipedrive_rs/models/add_product_field_request.rs
1/*
2 * Pipedrive API v1
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 1.0.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12
13
14#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
15pub struct AddProductFieldRequest {
16 /// The name of the field
17 #[serde(rename = "name")]
18 pub name: String,
19 /// When `field_type` is either `set` or `enum`, possible options must be supplied as a JSON-encoded sequential array, for example:</br>`[{\"label\":\"red\"}, {\"label\":\"blue\"}, {\"label\":\"lilac\"}]`
20 #[serde(rename = "options", skip_serializing_if = "Option::is_none")]
21 pub options: Option<Vec<serde_json::Value>>,
22 /// The type of the field<table><tr><th>Value</th><th>Description</th></tr><tr><td>`varchar`</td><td>Text (up to 255 characters)</td><tr><td>`varchar_auto`</td><td>Autocomplete text (up to 255 characters)</td><tr><td>`text`</td><td>Long text (up to 65k characters)</td><tr><td>`double`</td><td>Numeric value</td><tr><td>`monetary`</td><td>Monetary field (has a numeric value and a currency value)</td><tr><td>`date`</td><td>Date (format YYYY-MM-DD)</td><tr><td>`set`</td><td>Options field with a possibility of having multiple chosen options</td><tr><td>`enum`</td><td>Options field with a single possible chosen option</td><tr><td>`user`</td><td>User field (contains a user ID of another Pipedrive user)</td><tr><td>`org`</td><td>Organization field (contains an organization ID which is stored on the same account)</td><tr><td>`people`</td><td>Person field (contains a product ID which is stored on the same account)</td><tr><td>`phone`</td><td>Phone field (up to 255 numbers and/or characters)</td><tr><td>`time`</td><td>Time field (format HH:MM:SS)</td><tr><td>`timerange`</td><td>Time-range field (has a start time and end time value, both HH:MM:SS)</td><tr><td>`daterange`</td><td>Date-range field (has a start date and end date value, both YYYY-MM-DD)</td><tr><td>`address`</td><td>Address field (autocompleted by Google Maps)</dd></table>
23 #[serde(rename = "field_type")]
24 pub field_type: FieldType,
25}
26
27impl AddProductFieldRequest {
28 pub fn new(name: String, field_type: FieldType) -> AddProductFieldRequest {
29 AddProductFieldRequest {
30 name,
31 options: None,
32 field_type,
33 }
34 }
35}
36
37/// The type of the field<table><tr><th>Value</th><th>Description</th></tr><tr><td>`varchar`</td><td>Text (up to 255 characters)</td><tr><td>`varchar_auto`</td><td>Autocomplete text (up to 255 characters)</td><tr><td>`text`</td><td>Long text (up to 65k characters)</td><tr><td>`double`</td><td>Numeric value</td><tr><td>`monetary`</td><td>Monetary field (has a numeric value and a currency value)</td><tr><td>`date`</td><td>Date (format YYYY-MM-DD)</td><tr><td>`set`</td><td>Options field with a possibility of having multiple chosen options</td><tr><td>`enum`</td><td>Options field with a single possible chosen option</td><tr><td>`user`</td><td>User field (contains a user ID of another Pipedrive user)</td><tr><td>`org`</td><td>Organization field (contains an organization ID which is stored on the same account)</td><tr><td>`people`</td><td>Person field (contains a product ID which is stored on the same account)</td><tr><td>`phone`</td><td>Phone field (up to 255 numbers and/or characters)</td><tr><td>`time`</td><td>Time field (format HH:MM:SS)</td><tr><td>`timerange`</td><td>Time-range field (has a start time and end time value, both HH:MM:SS)</td><tr><td>`daterange`</td><td>Date-range field (has a start date and end date value, both YYYY-MM-DD)</td><tr><td>`address`</td><td>Address field (autocompleted by Google Maps)</dd></table>
38#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
39pub enum FieldType {
40 #[serde(rename = "varchar")]
41 Varchar,
42 #[serde(rename = "varchar_auto")]
43 VarcharAuto,
44 #[serde(rename = "text")]
45 Text,
46 #[serde(rename = "double")]
47 Double,
48 #[serde(rename = "monetary")]
49 Monetary,
50 #[serde(rename = "date")]
51 Date,
52 #[serde(rename = "set")]
53 Set,
54 #[serde(rename = "enum")]
55 Enum,
56 #[serde(rename = "user")]
57 User,
58 #[serde(rename = "org")]
59 Org,
60 #[serde(rename = "people")]
61 People,
62 #[serde(rename = "phone")]
63 Phone,
64 #[serde(rename = "time")]
65 Time,
66 #[serde(rename = "timerange")]
67 Timerange,
68 #[serde(rename = "daterange")]
69 Daterange,
70 #[serde(rename = "address")]
71 Address,
72}
73
74impl Default for FieldType {
75 fn default() -> FieldType {
76 Self::Varchar
77 }
78}
79