Skip to main content

windmill_api/models/
publish_script_body.rs

1/*
2 * Windmill API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 1.769.0
7 * Contact: contact@windmill.dev
8 * Generated by: https://openapi-generator.tech
9 */
10
11use 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    /// hub project slug (3-50 chars, lowercase alphanumeric and hyphens, no leading/trailing hyphen)
37    #[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