Skip to main content

Crate mako_markt

Crate mako_markt 

Source
Expand description

mako-markt — market data library for German energy market (MaKo / marktd).

§Architecture

crates/mako-markt/   ← traits, domain types, CloudEvents structs, makod HTTP client
                        NO axum, NO utoipa, NO server framework
services/marktd/     ← axum handlers, routes, config, PostgreSQL impls, main.rs

This mirrors the mako-engine / makod split exactly: mako-engine defines traits only; makod wires axum + SlateDB.

§Modules

ModuleContents
domainSparte, ProcessStatus; re-exports MaloId, MeloId, MarktpartnerId from rubo4e::identifiers; nad_agency_code() for NAD DE3055 coding authority
repositoryRepository traits: MaloRepository, MeloRepository, SubscriptionRepository, CorrelationIndex, PartnerRepository, VersorgungsStatusRepository, MaloGridRepository, NbEnergiemixRepository; record types incl. VersorgungsStatusRecord, LieferStatus, NbContractRecord, MaloGridRecord, NbEnergiemixRecord
cloudeventsCloudEvents 1.0 envelope types: InboundMakoEvent (from makod) and MarktEvent (marktd-emitted de.markt.*)
commandsERP command-name constants shared between makod’s registry and dispatching services (processd, …)
[makod_client]Typed HTTP client for makod admin + command APIs (reqwest-backed); requires makod-client feature
errorMdmError — all domain-level error variants
[testing]In-memory test doubles (behind testing feature): incl. InMemoryVersorgungsStatusRepository, InMemoryMaloGridRepository

Modules§

bo4e
mako’s BO4E boundary: the gate every payload crosses, the structural rules the standard states, and the typed columns a stored document is indexed by.
cloudevents
CloudEvents 1.0 envelope types for mako-markt.
commands
ERP command names shared between makod’s command registry and its clients.
domain
Domain identifier types and shared enums.
error
Domain error type for mako-markt.
repository
Repository traits for all marktd aggregate types.