netlify_rust/apis/
asset_api.rs

1/*
2 * Netlify's API documentation
3 *
4 * Netlify is a hosting service for the programmable web. It understands your documents and provides an API to handle atomic deploys of websites, manage form submissions, inject JavaScript snippets, and much more. This is a REST-style API that uses JSON for serialization and OAuth 2 for authentication.  This document is an OpenAPI reference for the Netlify API that you can explore. For more detailed instructions for common uses, please visit the [online documentation](https://www.netlify.com/docs/api/). Visit our Community forum to join the conversation about [understanding and using Netlify’s API](https://community.netlify.com/t/common-issue-understanding-and-using-netlifys-api/160).  Additionally, we have two API clients for your convenience: - [Go Client](https://github.com/netlify/open-api#go-client) - [JS Client](https://github.com/netlify/js-client)
5 *
6 * The version of the OpenAPI document: 2.5.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18/// struct for typed errors of method `create_site_asset`
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum CreateSiteAssetError {
22    DefaultResponse(crate::models::Error),
23    UnknownValue(serde_json::Value),
24}
25
26/// struct for typed errors of method `delete_site_asset`
27#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(untagged)]
29pub enum DeleteSiteAssetError {
30    DefaultResponse(crate::models::Error),
31    UnknownValue(serde_json::Value),
32}
33
34/// struct for typed errors of method `get_site_asset_info`
35#[derive(Debug, Clone, Serialize, Deserialize)]
36#[serde(untagged)]
37pub enum GetSiteAssetInfoError {
38    DefaultResponse(crate::models::Error),
39    UnknownValue(serde_json::Value),
40}
41
42/// struct for typed errors of method `list_site_assets`
43#[derive(Debug, Clone, Serialize, Deserialize)]
44#[serde(untagged)]
45pub enum ListSiteAssetsError {
46    DefaultResponse(crate::models::Error),
47    UnknownValue(serde_json::Value),
48}
49
50/// struct for typed errors of method `update_site_asset`
51#[derive(Debug, Clone, Serialize, Deserialize)]
52#[serde(untagged)]
53pub enum UpdateSiteAssetError {
54    DefaultResponse(crate::models::Error),
55    UnknownValue(serde_json::Value),
56}
57
58
59pub async fn create_site_asset(configuration: &configuration::Configuration, site_id: &str, name: &str, size: i64, content_type: &str, visibility: Option<&str>) -> Result<crate::models::AssetSignature, Error<CreateSiteAssetError>> {
60
61    let local_var_client = &configuration.client;
62
63    let local_var_uri_str = format!("{}/sites/{site_id}/assets", configuration.base_path, site_id=crate::apis::urlencode(site_id));
64    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
65
66    local_var_req_builder = local_var_req_builder.query(&[("name", &name.to_string())]);
67    local_var_req_builder = local_var_req_builder.query(&[("size", &size.to_string())]);
68    local_var_req_builder = local_var_req_builder.query(&[("content_type", &content_type.to_string())]);
69    if let Some(ref local_var_str) = visibility {
70        local_var_req_builder = local_var_req_builder.query(&[("visibility", &local_var_str.to_string())]);
71    }
72    if let Some(ref local_var_user_agent) = configuration.user_agent {
73        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
74    }
75    if let Some(ref local_var_token) = configuration.oauth_access_token {
76        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
77    };
78
79    let local_var_req = local_var_req_builder.build()?;
80    let local_var_resp = local_var_client.execute(local_var_req).await?;
81
82    let local_var_status = local_var_resp.status();
83    let local_var_content = local_var_resp.text().await?;
84
85    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
86        serde_json::from_str(&local_var_content).map_err(Error::from)
87    } else {
88        let local_var_entity: Option<CreateSiteAssetError> = serde_json::from_str(&local_var_content).ok();
89        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
90        Err(Error::ResponseError(local_var_error))
91    }
92}
93
94pub async fn delete_site_asset(configuration: &configuration::Configuration, site_id: &str, asset_id: &str) -> Result<(), Error<DeleteSiteAssetError>> {
95
96    let local_var_client = &configuration.client;
97
98    let local_var_uri_str = format!("{}/sites/{site_id}/assets/{asset_id}", configuration.base_path, site_id=crate::apis::urlencode(site_id), asset_id=crate::apis::urlencode(asset_id));
99    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
100
101    if let Some(ref local_var_user_agent) = configuration.user_agent {
102        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
103    }
104    if let Some(ref local_var_token) = configuration.oauth_access_token {
105        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
106    };
107
108    let local_var_req = local_var_req_builder.build()?;
109    let local_var_resp = local_var_client.execute(local_var_req).await?;
110
111    let local_var_status = local_var_resp.status();
112    let local_var_content = local_var_resp.text().await?;
113
114    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
115        Ok(())
116    } else {
117        let local_var_entity: Option<DeleteSiteAssetError> = serde_json::from_str(&local_var_content).ok();
118        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
119        Err(Error::ResponseError(local_var_error))
120    }
121}
122
123pub async fn get_site_asset_info(configuration: &configuration::Configuration, site_id: &str, asset_id: &str) -> Result<crate::models::Asset, Error<GetSiteAssetInfoError>> {
124
125    let local_var_client = &configuration.client;
126
127    let local_var_uri_str = format!("{}/sites/{site_id}/assets/{asset_id}", configuration.base_path, site_id=crate::apis::urlencode(site_id), asset_id=crate::apis::urlencode(asset_id));
128    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
129
130    if let Some(ref local_var_user_agent) = configuration.user_agent {
131        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
132    }
133    if let Some(ref local_var_token) = configuration.oauth_access_token {
134        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
135    };
136
137    let local_var_req = local_var_req_builder.build()?;
138    let local_var_resp = local_var_client.execute(local_var_req).await?;
139
140    let local_var_status = local_var_resp.status();
141    let local_var_content = local_var_resp.text().await?;
142
143    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
144        serde_json::from_str(&local_var_content).map_err(Error::from)
145    } else {
146        let local_var_entity: Option<GetSiteAssetInfoError> = serde_json::from_str(&local_var_content).ok();
147        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
148        Err(Error::ResponseError(local_var_error))
149    }
150}
151
152pub async fn list_site_assets(configuration: &configuration::Configuration, site_id: &str) -> Result<Vec<crate::models::Asset>, Error<ListSiteAssetsError>> {
153
154    let local_var_client = &configuration.client;
155
156    let local_var_uri_str = format!("{}/sites/{site_id}/assets", configuration.base_path, site_id=crate::apis::urlencode(site_id));
157    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
158
159    if let Some(ref local_var_user_agent) = configuration.user_agent {
160        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
161    }
162    if let Some(ref local_var_token) = configuration.oauth_access_token {
163        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
164    };
165
166    let local_var_req = local_var_req_builder.build()?;
167    let local_var_resp = local_var_client.execute(local_var_req).await?;
168
169    let local_var_status = local_var_resp.status();
170    let local_var_content = local_var_resp.text().await?;
171
172    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
173        serde_json::from_str(&local_var_content).map_err(Error::from)
174    } else {
175        let local_var_entity: Option<ListSiteAssetsError> = serde_json::from_str(&local_var_content).ok();
176        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
177        Err(Error::ResponseError(local_var_error))
178    }
179}
180
181pub async fn update_site_asset(configuration: &configuration::Configuration, site_id: &str, asset_id: &str, state: &str) -> Result<crate::models::Asset, Error<UpdateSiteAssetError>> {
182
183    let local_var_client = &configuration.client;
184
185    let local_var_uri_str = format!("{}/sites/{site_id}/assets/{asset_id}", configuration.base_path, site_id=crate::apis::urlencode(site_id), asset_id=crate::apis::urlencode(asset_id));
186    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
187
188    local_var_req_builder = local_var_req_builder.query(&[("state", &state.to_string())]);
189    if let Some(ref local_var_user_agent) = configuration.user_agent {
190        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
191    }
192    if let Some(ref local_var_token) = configuration.oauth_access_token {
193        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
194    };
195
196    let local_var_req = local_var_req_builder.build()?;
197    let local_var_resp = local_var_client.execute(local_var_req).await?;
198
199    let local_var_status = local_var_resp.status();
200    let local_var_content = local_var_resp.text().await?;
201
202    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
203        serde_json::from_str(&local_var_content).map_err(Error::from)
204    } else {
205        let local_var_entity: Option<UpdateSiteAssetError> = serde_json::from_str(&local_var_content).ok();
206        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
207        Err(Error::ResponseError(local_var_error))
208    }
209}
210