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.740.0
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>) -> 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_user_agent) = local_var_configuration.user_agent {
130        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
131    }
132    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
133        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
134    };
135
136    let local_var_req = local_var_req_builder.build()?;
137    let local_var_resp = local_var_client.execute(local_var_req).await?;
138
139    let local_var_status = local_var_resp.status();
140    let local_var_content = local_var_resp.text().await?;
141
142    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
143        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
144    } else {
145        let local_var_entity: Option<ListDraftsError> = crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).ok();
146        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
147        Err(Error::ResponseError(local_var_error))
148    }
149}
150
151/// Delete a legacy draft (email NULL) or assign it to the authed admin as a per-user draft. Workspace admins / superadmins only.
152pub 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>> {
153    let local_var_configuration = configuration;
154
155    let local_var_client = &local_var_configuration.client;
156
157    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));
158    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
159
160    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
161        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
162    }
163    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
164        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
165    };
166    local_var_req_builder = local_var_req_builder.json(&migrate_legacy_draft_request);
167
168    let local_var_req = local_var_req_builder.build()?;
169    let local_var_resp = local_var_client.execute(local_var_req).await?;
170
171    let local_var_status = local_var_resp.status();
172    let local_var_content = local_var_resp.text().await?;
173
174    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
175        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
176    } else {
177        let local_var_entity: Option<MigrateLegacyDraftError> = crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).ok();
178        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
179        Err(Error::ResponseError(local_var_error))
180    }
181}
182
183pub async fn update_draft(configuration: &configuration::Configuration, workspace: &str, kind: models::UserDraftItemKind, path: &str, update_draft_request: models::UpdateDraftRequest) -> Result<models::UpdateDraft200Response, Error<UpdateDraftError>> {
184    let local_var_configuration = configuration;
185
186    let local_var_client = &local_var_configuration.client;
187
188    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));
189    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
190
191    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
192        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
193    }
194    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
195        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
196    };
197    local_var_req_builder = local_var_req_builder.json(&update_draft_request);
198
199    let local_var_req = local_var_req_builder.build()?;
200    let local_var_resp = local_var_client.execute(local_var_req).await?;
201
202    let local_var_status = local_var_resp.status();
203    let local_var_content = local_var_resp.text().await?;
204
205    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
206        crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).map_err(Error::from)
207    } else {
208        let local_var_entity: Option<UpdateDraftError> = crate::from_str_patched/* Externally injected from /build.nu */(&local_var_content).ok();
209        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
210        Err(Error::ResponseError(local_var_error))
211    }
212}
213