FOSSredder 0.5.0
Loading...
Searching...
No Matches
ITransactionDraftRepository.h
Go to the documentation of this file.
1
5
6#pragma once
7
8#include <memory>
9#include <optional>
10#include <string>
11#include <vector>
12
15}
16
18
20public:
24 virtual ~ITransactionDraftRepository() = default;
25
30 virtual void addTransactionDraft(const std::shared_ptr<core::application::importing::draft::TransactionDraft>& draft) = 0;
31
36 virtual std::vector<std::shared_ptr<core::application::importing::draft::TransactionDraft>> getTransactionDrafts() const = 0;
37
43 virtual std::optional<std::shared_ptr<core::application::importing::draft::TransactionDraft>> getTransactionDraftById(const std::string& id) const = 0;
44
49 virtual void removeTransactionDraft(const std::string& id) = 0;
50
55 virtual void updateTransactionDraft(const std::shared_ptr<core::application::importing::draft::TransactionDraft>& draft) = 0;
56
61 virtual void upsertTransactionDraft(const std::shared_ptr<core::application::importing::draft::TransactionDraft>& draft) = 0;
62
66 virtual void clearTransactionDrafts() = 0;
67
72 void saveTransactionDrafts(const std::vector<std::shared_ptr<core::application::importing::draft::TransactionDraft>>& drafts)
73 {
75 for (const auto& draft : drafts) {
76 if (draft) {
78 }
79 }
80 }
81};
82
83} // namespace core::ports::repositories
virtual void removeTransactionDraft(const std::string &id)=0
Remove a transaction draft by identifier.
virtual std::optional< std::shared_ptr< core::application::importing::draft::TransactionDraft > > getTransactionDraftById(const std::string &id) const =0
Retrieve a transaction draft by identifier.
virtual ~ITransactionDraftRepository()=default
Destroy the transaction draft repository interface.
virtual void addTransactionDraft(const std::shared_ptr< core::application::importing::draft::TransactionDraft > &draft)=0
Add a new transaction draft.
virtual void upsertTransactionDraft(const std::shared_ptr< core::application::importing::draft::TransactionDraft > &draft)=0
Insert or update a transaction draft.
void saveTransactionDrafts(const std::vector< std::shared_ptr< core::application::importing::draft::TransactionDraft > > &drafts)
Replace the stored transaction drafts with the provided drafts.
virtual std::vector< std::shared_ptr< core::application::importing::draft::TransactionDraft > > getTransactionDrafts() const =0
Retrieve all transaction drafts.
virtual void updateTransactionDraft(const std::shared_ptr< core::application::importing::draft::TransactionDraft > &draft)=0
Update an existing transaction draft.
virtual void clearTransactionDrafts()=0
Remove all transaction drafts.