20#ifndef ORES_DQ_API_MESSAGING_CHANGE_MANAGEMENT_PROTOCOL_HPP
21#define ORES_DQ_API_MESSAGING_CHANGE_MANAGEMENT_PROTOCOL_HPP
26#include "ores.dq.api/domain/change_reason_category.hpp"
27#include "ores.dq.api/domain/change_reason.hpp"
29namespace ores::dq::messaging {
35struct get_change_reason_categories_request {
36 using response_type =
struct get_change_reason_categories_response;
37 static constexpr std::string_view nats_subject =
38 "dq.v1.change-reason-categories.list";
41struct get_change_reason_categories_response {
42 std::vector<ores::dq::domain::change_reason_category> categories;
45struct save_change_reason_category_request {
46 using response_type =
struct save_change_reason_category_response;
47 static constexpr std::string_view nats_subject =
48 "dq.v1.change-reason-categories.save";
51 static save_change_reason_category_request
53 return { .data = std::move(c) };
57struct save_change_reason_category_response {
62struct delete_change_reason_category_request {
63 using response_type =
struct delete_change_reason_category_response;
64 static constexpr std::string_view nats_subject =
65 "dq.v1.change-reason-categories.delete";
66 std::vector<std::string> codes;
69struct delete_change_reason_category_response {
74struct get_change_reason_category_history_request {
75 using response_type =
struct get_change_reason_category_history_response;
76 static constexpr std::string_view nats_subject =
77 "dq.v1.change-reason-categories.history";
81struct get_change_reason_category_history_response {
84 std::vector<ores::dq::domain::change_reason_category> versions;
91struct get_change_reasons_request {
92 using response_type =
struct get_change_reasons_response;
93 static constexpr std::string_view nats_subject =
94 "dq.v1.change-reasons.list";
97struct get_change_reasons_response {
98 std::vector<ores::dq::domain::change_reason> reasons;
101struct save_change_reason_request {
102 using response_type =
struct save_change_reason_response;
103 static constexpr std::string_view nats_subject =
104 "dq.v1.change-reasons.save";
108 return { .data = std::move(r) };
112struct save_change_reason_response {
113 bool success =
false;
117struct delete_change_reason_request {
118 using response_type =
struct delete_change_reason_response;
119 static constexpr std::string_view nats_subject =
120 "dq.v1.change-reasons.delete";
121 std::vector<std::string> codes;
124struct delete_change_reason_response {
125 bool success =
false;
129struct get_change_reason_history_request {
130 using response_type =
struct get_change_reason_history_response;
131 static constexpr std::string_view nats_subject =
132 "dq.v1.change-reasons.history";
136struct get_change_reason_history_response {
137 bool success =
false;
139 std::vector<ores::dq::domain::change_reason> versions;
Defines a specific reason for record changes.
Definition change_reason.hpp:48
Groups change reasons into logical categories.
Definition change_reason_category.hpp:46