31 const std::string& dbPath,
32 std::shared_ptr<core::ports::diagnostics::IErrorReporter> errorReporter);
48 std::shared_ptr<SqliteDb> db,
49 std::shared_ptr<core::ports::diagnostics::IErrorReporter> errorReporter);
61 const std::shared_ptr<core::domain::Transaction>& transaction)
override;
67 std::vector<std::shared_ptr<core::domain::Transaction>>
75 std::optional<std::shared_ptr<core::domain::Transaction>>
89 const std::shared_ptr<core::domain::Transaction>& transaction)
override;
96 const std::shared_ptr<core::domain::Transaction>& transaction)
override;
108 std::vector<std::shared_ptr<core::domain::Transaction>>
117 const std::string& contractId,
118 const std::vector<std::string>& transactionIds)
override;
122 std::unique_ptr<Impl> pimpl_;
Declares the structured diagnostics reporting port.
Repository port for core::domain::Transaction persistence operations.
void upsertTransaction(const std::shared_ptr< core::domain::Transaction > &transaction) override
Insert or update a transaction.
void updateTransaction(const std::shared_ptr< core::domain::Transaction > &transaction) override
Update an existing transaction.
void clearTransactions() override
Remove all transactions.
void removeTransaction(const std::string &id) override
Remove a transaction by identifier.
~SqliteTransactionRepository() override
Destroy the repository.
std::vector< std::shared_ptr< core::domain::Transaction > > getTransactions() const override
Retrieve all transactions.
void addTransaction(const std::shared_ptr< core::domain::Transaction > &transaction) override
Insert a new transaction.
SqliteTransactionRepository(const std::string &dbPath)
Create a transaction repository for the database at the given path.
std::optional< std::shared_ptr< core::domain::Transaction > > getTransactionById(const std::string &id) const override
Retrieve a transaction by identifier.
std::vector< std::shared_ptr< core::domain::Transaction > > getTransactionsForContract(const std::string &contractId) const override
Retrieve transactions associated with a given contract.
void assignTransactionsToContract(const std::string &contractId, const std::vector< std::string > &transactionIds) override
Assign transactions to a contract.