ores.analytics.api

Table of Contents

1. Diagram

ores.analytics.api component diagram

Figure 1: ores.analytics.api

2. Summary

ores.analytics.api is a header-only library defining the shared contract for the analytics domain. It provides domain types for pricing-engine types, pricing-model configurations, and product-parameter mappings, with JSON and table I/O via generated codecs, and the NATS protocol schemas consumed by ores.analytics.core and UI clients.

3. Inputs

  • Domain entity type definitions across domain/ headers.

4. Outputs

  • C++ headers for all analytics domain types with JSON and table I/O.
  • NATS protocol headers for pricing-model management operations.

5. Entry points

  • include/ores.analytics.api/domain/ — all domain entity headers.
  • include/ores.analytics.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

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
    PRIVATE
        ores.utility.lib
        libfort::fort
        faker-cxx::faker-cxx)

target_link_libraries(${lib_target_name} PRIVATE ores.codec.pch)
target_link_libraries(${tests_target_name}
    PRIVATE
        ${lib_target_name}
        ores.utility.lib
        ores.testing.lib
        ores.logging.lib
        Catch2::Catch2
        faker-cxx::faker-cxx
        Threads::Threads)

Emacs 29.3 (Org mode 9.6.15)