pub struct InMemoryRepository<T: AggregateRoot> { /* private fields */ }
Expand description
An in-memory implementation of Repository, using a HashMap.
See the example on Repository for usage information of this repository implementation.
Implementations§
Source§impl<T: AggregateRoot> InMemoryRepository<T>
impl<T: AggregateRoot> InMemoryRepository<T>
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new InMemoryRepository.
Trait Implementations§
Source§impl<T: AggregateRoot> Default for InMemoryRepository<T>
impl<T: AggregateRoot> Default for InMemoryRepository<T>
Source§impl<T: AggregateRoot + Clone> ReadRepository<T> for InMemoryRepository<T>
impl<T: AggregateRoot + Clone> ReadRepository<T> for InMemoryRepository<T>
Source§fn get_by_id<'life0, 'async_trait>(
&'life0 self,
id: <T as Entity>::Id,
) -> Pin<Box<dyn Future<Output = Result<Option<T>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_by_id<'life0, 'async_trait>(
&'life0 self,
id: <T as Entity>::Id,
) -> Pin<Box<dyn Future<Output = Result<Option<T>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Gets an entity with the given ID.
Source§fn list<'life0, 'async_trait>(
&'life0 self,
skip: usize,
take: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<T>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list<'life0, 'async_trait>(
&'life0 self,
skip: usize,
take: usize,
) -> Pin<Box<dyn Future<Output = Result<Vec<T>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Lists all entities within a given page.
Source§fn count<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn count<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<usize>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the total number of entities in the repository.
Source§impl<T: AggregateRoot + Clone> Repository<T> for InMemoryRepository<T>
impl<T: AggregateRoot + Clone> Repository<T> for InMemoryRepository<T>
Source§fn add<'life0, 'async_trait>(
&'life0 self,
entity: T,
) -> Pin<Box<dyn Future<Output = Result<T>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add<'life0, 'async_trait>(
&'life0 self,
entity: T,
) -> Pin<Box<dyn Future<Output = Result<T>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Adds an entity to the repository.
Source§fn update<'life0, 'async_trait>(
&'life0 self,
entity: T,
) -> Pin<Box<dyn Future<Output = Result<T>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn update<'life0, 'async_trait>(
&'life0 self,
entity: T,
) -> Pin<Box<dyn Future<Output = Result<T>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Updates an entity on the repository.
Source§fn delete<'life0, 'async_trait>(
&'life0 self,
entity: T,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete<'life0, 'async_trait>(
&'life0 self,
entity: T,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Deletes the entity from the repository.
Source§fn add_range<'life0, 'async_trait>(
&'life0 self,
entities: Vec<T>,
) -> Pin<Box<dyn Future<Output = Result<Vec<T>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn add_range<'life0, 'async_trait>(
&'life0 self,
entities: Vec<T>,
) -> Pin<Box<dyn Future<Output = Result<Vec<T>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
Adds the given entities to the repository.
Auto Trait Implementations§
impl<T> !Freeze for InMemoryRepository<T>
impl<T> RefUnwindSafe for InMemoryRepository<T>
impl<T> Send for InMemoryRepository<T>
impl<T> Sync for InMemoryRepository<T>
impl<T> Unpin for InMemoryRepository<T>
impl<T> UnwindSafe for InMemoryRepository<T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more