42 void addAnnual(
const std::shared_ptr<core::domain::Annual>& annual)
override;
48 std::vector<std::shared_ptr<core::domain::Annual>>
56 std::optional<std::shared_ptr<core::domain::Annual>>
70 updateAnnual(
const std::shared_ptr<core::domain::Annual>& annual)
override;
77 upsertAnnual(
const std::shared_ptr<core::domain::Annual>& annual)
override;
92 std::unique_ptr<
Impl> pimpl_;
Repository port for core::domain::Annual persistence operations.
SQLite connection handle provider used by persistence adapters.
~SqliteAnnualRepository() override
Destroy the repository.
void clearAnnuals() override
Remove all annual entries.
void removeAnnual(const std::string &id) override
Remove an annual entry by identifier.
SqliteAnnualRepository(const std::string &dbPath)
Create an annual repository for the database at the given path.
sqlite3 * sqliteHandle() const noexcept override
Return the SQLite handle.
void upsertAnnual(const std::shared_ptr< core::domain::Annual > &annual) override
Insert or update an annual entry.
std::optional< std::shared_ptr< core::domain::Annual > > getAnnualById(const std::string &id) const override
Retrieve an annual entry by identifier.
void addAnnual(const std::shared_ptr< core::domain::Annual > &annual) override
Insert a new annual entry.
std::vector< std::shared_ptr< core::domain::Annual > > getAnnuals() const override
Retrieve all annual entries.
void updateAnnual(const std::shared_ptr< core::domain::Annual > &annual) override
Update an existing annual entry.