Auto-mount defpages: eliminate Python route stubs across all 9 services
Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 16s
Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 16s
Defpages are now declared with absolute paths in .sx files and auto-mounted directly on the Quart app, removing ~850 lines of blueprint mount_pages calls, before_request hooks, and g.* wrapper boilerplate. A new page = one defpage declaration, nothing else. Infrastructure: - async_eval awaits coroutine results from callable dispatch - auto_mount_pages() mounts all registered defpages on the app - g._defpage_ctx pattern passes helper data to layout context Migrated: sx, account, orders, federation, cart, market, events, blog Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
;; Market app defpage declarations.
|
||||
;;
|
||||
;; all-markets-index: / — global view across all pages
|
||||
;; page-markets-index: / (on page_markets bp, mounted at /<slug>)
|
||||
;; page-admin: / (on page_admin bp, mounted at /<slug>/admin)
|
||||
;; market-home: / (on browse bp, mounted at /<page_slug>/<market_slug>)
|
||||
;; market-admin: / (on admin bp, mounted at /<page_slug>/<market_slug>/admin)
|
||||
;; page-markets-index: /<slug>/ — markets for a single page
|
||||
;; page-admin: /<slug>/admin/ — post-level admin for markets
|
||||
;; market-home: /<page_slug>/<market_slug>/ — market landing page
|
||||
;; market-admin: /<page_slug>/<market_slug>/admin/ — market admin
|
||||
|
||||
(defpage all-markets-index
|
||||
:path "/"
|
||||
@@ -13,25 +13,25 @@
|
||||
:content (all-markets-content))
|
||||
|
||||
(defpage page-markets-index
|
||||
:path "/"
|
||||
:path "/<slug>/"
|
||||
:auth :public
|
||||
:layout :post
|
||||
:content (page-markets-content))
|
||||
|
||||
(defpage page-admin
|
||||
:path "/"
|
||||
:path "/<slug>/admin/"
|
||||
:auth :admin
|
||||
:layout (:post-admin :selected "markets")
|
||||
:content (page-admin-content))
|
||||
|
||||
(defpage market-home
|
||||
:path "/"
|
||||
:path "/<page_slug>/<market_slug>/"
|
||||
:auth :public
|
||||
:layout :market
|
||||
:content (market-home-content))
|
||||
|
||||
(defpage market-admin
|
||||
:path "/"
|
||||
:path "/<page_slug>/<market_slug>/admin/"
|
||||
:auth :admin
|
||||
:layout (:market-admin :selected "markets")
|
||||
:content (market-admin-content))
|
||||
|
||||
Reference in New Issue
Block a user