20#ifndef ORES_CONNECTIONS_REPOSITORY_CONNECTION_TAG_REPOSITORY_HPP
21#define ORES_CONNECTIONS_REPOSITORY_CONNECTION_TAG_REPOSITORY_HPP
24#include <boost/uuid/uuid.hpp>
25#include "ores.connections/domain/connection_tag.hpp"
26#include "ores.connections/repository/sqlite_context.hpp"
28namespace ores::connections::repository {
30class connection_tag_repository final {
32 explicit connection_tag_repository(sqlite_context& ctx);
34 void write(
const domain::connection_tag& ct);
35 void write(
const std::vector<domain::connection_tag>& tags);
40 std::vector<domain::connection_tag> read_by_connection(
41 const boost::uuids::uuid& connection_id);
46 std::vector<domain::connection_tag> read_by_tag(
const boost::uuids::uuid& tag_id);
51 void remove(
const boost::uuids::uuid& connection_id,
const boost::uuids::uuid& tag_id);
56 void remove_by_connection(
const boost::uuids::uuid& connection_id);
61 void remove_by_tag(
const boost::uuids::uuid& tag_id);