feat: expose auth admin summaries

This commit is contained in:
lda
2026-06-06 12:16:45 +07:00 Verified
parent 58771e4423
commit c25c4cfee5
18 changed files with 478 additions and 8 deletions
@@ -16,3 +16,12 @@ class RpcAdminClientMixin:
async def list_events(self) -> dict[str, Any]:
return await self._call("workflow.admin.events.list", {})
async def list_auth_records(self) -> dict[str, Any]:
return await self._call("workflow.admin.auth.list", {})
async def inspect_auth_record(self, auth_ref: str) -> dict[str, Any]:
return await self._call(
"workflow.admin.auth.inspect",
{"auth_ref": auth_ref},
)
+45 -6
View File
@@ -2,13 +2,13 @@ from __future__ import annotations
from typing import Any
from fastapi import Body
import fastapi_jsonrpc as jsonrpc
from wf_server import WorkflowServer
from .errors import WorkflowRpcError, raise_workflow_rpc_error
from .models import AdminEmptyParams
from .models import AdminEmptyParams, InspectAuthParams
from .params import RpcParams
def register_methods(
@@ -22,7 +22,7 @@ def register_methods(
errors=[WorkflowRpcError],
)
async def workflow_admin_connections_list(
params: AdminEmptyParams = Body(default_factory=AdminEmptyParams),
params: AdminEmptyParams = RpcParams(),
) -> dict[str, Any]:
try:
return await server.admin.list_connections()
@@ -34,18 +34,57 @@ def register_methods(
errors=[WorkflowRpcError],
)
async def workflow_admin_connection_statuses_list(
params: AdminEmptyParams = Body(default_factory=AdminEmptyParams),
params: AdminEmptyParams = RpcParams(),
) -> dict[str, Any]:
try:
return await server.admin.get_connection_statuses()
except (ValueError, KeyError, LookupError, FileNotFoundError) as exc:
raise_workflow_rpc_error(exc)
@entrypoint.method(name="workflow.admin.events.list", errors=[WorkflowRpcError])
@entrypoint.method(
name="workflow.admin.events.list",
errors=[WorkflowRpcError],
)
async def workflow_admin_events_list(
params: AdminEmptyParams = Body(default_factory=AdminEmptyParams),
params: AdminEmptyParams = RpcParams(),
) -> dict[str, Any]:
try:
return await server.admin.list_events()
except (ValueError, KeyError, LookupError, FileNotFoundError) as exc:
raise_workflow_rpc_error(exc)
@entrypoint.method(
name="workflow.admin.auth.list",
errors=[WorkflowRpcError],
)
async def workflow_admin_auth_list(
params: AdminEmptyParams = RpcParams(),
) -> dict[str, Any]:
try:
return await server.admin.list_auth_records()
except (
ValueError,
KeyError,
LookupError,
FileNotFoundError,
RuntimeError,
) as exc:
raise_workflow_rpc_error(exc)
@entrypoint.method(
name="workflow.admin.auth.inspect",
errors=[WorkflowRpcError],
)
async def workflow_admin_auth_inspect(
params: InspectAuthParams = RpcParams(),
) -> dict[str, Any]:
try:
return await server.admin.inspect_auth_record(params.auth_ref)
except (
ValueError,
KeyError,
LookupError,
FileNotFoundError,
RuntimeError,
) as exc:
raise_workflow_rpc_error(exc)
+4
View File
@@ -205,3 +205,7 @@ class RegistryEntryIdParams(RpcParamsModel):
class ApplyRegistryChangesParams(RpcParamsModel):
pass
class InspectAuthParams(RpcParamsModel):
auth_ref: str = Field(min_length=1)