30 const std::string& dbPath,
31 std::shared_ptr<core::ports::diagnostics::IErrorReporter> errorReporter);
47 std::shared_ptr<SqliteDb> db,
48 std::shared_ptr<core::ports::diagnostics::IErrorReporter> errorReporter);
60 addProperty(
const std::shared_ptr<core::domain::Property>& property)
override;
66 std::vector<std::shared_ptr<core::domain::Property>>
74 std::optional<std::shared_ptr<core::domain::Property>>
88 const std::shared_ptr<core::domain::Property>& property)
override;
95 const std::shared_ptr<core::domain::Property>& property)
override;
104 std::unique_ptr<Impl> pimpl_;
Declares the structured diagnostics reporting port.
Repository port for core::domain::Property persistence operations.
SqlitePropertyRepository(const std::string &dbPath)
Create a property repository for the database at the given path.
void upsertProperty(const std::shared_ptr< core::domain::Property > &property) override
Insert or update a property.
~SqlitePropertyRepository() override
Destroy the repository.
void clearProperties() override
Remove all properties.
void addProperty(const std::shared_ptr< core::domain::Property > &property) override
Insert a new property.
std::optional< std::shared_ptr< core::domain::Property > > getPropertyById(const std::string &id) const override
Retrieve a property by identifier.
void updateProperty(const std::shared_ptr< core::domain::Property > &property) override
Update an existing property.
void removeProperty(const std::string &id) override
Remove a property by identifier.
std::vector< std::shared_ptr< core::domain::Property > > getProperties() const override
Retrieve all properties.