31 lines
1.3 KiB
Markdown
31 lines
1.3 KiB
Markdown
# Plan 33-03 Summary
|
|
|
|
**Status:** Complete
|
|
**Completed:** 2026-04-13
|
|
|
|
## What Was Built
|
|
|
|
Market prices API, exchange rates endpoint, and currency context in item/candidate responses.
|
|
|
|
### Key Changes
|
|
- Created market-price.service.ts with getMarketPrices, getMarketPricesForMarket, upsertMarketPrice
|
|
- Created exchange-rates route (GET /api/exchange-rates) — public endpoint returning ECB rates
|
|
- Created market-prices route (GET/POST /api/market-prices/global-items/:id/prices)
|
|
- Registered routes in server index with public GET access
|
|
- Added priceCurrency to item service getAllItems, getItemById, createItem
|
|
- Added foundPriceCents/Currency/Date to thread candidate select, create, and update
|
|
|
|
### Key Files Created/Modified
|
|
- `src/server/services/market-price.service.ts` — Market price CRUD
|
|
- `src/server/routes/exchange-rates.ts` — Exchange rates endpoint
|
|
- `src/server/routes/market-prices.ts` — Market prices API
|
|
- `src/server/index.ts` — Route registration + public access
|
|
- `src/server/services/item.service.ts` — priceCurrency in selects/create
|
|
- `src/server/services/thread.service.ts` — foundPrice fields in candidate operations
|
|
|
|
## Self-Check: PASSED
|
|
- [x] Exchange rates endpoint created
|
|
- [x] Market prices CRUD endpoints created
|
|
- [x] Item responses include priceCurrency
|
|
- [x] Candidate responses include foundPrice fields
|