pub struct PostgresBudgetRepository { /* private fields */ }Implementations§
Trait Implementations§
Source§impl BudgetRepository for PostgresBudgetRepository
impl BudgetRepository for PostgresBudgetRepository
Source§fn create<'life0, 'life1, 'async_trait>(
&'life0 self,
budget: &'life1 Budget,
) -> Pin<Box<dyn Future<Output = Result<Budget, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create<'life0, 'life1, 'async_trait>(
&'life0 self,
budget: &'life1 Budget,
) -> Pin<Box<dyn Future<Output = Result<Budget, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create a new budget
Source§fn find_by_id<'life0, 'async_trait>(
&'life0 self,
id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<Budget>, 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<Budget>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find budget by ID
Source§fn find_by_building_and_fiscal_year<'life0, 'async_trait>(
&'life0 self,
building_id: Uuid,
fiscal_year: i32,
) -> Pin<Box<dyn Future<Output = Result<Option<Budget>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_by_building_and_fiscal_year<'life0, 'async_trait>(
&'life0 self,
building_id: Uuid,
fiscal_year: i32,
) -> Pin<Box<dyn Future<Output = Result<Option<Budget>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find budget by building and fiscal year (should be unique)
Source§fn find_by_building<'life0, 'async_trait>(
&'life0 self,
building_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Vec<Budget>, 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<Budget>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find all budgets for a building
Source§fn find_active_by_building<'life0, 'async_trait>(
&'life0 self,
building_id: Uuid,
) -> Pin<Box<dyn Future<Output = Result<Option<Budget>, 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<Option<Budget>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find active budget for a building (status = Approved, most recent fiscal year)
Source§fn find_by_fiscal_year<'life0, 'async_trait>(
&'life0 self,
organization_id: Uuid,
fiscal_year: i32,
) -> Pin<Box<dyn Future<Output = Result<Vec<Budget>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_by_fiscal_year<'life0, 'async_trait>(
&'life0 self,
organization_id: Uuid,
fiscal_year: i32,
) -> Pin<Box<dyn Future<Output = Result<Vec<Budget>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find budgets by fiscal year across all buildings in organization
Source§fn find_by_status<'life0, 'async_trait>(
&'life0 self,
organization_id: Uuid,
status: BudgetStatus,
) -> Pin<Box<dyn Future<Output = Result<Vec<Budget>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn find_by_status<'life0, 'async_trait>(
&'life0 self,
organization_id: Uuid,
status: BudgetStatus,
) -> Pin<Box<dyn Future<Output = Result<Vec<Budget>, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find budgets by status
Source§fn find_all_paginated<'life0, 'life1, 'async_trait>(
&'life0 self,
page_request: &'life1 PageRequest,
organization_id: Option<Uuid>,
building_id: Option<Uuid>,
status: Option<BudgetStatus>,
) -> Pin<Box<dyn Future<Output = Result<(Vec<Budget>, i64), String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn find_all_paginated<'life0, 'life1, 'async_trait>(
&'life0 self,
page_request: &'life1 PageRequest,
organization_id: Option<Uuid>,
building_id: Option<Uuid>,
status: Option<BudgetStatus>,
) -> Pin<Box<dyn Future<Output = Result<(Vec<Budget>, i64), String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Find all budgets paginated
Source§fn update<'life0, 'life1, 'async_trait>(
&'life0 self,
budget: &'life1 Budget,
) -> Pin<Box<dyn Future<Output = Result<Budget, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update<'life0, 'life1, 'async_trait>(
&'life0 self,
budget: &'life1 Budget,
) -> Pin<Box<dyn Future<Output = Result<Budget, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Update existing budget
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 budget by ID
Auto Trait Implementations§
impl Freeze for PostgresBudgetRepository
impl !RefUnwindSafe for PostgresBudgetRepository
impl Send for PostgresBudgetRepository
impl Sync for PostgresBudgetRepository
impl Unpin for PostgresBudgetRepository
impl !UnwindSafe for PostgresBudgetRepository
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.