20#ifndef ORES_REFDATA_API_MESSAGING_COUNTRY_PROTOCOL_HPP
21#define ORES_REFDATA_API_MESSAGING_COUNTRY_PROTOCOL_HPP
25#include "ores.refdata.api/domain/country.hpp"
27namespace ores::refdata::messaging {
29struct get_countries_request {
30 using response_type =
struct get_countries_response;
31 static constexpr std::string_view nats_subject =
"refdata.v1.countries.list";
36struct get_countries_response {
37 std::vector<ores::refdata::domain::country> countries;
38 int total_available_count = 0;
41struct save_country_request {
42 using response_type =
struct save_country_response;
43 static constexpr std::string_view nats_subject =
"refdata.v1.countries.save";
47 return { .data = std::move(c) };
51struct save_country_response {
56struct delete_country_request {
57 using response_type =
struct delete_country_response;
58 static constexpr std::string_view nats_subject =
"refdata.v1.countries.delete";
59 std::vector<std::string> alpha2_codes;
62struct delete_country_response {
67struct get_country_history_request {
68 using response_type =
struct get_country_history_response;
69 static constexpr std::string_view nats_subject =
"refdata.v1.countries.history";
70 std::string alpha2_code;
73struct get_country_history_response {
76 std::vector<ores::refdata::domain::country> history;
Represents a country using ISO 3166-1 standard codes.
Definition country.hpp:34