20#ifndef ORES_ASSETS_MESSAGING_ASSETS_PROTOCOL_HPP
21#define ORES_ASSETS_MESSAGING_ASSETS_PROTOCOL_HPP
29#include "ores.assets.api/domain/image.hpp"
31namespace ores::assets::messaging {
36constexpr std::size_t MAX_IMAGES_PER_REQUEST = 50;
44 std::string description;
47struct get_images_request {
48 using response_type =
struct get_images_response;
49 static constexpr std::string_view nats_subject =
"assets.v1.images.get";
50 std::vector<std::string> image_ids;
53struct get_images_response {
56 std::vector<ores::assets::domain::image> images;
59struct list_images_request {
60 using response_type =
struct list_images_response;
61 static constexpr std::string_view nats_subject =
"assets.v1.images.list";
62 std::optional<std::chrono::system_clock::time_point> modified_since;
73 std::vector<image_info> images;
76struct save_image_request {
77 using response_type =
struct save_image_response;
78 static constexpr std::string_view nats_subject =
"assets.v1.images.save";
82struct save_image_response {
Represents a dynamically loaded image (typically SVG).
Definition image.hpp:34
Lightweight image metadata (no SVG data) for list responses.
Definition assets_protocol.hpp:41
Response for list_images_request.
Definition assets_protocol.hpp:70