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:
@@ -26,12 +26,16 @@ async def _productInfo(top_slug=None, sub_slug=None):
|
||||
Shared query logic for home / category / subcategory pages.
|
||||
Pulls filters from qs.decode(), queries products(), and orders brands/stickers/etc.
|
||||
"""
|
||||
|
||||
|
||||
q = decode()
|
||||
page, search, sort = q.page, q.search, q.sort
|
||||
selected_brands, selected_stickers, selected_labels = q.selected_brands, q.selected_stickers, q.selected_labels
|
||||
liked = q.liked
|
||||
|
||||
# Get market_id from hydrated market context
|
||||
market = getattr(g, "market", None)
|
||||
market_id = market.id if market else None
|
||||
|
||||
if top_slug is not None and sub_slug is not None:
|
||||
list_url = urljoin(config()["base_url"], f"/{top_slug}/{sub_slug}")
|
||||
else:
|
||||
@@ -50,6 +54,7 @@ async def _productInfo(top_slug=None, sub_slug=None):
|
||||
sort=sort,
|
||||
user_id=g.user.id if g.user else None,
|
||||
liked = liked,
|
||||
market_id=market_id,
|
||||
)
|
||||
|
||||
brands_ordered = _order_brands_selected_first(brands, selected_brands)
|
||||
@@ -82,6 +87,7 @@ async def _productInfo(top_slug=None, sub_slug=None):
|
||||
sort=sort,
|
||||
user_id=g.user.id if g.user else None,
|
||||
liked = liked,
|
||||
market_id=market_id,
|
||||
)
|
||||
return {
|
||||
"products": items,
|
||||
|
||||
Reference in New Issue
Block a user