Trait UserRepositoryInterface

Source
pub trait UserRepositoryInterface:
    Repository<User>
    + Send
    + Sync {
    // Required methods
    fn find_by_external_id(
        &self,
        external_id: i64,
    ) -> Result<Option<User>, GameRepositoryError>;
    fn find_unlocked_locations(
        &self,
        id: i64,
    ) -> Result<Vec<UserLocation>, GameRepositoryError>;
    fn find_unlocked_location_ids(
        &self,
        id: i64,
    ) -> Result<Vec<i32>, GameRepositoryError>;
    fn unlock_location(
        &self,
        id: i64,
        location_id: i32,
    ) -> Result<UserLocation, GameRepositoryError>;
}

Required Methods§

Implementors§