feat: restructure market app with per-market URL scoping
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 41s
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 41s
- URL structure changes from /<route> to /<market_slug>/<route> - Root / shows markets listing page - app.py: url_value_preprocessor, url_defaults, hydrate_market (events app pattern) - Browse queries (db_nav, db_products_nocounts, db_products_counts) accept market_id - _productInfo reads g.market.id to scope all queries - save_nav accepts market_id, sets on new NavTop rows - API save_nav passes g.market.id - Scraper default URLs point to /suma-market/ on port 8001 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -19,7 +19,7 @@ async def save_nav(nav: Dict) -> None:
|
||||
await _save_nav(session, nav)
|
||||
await session.commit()
|
||||
|
||||
async def _save_nav(session, nav: Dict) -> None:
|
||||
async def _save_nav(session, nav: Dict, market_id=None) -> None:
|
||||
print('===================SAVE NAV========================')
|
||||
print(nav)
|
||||
now = datetime.utcnow()
|
||||
@@ -79,8 +79,10 @@ async def _save_nav(session, nav: Dict) -> None:
|
||||
if top:
|
||||
top.label = label
|
||||
top.deleted_at = None
|
||||
if market_id is not None and top.market_id is None:
|
||||
top.market_id = market_id
|
||||
else:
|
||||
top = NavTop(label=label, slug=top_slug)
|
||||
top = NavTop(label=label, slug=top_slug, market_id=market_id)
|
||||
session.add(top)
|
||||
|
||||
await session.flush()
|
||||
|
||||
Reference in New Issue
Block a user