mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-07-22 03:41:43 +00:00
51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
"""App Client API."""
|
|
from typing import List
|
|
|
|
from dbgpt.core.schema.api import Result
|
|
|
|
from .client import Client, ClientException
|
|
from .schema import AppModel
|
|
|
|
|
|
async def get_app(client: Client, app_id: str) -> AppModel:
|
|
"""Get an app.
|
|
|
|
Args:
|
|
client (Client): The dbgpt client.
|
|
app_id (str): The app id.
|
|
Returns:
|
|
AppModel: The app model.
|
|
Raises:
|
|
ClientException: If the request failed.
|
|
"""
|
|
try:
|
|
res = await client.get("/apps/" + app_id)
|
|
result: Result = res.json()
|
|
if result["success"]:
|
|
return AppModel(**result["data"])
|
|
else:
|
|
raise ClientException(status=result["err_code"], reason=result)
|
|
except Exception as e:
|
|
raise ClientException(f"Failed to get app: {e}")
|
|
|
|
|
|
async def list_app(client: Client) -> List[AppModel]:
|
|
"""List apps.
|
|
|
|
Args:
|
|
client (Client): The dbgpt client.
|
|
Returns:
|
|
List[AppModel]: The list of app models.
|
|
Raises:
|
|
ClientException: If the request failed.
|
|
"""
|
|
try:
|
|
res = await client.get("/apps")
|
|
result: Result = res.json()
|
|
if result["success"]:
|
|
return [AppModel(**app) for app in result["data"]["app_list"]]
|
|
else:
|
|
raise ClientException(status=result["err_code"], reason=result)
|
|
except Exception as e:
|
|
raise ClientException(f"Failed to list apps: {e}")
|