FOSSredder 0.5.0
Loading...
Searching...
No Matches
IExportLogRepository.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
14class ExportLog;
15}
16
18
20public:
24 virtual ~IExportLogRepository() = default;
25
30 virtual void addExportLog(const std::shared_ptr<core::application::exporting::ExportLog>& log) = 0;
31
36 virtual std::vector<std::shared_ptr<core::application::exporting::ExportLog>> getExportLogs() const = 0;
37
43 virtual std::optional<std::shared_ptr<core::application::exporting::ExportLog>> getExportLogById(const std::string& id) const = 0;
44
49 virtual void removeExportLog(const std::string& id) = 0;
50
55 virtual void updateExportLog(const std::shared_ptr<core::application::exporting::ExportLog>& log) = 0;
56
61 virtual void upsertExportLog(const std::shared_ptr<core::application::exporting::ExportLog>& log) = 0;
62
66 virtual void clearExportLogs() = 0;
67};
68
69} // namespace core::ports::repositories
Stores metadata about one export run for persistence and workflow tracking.
Definition ExportLog.h:16
virtual std::vector< std::shared_ptr< core::application::exporting::ExportLog > > getExportLogs() const =0
Retrieve all export logs.
virtual void addExportLog(const std::shared_ptr< core::application::exporting::ExportLog > &log)=0
Add a new export log.
virtual std::optional< std::shared_ptr< core::application::exporting::ExportLog > > getExportLogById(const std::string &id) const =0
Retrieve an export log by identifier.
virtual void clearExportLogs()=0
Remove all export logs.
virtual void upsertExportLog(const std::shared_ptr< core::application::exporting::ExportLog > &log)=0
Insert or update an export log.
virtual void updateExportLog(const std::shared_ptr< core::application::exporting::ExportLog > &log)=0
Update an existing export log.
virtual void removeExportLog(const std::string &id)=0
Remove an export log by identifier.
virtual ~IExportLogRepository()=default
Destroy the export log repository interface.