20#ifndef ORES_ASSETS_MESSAGING_ASSETS_MESSAGE_HANDLER_HPP
21#define ORES_ASSETS_MESSAGING_ASSETS_MESSAGE_HANDLER_HPP
23#include "ores.comms/messaging/message_handler.hpp"
24#include "ores.logging/make_logger.hpp"
25#include "ores.database/domain/context.hpp"
26#include "ores.assets/repository/image_repository.hpp"
42 inline static std::string_view logger_name =
43 "ores.assets.messaging.assets_message_handler";
47 static auto instance = make_logger(logger_name);
67 boost::asio::awaitable<std::expected<std::vector<std::byte>, ores::utility::serialization::error_code>>
69 std::span<const std::byte> payload,
70 [[maybe_unused]]
const std::string& remote_address)
override;
76 boost::asio::awaitable<std::expected<std::vector<std::byte>, ores::utility::serialization::error_code>>
77 handle_get_images_request(std::span<const std::byte> payload);
82 boost::asio::awaitable<std::expected<std::vector<std::byte>, ores::utility::serialization::error_code>>
83 handle_list_images_request(std::span<const std::byte> payload);
Network messaging infrastructure for the assets module.
Definition assets_message_handler.hpp:28
Implements logging infrastructure for ORE Studio.
Definition boost_severity.hpp:28
Message handler for assets subsystem messages.
Definition assets_message_handler.hpp:40
boost::asio::awaitable< std::expected< std::vector< std::byte >, ores::utility::serialization::error_code > > handle_message(comms::messaging::message_type type, std::span< const std::byte > payload, const std::string &remote_address) override
Handle an assets subsystem message.
Definition assets_message_handler.cpp:34
Reads and writes images off of data storage.
Definition image_repository.hpp:36
Abstract interface for handling messages from a subsystem.
Definition message_handler.hpp:66
Context for the operations on a postgres database.
Definition context.hpp:30