use crate::api::BuildRequest;
use crate::OPENAI_URL;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq)]
pub struct Request {
pub file_id: String,
}
impl Request {
pub fn new(file_id: String) -> Self {
Request { file_id }
}
}
impl BuildRequest for Request {
fn build_request(&self, client: &crate::Client) -> crate::RequestBuilder {
client
.reqwest_client()
.delete(format!("{OPENAI_URL}/files/{}", self.file_id))
.bearer_auth(client.gpt_token())
}
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Response {
pub id: String,
pub object: String,
pub deleted: bool,
}
#[cfg_attr(not(feature = "blocking"), async_trait::async_trait)]
impl crate::client::Request for Request {
type Response = Response;
}