43 addAnalysis(
const std::shared_ptr<core::domain::Analysis>& analysis)
override;
49 std::vector<std::shared_ptr<core::domain::Analysis>>
57 std::optional<std::shared_ptr<core::domain::Analysis>>
71 const std::shared_ptr<core::domain::Analysis>& analysis)
override;
78 const std::shared_ptr<core::domain::Analysis>& analysis)
override;
93 std::unique_ptr<
Impl> pimpl_;
Repository port for core::domain::Analysis persistence operations.
SQLite connection handle provider used by persistence adapters.
void addAnalysis(const std::shared_ptr< core::domain::Analysis > &analysis) override
Insert a new analysis.
SqliteAnalysisRepository(const std::string &dbPath)
Create an analysis repository for the database at the given path.
std::vector< std::shared_ptr< core::domain::Analysis > > getAnalyses() const override
Retrieve all analyses.
std::optional< std::shared_ptr< core::domain::Analysis > > getAnalysisById(const std::string &id) const override
Retrieve an analysis by identifier.
void upsertAnalysis(const std::shared_ptr< core::domain::Analysis > &analysis) override
Insert or update an analysis.
void clearAnalyses() override
Remove all analyses.
~SqliteAnalysisRepository() override
Destroy the repository.
void removeAnalysis(const std::string &id) override
Remove an analysis by identifier.
sqlite3 * sqliteHandle() const noexcept override
Return the SQLite handle.
void updateAnalysis(const std::shared_ptr< core::domain::Analysis > &analysis) override
Update an existing analysis.