pub trait ReportGenerator: Send + Sync {
// Required methods
fn generate_balance_sheet<'life0, 'async_trait>(
&'life0 self,
as_of_date: NaiveDate,
) -> Pin<Box<dyn Future<Output = LedgerResult<BalanceSheet>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn generate_income_statement<'life0, 'async_trait>(
&'life0 self,
start_date: NaiveDate,
end_date: NaiveDate,
) -> Pin<Box<dyn Future<Output = LedgerResult<IncomeStatement>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn generate_cash_flow<'life0, 'async_trait>(
&'life0 self,
start_date: NaiveDate,
end_date: NaiveDate,
) -> Pin<Box<dyn Future<Output = LedgerResult<CashFlowStatement>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}
Expand description
Trait for report generation
Required Methods§
Sourcefn generate_balance_sheet<'life0, 'async_trait>(
&'life0 self,
as_of_date: NaiveDate,
) -> Pin<Box<dyn Future<Output = LedgerResult<BalanceSheet>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn generate_balance_sheet<'life0, 'async_trait>(
&'life0 self,
as_of_date: NaiveDate,
) -> Pin<Box<dyn Future<Output = LedgerResult<BalanceSheet>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Generate a balance sheet as of a specific date
Sourcefn generate_income_statement<'life0, 'async_trait>(
&'life0 self,
start_date: NaiveDate,
end_date: NaiveDate,
) -> Pin<Box<dyn Future<Output = LedgerResult<IncomeStatement>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn generate_income_statement<'life0, 'async_trait>(
&'life0 self,
start_date: NaiveDate,
end_date: NaiveDate,
) -> Pin<Box<dyn Future<Output = LedgerResult<IncomeStatement>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Generate an income statement for a date range
Sourcefn generate_cash_flow<'life0, 'async_trait>(
&'life0 self,
start_date: NaiveDate,
end_date: NaiveDate,
) -> Pin<Box<dyn Future<Output = LedgerResult<CashFlowStatement>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn generate_cash_flow<'life0, 'async_trait>(
&'life0 self,
start_date: NaiveDate,
end_date: NaiveDate,
) -> Pin<Box<dyn Future<Output = LedgerResult<CashFlowStatement>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Generate a cash flow statement for a date range