pub struct PostgresLocalExchangeRepository { /* private fields */ }Implementations§
Trait Implementations§
Source§impl LocalExchangeRepository for PostgresLocalExchangeRepository
impl LocalExchangeRepository for PostgresLocalExchangeRepository
Source§fn create<'life0, 'life1, 'async_trait>(
&'life0 self,
exchange: &'life1 LocalExchange,
) -> Pin<Box<dyn Future<Output = Result<LocalExchange, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create<'life0, 'life1, 'async_trait>(
&'life0 self,
exchange: &'life1 LocalExchange,
) -> Pin<Box<dyn Future<Output = Result<LocalExchange, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create a new exchange offer
Source§fn find_by_id<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_by_id<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find an exchange by ID
Source§fn find_by_building<'life0, 'async_trait>(
&'life0 self,
building_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_by_building<'life0, 'async_trait>(
&'life0 self,
building_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find all exchanges for a building
Source§fn find_by_building_and_status<'life0, 'life1, 'async_trait>(
&'life0 self,
building_id: Uuid,
status: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn find_by_building_and_status<'life0, 'life1, 'async_trait>(
&'life0 self,
building_id: Uuid,
status: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Find exchanges by building and status
Source§fn find_by_provider<'life0, 'async_trait>(
&'life0 self,
provider_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_by_provider<'life0, 'async_trait>(
&'life0 self,
provider_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find exchanges by provider
Source§fn find_by_requester<'life0, 'async_trait>(
&'life0 self,
requester_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_by_requester<'life0, 'async_trait>(
&'life0 self,
requester_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find exchanges by requester
Source§fn find_by_owner<'life0, 'async_trait>(
&'life0 self,
owner_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_by_owner<'life0, 'async_trait>(
&'life0 self,
owner_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find exchanges by owner (as provider OR requester)
Source§fn find_active_by_building<'life0, 'async_trait>(
&'life0 self,
building_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_active_by_building<'life0, 'async_trait>(
&'life0 self,
building_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find active exchanges (Offered, Requested, InProgress)
Source§fn find_available_by_building<'life0, 'async_trait>(
&'life0 self,
building_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_available_by_building<'life0, 'async_trait>(
&'life0 self,
building_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find available exchanges (status = Offered)
Source§fn find_by_type<'life0, 'life1, 'async_trait>(
&'life0 self,
building_id: Uuid,
exchange_type: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn find_by_type<'life0, 'life1, 'async_trait>(
&'life0 self,
building_id: Uuid,
exchange_type: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<LocalExchange>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Find exchanges by type
Source§fn update<'life0, 'life1, 'async_trait>(
&'life0 self,
exchange: &'life1 LocalExchange,
) -> Pin<Box<dyn Future<Output = Result<LocalExchange, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update<'life0, 'life1, 'async_trait>(
&'life0 self,
exchange: &'life1 LocalExchange,
) -> Pin<Box<dyn Future<Output = Result<LocalExchange, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Update an exchange
Source§fn delete<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<bool, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<bool, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Delete an exchange
Source§fn count_by_building<'life0, 'async_trait>(
&'life0 self,
building_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<i64, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn count_by_building<'life0, 'async_trait>(
&'life0 self,
building_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<i64, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Count exchanges by building
Source§fn count_by_building_and_status<'life0, 'life1, 'async_trait>(
&'life0 self,
building_id: Uuid,
status: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<i64, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn count_by_building_and_status<'life0, 'life1, 'async_trait>(
&'life0 self,
building_id: Uuid,
status: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<i64, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Count exchanges by building and status
Auto Trait Implementations§
impl Freeze for PostgresLocalExchangeRepository
impl !RefUnwindSafe for PostgresLocalExchangeRepository
impl Send for PostgresLocalExchangeRepository
impl Sync for PostgresLocalExchangeRepository
impl Unpin for PostgresLocalExchangeRepository
impl !UnwindSafe for PostgresLocalExchangeRepository
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
§impl<T> Chain<T> for T
impl<T> Chain<T> for T
§impl<T> Fake for T
impl<T> Fake for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.