Skip to content
Clone
5ef202e
52 lines 1.5 KB Rust
use uuid::Uuid;
use crate::error::UserResult;
use crate::features::UserService;
use super::types::{
AddEmailCmd, AddEmailResp, ConfirmEmailChangeCmd, EmailChangeTicketView, EmailView,
SetPrimaryEmailResp,
};
use super::usecase;
impl UserService {
pub async fn list_emails(&self, caller: Uuid) -> UserResult<Vec<EmailView>> {
usecase::list(self, caller).await
}
pub async fn add_email(&self, caller: Uuid, cmd: AddEmailCmd) -> UserResult<AddEmailResp> {
usecase::add(self, caller, cmd).await
}
pub async fn set_primary_email(
&self,
caller: Uuid,
email_id: Uuid,
) -> UserResult<SetPrimaryEmailResp> {
usecase::set_primary(self, caller, email_id).await
}
pub async fn delete_email(&self, caller: Uuid, email_id: Uuid) -> UserResult<()> {
usecase::soft_delete(self, caller, email_id).await
}
pub async fn request_email_change(
&self,
caller: Uuid,
new_email: String,
) -> UserResult<EmailChangeTicketView> {
usecase::request_change(self, caller, new_email).await
}
pub async fn confirm_email_change(
&self,
caller: Uuid,
cmd: ConfirmEmailChangeCmd,
) -> UserResult<EmailChangeTicketView> {
usecase::confirm_change(self, caller, cmd).await
}
pub async fn cancel_email_change(&self, caller: Uuid, ticket_id: Uuid) -> UserResult<()> {
usecase::cancel_change(self, caller, ticket_id).await
}
}