4 Commits

Author SHA1 Message Date
giles
123f752946 feat: per-page SumUp models and migration (Phase 3)
- Migration: add market_place_id to cart_items, page_config_id to orders
- Order model: add page_config_id FK and page_config relationship
- CartItem model: add market_place_id FK and market_place relationship

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 20:49:55 +00:00
giles
7eb66fbf24 feat: add MarketPlace model, migration, and market_url_for helper
Introduces per-page markets (Phase 2):
- MarketPlace model with soft-delete and unique slug index
- NavTop gains market_id FK to scope nav hierarchy per market
- Migration with backfill creates default 'suma-market' for existing market page
- market_url_for() cross-app URL helper

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 18:08:18 +00:00
giles
56e32585b7 feat: add PageConfig model and remove duplicate CartItem
Introduce page_configs table for per-page feature flags (calendar, market)
and future SumUp credentials. Add page_config relationship to Post model.
Remove duplicate CartItem definition from cart_item.py (canonical stays in market.py).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 14:19:25 +00:00
giles
668d9c7df8 feat: initial shared library extraction
Contains shared infrastructure for all coop services:
- shared/ (factory, urls, user_loader, context, internal_api, jinja_setup)
- models/ (User, Order, Calendar, Ticket, Product, Ghost CMS)
- db/ (SQLAlchemy async session, base)
- suma_browser/app/ (csrf, middleware, errors, authz, redis_cacher, payments, filters, utils)
- suma_browser/templates/ (shared base layouts, macros, error pages)
- static/ (CSS, JS, fonts, images)
- alembic/ (database migrations)
- config/ (app-config.yaml)
- editor/ (Lexical editor Node.js build)
- requirements.txt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 23:11:36 +00:00