windmill_api/models/
publish_script_body.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PublishScriptBody {
16 #[serde(rename = "summary")]
17 pub summary: String,
18 #[serde(rename = "app")]
19 pub app: String,
20 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
21 pub description: Option<String>,
22 #[serde(rename = "kind", skip_serializing_if = "Option::is_none")]
23 pub kind: Option<String>,
24 #[serde(rename = "content")]
25 pub content: String,
26 #[serde(rename = "language")]
27 pub language: String,
28 #[serde(rename = "schema", skip_serializing_if = "Option::is_none")]
29 pub schema: Option<serde_json::Value>,
30 #[serde(rename = "lockfile", skip_serializing_if = "Option::is_none")]
31 pub lockfile: Option<String>,
32 #[serde(rename = "path", skip_serializing_if = "Option::is_none")]
33 pub path: Option<String>,
34 #[serde(rename = "source_path", skip_serializing_if = "Option::is_none")]
35 pub source_path: Option<String>,
36 #[serde(rename = "project_slug")]
38 pub project_slug: String,
39}
40
41impl PublishScriptBody {
42 pub fn new(summary: String, app: String, content: String, language: String, project_slug: String) -> PublishScriptBody {
43 PublishScriptBody {
44 summary,
45 app,
46 description: None,
47 kind: None,
48 content,
49 language,
50 schema: None,
51 lockfile: None,
52 path: None,
53 source_path: None,
54 project_slug,
55 }
56 }
57}
58