1
2
3
4
5
6
7
8
9
use crate::dtos::user_dto::UserDto;
use crate::errors::errors::UsersError;

pub trait UserUseCases: Send + Sync + 'static {
    async fn create(&self, name: &str, email: &str) -> Result<UserDto, UsersError>;
    async fn add_partner(&self, user_id: &str, partner_id: &str) -> Result<UserDto, UsersError>;
    async fn remove_partner(&self, user_id: &str, partner_id: &str) -> Result<UserDto, UsersError>;
    async fn change_name(&self, user_id: &str, new_name: &str) -> Result<UserDto, UsersError>;
}