ores.assets.core

Table of Contents

Diagram

ores.assets.core component diagram

Figure 1: ores.assets.core

Summary

ores.assets.core manages dynamically loaded images (SVG), tags, image-tag associations, and currency-to-image mappings in ORE Studio. It provides the business logic and persistence layer — domain services, temporal ORM repositories, and NATS message handlers in the 0x4000–0x4FFF range — that let clients store, categorise, and retrieve asset images at runtime. It also ships a synthetic-data generator for test and development use.

Inputs

  • NATS request messages from Qt clients (image create/update/query, tag operations, currency-image lookups) in the 0x4000–0x4FFF range.
  • PostgreSQL connections to ores_assets_* tables (images, tags, image_tags, currency_images) with temporal versioning.
  • DQ population events via publish_from_dq_handler when assets are loaded from the data-quality pipeline.

Outputs

  • Image, tag, and association records persisted to the ores_assets schema with bitemporal history (valid_from / valid_to).
  • NATS response messages returned to callers.

Entry points

  • include/ores.assets.core/ores.assets.hpp — aggregate include.
  • include/ores.assets.core/messaging/registrar.hpp — registers all NATS handlers with the service host.
  • include/ores.assets.core/service/assets_service.hpp — top-level business logic entry point.

Dependencies

  • ores.assets.api — shared domain types and NATS protocol schemas.
  • ores.dq — ORM base classes and data-quality infrastructure.
  • ores.iam.core — identity and authorisation context.
  • rfl — JSON serialisation via reflection.
  • soci — SQL ORM for PostgreSQL persistence.
  • nats.c — NATS messaging client.

See also

Emacs 29.1 (Org mode 9.6.6)