use http::Method;
use serde::Serialize;
use crate::{api::ProjectId, auth::Authenticated, query::DefaultModel, Endpoint};
#[derive(Clone, Debug, Eq, Ord, Hash, PartialEq, PartialOrd, Serialize)]
pub struct DeleteProject(pub ProjectId);
impl Endpoint for DeleteProject {
type AccessControl = Authenticated;
fn method(&self) -> Method {
Method::DELETE
}
fn endpoint(&self) -> std::borrow::Cow<'static, str> {
format!("projects/{}", self.0).into()
}
}
impl DefaultModel for DeleteProject {
type Model = ();
fn map(data: serde_json::Value) -> Result<Self::Model, serde_json::Error> {
serde_json::from_value(data)
}
}