migration: establish exact preserved app baseline

This commit is contained in:
leefer
2026-07-30 23:51:48 +08:00
parent 41329943c4
commit 4083dceba3
399 changed files with 129967 additions and 23 deletions
+524
View File
@@ -0,0 +1,524 @@
{
"schema_version": 1,
"generated_from": "server.py",
"routes": [
{
"method": "DELETE",
"path": "/api/account/birth-profile",
"match": "exact",
"feature": "account",
"access": "authenticated"
},
{
"method": "POST",
"path": "/api/account/birth-profile",
"match": "exact",
"feature": "account",
"access": "authenticated"
},
{
"method": "POST",
"path": "/api/account/password",
"match": "exact",
"feature": "account",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/account/status",
"match": "exact",
"feature": "account",
"access": "authenticated"
},
{
"method": "POST",
"path": "/api/admin/membership",
"match": "exact",
"feature": "admin",
"access": "admin"
},
{
"method": "POST",
"path": "/api/admin/refresh",
"match": "exact",
"feature": "admin",
"access": "admin"
},
{
"method": "GET",
"path": "/api/admin/settings",
"match": "exact",
"feature": "admin",
"access": "admin"
},
{
"method": "POST",
"path": "/api/admin/settings",
"match": "exact",
"feature": "admin",
"access": "admin"
},
{
"method": "POST",
"path": "/api/admin/settings/test",
"match": "exact",
"feature": "admin",
"access": "admin"
},
{
"method": "GET",
"path": "/api/alerts",
"match": "exact",
"feature": "alerts",
"access": "authenticated"
},
{
"method": "POST",
"path": "/api/alerts",
"match": "exact",
"feature": "alerts",
"access": "authenticated"
},
{
"method": "DELETE",
"path": "/api/alerts/(\\d+)",
"match": "regex",
"feature": "alerts",
"access": "authenticated"
},
{
"method": "POST",
"path": "/api/alerts/(\\d+)/read",
"match": "regex",
"feature": "alerts",
"access": "authenticated"
},
{
"method": "POST",
"path": "/api/alerts/read-all",
"match": "exact",
"feature": "alerts",
"access": "authenticated"
},
{
"method": "POST",
"path": "/api/assistant/chat",
"match": "exact",
"feature": "review",
"access": "member"
},
{
"method": "DELETE",
"path": "/api/assistant/messages",
"match": "exact",
"feature": "review",
"access": "member"
},
{
"method": "GET",
"path": "/api/assistant/messages",
"match": "exact",
"feature": "review",
"access": "member"
},
{
"method": "GET",
"path": "/api/auction",
"match": "exact",
"feature": "auction",
"access": "authenticated"
},
{
"method": "POST",
"path": "/api/auth/login",
"match": "exact",
"feature": "auth",
"access": "public"
},
{
"method": "POST",
"path": "/api/auth/logout",
"match": "exact",
"feature": "auth",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/auth/me",
"match": "exact",
"feature": "auth",
"access": "authenticated"
},
{
"method": "POST",
"path": "/api/auth/register",
"match": "exact",
"feature": "auth",
"access": "public"
},
{
"method": "POST",
"path": "/api/backfill",
"match": "exact",
"feature": "admin",
"access": "admin"
},
{
"method": "GET",
"path": "/api/chart/intraday",
"match": "exact",
"feature": "charts",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/dashboard",
"match": "exact",
"feature": "market",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/dragon-tiger",
"match": "exact",
"feature": "dragon_tiger",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/dragon-tiger/profiles",
"match": "exact",
"feature": "dragon_tiger",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/health",
"match": "exact",
"feature": "health",
"access": "public"
},
{
"method": "POST",
"path": "/api/heaven/hexagram",
"match": "exact",
"feature": "heaven",
"access": "member"
},
{
"method": "POST",
"path": "/api/heaven/interpret",
"match": "exact",
"feature": "heaven",
"access": "member"
},
{
"method": "POST",
"path": "/api/heaven/personal",
"match": "exact",
"feature": "heaven",
"access": "member"
},
{
"method": "GET",
"path": "/api/heaven/readings",
"match": "exact",
"feature": "heaven",
"access": "member"
},
{
"method": "DELETE",
"path": "/api/heaven/readings/(\\d+)",
"match": "regex",
"feature": "heaven",
"access": "member"
},
{
"method": "POST",
"path": "/api/heaven/sector-phases",
"match": "exact",
"feature": "heaven",
"access": "admin"
},
{
"method": "DELETE",
"path": "/api/heaven/sector-phases/(.+)",
"match": "regex",
"feature": "heaven",
"access": "admin"
},
{
"method": "GET",
"path": "/api/heaven/setup",
"match": "exact",
"feature": "heaven",
"access": "member"
},
{
"method": "POST",
"path": "/api/mentors/chat",
"match": "exact",
"feature": "mentor",
"access": "member"
},
{
"method": "DELETE",
"path": "/api/mentors/messages",
"match": "exact",
"feature": "mentor",
"access": "member"
},
{
"method": "GET",
"path": "/api/mentors/messages",
"match": "exact",
"feature": "mentor",
"access": "member"
},
{
"method": "POST",
"path": "/api/mentors/preferences",
"match": "exact",
"feature": "mentor",
"access": "member"
},
{
"method": "GET",
"path": "/api/mentors/setup",
"match": "exact",
"feature": "mentor",
"access": "member"
},
{
"method": "GET",
"path": "/api/notes",
"match": "exact",
"feature": "review",
"access": "authenticated"
},
{
"method": "POST",
"path": "/api/notes",
"match": "exact",
"feature": "review",
"access": "authenticated"
},
{
"method": "DELETE",
"path": "/api/notes/(\\d+)",
"match": "regex",
"feature": "review",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/popularity",
"match": "exact",
"feature": "popularity",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/realtime-aggregate/health",
"match": "exact",
"feature": "market",
"access": "authenticated"
},
{
"method": "POST",
"path": "/api/reasons",
"match": "exact",
"feature": "admin",
"access": "admin"
},
{
"method": "GET",
"path": "/api/rotation/history",
"match": "exact",
"feature": "rotation",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/rotation/members",
"match": "exact",
"feature": "rotation",
"access": "authenticated"
},
{
"method": "POST",
"path": "/api/screener/compile",
"match": "exact",
"feature": "screener",
"access": "member"
},
{
"method": "POST",
"path": "/api/screener/run",
"match": "exact",
"feature": "screener",
"access": "member"
},
{
"method": "GET",
"path": "/api/screener/setup",
"match": "exact",
"feature": "screener",
"access": "member"
},
{
"method": "POST",
"path": "/api/screener/strategies",
"match": "exact",
"feature": "screener",
"access": "member"
},
{
"method": "DELETE",
"path": "/api/screener/strategies/(\\d+)",
"match": "regex",
"feature": "screener",
"access": "member"
},
{
"method": "POST",
"path": "/api/screener/sync",
"match": "exact",
"feature": "screener",
"access": "member"
},
{
"method": "GET",
"path": "/api/screener/tracking",
"match": "exact",
"feature": "screener",
"access": "member"
},
{
"method": "POST",
"path": "/api/screener/tracking",
"match": "exact",
"feature": "screener",
"access": "member"
},
{
"method": "DELETE",
"path": "/api/screener/tracking/(\\d+)",
"match": "regex",
"feature": "screener",
"access": "member"
},
{
"method": "POST",
"path": "/api/screener/tracking/refresh",
"match": "exact",
"feature": "screener",
"access": "member"
},
{
"method": "GET",
"path": "/api/search",
"match": "exact",
"feature": "search",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/search/detail",
"match": "exact",
"feature": "search",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/seat-aliases",
"match": "exact",
"feature": "admin",
"access": "authenticated"
},
{
"method": "POST",
"path": "/api/seat-aliases",
"match": "exact",
"feature": "admin",
"access": "admin"
},
{
"method": "GET",
"path": "/api/sentiment/history",
"match": "exact",
"feature": "sentiment",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/stock/(\\d{6})",
"match": "regex",
"feature": "market",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/stock/(\\d{6})/preview",
"match": "regex",
"feature": "market",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/themes",
"match": "exact",
"feature": "themes",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/themes/detail",
"match": "exact",
"feature": "themes",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/trades",
"match": "exact",
"feature": "review",
"access": "authenticated"
},
{
"method": "POST",
"path": "/api/trades",
"match": "exact",
"feature": "review",
"access": "authenticated"
},
{
"method": "DELETE",
"path": "/api/trades/(\\d+)",
"match": "regex",
"feature": "review",
"access": "authenticated"
},
{
"method": "GET",
"path": "/api/watchlist",
"match": "exact",
"feature": "review",
"access": "authenticated"
},
{
"method": "POST",
"path": "/api/watchlist",
"match": "exact",
"feature": "review",
"access": "authenticated"
},
{
"method": "DELETE",
"path": "/api/watchlist/(\\d{6})",
"match": "regex",
"feature": "review",
"access": "authenticated"
}
]
}