artcoded_api/models/
action_parameter.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ActionParameter {
16 #[serde(rename = "key", skip_serializing_if = "Option::is_none")]
17 pub key: Option<String>,
18 #[serde(rename = "required", skip_serializing_if = "Option::is_none")]
19 pub required: Option<bool>,
20 #[serde(rename = "value", skip_serializing_if = "Option::is_none")]
21 pub value: Option<String>,
22 #[serde(rename = "parameterType", skip_serializing_if = "Option::is_none")]
23 pub parameter_type: Option<ParameterType>,
24 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
25 pub description: Option<String>,
26 #[serde(rename = "options", skip_serializing_if = "Option::is_none")]
27 pub options: Option<std::collections::HashMap<String, String>>,
28}
29
30impl ActionParameter {
31 pub fn new() -> ActionParameter {
32 ActionParameter {
33 key: None,
34 required: None,
35 value: None,
36 parameter_type: None,
37 description: None,
38 options: None,
39 }
40 }
41}
42#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
44pub enum ParameterType {
45 #[serde(rename = "INTEGER")]
46 Integer,
47 #[serde(rename = "LONG")]
48 Long,
49 #[serde(rename = "STRING")]
50 String,
51 #[serde(rename = "BOOLEAN")]
52 Boolean,
53 #[serde(rename = "DOUBLE")]
54 Double,
55 #[serde(rename = "BIG_DECIMAL")]
56 BigDecimal,
57 #[serde(rename = "BIGINTEGER")]
58 Biginteger,
59 #[serde(rename = "DATE")]
60 Date,
61 #[serde(rename = "DATE_STRING")]
62 DateString,
63 #[serde(rename = "OPTION")]
64 Option,
65}
66
67impl Default for ParameterType {
68 fn default() -> ParameterType {
69 Self::Integer
70 }
71}