FOSSredder 0.5.0
Loading...
Searching...
No Matches
SqliteTransactionDraftRepository.h
Go to the documentation of this file.
1
6
7#pragma once
8
10
11#include <memory>
12#include <string>
13
14class SqliteDb;
15
18public:
24 explicit SqliteTransactionDraftRepository(const std::string& dbPath);
25
31 explicit SqliteTransactionDraftRepository(std::shared_ptr<SqliteDb> db);
32
37
43 const std::shared_ptr<
45 override;
46
51 std::vector<
52 std::shared_ptr<core::application::importing::draft::TransactionDraft>>
53 getTransactionDrafts() const override;
54
60 std::optional<
61 std::shared_ptr<core::application::importing::draft::TransactionDraft>>
62 getTransactionDraftById(const std::string& id) const override;
63
68 void removeTransactionDraft(const std::string& id) override;
69
75 const std::shared_ptr<
77 override;
78
84 const std::shared_ptr<
86 override;
87
91 void clearTransactionDrafts() override;
92
93private:
94 struct Impl;
95 std::unique_ptr<Impl> pimpl_;
96};
Repository port for transaction draft persistence operations.
std::vector< std::shared_ptr< core::application::importing::draft::TransactionDraft > > getTransactionDrafts() const override
Retrieve all transaction drafts.
void updateTransactionDraft(const std::shared_ptr< core::application::importing::draft::TransactionDraft > &draft) override
Update an existing transaction draft.
SqliteTransactionDraftRepository(const std::string &dbPath)
Create a transaction draft repository for the database at the given path.
void upsertTransactionDraft(const std::shared_ptr< core::application::importing::draft::TransactionDraft > &draft) override
Insert or update a transaction draft.
~SqliteTransactionDraftRepository() override
Destroy the repository.
void clearTransactionDrafts() override
Remove all transaction drafts.
void addTransactionDraft(const std::shared_ptr< core::application::importing::draft::TransactionDraft > &draft) override
Insert a new transaction draft.
std::optional< std::shared_ptr< core::application::importing::draft::TransactionDraft > > getTransactionDraftById(const std::string &id) const override
Retrieve a transaction draft by identifier.
void removeTransactionDraft(const std::string &id) override
Remove a transaction draft by identifier.