From 3af0119c0bb0935dac22cac5c4fe6bb424d2b8fc Mon Sep 17 00:00:00 2001 From: Tait Hoyem Date: Fri, 30 Sep 2022 18:43:58 -0600 Subject: [PATCH] Add email user add/remove features --- src/requests.rs | 19 +++++++++++++++++++ src/responses.rs | 6 ++++++ 2 files changed, 25 insertions(+) diff --git a/src/requests.rs b/src/requests.rs index 5d77766..ac0b1b3 100644 --- a/src/requests.rs +++ b/src/requests.rs @@ -15,6 +15,8 @@ use crate::{ EmailUsageResponse, EmailDomainListResponse, EmailUserListResponse, + EmailUserAddResponse, + EmailUserRemoveResponse, MonitorCheckListResponse, MonitorCheckTypesResponse, MonitorContactListResponse, @@ -61,6 +63,8 @@ pub enum EmailDomainSubArgs { #[derive(Serialize, Deserialize, Debug, clap::Subcommand)] pub enum EmailUserSubArgs { List(EmailUserListRequest), + Add(EmailUserAddRequest), + Remove(EmailUserRemoveRequest), } #[derive(Serialize, Deserialize, Debug, clap::Subcommand)] @@ -232,6 +236,8 @@ impl Args { Self::Email(EmailSubArgs::Usage(email_usage)) => print_req(email_usage)?, Self::Email(EmailSubArgs::Domain(EmailDomainSubArgs::List(email_domain_list))) => print_req(email_domain_list)?, Self::Email(EmailSubArgs::User(EmailUserSubArgs::List(email_user_list))) => print_req(email_user_list)?, + Self::Email(EmailSubArgs::User(EmailUserSubArgs::Add(email_add_user_req))) => print_req(email_add_user_req)?, + Self::Email(EmailSubArgs::User(EmailUserSubArgs::Remove(email_del_req))) => print_req(email_del_req)?, } Ok(()) } @@ -318,3 +324,16 @@ pub struct VmStopRequest { pub struct VmRebootRequest { vm_id: String, } + +#[lunanode_request(response="EmailUserAddResponse", endpoint="email/user-add/")] +pub struct EmailUserAddRequest { + domain_id: i32, + username: String, + password: String, +} + +#[lunanode_request(response="EmailUserRemoveResponse", endpoint="email/user-remove/")] +pub struct EmailUserRemoveRequest { + domain_id: i32, + user_id: i32, +} diff --git a/src/responses.rs b/src/responses.rs index cc37692..5b87453 100644 --- a/src/responses.rs +++ b/src/responses.rs @@ -612,3 +612,9 @@ pub struct VmStopResponse {} #[lunanode_response] pub struct VmRebootResponse {} + +#[lunanode_response] +pub struct EmailUserAddResponse {} + +#[lunanode_response] +pub struct EmailUserRemoveResponse {}