30 virtual void addProperty(
const std::shared_ptr<core::domain::Property>& property) = 0;
36 virtual std::vector<std::shared_ptr<core::domain::Property>>
getProperties()
const = 0;
43 virtual std::optional<std::shared_ptr<core::domain::Property>>
getPropertyById(
const std::string&
id)
const = 0;
55 virtual void updateProperty(
const std::shared_ptr<core::domain::Property>& property) = 0;
61 virtual void upsertProperty(
const std::shared_ptr<core::domain::Property>& property) = 0;
virtual void addProperty(const std::shared_ptr< core::domain::Property > &property)=0
Add a new property.
virtual void updateProperty(const std::shared_ptr< core::domain::Property > &property)=0
Update an existing property.
virtual void upsertProperty(const std::shared_ptr< core::domain::Property > &property)=0
Insert or update a property.
virtual void clearProperties()=0
Remove all properties.
virtual std::optional< std::shared_ptr< core::domain::Property > > getPropertyById(const std::string &id) const =0
Retrieve a property by identifier.
virtual ~IPropertyRepository()=default
Destroy the property repository interface.
virtual std::vector< std::shared_ptr< core::domain::Property > > getProperties() const =0
Retrieve all properties.
virtual void removeProperty(const std::string &id)=0
Remove a property by identifier.