ores.iam.api
Table of Contents
2. Summary
ores.iam.api is the shared contract library for the IAM domain. It provides
domain types for accounts, roles, tenants, parties, and session tokens,
together with JSON and table I/O via generated codecs, and the NATS message protocol
schemas for the 0x2000–0x2FFF range consumed by both ores.iam.core (server)
and client components. It is a compiled library, not header-only: src/ builds
the domain tables, JSON I/O, generators, and the session auth service.
3. Inputs
- Domain entity type definitions (
account.hpp,account_role.hpp,account_party.hpp, etc.). - NATS protocol message definitions.
4. Outputs
- C++ headers for all IAM domain types with JSON and table I/O variants.
- NATS protocol headers for account management, authentication, and session operations.
5. Entry points
include/ores.iam.api/domain/— all domain entity headers.include/ores.iam.api/messaging/— NATS protocol message headers.
6. Dependencies
fort— formatted table rendering.
7. Build dependencies
What the shared profile cannot know, declared here rather than hand-edited into the generated build file. Each block is spliced into its generated file after the profile's baseline.
8. See also
- ores.iam — component group overview.
- ores.iam.core — business logic, persistence, and NATS handlers.
- ores.iam Messaging Reference — subject families and their owning protocol headers; the generated headers are the full catalogue.
9. Test dependencies
The suites link what the profile cannot know about.
target_link_libraries(${lib_target_name}
PUBLIC
ores.eventing.api.lib
ores.platform.lib
ores.security.lib
PRIVATE
ores.utility.lib
faker-cxx::faker-cxx
libfort::fort)
target_link_libraries(${lib_target_name} PRIVATE ores.codec.pch)
target_link_libraries(${tests_target_name}
PRIVATE
ores.iam.api.lib
ores.workflow.api.lib
ores.telemetry.core.lib
ores.utility.lib
ores.testing.lib
faker-cxx::faker-cxx
Catch2::Catch2
ores.openssl_cleanup
Threads::Threads)
