feat: decouple events from shared_lib, add app-owned models
Phase 1-3 of decoupling: - path_setup.py adds project root to sys.path - Events-owned models in events/models/ (calendars with all related models) - All imports updated: shared.infrastructure, shared.db, shared.browser, etc. - Calendar uses container_type/container_id instead of post_id FK - CalendarEntryPost uses content_type/content_id (generic content refs) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
16
app.py
16
app.py
@@ -7,9 +7,9 @@ from quart import g, abort
|
||||
from jinja2 import FileSystemLoader, ChoiceLoader
|
||||
from sqlalchemy import select
|
||||
|
||||
from shared.factory import create_base_app
|
||||
from shared.infrastructure.factory import create_base_app
|
||||
|
||||
from suma_browser.app.bp import register_calendars, register_markets, register_payments
|
||||
from bp import register_calendars, register_markets, register_payments
|
||||
|
||||
|
||||
async def events_context() -> dict:
|
||||
@@ -19,8 +19,8 @@ async def events_context() -> dict:
|
||||
- menu_items: fetched from coop internal API
|
||||
- cart_count/cart_total: fetched from cart internal API
|
||||
"""
|
||||
from shared.context import base_context
|
||||
from shared.internal_api import get as api_get, dictobj
|
||||
from shared.infrastructure.context import base_context
|
||||
from shared.infrastructure.internal_api import get as api_get, dictobj
|
||||
|
||||
ctx = await base_context()
|
||||
|
||||
@@ -41,9 +41,9 @@ async def events_context() -> dict:
|
||||
|
||||
|
||||
def create_app() -> "Quart":
|
||||
from models.ghost_content import Post
|
||||
from blog.models.ghost_content import Post
|
||||
from models.calendars import Calendar
|
||||
from models.market_place import MarketPlace
|
||||
from market.models.market_place import MarketPlace
|
||||
|
||||
app = create_base_app("events", context_fn=events_context)
|
||||
|
||||
@@ -118,14 +118,14 @@ def create_app() -> "Quart":
|
||||
calendars = (
|
||||
await g.s.execute(
|
||||
select(Calendar)
|
||||
.where(Calendar.post_id == post_id, Calendar.deleted_at.is_(None))
|
||||
.where(Calendar.container_type == "page", Calendar.container_id == post_id, Calendar.deleted_at.is_(None))
|
||||
.order_by(Calendar.name.asc())
|
||||
)
|
||||
).scalars().all()
|
||||
markets = (
|
||||
await g.s.execute(
|
||||
select(MarketPlace)
|
||||
.where(MarketPlace.post_id == post_id, MarketPlace.deleted_at.is_(None))
|
||||
.where(MarketPlace.container_type == "page", MarketPlace.container_id == post_id, MarketPlace.deleted_at.is_(None))
|
||||
.order_by(MarketPlace.name.asc())
|
||||
)
|
||||
).scalars().all()
|
||||
|
||||
Reference in New Issue
Block a user