Skip to main content

windmill_api/apis/
draft_api.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.762.1
7 * Contact: contact@windmill.dev
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12use reqwest;
13use serde::{Deserialize, Serialize};
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
16
17
18/// struct for typed errors of method [`get_draft_for_user`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum GetDraftForUserError {
22    Status404(),
23    UnknownValue(serde_json::Value),
24}
25
26/// struct for typed errors of method [`get_own_draft`]
27#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(untagged)]
29pub enum GetOwnDraftError {
30    UnknownValue(serde_json::Value),
31}
32
33/// struct for typed errors of method [`list_drafts`]
34#[derive(Debug, Clone, Serialize, Deserialize)]
35#[serde(untagged)]
36pub enum ListDraftsError {
37    UnknownValue(serde_json::Value),
38}
39
40/// struct for typed errors of method [`migrate_legacy_draft`]
41#[derive(Debug, Clone, Serialize, Deserialize)]
42#[serde(untagged)]
43pub enum MigrateLegacyDraftError {
44    UnknownValue(serde_json::Value),
45}
46
47/// struct for typed errors of method [`update_draft`]
48#[derive(Debug, Clone, Serialize, Deserialize)]
49#[serde(untagged)]
50pub enum UpdateDraftError {
51    UnknownValue(serde_json::Value),
52}
53
54
55pub async fn get_draft_for_user(configuration: &configuration::Configuration, workspace: &str, kind: models::UserDraftItemKind, path: &str, username: Option<&str>) -> Result<models::GetDraftForUser200Response, Error<GetDraftForUserError>> {
56    let local_var_configuration = configuration;
57
58    let local_var_client = &local_var_configuration.client;
59
60    let local_var_uri_str = format!("{}/w/{workspace}/drafts/get/{kind}/{path}", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), kind=kind.to_string(), path=crate::apis::urlencode(path));
61    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
62
63    if let Some(ref local_var_str) = username {
64        local_var_req_builder = local_var_req_builder.query(&[("username", &local_var_str.to_string())]);
65    }
66    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
67        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
68    }
69    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
70        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
71    };
72
73    let local_var_req = local_var_req_builder.build()?;
74    let local_var_resp = local_var_client.execute(local_var_req).await?;
75
76    let local_var_status = local_var_resp.status();
77    let local_var_content = local_var_resp.text().await?;
78
79    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
80        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
81    } else {
82        let local_var_entity: Option<GetDraftForUserError> = crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).ok();
83        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
84        Err(Error::ResponseError(local_var_error))
85    }
86}
87
88pub async fn get_own_draft(configuration: &configuration::Configuration, workspace: &str, kind: models::UserDraftItemKind, path: &str) -> Result<models::GetOwnDraft200Response, Error<GetOwnDraftError>> {
89    let local_var_configuration = configuration;
90
91    let local_var_client = &local_var_configuration.client;
92
93    let local_var_uri_str = format!("{}/w/{workspace}/drafts/get_own/{kind}/{path}", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), kind=kind.to_string(), path=crate::apis::urlencode(path));
94    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
95
96    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
97        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
98    }
99    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
100        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
101    };
102
103    let local_var_req = local_var_req_builder.build()?;
104    let local_var_resp = local_var_client.execute(local_var_req).await?;
105
106    let local_var_status = local_var_resp.status();
107    let local_var_content = local_var_resp.text().await?;
108
109    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
110        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
111    } else {
112        let local_var_entity: Option<GetOwnDraftError> = crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).ok();
113        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
114        Err(Error::ResponseError(local_var_error))
115    }
116}
117
118pub async fn list_drafts(configuration: &configuration::Configuration, workspace: &str, all_users: Option<bool>, compare_to_workspace: Option<&str>) -> Result<Vec<models::ListDrafts200ResponseInner>, Error<ListDraftsError>> {
119    let local_var_configuration = configuration;
120
121    let local_var_client = &local_var_configuration.client;
122
123    let local_var_uri_str = format!("{}/w/{workspace}/drafts/list", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace));
124    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
125
126    if let Some(ref local_var_str) = all_users {
127        local_var_req_builder = local_var_req_builder.query(&[("all_users", &local_var_str.to_string())]);
128    }
129    if let Some(ref local_var_str) = compare_to_workspace {
130        local_var_req_builder = local_var_req_builder.query(&[("compare_to_workspace", &local_var_str.to_string())]);
131    }
132    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
133        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
134    }
135    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
136        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
137    };
138
139    let local_var_req = local_var_req_builder.build()?;
140    let local_var_resp = local_var_client.execute(local_var_req).await?;
141
142    let local_var_status = local_var_resp.status();
143    let local_var_content = local_var_resp.text().await?;
144
145    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
146        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
147    } else {
148        let local_var_entity: Option<ListDraftsError> = crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).ok();
149        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
150        Err(Error::ResponseError(local_var_error))
151    }
152}
153
154/// Delete a legacy draft (email NULL) or assign it to the authed admin as a per-user draft. Workspace admins / superadmins only.
155pub async fn migrate_legacy_draft(configuration: &configuration::Configuration, workspace: &str, kind: models::UserDraftItemKind, path: &str, migrate_legacy_draft_request: models::MigrateLegacyDraftRequest) -> Result<String, Error<MigrateLegacyDraftError>> {
156    let local_var_configuration = configuration;
157
158    let local_var_client = &local_var_configuration.client;
159
160    let local_var_uri_str = format!("{}/w/{workspace}/drafts/migrate_legacy/{kind}/{path}", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), kind=kind.to_string(), path=crate::apis::urlencode(path));
161    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
162
163    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
164        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
165    }
166    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
167        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
168    };
169    local_var_req_builder = local_var_req_builder.json(&migrate_legacy_draft_request);
170
171    let local_var_req = local_var_req_builder.build()?;
172    let local_var_resp = local_var_client.execute(local_var_req).await?;
173
174    let local_var_status = local_var_resp.status();
175    let local_var_content = local_var_resp.text().await?;
176
177    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
178        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
179    } else {
180        let local_var_entity: Option<MigrateLegacyDraftError> = crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).ok();
181        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
182        Err(Error::ResponseError(local_var_error))
183    }
184}
185
186pub async fn update_draft(configuration: &configuration::Configuration, workspace: &str, kind: models::UserDraftItemKind, path: &str, update_draft_request: models::UpdateDraftRequest) -> Result<models::UpdateDraft200Response, Error<UpdateDraftError>> {
187    let local_var_configuration = configuration;
188
189    let local_var_client = &local_var_configuration.client;
190
191    let local_var_uri_str = format!("{}/w/{workspace}/drafts/update/{kind}/{path}", local_var_configuration.base_path, workspace=crate::apis::urlencode(workspace), kind=kind.to_string(), path=crate::apis::urlencode(path));
192    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
193
194    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
195        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
196    }
197    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
198        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
199    };
200    local_var_req_builder = local_var_req_builder.json(&update_draft_request);
201
202    let local_var_req = local_var_req_builder.build()?;
203    let local_var_resp = local_var_client.execute(local_var_req).await?;
204
205    let local_var_status = local_var_resp.status();
206    let local_var_content = local_var_resp.text().await?;
207
208    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
209        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
210    } else {
211        let local_var_entity: Option<UpdateDraftError> = crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).ok();
212        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
213        Err(Error::ResponseError(local_var_error))
214    }
215}
216