use http::Method;
use super::{
BytesRequestBuilder, DeleteResponse, FileObject, FilesResource, JsonRequestBuilder,
ListRequestBuilder, encode_path_segment,
};
impl FilesResource {
pub fn create(&self) -> JsonRequestBuilder<FileObject> {
JsonRequestBuilder::new(self.client.clone(), "files.create", Method::POST, "/files")
}
pub fn retrieve(&self, file_id: impl Into<String>) -> JsonRequestBuilder<FileObject> {
JsonRequestBuilder::new(
self.client.clone(),
"files.retrieve",
Method::GET,
format!("/files/{}", encode_path_segment(file_id.into())),
)
}
pub fn list(&self) -> ListRequestBuilder<FileObject> {
ListRequestBuilder::new(self.client.clone(), "files.list", "/files")
}
pub fn delete(&self, file_id: impl Into<String>) -> JsonRequestBuilder<DeleteResponse> {
JsonRequestBuilder::new(
self.client.clone(),
"files.delete",
Method::DELETE,
format!("/files/{}", encode_path_segment(file_id.into())),
)
}
pub fn content(&self, file_id: impl Into<String>) -> BytesRequestBuilder {
BytesRequestBuilder::new(
self.client.clone(),
"files.content",
Method::GET,
format!("/files/{}/content", encode_path_segment(file_id.into())),
)
}
}