feat: expose auth admin summaries
This commit is contained in:
@@ -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},
|
||||
)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -205,3 +205,7 @@ class RegistryEntryIdParams(RpcParamsModel):
|
||||
|
||||
class ApplyRegistryChangesParams(RpcParamsModel):
|
||||
pass
|
||||
|
||||
|
||||
class InspectAuthParams(RpcParamsModel):
|
||||
auth_ref: str = Field(min_length=1)
|
||||
|
||||
Reference in New Issue
Block a user