Trait travel::use_cases::travel_use_case::TravelUseCases

source ·
pub trait TravelUseCases {
    // Required methods
    async fn get_travel(
        &self,
        travel_id: &str,
        user_id: &str,
    ) -> Result<Option<TravelDto>, TravelError>;
    async fn create_new_travel(
        &self,
        user_id: &str,
        travel_name: &str,
        start_date: &str,
        end_date: Option<&str>,
    ) -> Result<TravelDto, TravelError>;
    async fn modify_travel(
        &self,
        travel_id: &str,
        travel_name: &str,
        start_date: &str,
        end_date: Option<&str>,
        travelers: &Vec<&str>,
        involved_users: &Vec<&str>,
        user_id: &str,
    ) -> Result<TravelDto, TravelError>;
}

Required Methods§

source

async fn get_travel( &self, travel_id: &str, user_id: &str, ) -> Result<Option<TravelDto>, TravelError>

get a travel

source

async fn create_new_travel( &self, user_id: &str, travel_name: &str, start_date: &str, end_date: Option<&str>, ) -> Result<TravelDto, TravelError>

Create a new travel The request user is set as one of the travelers.

source

async fn modify_travel( &self, travel_id: &str, travel_name: &str, start_date: &str, end_date: Option<&str>, travelers: &Vec<&str>, involved_users: &Vec<&str>, user_id: &str, ) -> Result<TravelDto, TravelError>

Only travelers can modify the travel information. When the involved user tries to modify, its attempt will be rejected.

Object Safety§

This trait is not object safe.

Implementors§