ores.analytics.core

Table of Contents

1. Diagram

ores.analytics.core component diagram

Figure 1: ores.analytics.core

2. Summary

ores.analytics.core manages pricing model configuration for ORE Studio. It maintains pricing-engine types, pricing-model configurations, the mapping of models to product types (pricing_model_product), and per-product parameter sets (pricing_model_product_parameter). These configurations drive the ORE risk-engine runs executed by ores.reporting.core. A NATS handler layer exposes all CRUD operations to clients.

3. Inputs

  • NATS request messages for pricing-model configuration management.
  • PostgreSQL connections to ores_analytics_* tables.

4. Outputs

  • Pricing-model configuration records persisted to the ores_analytics schema.
  • NATS response messages returned to callers.

5. Entry points

  • include/ores.analytics.core/ores.analytics.core.hpp — aggregate include.
  • include/ores.analytics.core/messaging/registrar.hpp — registers all NATS handlers.
  • include/ores.analytics.core/service/ — per-entity service headers.

6. Dependencies

  • ores.analytics.api — shared domain types and NATS protocol schemas.
  • ores.dq — ORM base classes and persistence infrastructure.
  • ores.iam.core — identity and authorisation context.
  • soci — SQL ORM for PostgreSQL persistence.
  • nats.c — NATS messaging client.

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.analytics.api.lib
    PRIVATE
        ores.service.lib
        ores.database.lib
        ores.utility.lib
        ores.dq.api.lib
        ores.history.core.lib
        Boost::boost)
target_link_libraries(${tests_target_name}
    PRIVATE
        ${lib_target_name}
        ores.eventing.core.lib
        ores.refdata.core.lib
        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)