Compare commits

..

3 Commits

Author SHA1 Message Date
9fbc2b1dc6 feat: add llmage api endpoints to load_path.py for data_filter
- /llmage/api/llm_list.dspy logined
- /llmage/api/llm_create.dspy logined
- /llmage/api/llm_update.dspy logined
- /llmage/api/llm_delete.dspy logined
- /llmage/api/get_organizations.dspy logined
- /llmage/api/get_upapps.dspy logined
2026-05-26 14:28:57 +08:00
7dd5fa8234 feat: start cache_sync for cross-process cache invalidation
- sage.py: Import start_cache_sync from rbac.init
  - Call asyncio.create_task(start_cache_sync()) after load_rbac()
  - Starts Redis Pub/Sub subscription for cache invalidation messages
2026-05-26 13:52:23 +08:00
6af4770709 fix: add RBAC permissions for llmage /v1 API endpoints
Added logined permission entries for all v1 OpenAI-compatible endpoints:
- /v1/chat/completions (existing, was missing)
- /v1/models (existing, was missing)
- /v1/tasks (existing, was missing)
- /v1/video/generations (new)
- /v1/image/generations (new)

Each has both directory and index.dspy file entries.
2026-05-26 11:58:07 +08:00
2 changed files with 18 additions and 1 deletions

View File

@ -11,7 +11,7 @@ from bricks_for_python.init import load_pybricks
from ahserver.webapp import webapp from ahserver.webapp import webapp
from ahserver.serverenv import ServerEnv from ahserver.serverenv import ServerEnv
from ahserver.configuredServer import add_cleanupctx from ahserver.configuredServer import add_cleanupctx
from rbac.init import load_rbac from rbac.init import load_rbac, start_cache_sync
from pricing.init import load_pricing from pricing.init import load_pricing
from appbase.init import load_appbase from appbase.init import load_appbase
from llmage.init import load_llmage from llmage.init import load_llmage
@ -42,6 +42,7 @@ def init():
load_pybricks() load_pybricks()
load_appbase() load_appbase()
load_rbac() load_rbac()
asyncio.create_task(start_cache_sync())
load_accounting() load_accounting()
load_unipay() load_unipay()
load_platformbiz() load_platformbiz()

View File

@ -72,8 +72,24 @@ paths="""/ any
/llmage/llm/index.ui logined /llmage/llm/index.ui logined
/llmage/llm/get_llm.dspy logined /llmage/llm/get_llm.dspy logined
/llmage/llm/add_llm.dspy logined /llmage/llm/add_llm.dspy logined
/llmage/api/llm_list.dspy logined
/llmage/api/llm_create.dspy logined
/llmage/api/llm_update.dspy logined
/llmage/api/llm_delete.dspy logined
/llmage/api/get_organizations.dspy logined
/llmage/api/get_upapps.dspy logined
/llmage/show_llms_by_providers.ui logined /llmage/show_llms_by_providers.ui logined
/llmage/list_paging_catelog_llms.dspy logined /llmage/list_paging_catelog_llms.dspy logined
/llmage/v1/chat/completions logined
/llmage/v1/chat/completions/index.dspy logined
/llmage/v1/models logined
/llmage/v1/models/index.dspy logined
/llmage/v1/tasks logined
/llmage/v1/tasks/index.dspy logined
/llmage/v1/video/generations logined
/llmage/v1/video/generations/index.dspy logined
/llmage/v1/image/generations logined
/llmage/v1/image/generations/index.dspy logined
/public any /public any
/public/mainpage any /public/mainpage any
/public/mainpage/wish.webp any /public/mainpage/wish.webp any