feat: admin panelini ve kurulum dokumanlarini genislet
This commit is contained in:
@@ -3,9 +3,10 @@ from pydantic import BaseModel
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.admin.services import AdminService
|
||||
from app.db import get_session
|
||||
from app.config import get_settings as get_app_settings
|
||||
from app.db import SecretORM, get_session
|
||||
from app.llm.ollama_client import OllamaClient
|
||||
from app.models import MemoryRecord, OllamaStatus, RuntimeSettings, TelegramStatus, UserRecord
|
||||
from app.models import AutomationRecord, MemoryRecord, OllamaStatus, RuntimeSettings, TelegramStatus, UserProfileRecord, UserRecord
|
||||
|
||||
router = APIRouter(prefix="/admin", tags=["admin"])
|
||||
|
||||
@@ -25,7 +26,7 @@ def get_dashboard(service: AdminService = Depends(get_admin_service)):
|
||||
|
||||
|
||||
@router.get("/settings", response_model=RuntimeSettings)
|
||||
def get_settings(service: AdminService = Depends(get_admin_service)):
|
||||
def get_runtime_settings(service: AdminService = Depends(get_admin_service)):
|
||||
return service.get_runtime_settings()
|
||||
|
||||
|
||||
@@ -44,6 +45,16 @@ def post_user(payload: UserRecord, service: AdminService = Depends(get_admin_ser
|
||||
return service.save_user(payload)
|
||||
|
||||
|
||||
@router.get("/profiles", response_model=list[UserProfileRecord])
|
||||
def get_profiles(service: AdminService = Depends(get_admin_service)):
|
||||
return service.list_user_profiles()
|
||||
|
||||
|
||||
@router.get("/automations", response_model=list[AutomationRecord])
|
||||
def get_automations(service: AdminService = Depends(get_admin_service)):
|
||||
return service.list_automations()
|
||||
|
||||
|
||||
@router.get("/memory", response_model=list[MemoryRecord])
|
||||
def get_memory(service: AdminService = Depends(get_admin_service)):
|
||||
return service.list_memory()
|
||||
@@ -66,11 +77,18 @@ def post_secret(payload: SecretPayload, service: AdminService = Depends(get_admi
|
||||
return {"status": "ok"}
|
||||
|
||||
|
||||
@router.get("/integrations/llm", response_model=OllamaStatus)
|
||||
@router.get("/integrations/ollama", response_model=OllamaStatus)
|
||||
async def get_ollama_status(service: AdminService = Depends(get_admin_service)):
|
||||
async def get_llm_status(service: AdminService = Depends(get_admin_service)):
|
||||
runtime = service.get_runtime_settings()
|
||||
client = OllamaClient(runtime.ollama_base_url)
|
||||
return await client.status(runtime.default_model)
|
||||
settings = get_app_settings()
|
||||
secret = service.session.get(SecretORM, "zai_api_key") if runtime.model_provider == "zai" else None
|
||||
client = OllamaClient(
|
||||
base_url=runtime.local_base_url if runtime.model_provider == "local" else settings.zai_base_url,
|
||||
provider=runtime.model_provider,
|
||||
api_key=secret.value if secret else settings.zai_api_key,
|
||||
)
|
||||
return await client.status(runtime.local_model if runtime.model_provider == "local" else runtime.zai_model)
|
||||
|
||||
|
||||
@router.get("/integrations/telegram", response_model=TelegramStatus)
|
||||
|
||||
Reference in New Issue
Block a user