Protocol
TransactionService
public protocol TransactionService
Requirements
transactions(query:offset:completion:)
func transactions(query: TransactionsQuery, offset: Int?, completion: @escaping (Result<([Transaction], Bool), Error>) -> Void) -> Cancellable?
categorize(_:as:completion:)
func categorize(_ transactionIDs: [String], as newCategoryID: String, completion: @escaping (Result<Void, Error>) -> Void) -> Cancellable?
transactionsSimilar(to:ifCategorizedAs:completion:)
func transactionsSimilar(to transactionID: String, ifCategorizedAs categoryID: String, completion: @escaping (Result<[Transaction], Error>) -> Void) -> Cancellable?
transaction(id:completion:)
func transaction(id: Transaction.ID, completion: @escaping (Result<Transaction, Error>) -> Void) -> Cancellable?
update(transactionID:amount:categoryID:date:description:notes:completion:)
func update(transactionID: Transaction.ID, amount: CurrencyDenominatedAmount, categoryID: Category.ID, date: Date, description: String, notes: String?, completion: @escaping (Result<Transaction, Error>) -> Void) -> Cancellable?