Trait UserServiceInterface
Source pub trait UserServiceInterface: Send + Sync {
// Required methods
fn create_and_save_user(&self, external_id: i64) -> GameResult<User>;
fn get_unmet_location_unlock_requirements(
&self,
user: &User,
location: Arc<LocationData>,
) -> GameResult<LocationUnlockRequirements>;
fn unlock_location(
&self,
user: &User,
location_data: Arc<LocationData>,
) -> GameResult<UserLocation>;
fn get_unlocked_locations(
&self,
user: &User,
) -> GameResult<Vec<UserLocation>>;
fn get_unlocked_location_ids(&self, user: &User) -> GameResult<Vec<i32>>;
}