20#ifndef ORES_DQ_API_MESSAGING_DATA_ORGANIZATION_PROTOCOL_HPP
21#define ORES_DQ_API_MESSAGING_DATA_ORGANIZATION_PROTOCOL_HPP
26#include "ores.dq.api/domain/catalog.hpp"
27#include "ores.dq.api/domain/data_domain.hpp"
28#include "ores.dq.api/domain/methodology.hpp"
29#include "ores.dq.api/domain/subject_area.hpp"
30#include "ores.dq.api/domain/nature_dimension.hpp"
31#include "ores.dq.api/domain/origin_dimension.hpp"
32#include "ores.dq.api/domain/treatment_dimension.hpp"
34namespace ores::dq::messaging {
40struct get_catalogs_request {
41 using response_type =
struct get_catalogs_response;
42 static constexpr std::string_view nats_subject =
"dq.v1.catalogs.list";
47struct get_catalogs_response {
48 std::vector<ores::dq::domain::catalog> catalogs;
49 int total_available_count = 0;
52struct save_catalog_request {
53 using response_type =
struct save_catalog_response;
54 static constexpr std::string_view nats_subject =
"dq.v1.catalogs.save";
58struct save_catalog_response {
63struct delete_catalog_request {
64 using response_type =
struct delete_catalog_response;
65 static constexpr std::string_view nats_subject =
"dq.v1.catalogs.delete";
66 std::vector<std::string> codes;
69struct delete_catalog_response {
74struct get_catalog_history_request {
75 using response_type =
struct get_catalog_history_response;
76 static constexpr std::string_view nats_subject =
"dq.v1.catalogs.history";
80struct get_catalog_history_response {
83 std::vector<ores::dq::domain::catalog> history;
90struct get_data_domains_request {
91 using response_type =
struct get_data_domains_response;
92 static constexpr std::string_view nats_subject =
"dq.v1.data-domains.list";
97struct get_data_domains_response {
98 std::vector<ores::dq::domain::data_domain> domains;
99 int total_available_count = 0;
102struct save_data_domain_request {
103 using response_type =
struct save_data_domain_response;
104 static constexpr std::string_view nats_subject =
"dq.v1.data-domains.save";
108struct save_data_domain_response {
109 bool success =
false;
113struct delete_data_domain_request {
114 using response_type =
struct delete_data_domain_response;
115 static constexpr std::string_view nats_subject =
"dq.v1.data-domains.delete";
116 std::vector<std::string> names;
119struct delete_data_domain_response {
120 bool success =
false;
124struct get_data_domain_history_request {
125 using response_type =
struct get_data_domain_history_response;
126 static constexpr std::string_view nats_subject =
"dq.v1.data-domains.history";
130struct get_data_domain_history_response {
131 bool success =
false;
133 std::vector<ores::dq::domain::data_domain> history;
140struct get_methodologies_request {
141 using response_type =
struct get_methodologies_response;
142 static constexpr std::string_view nats_subject =
"dq.v1.methodologies.list";
147struct get_methodologies_response {
148 std::vector<ores::dq::domain::methodology> methodologies;
149 int total_available_count = 0;
152struct save_methodology_request {
153 using response_type =
struct save_methodology_response;
154 static constexpr std::string_view nats_subject =
"dq.v1.methodologies.save";
158struct save_methodology_response {
159 bool success =
false;
163struct delete_methodology_request {
164 using response_type =
struct delete_methodology_response;
165 static constexpr std::string_view nats_subject =
"dq.v1.methodologies.delete";
166 std::vector<std::string> codes;
169struct delete_methodology_response {
170 bool success =
false;
174struct get_methodology_history_request {
175 using response_type =
struct get_methodology_history_response;
176 static constexpr std::string_view nats_subject =
"dq.v1.methodologies.history";
180struct get_methodology_history_response {
181 bool success =
false;
183 std::vector<ores::dq::domain::methodology> history;
190struct subject_area_key {
192 std::string domain_name;
195struct get_subject_areas_request {
196 using response_type =
struct get_subject_areas_response;
197 static constexpr std::string_view nats_subject =
"dq.v1.subject-areas.list";
202struct get_subject_areas_response {
203 std::vector<ores::dq::domain::subject_area> subject_areas;
204 int total_available_count = 0;
207struct save_subject_area_request {
208 using response_type =
struct save_subject_area_response;
209 static constexpr std::string_view nats_subject =
"dq.v1.subject-areas.save";
213struct save_subject_area_response {
214 bool success =
false;
218struct delete_subject_area_request {
219 using response_type =
struct delete_subject_area_response;
220 static constexpr std::string_view nats_subject =
"dq.v1.subject-areas.delete";
221 std::vector<subject_area_key> keys;
224struct delete_subject_area_response {
225 bool success =
false;
229struct get_subject_area_history_request {
230 using response_type =
struct get_subject_area_history_response;
231 static constexpr std::string_view nats_subject =
"dq.v1.subject-areas.history";
232 subject_area_key key;
235struct get_subject_area_history_response {
236 bool success =
false;
238 std::vector<ores::dq::domain::subject_area> history;
245struct get_nature_dimensions_request {
246 using response_type =
struct get_nature_dimensions_response;
247 static constexpr std::string_view nats_subject =
"dq.v1.nature-dimensions.list";
252struct get_nature_dimensions_response {
253 std::vector<ores::dq::domain::nature_dimension> nature_dimensions;
254 int total_available_count = 0;
257struct save_nature_dimension_request {
258 using response_type =
struct save_nature_dimension_response;
259 static constexpr std::string_view nats_subject =
"dq.v1.nature-dimensions.save";
263struct save_nature_dimension_response {
264 bool success =
false;
268struct delete_nature_dimension_request {
269 using response_type =
struct delete_nature_dimension_response;
270 static constexpr std::string_view nats_subject =
"dq.v1.nature-dimensions.delete";
271 std::vector<std::string> codes;
274struct delete_nature_dimension_response {
275 bool success =
false;
279struct get_nature_dimension_history_request {
280 using response_type =
struct get_nature_dimension_history_response;
281 static constexpr std::string_view nats_subject =
"dq.v1.nature-dimensions.history";
285struct get_nature_dimension_history_response {
286 bool success =
false;
288 std::vector<ores::dq::domain::nature_dimension> history;
295struct get_origin_dimensions_request {
296 using response_type =
struct get_origin_dimensions_response;
297 static constexpr std::string_view nats_subject =
"dq.v1.origin-dimensions.list";
302struct get_origin_dimensions_response {
303 std::vector<ores::dq::domain::origin_dimension> origin_dimensions;
304 int total_available_count = 0;
307struct save_origin_dimension_request {
308 using response_type =
struct save_origin_dimension_response;
309 static constexpr std::string_view nats_subject =
"dq.v1.origin-dimensions.save";
313struct save_origin_dimension_response {
314 bool success =
false;
318struct delete_origin_dimension_request {
319 using response_type =
struct delete_origin_dimension_response;
320 static constexpr std::string_view nats_subject =
"dq.v1.origin-dimensions.delete";
321 std::vector<std::string> codes;
324struct delete_origin_dimension_response {
325 bool success =
false;
329struct get_origin_dimension_history_request {
330 using response_type =
struct get_origin_dimension_history_response;
331 static constexpr std::string_view nats_subject =
"dq.v1.origin-dimensions.history";
335struct get_origin_dimension_history_response {
336 bool success =
false;
338 std::vector<ores::dq::domain::origin_dimension> history;
345struct get_treatment_dimensions_request {
346 using response_type =
struct get_treatment_dimensions_response;
347 static constexpr std::string_view nats_subject =
"dq.v1.treatment-dimensions.list";
352struct get_treatment_dimensions_response {
353 std::vector<ores::dq::domain::treatment_dimension> treatment_dimensions;
354 int total_available_count = 0;
357struct save_treatment_dimension_request {
358 using response_type =
struct save_treatment_dimension_response;
359 static constexpr std::string_view nats_subject =
"dq.v1.treatment-dimensions.save";
363struct save_treatment_dimension_response {
364 bool success =
false;
368struct delete_treatment_dimension_request {
369 using response_type =
struct delete_treatment_dimension_response;
370 static constexpr std::string_view nats_subject =
"dq.v1.treatment-dimensions.delete";
371 std::vector<std::string> codes;
374struct delete_treatment_dimension_response {
375 bool success =
false;
379struct get_treatment_dimension_history_request {
380 using response_type =
struct get_treatment_dimension_history_response;
381 static constexpr std::string_view nats_subject =
"dq.v1.treatment-dimensions.history";
385struct get_treatment_dimension_history_response {
386 bool success =
false;
388 std::vector<ores::dq::domain::treatment_dimension> history;
Represents a logical grouping of related datasets.
Definition catalog.hpp:39
Represents a high-level classification of data within the system.
Definition data_domain.hpp:41
Describes a methodology for data processing or transformation.
Definition methodology.hpp:33
Classifies datasets by their data nature (actual vs. synthetic).
Definition nature_dimension.hpp:40
Classifies datasets by their origin or source type.
Definition origin_dimension.hpp:40
Represents a subdivision within a data domain.
Definition subject_area.hpp:39
Classifies datasets by their processing treatment level.
Definition treatment_dimension.hpp:41