add service to delete a path

This commit is contained in:
grimhilt 2023-06-15 17:32:14 +02:00
parent 418ca68745
commit b00266a93e
2 changed files with 34 additions and 0 deletions

View File

@ -3,3 +3,4 @@ pub mod list_folders;
pub mod download_files;
pub mod req_props;
pub mod upload_file;
pub mod delete_path;

View File

@ -0,0 +1,33 @@
use crate::services::api::{ApiBuilder, ApiError};
use reqwest::{Method, Response, Error};
pub struct DeletePath {
api_builder: ApiBuilder,
}
impl DeletePath {
pub fn new() -> Self {
DeletePath {
api_builder: ApiBuilder::new(),
}
}
pub fn set_url(&mut self, url: &str) -> &mut DeletePath {
self.api_builder.build_request(Method::DELETE, url);
self
}
pub async fn send(&mut self) -> Result<Response, Error> {
self.api_builder.send().await
}
pub async fn send_with_err(&mut self) -> Result<String, ApiError> {
let res = self.send().await.map_err(ApiError::RequestError)?;
if res.status().is_success() {
let body = res.text().await.map_err(ApiError::EmptyError)?;
Ok(body)
} else {
Err(ApiError::IncorrectRequest(res))
}
}
}