Files
unisono/specs/002-result-preparation-refactoring/data-model.md

47 lines
1.9 KiB
Markdown

# Data Model: Result Preparation Refactoring
**Date**: 2025-10-11
**Feature**: Result Preparation Refactoring
This document defines the data structures used in the feature.
## Entities
### DesireSet
Represents a single user's submission.
| Field | Type | Description |
|---|---|---|
| participantId | string | The unique identifier for the participant. |
| wants | string[] | A list of things the participant wants. |
| accepts | string[] | A list of things the participant is willing to accept. |
| noGoes | string[] | A list of things the participant does not want. |
### Session
Represents a single session where users submit their desires.
| Field | Type | Description |
|---|---|---|
| sessionId | string | The unique identifier for the session. |
| state | SessionState | The current state of the session (`SETUP`, `GATHERING`, `HARMONIZING`, `FINAL`, `ERROR`). |
| expectedResponses | number | The number of participants expected to submit their desires. |
| submittedCount | number | The number of participants who have submitted their desires. |
| responses | Map<string, DesireSet> | A map of participant IDs to their submitted `DesireSet`. |
| clients | Map<string, WebSocket> | A map of client IDs to their WebSocket connections. |
| finalResult | Decision \| null | The final categorized result of the session. |
| topic | string \| null | The topic of the session. |
### Decision
Represents the final categorized result of the analysis.
| Field | Type | Description |
|---|---|---|
| goTos | string[] | A list of items that all participants want. |
| alsoGoods | string[] | A list of items that some participants want and others accept. |
| considerables | string[] | A list of items that are wanted or accepted by some participants. |
| noGoes | string[] | A list of items that at least one participant does not want. |
| needsDiscussion | string[] | A list of items with conflicting desires. |