Story: Party database and domain
Table of Contents
This page documents a story in Sprint 12. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
Implement party + counterparty + identifier + contact-information at the database, domain, and Qt layers.
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 12 |
| Now | Completed 2026-02-09. |
| Waiting on | None. |
| Next | None. |
| Last touched | 2026-02-09 |
Continued from: Party database groundwork (sprint 09). That story sketched the party table; the sprint-10 party-schemes story landed the 13 reference-data types party needs; this one finally implements party + counterparty + identifier + contact-information end-to-end.
Acceptance
- SQL schema + 4 lookup tables in place; codegen template support added.
- 11 C++ domain types + 40 new message types in protocol.
- Qt: detail dialog, history dialog, MDI window, controller, client model for party.
- Existing party / counterparty / tenant screens regenerated through the new template.
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Implement party-related entities at the database layer | DONE | 2026-05-19 | 2026-02-07 | Core tables for parties, counterparties, identifiers, contact info, account-party associations; four lookup tables (party_types, party_statuses, party_id_schemes, contact_types); codegen template support for validations + indexes; FK to DQ coding schemes. |
| Add party-related support at the domain level | DONE | 2026-05-19 | 2026-02-08 | 11 new C++ domain types in ores.refdata + ores.iam; account_party junction; full stack (JSON + table I/O, generators, repository, service, protocol); 40 new message types. |
| Add party-related support to Qt | DONE | 2026-05-19 | 2026-02-09 | Comprehensive Party UI: detail dialog, history dialog, MDI window, controller, client model. Configurable detail_fields in codegen; key-field handling for short_code. Existing party / counterparty / tenant screens regenerated. |
Decisions
- Codegen-driven
- 11 domain types and 40 messages would not have been realistic without codegen.
- Configurable
detail_fields[]in Qt codegen - removed manual post-codegen edits that had crept into the workflow.
- Subsume the analysis sub-headings
Add party entity,Add party identifier entity,Contact information entityare all analysis-only in v0; folded into the implementation task notes.
Out of scope
- Multi-party RLS isolation (separate story).
- Advanced counterparty dialog (separate story).
See also
- Party database groundwork (sprint 09) — predecessor.
- Party schemes and FPML reference data (sprint 10) — supplies the 13 reference-data types this story needs.