orvanta_api/models/
raw_script.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct RawScript {
17 #[serde(rename = "input_transforms")]
19 pub input_transforms: std::collections::HashMap<String, models::InputTransform>,
20 #[serde(rename = "content")]
22 pub content: String,
23 #[serde(rename = "language")]
25 pub language: Language,
26 #[serde(rename = "path", skip_serializing_if = "Option::is_none")]
28 pub path: Option<String>,
29 #[serde(rename = "lock", skip_serializing_if = "Option::is_none")]
31 pub lock: Option<String>,
32 #[serde(rename = "type")]
33 pub r#type: Type,
34 #[serde(rename = "tag", skip_serializing_if = "Option::is_none")]
36 pub tag: Option<String>,
37 #[serde(rename = "concurrent_limit", skip_serializing_if = "Option::is_none")]
39 pub concurrent_limit: Option<f64>,
40 #[serde(rename = "concurrency_time_window_s", skip_serializing_if = "Option::is_none")]
42 pub concurrency_time_window_s: Option<f64>,
43 #[serde(rename = "custom_concurrency_key", skip_serializing_if = "Option::is_none")]
45 pub custom_concurrency_key: Option<String>,
46 #[serde(rename = "is_trigger", skip_serializing_if = "Option::is_none")]
48 pub is_trigger: Option<bool>,
49 #[serde(rename = "assets", skip_serializing_if = "Option::is_none")]
51 pub assets: Option<Vec<models::RawScriptAssetsInner>>,
52}
53
54impl RawScript {
55 pub fn new(input_transforms: std::collections::HashMap<String, models::InputTransform>, content: String, language: Language, r#type: Type) -> RawScript {
57 RawScript {
58 input_transforms,
59 content,
60 language,
61 path: None,
62 lock: None,
63 r#type,
64 tag: None,
65 concurrent_limit: None,
66 concurrency_time_window_s: None,
67 custom_concurrency_key: None,
68 is_trigger: None,
69 assets: None,
70 }
71 }
72}
73#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
75pub enum Language {
76 #[serde(rename = "bun")]
77 Bun,
78 #[serde(rename = "python3")]
79 Python3,
80 #[serde(rename = "go")]
81 Go,
82 #[serde(rename = "bash")]
83 Bash,
84 #[serde(rename = "postgresql")]
85 Postgresql,
86 #[serde(rename = "mysql")]
87 Mysql,
88 #[serde(rename = "bigquery")]
89 Bigquery,
90 #[serde(rename = "graphql")]
91 Graphql,
92 #[serde(rename = "nativets")]
93 Nativets,
94 #[serde(rename = "bunnative")]
95 Bunnative,
96 #[serde(rename = "php")]
97 Php,
98 #[serde(rename = "rust")]
99 Rust,
100 #[serde(rename = "java")]
101 Java,
102 #[serde(rename = "ruby")]
103 Ruby,
104 #[serde(rename = "duckdb")]
105 Duckdb,
106 #[serde(rename = "kotlin")]
107 Kotlin,
108 #[serde(rename = "dart")]
109 Dart,
110}
111
112impl Default for Language {
113 fn default() -> Language {
114 Self::Bun
115 }
116}
117#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
119pub enum Type {
120 #[serde(rename = "rawscript")]
121 Rawscript,
122}
123
124impl Default for Type {
125 fn default() -> Type {
126 Self::Rawscript
127 }
128}
129