27 lines
1.1 KiB
Markdown
27 lines
1.1 KiB
Markdown
# Plan 33-04 Summary
|
|
|
|
**Status:** Complete
|
|
**Completed:** 2026-04-13
|
|
|
|
## What Was Built
|
|
|
|
Community price submission system with ownership validation and per-market aggregation, plus setup totals currency metadata.
|
|
|
|
### Key Changes
|
|
- Created community-price.service.ts with validateOwnership, submitCommunityPrice, getCommunityPriceStats
|
|
- Created community-prices route (GET public stats, POST requires auth + ownership)
|
|
- Aggregation uses PERCENTILE_CONT(0.5) for median with HAVING COUNT >= 3
|
|
- Ownership validation: user must have item linked to globalItemId
|
|
- Added priceCurrency to setup service (getSetupWithItems and getSetupWithItemsById)
|
|
|
|
### Key Files Created/Modified
|
|
- `src/server/services/community-price.service.ts` — Community price logic
|
|
- `src/server/routes/community-prices.ts` — Community price API
|
|
- `src/server/index.ts` — Route registration
|
|
- `src/server/services/setup.service.ts` — priceCurrency in item lists
|
|
|
|
## Self-Check: PASSED
|
|
- [x] Community price service with ownership validation
|
|
- [x] Median aggregation with 3-report minimum
|
|
- [x] Setup items include priceCurrency
|