feat: add list-my-workspaces operation and document IAM in API specs

Add a new `list-my-workspaces` operation so non-admin users can
discover which workspaces they have access to.  For OSS IAM, regular
users see their home workspace; admins see all workspaces.

Also add the full IAM service to both OpenAPI and AsyncAPI specs —
it was previously undocumented despite being a first-class service
on both HTTP and WebSocket interfaces.
This commit is contained in:
Cyber MacGeddon 2026-05-29 16:47:26 +01:00
parent 2a10e16c02
commit f3aaf96588
20 changed files with 689 additions and 2 deletions

View file

@ -300,6 +300,14 @@ class IamClient(RequestResponse):
)
return resp.workspace
async def list_my_workspaces(self, actor="", timeout=IAM_TIMEOUT):
resp = await self._request(
operation="list-my-workspaces",
actor=actor,
timeout=timeout,
)
return list(resp.workspaces)
async def list_workspaces(self, actor="", timeout=IAM_TIMEOUT):
resp = await self._request(
operation="list-workspaces",