README: replace vague cross-app section with actual code dependencies
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
List specific model imports, glue services, internal APIs, and domain events that cart code actually references. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
25
README.md
25
README.md
@@ -46,13 +46,26 @@ shared/ # Submodule → git.rose-ash.com/coop/shared.git
|
||||
glue/ # Submodule → git.rose-ash.com/coop/glue.git
|
||||
```
|
||||
|
||||
## Cross-App Integration
|
||||
## Dependencies
|
||||
|
||||
- **Internal API:** `GET /internal/cart/summary` returns cart count + total for the current session/user. Called by blog and market context processors.
|
||||
- **Calendar entries:** Checkout marks CalendarEntries (events domain) as "ordered" via `glue/services/order_lifecycle.py` — not by direct model write.
|
||||
- **Payment confirmation:** When SumUp payment confirms, entries are marked "provisional" via the same glue service.
|
||||
- **Domain events:** Emits `order.created` and `order.paid` events for observability.
|
||||
- **Login adoption:** Anonymous cart/entries are adopted when `user.logged_in` event fires (handled by `glue/handlers/login_handlers.py`).
|
||||
**Cross-app model imports:**
|
||||
- `market.models.market.Product, CartItem` — cart services, checkout, API
|
||||
- `market.models.market_place.MarketPlace` — checkout page-config resolution, API page filtering
|
||||
- `events.models.calendars.CalendarEntry, Calendar` — checkout, API summary, calendar cart services
|
||||
- `blog.models.ghost_content.Post` — `app.py` context processor, API page-slug lookup
|
||||
|
||||
**Glue services:**
|
||||
- `glue.services.order_lifecycle.claim_entries_for_order` — checkout marks entries as "ordered"
|
||||
- `glue.services.order_lifecycle.confirm_entries_for_order` — payment confirmation marks entries "provisional"
|
||||
- `glue.services.order_lifecycle.get_entries_for_order` — checkout return page loads entries
|
||||
- `glue.services.navigation.get_navigation_tree` — context processor builds site nav
|
||||
|
||||
**Internal APIs:**
|
||||
- Exposes `GET /internal/cart/summary` — cart count + total for current session/user
|
||||
|
||||
**Domain events:**
|
||||
- `checkout.py` emits `order.created` via `shared.events.emit_event`
|
||||
- `check_sumup_status.py` emits `order.paid` via `shared.events.emit_event`
|
||||
|
||||
## Checkout Flow
|
||||
|
||||
|
||||
Reference in New Issue
Block a user