Decouple blog: use shared.models for all cross-app imports
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 47s

- Replace all imports from cart.models, market.models, events.models
  with shared.models equivalents
- Convert blog/models/ghost_content.py to re-export stub
- Update shared + glue submodule pointers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
giles
2026-02-18 20:57:56 +00:00
parent 1ea2950310
commit c537770172
10 changed files with 21 additions and 234 deletions

View File

@@ -22,7 +22,7 @@ def register():
@require_admin
async def admin(slug: str):
from shared.browser.app.utils.htmx import is_htmx_request
from cart.models.page_config import PageConfig
from shared.models.page_config import PageConfig
from sqlalchemy import select as sa_select
# Load features for page admin
@@ -62,7 +62,7 @@ def register():
@require_admin
async def update_features(slug: str):
"""Update PageConfig.features for a page."""
from cart.models.page_config import PageConfig
from shared.models.page_config import PageConfig
from models.ghost_content import Post
from sqlalchemy import select as sa_select
from quart import jsonify
@@ -129,7 +129,7 @@ def register():
@require_admin
async def update_sumup(slug: str):
"""Update PageConfig SumUp credentials for a page."""
from cart.models.page_config import PageConfig
from shared.models.page_config import PageConfig
from sqlalchemy import select as sa_select
from quart import jsonify
@@ -191,7 +191,7 @@ def register():
@require_admin
async def calendar_view(slug: str, calendar_id: int):
"""Show calendar month view for browsing entries"""
from events.models.calendars import Calendar
from shared.models.calendars import Calendar
from sqlalchemy import select
from datetime import datetime, timezone
from quart import request
@@ -273,7 +273,7 @@ def register():
@require_admin
async def entries(slug: str):
from ..services.entry_associations import get_post_entry_ids
from events.models.calendars import Calendar
from shared.models.calendars import Calendar
from sqlalchemy import select
post_id = g.post_data["post"]["id"]
@@ -309,7 +309,7 @@ def register():
@require_admin
async def toggle_entry(slug: str, entry_id: int):
from ..services.entry_associations import toggle_entry_association, get_post_entry_ids, get_associated_entries
from events.models.calendars import Calendar
from shared.models.calendars import Calendar
from sqlalchemy import select
from quart import jsonify
@@ -603,7 +603,7 @@ def register():
@require_admin
async def markets(slug: str):
"""List markets for this page."""
from market.models.market_place import MarketPlace
from shared.models.market_place import MarketPlace
from sqlalchemy import select as sa_select
post = (g.post_data or {}).get("post", {})
@@ -631,7 +631,7 @@ def register():
async def create_market(slug: str):
"""Create a new market for this page."""
from ..services.markets import create_market as _create_market, MarketError
from market.models.market_place import MarketPlace
from shared.models.market_place import MarketPlace
from sqlalchemy import select as sa_select
from quart import jsonify
@@ -669,7 +669,7 @@ def register():
async def delete_market(slug: str, market_slug: str):
"""Soft-delete a market."""
from ..services.markets import soft_delete_market
from market.models.market_place import MarketPlace
from shared.models.market_place import MarketPlace
from sqlalchemy import select as sa_select
from quart import jsonify