20#ifndef ORES_CONNECTIONS_REPOSITORY_FOLDER_REPOSITORY_HPP
21#define ORES_CONNECTIONS_REPOSITORY_FOLDER_REPOSITORY_HPP
25#include <boost/uuid/uuid.hpp>
26#include "ores.connections/domain/folder.hpp"
27#include "ores.connections/repository/sqlite_context.hpp"
29namespace ores::connections::repository {
46 void write(
const std::vector<domain::folder>& folders);
51 std::vector<domain::folder>
read_all();
56 std::optional<domain::folder>
read_by_id(
const boost::uuids::uuid&
id);
62 const std::optional<boost::uuids::uuid>& parent_id);
67 void remove(
const boost::uuids::uuid&
id);
Represents a folder for organizing server connections hierarchically.
Definition folder.hpp:35
Repository for managing folders in the SQLite database.
Definition folder_repository.hpp:34
void write(const domain::folder &f)
Create or update a folder.
Definition folder_repository.cpp:41
void remove(const boost::uuids::uuid &id)
Delete a folder by ID.
Definition folder_repository.cpp:145
std::optional< domain::folder > read_by_id(const boost::uuids::uuid &id)
Read a folder by ID.
Definition folder_repository.cpp:91
std::vector< domain::folder > read_all()
Read all folders.
Definition folder_repository.cpp:75
std::vector< domain::folder > read_by_parent(const std::optional< boost::uuids::uuid > &parent_id)
Read folders by parent ID (null for root folders).
Definition folder_repository.cpp:113
SQLite database context for connection management.
Definition sqlite_context.hpp:36