418ac9424f
Eliminate Python page helpers from account, federation, and cart
...
All three services now fetch page data via (service ...) IO primitives
in .sx defpages instead of Python middleman functions.
- Account: newsletters-data → AccountPageService.newsletters_data
- Federation: 8 page helpers → FederationPageService methods
(timeline, compose, search, following, followers, notifications)
- Cart: 4 page helpers → CartPageService methods
(overview, page-cart, admin, payments)
- Serializers moved to service modules, thin delegates kept for routes
- ~520 lines of Python page helpers removed
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 02:01:50 +00:00
giles
3b707ec8a0
Decouple all cross-app service calls to HTTP endpoints
...
Replace every direct cross-app services.* call with HTTP-based
communication: call_action() for writes, fetch_data() for reads.
Each app now registers only its own domain service.
Infrastructure:
- shared/infrastructure/actions.py — POST client for /internal/actions/
- shared/infrastructure/data_client.py — GET client for /internal/data/
- shared/contracts/dtos.py — dto_to_dict/dto_from_dict serialization
Action endpoints (writes):
- events: 8 handlers (ticket adjust, claim/confirm, toggle, adopt)
- market: 2 handlers (create/soft-delete marketplace)
- cart: 1 handler (adopt cart for user)
Data endpoints (reads):
- blog: 4 (post-by-slug/id, posts-by-ids, search-posts)
- events: 10 (pending entries/tickets, entries/tickets for page/order,
entry-ids, associated-entries, calendars, visible-entries-for-period)
- market: 1 (marketplaces-for-container)
- cart: 1 (cart-summary)
Service registration cleanup:
- blog→blog+federation, events→calendar+federation,
market→market+federation, cart→cart only,
federation→federation only, account→nothing
- Stubs reduced to minimal StubFederationService
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 03:01:38 +00:00
giles
f42042ccb7
Monorepo: consolidate 7 repos into one
...
Combines shared, blog, market, cart, events, federation, and account
into a single repository. Eliminates submodule sync, sibling model
copying at build time, and per-app CI orchestration.
Changes:
- Remove per-app .git, .gitmodules, .gitea, submodule shared/ dirs
- Remove stale sibling model copies from each app
- Update all 6 Dockerfiles for monorepo build context (root = .)
- Add build directives to docker-compose.yml
- Add single .gitea/workflows/ci.yml with change detection
- Add .dockerignore for monorepo build context
- Create __init__.py for federation and account (cross-app imports)
2026-02-24 19:44:17 +00:00