FOSSredder 0.5.0
Loading...
Searching...
No Matches
SqliteTransactionRepository.h
Go to the documentation of this file.
1
6
7#pragma once
8
11#include <memory>
12#include <string>
13
14class SqliteDb;
15
18public:
23 explicit SqliteTransactionRepository(const std::string& dbPath);
24
31 const std::string& dbPath,
32 std::shared_ptr<core::ports::diagnostics::IErrorReporter> errorReporter);
33
39 explicit SqliteTransactionRepository(std::shared_ptr<SqliteDb> db);
40
48 std::shared_ptr<SqliteDb> db,
49 std::shared_ptr<core::ports::diagnostics::IErrorReporter> errorReporter);
50
55
60 void addTransaction(
61 const std::shared_ptr<core::domain::Transaction>& transaction) override;
62
67 std::vector<std::shared_ptr<core::domain::Transaction>>
68 getTransactions() const override;
69
75 std::optional<std::shared_ptr<core::domain::Transaction>>
76 getTransactionById(const std::string& id) const override;
77
82 void removeTransaction(const std::string& id) override;
83
89 const std::shared_ptr<core::domain::Transaction>& transaction) override;
90
96 const std::shared_ptr<core::domain::Transaction>& transaction) override;
97
101 void clearTransactions() override;
102
108 std::vector<std::shared_ptr<core::domain::Transaction>>
109 getTransactionsForContract(const std::string& contractId) const override;
110
117 const std::string& contractId,
118 const std::vector<std::string>& transactionIds) override;
119
120private:
121 struct Impl;
122 std::unique_ptr<Impl> pimpl_;
123};
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.