Add glue layer: replace /internal/menu-items API with direct DB query
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
- Context processor: get_navigation_tree() replaces api_get("coop", "/internal/menu-items")
- Add glue submodule
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -2,3 +2,6 @@
|
|||||||
path = shared
|
path = shared
|
||||||
url = https://git.rose-ash.com/coop/shared.git
|
url = https://git.rose-ash.com/coop/shared.git
|
||||||
branch = decoupling
|
branch = decoupling
|
||||||
|
[submodule "glue"]
|
||||||
|
path = glue
|
||||||
|
url = /root/rose-ash/glue
|
||||||
|
|||||||
8
app.py
8
app.py
@@ -40,13 +40,13 @@ async def cart_context() -> dict:
|
|||||||
- cart / calendar_cart_entries / total / calendar_total: direct DB
|
- cart / calendar_cart_entries / total / calendar_total: direct DB
|
||||||
(cart app owns this data)
|
(cart app owns this data)
|
||||||
- cart_count: derived from cart + calendar entries (for _mini.html)
|
- cart_count: derived from cart + calendar entries (for _mini.html)
|
||||||
- menu_items: fetched from coop internal API
|
- menu_items: direct DB query via glue layer
|
||||||
|
|
||||||
When g.page_post exists, cart and calendar_cart_entries are page-scoped.
|
When g.page_post exists, cart and calendar_cart_entries are page-scoped.
|
||||||
Global cart_count / cart_total stay global for cart-mini.
|
Global cart_count / cart_total stay global for cart-mini.
|
||||||
"""
|
"""
|
||||||
from shared.infrastructure.context import base_context
|
from shared.infrastructure.context import base_context
|
||||||
from shared.infrastructure.internal_api import get as api_get, dictobj
|
from glue.services.navigation import get_navigation_tree
|
||||||
|
|
||||||
ctx = await base_context()
|
ctx = await base_context()
|
||||||
|
|
||||||
@@ -75,9 +75,7 @@ async def cart_context() -> dict:
|
|||||||
ctx["total"] = total
|
ctx["total"] = total
|
||||||
ctx["calendar_total"] = calendar_total
|
ctx["calendar_total"] = calendar_total
|
||||||
|
|
||||||
# Menu items from coop API (wrapped for attribute access in templates)
|
ctx["menu_items"] = await get_navigation_tree(g.s)
|
||||||
menu_data = await api_get("coop", "/internal/menu-items")
|
|
||||||
ctx["menu_items"] = dictobj(menu_data) if menu_data else []
|
|
||||||
|
|
||||||
return ctx
|
return ctx
|
||||||
|
|
||||||
|
|||||||
1
glue
Submodule
1
glue
Submodule
Submodule glue added at f57c765cac
Reference in New Issue
Block a user