20#ifndef ORES_IAM_MESSAGING_TENANT_PROTOCOL_HPP
21#define ORES_IAM_MESSAGING_TENANT_PROTOCOL_HPP
26#include "ores.iam.api/domain/tenant.hpp"
28namespace ores::iam::messaging {
30struct get_tenants_request {
31 using response_type =
struct get_tenants_response;
32 static constexpr std::string_view nats_subject =
"iam.v1.tenants.list";
33 bool include_deleted =
false;
36struct get_tenants_response {
37 std::vector<ores::iam::domain::tenant> tenants;
40struct save_tenant_request {
41 using response_type =
struct save_tenant_response;
42 static constexpr std::string_view nats_subject =
"iam.v1.tenants.save";
46 return { .data = std::move(t) };
50struct save_tenant_response {
55struct delete_tenant_request {
56 using response_type =
struct delete_tenant_response;
57 static constexpr std::string_view nats_subject =
"iam.v1.tenants.delete";
58 std::vector<std::string> ids;
61struct delete_tenant_response {
66struct get_tenant_history_request {
67 using response_type =
struct get_tenant_history_response;
68 static constexpr std::string_view nats_subject =
"iam.v1.tenants.history";
72struct get_tenant_history_response {
75 std::vector<ores::iam::domain::tenant> versions;
A tenant representing an isolated organisation or the system platform.
Definition tenant.hpp:43