Protocol
BudgetService
public protocol BudgetService
Requirements
budgets(includeArchived:completion:)
func budgets(includeArchived: Bool, completion: @escaping (Result<[Budget], Error>) -> Void) -> Cancellable?
create(name:amount:filter:periodicity:completion:)
func create(name: String, amount: CurrencyDenominatedAmount, filter: [Budget.Filter], periodicity: Budget.Periodicity, completion: @escaping (Result<Budget, Error>) -> Void) -> Cancellable?
update(id:name:amount:filter:periodicity:completion:)
func update(id: Budget.ID, name: String, amount: CurrencyDenominatedAmount, filter: [Budget.Filter], periodicity: Budget.Periodicity, completion: @escaping (Result<Budget, Error>) -> Void) -> Cancellable?
transactionsForBudget(id:dateInterval:completion:)
func transactionsForBudget(id: Budget.ID, dateInterval: DateInterval, completion: @escaping (Result<[Budget.Transaction], Error>) -> Void) -> Cancellable?
budgetSummaries(includeArchived:completion:)
func budgetSummaries(includeArchived: Bool, completion: @escaping (Result<[BudgetSummary], Error>) -> Void) -> Cancellable?
budgetDetails(id:dateInterval:completion:)
func budgetDetails(id: Budget.ID, dateInterval: DateInterval, completion: @escaping (Result<BudgetDetails, Error>) -> Void) -> Cancellable?
archive(id:completion:)
func archive(id: Budget.ID, completion: @escaping (Result<Budget, Error>) -> Void) -> Cancellable?