FOSSredder 0.5.0
Loading...
Searching...
No Matches
SqliteTransactionRepository Class Reference

#include <SqliteTransactionRepository.h>

Inheritance diagram for SqliteTransactionRepository:
Collaboration diagram for SqliteTransactionRepository:

Classes

struct  Impl

Public Member Functions

 SqliteTransactionRepository (const std::string &dbPath)
 Create a transaction repository for the database at the given path.
 SqliteTransactionRepository (const std::string &dbPath, std::shared_ptr< core::ports::diagnostics::IErrorReporter > errorReporter)
 Create a transaction repository for the database at the given path.
 SqliteTransactionRepository (std::shared_ptr< SqliteDb > db)
 Create a transaction repository using an existing database handle wrapper.
 SqliteTransactionRepository (std::shared_ptr< SqliteDb > db, std::shared_ptr< core::ports::diagnostics::IErrorReporter > errorReporter)
 Create a transaction repository using an existing database handle wrapper.
 ~SqliteTransactionRepository () override
 Destroy the repository.
void addTransaction (const std::shared_ptr< core::domain::Transaction > &transaction) override
 Insert a new transaction.
std::vector< std::shared_ptr< core::domain::Transaction > > getTransactions () const override
 Retrieve all transactions.
std::optional< std::shared_ptr< core::domain::Transaction > > getTransactionById (const std::string &id) const override
 Retrieve a transaction by identifier.
void removeTransaction (const std::string &id) override
 Remove a transaction by identifier.
void updateTransaction (const std::shared_ptr< core::domain::Transaction > &transaction) override
 Update an existing transaction.
void upsertTransaction (const std::shared_ptr< core::domain::Transaction > &transaction) override
 Insert or update a transaction.
void clearTransactions () override
 Remove all transactions.
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.
Public Member Functions inherited from core::ports::repositories::ITransactionRepository
virtual ~ITransactionRepository ()=default
 Destroy the transaction repository interface.

Detailed Description

Definition at line 16 of file SqliteTransactionRepository.h.

Constructor & Destructor Documentation

◆ SqliteTransactionRepository() [1/4]

SqliteTransactionRepository::SqliteTransactionRepository ( const std::string & dbPath)
explicit

Create a transaction repository for the database at the given path.

Parameters
dbPathSQLite database path.

Definition at line 19 of file SqliteTransactionRepository.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SqliteTransactionRepository() [2/4]

SqliteTransactionRepository::SqliteTransactionRepository ( const std::string & dbPath,
std::shared_ptr< core::ports::diagnostics::IErrorReporter > errorReporter )

Create a transaction repository for the database at the given path.

Parameters
dbPathSQLite database path.
errorReporterError reporter used by the repository.

Definition at line 24 of file SqliteTransactionRepository.cpp.

Here is the call graph for this function:

◆ SqliteTransactionRepository() [3/4]

SqliteTransactionRepository::SqliteTransactionRepository ( std::shared_ptr< SqliteDb > db)
explicit

Create a transaction repository using an existing database handle wrapper.

Parameters
dbShared SQLite database wrapper.

Definition at line 30 of file SqliteTransactionRepository.cpp.

Here is the call graph for this function:

◆ SqliteTransactionRepository() [4/4]

SqliteTransactionRepository::SqliteTransactionRepository ( std::shared_ptr< SqliteDb > db,
std::shared_ptr< core::ports::diagnostics::IErrorReporter > errorReporter )

Create a transaction repository using an existing database handle wrapper.

Parameters
dbShared SQLite database wrapper.
errorReporterError reporter used by the repository.

Definition at line 34 of file SqliteTransactionRepository.cpp.

◆ ~SqliteTransactionRepository()

SqliteTransactionRepository::~SqliteTransactionRepository ( )
overridedefault

Destroy the repository.

Member Function Documentation

◆ addTransaction()

void SqliteTransactionRepository::addTransaction ( const std::shared_ptr< core::domain::Transaction > & transaction)
overridevirtual

Insert a new transaction.

Parameters
transactionTransaction to add.

Implements core::ports::repositories::ITransactionRepository.

Definition at line 116 of file SqliteTransactionRepository.cpp.

Here is the call graph for this function:

◆ assignTransactionsToContract()

void SqliteTransactionRepository::assignTransactionsToContract ( const std::string & contractId,
const std::vector< std::string > & transactionIds )
overridevirtual

Assign transactions to a contract.

Parameters
contractIdContract identifier.
transactionIdsTransaction identifiers to assign.

Implements core::ports::repositories::ITransactionRepository.

Definition at line 275 of file SqliteTransactionRepository.cpp.

Here is the call graph for this function:

◆ clearTransactions()

void SqliteTransactionRepository::clearTransactions ( )
overridevirtual

Remove all transactions.

Implements core::ports::repositories::ITransactionRepository.

Definition at line 252 of file SqliteTransactionRepository.cpp.

◆ getTransactionById()

std::optional< std::shared_ptr< Transaction > > SqliteTransactionRepository::getTransactionById ( const std::string & id) const
overridevirtual

Retrieve a transaction by identifier.

Parameters
idTransaction identifier.
Returns
Transaction with the requested identifier, if found.

Implements core::ports::repositories::ITransactionRepository.

Definition at line 157 of file SqliteTransactionRepository.cpp.

Here is the call graph for this function:

◆ getTransactions()

std::vector< std::shared_ptr< Transaction > > SqliteTransactionRepository::getTransactions ( ) const
overridevirtual

Retrieve all transactions.

Returns
All stored transactions.

Implements core::ports::repositories::ITransactionRepository.

Definition at line 145 of file SqliteTransactionRepository.cpp.

Here is the call graph for this function:

◆ getTransactionsForContract()

std::vector< std::shared_ptr< Transaction > > SqliteTransactionRepository::getTransactionsForContract ( const std::string & contractId) const
overridevirtual

Retrieve transactions associated with a given contract.

Parameters
contractIdContract identifier.
Returns
Transactions linked to the contract.

Implements core::ports::repositories::ITransactionRepository.

Definition at line 262 of file SqliteTransactionRepository.cpp.

Here is the call graph for this function:

◆ removeTransaction()

void SqliteTransactionRepository::removeTransaction ( const std::string & id)
overridevirtual

Remove a transaction by identifier.

Parameters
idTransaction identifier.

Implements core::ports::repositories::ITransactionRepository.

Definition at line 170 of file SqliteTransactionRepository.cpp.

Here is the call graph for this function:

◆ updateTransaction()

void SqliteTransactionRepository::updateTransaction ( const std::shared_ptr< core::domain::Transaction > & transaction)
overridevirtual

Update an existing transaction.

Parameters
transactionTransaction to update.

Implements core::ports::repositories::ITransactionRepository.

Definition at line 182 of file SqliteTransactionRepository.cpp.

Here is the call graph for this function:

◆ upsertTransaction()

void SqliteTransactionRepository::upsertTransaction ( const std::shared_ptr< core::domain::Transaction > & transaction)
overridevirtual

Insert or update a transaction.

Parameters
transactionTransaction to upsert.

Implements core::ports::repositories::ITransactionRepository.

Definition at line 211 of file SqliteTransactionRepository.cpp.

Here is the call graph for this function:

The documentation for this class was generated from the following files: