ores.assets.api
Table of Contents
2. Summary
ores.assets.api is a header-only library defining the shared contract for
the assets domain. It provides domain types for images (SVG text), tags, and
their associations, JSON serialisation via generated codecs, and the NATS message protocol
schemas consumed by both ores.assets.core (server) and UI client components.
3. Inputs
- Domain entity definitions in
domain/headers. - NATS protocol message definitions in
messaging/assets_protocol.hpp.
4. Outputs
- C++ headers:
image.hpp,tag.hpp,image_tag.hpp, with JSON I/O variants (*_json_io.hpp). - NATS protocol header:
messaging/assets_protocol.hpp. - Aggregate header:
ores.assets.api.domain.hpp.
5. Entry points
include/ores.assets.api/domain/— all domain entity headers.include/ores.assets.api/messaging/assets_protocol.hpp— NATS protocol message types.
6. Dependencies
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.assets.core — business logic, persistence, and NATS handlers.
- ores.assets Messaging Reference — full NATS subject and message 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
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.assets.api.lib
ores.telemetry.core.lib
ores.utility.lib
ores.testing.lib
faker-cxx::faker-cxx
Catch2::Catch2
ores.openssl_cleanup
Threads::Threads)
