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);
57 const std::shared_ptr<core::domain::Statement>& statement)
override;
58 std::vector<std::shared_ptr<core::domain::Statement>>
60 std::optional<std::shared_ptr<core::domain::Statement>>
64 const std::shared_ptr<core::domain::Statement>& statement)
override;
67 const std::shared_ptr<core::domain::Statement>& statement)
override;
72 std::unique_ptr<Impl> pimpl_;
Declares the structured diagnostics reporting port.
Repository port for core::domain::Statement persistence operations.
void updateStatement(const std::shared_ptr< core::domain::Statement > &statement) override
Update an existing statement.
std::vector< std::shared_ptr< core::domain::Statement > > getStatements() const override
Retrieve all statements.
~SqliteStatementRepository() override
Destroy the repository.
void addStatement(const std::shared_ptr< core::domain::Statement > &statement) override
Add a new statement.
void removeStatement(const std::string &id) override
Remove a statement by identifier.
SqliteStatementRepository(const std::string &dbPath)
Create a statement repository for the database at the given path.
void upsertStatement(const std::shared_ptr< core::domain::Statement > &statement) override
Insert or update a statement.
void clearStatements() override
Remove all statements.
std::optional< std::shared_ptr< core::domain::Statement > > getStatementById(const std::string &id) const override
Retrieve a statement by identifier.