20#ifndef ORES_REFDATA_MESSAGING_COUNTRY_PROTOCOL_HPP
21#define ORES_REFDATA_MESSAGING_COUNTRY_PROTOCOL_HPP
29#include <rfl/json.hpp>
30#include "ores.comms/messaging/message_types.hpp"
31#include "ores.comms/messaging/message_traits.hpp"
32#include "ores.refdata/domain/country.hpp"
59 static std::expected<get_countries_request, ores::utility::serialization::error_code>
69 std::vector<domain::country> countries;
103 static std::expected<get_countries_response, ores::utility::serialization::error_code>
122 std::vector<std::byte>
serialize()
const;
127 static std::expected<save_country_request, ores::utility::serialization::error_code>
143 std::vector<std::byte>
serialize()
const;
148 static std::expected<save_country_response, ores::utility::serialization::error_code>
161 std::vector<std::string> alpha2_codes;
172 std::vector<std::byte>
serialize()
const;
177 static std::expected<delete_country_request, ores::utility::serialization::error_code>
187 std::string alpha2_code;
201 std::vector<delete_country_result> results;
215 std::vector<std::byte>
serialize()
const;
220 static std::expected<delete_country_response, ores::utility::serialization::error_code>
230 std::string alpha2_code;
235 std::vector<std::byte>
serialize()
const;
240 static std::expected<get_country_history_request, ores::utility::serialization::error_code>
252 std::vector<domain::country> history;
257 std::vector<std::byte>
serialize()
const;
262 static std::expected<get_country_history_response, ores::utility::serialization::error_code>
279 static constexpr message_type request_message_type =
280 message_type::get_countries_request;
290 static constexpr message_type request_message_type =
291 message_type::save_country_request;
301 static constexpr message_type request_message_type =
302 message_type::delete_country_request;
312 static constexpr message_type request_message_type =
313 message_type::get_country_history_request;
Contains messaging related infrastructure in the comms library.
Definition assets_protocol.hpp:122
std::basic_ostream< CharT, TraitsT > & operator<<(std::basic_ostream< CharT, TraitsT > &stream, boost_severity level)
Inserter for boost_severity enum.
Definition boost_severity.hpp:80
Network messaging infrastructure for the risk module.
Definition country_protocol.hpp:34
Traits template for mapping request types to their response types and message type enum values.
Definition message_traits.hpp:66
Represents a country using ISO 3166-1 standard codes.
Definition country.hpp:33
Request to retrieve countries with pagination support.
Definition country_protocol.hpp:41
std::uint32_t limit
Maximum number of records to return.
Definition country_protocol.hpp:45
static std::expected< get_countries_request, ores::utility::serialization::error_code > deserialize(std::span< const std::byte > data)
Deserialize request from bytes.
Definition country_protocol.cpp:131
std::vector< std::byte > serialize() const
Serialize request to bytes.
Definition country_protocol.cpp:123
std::uint32_t offset
Number of records to skip (0-based)
Definition country_protocol.hpp:43
Response containing countries with pagination metadata.
Definition country_protocol.hpp:68
static std::expected< get_countries_response, ores::utility::serialization::error_code > deserialize(std::span< const std::byte > data)
Deserialize response from bytes.
Definition country_protocol.cpp:170
std::uint32_t total_available_count
Total number of countries available (not just in this page)
Definition country_protocol.hpp:71
std::vector< std::byte > serialize() const
Serialize response to bytes.
Definition country_protocol.cpp:152
Request to save a country (create or update).
Definition country_protocol.hpp:116
std::vector< std::byte > serialize() const
Serialize request to bytes.
Definition country_protocol.cpp:207
static std::expected< save_country_request, ores::utility::serialization::error_code > deserialize(std::span< const std::byte > data)
Deserialize request from bytes.
Definition country_protocol.cpp:214
Response confirming country save operation.
Definition country_protocol.hpp:136
std::vector< std::byte > serialize() const
Serialize response to bytes.
Definition country_protocol.cpp:229
static std::expected< save_country_response, ores::utility::serialization::error_code > deserialize(std::span< const std::byte > data)
Deserialize response from bytes.
Definition country_protocol.cpp:237
Request to delete one or more countries.
Definition country_protocol.hpp:160
std::vector< std::byte > serialize() const
Serialize request to bytes.
Definition country_protocol.cpp:262
static std::expected< delete_country_request, ores::utility::serialization::error_code > deserialize(std::span< const std::byte > data)
Deserialize request from bytes.
Definition country_protocol.cpp:277
Result for a single country deletion.
Definition country_protocol.hpp:186
Response confirming country deletion(s).
Definition country_protocol.hpp:200
std::vector< std::byte > serialize() const
Serialize response to bytes.
Definition country_protocol.cpp:314
static std::expected< delete_country_response, ores::utility::serialization::error_code > deserialize(std::span< const std::byte > data)
Deserialize response from bytes.
Definition country_protocol.cpp:331
Request to retrieve version history for a country.
Definition country_protocol.hpp:229
static std::expected< get_country_history_request, ores::utility::serialization::error_code > deserialize(std::span< const std::byte > data)
Deserialize request from bytes.
Definition country_protocol.cpp:384
std::vector< std::byte > serialize() const
Serialize request to bytes.
Definition country_protocol.cpp:377
Response containing country version history.
Definition country_protocol.hpp:249
std::vector< std::byte > serialize() const
Serialize response to bytes.
Definition country_protocol.cpp:403
static std::expected< get_country_history_response, ores::utility::serialization::error_code > deserialize(std::span< const std::byte > data)
Deserialize response from bytes.
Definition country_protocol.cpp:421