FOSSredder 0.5.0
Loading...
Searching...
No Matches
SqliteAnnualRepository.h
Go to the documentation of this file.
1
5
6#pragma once
7
10
11#include <memory>
12#include <string>
13
14class SqliteDb;
15
19public:
24 explicit SqliteAnnualRepository(const std::string& dbPath);
25
31 explicit SqliteAnnualRepository(std::shared_ptr<SqliteDb> db);
32
37
42 void addAnnual(const std::shared_ptr<core::domain::Annual>& annual) override;
43
48 std::vector<std::shared_ptr<core::domain::Annual>>
49 getAnnuals() const override;
50
56 std::optional<std::shared_ptr<core::domain::Annual>>
57 getAnnualById(const std::string& id) const override;
58
63 void removeAnnual(const std::string& id) override;
64
69 void
70 updateAnnual(const std::shared_ptr<core::domain::Annual>& annual) override;
71
76 void
77 upsertAnnual(const std::shared_ptr<core::domain::Annual>& annual) override;
78
82 void clearAnnuals() override;
83
88 sqlite3* sqliteHandle() const noexcept override;
89
90private:
91 struct Impl;
92 std::unique_ptr<Impl> pimpl_;
93};
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.