rusftx/rest/requests/
delete_subaccount.rs1use crate::rest::request::{AuthenticatedRequest, Request};
2use std::borrow::Cow;
3
4#[derive(Debug, builder_pattern::Builder)]
5pub struct DeleteSubaccountRequest {
6 #[into]
7 pub nickname: String,
8}
9
10#[derive(Debug, serde::Serialize)]
11pub struct DeleteSubaccountRequestBody {
12 pub nickname: String,
13}
14
15impl Request for DeleteSubaccountRequest {
16 type Response = ();
17 type Query = ();
18 type Body = DeleteSubaccountRequestBody;
19
20 fn path(&self) -> Cow<str> {
21 "subaccounts".into()
22 }
23
24 fn method(&self) -> http::Method {
25 http::Method::DELETE
26 }
27
28 fn body(&self) -> Option<Self::Body> {
29 Some(DeleteSubaccountRequestBody {
30 nickname: self.nickname.clone(),
31 })
32 }
33}
34
35impl AuthenticatedRequest for DeleteSubaccountRequest {}
36
37#[cfg(test)]
38mod tests {
39 use crate::rest::requests::delete_subaccount::DeleteSubaccountRequest;
40 use crate::rest::requests::test_utils;
41
42 #[tokio::test]
43 async fn delete_subaccount() {
44 let rest_api = test_utils::get_rest_api_with_authentication_from_env();
45 let request = DeleteSubaccountRequest::new().nickname("sub1").build();
46 let result = rest_api.send(request).await;
47 assert!(result.is_ok());
48 }
49}