Compare commits

...

1 Commits

Author SHA1 Message Date
Jedd Morgan a8a5296d7e Limited Workspace (#438)
Publish Python Package / test (push) Has been cancelled
Publish Python Package / Build and Publish Python Package (push) Has been cancelled
2025-07-24 18:30:43 +03:00
3 changed files with 11 additions and 20 deletions
@@ -12,6 +12,7 @@ from specklepy.core.api.models import (
User,
)
from specklepy.core.api.models.current import (
LimitedWorkspace,
PermissionCheckResult,
ProjectWithPermissions,
Workspace,
@@ -94,7 +95,7 @@ class ActiveUserResource(CoreResource):
metrics.track(metrics.SDK, self.account, {"name": "Active User Get Workspaces"})
return super().get_workspaces(limit, cursor, filter)
def get_active_workspace(self) -> Optional[Workspace]:
def get_active_workspace(self) -> Optional[LimitedWorkspace]:
metrics.track(
metrics.SDK, self.account, {"name": "Active User Get Active Workspace"}
)
+5 -2
View File
@@ -213,15 +213,18 @@ class WorkspaceCreationState(GraphQLBaseModel):
completed: bool
class Workspace(GraphQLBaseModel):
class LimitedWorkspace(GraphQLBaseModel):
id: str
name: str
role: Optional[str]
slug: str
logo: Optional[str]
description: Optional[str]
class Workspace(LimitedWorkspace):
created_at: datetime
updated_at: datetime
read_only: bool
description: Optional[str]
creation_state: Optional[WorkspaceCreationState]
permissions: WorkspacePermissionChecks
@@ -14,6 +14,7 @@ from specklepy.core.api.models import (
User,
)
from specklepy.core.api.models.current import (
LimitedWorkspace,
PermissionCheckResult,
ProjectWithPermissions,
Workspace,
@@ -295,7 +296,7 @@ class ActiveUserResource(ResourceBase):
return response.data.data
def get_active_workspace(self) -> Optional[Workspace]:
def get_active_workspace(self) -> Optional[LimitedWorkspace]:
"""
This feature is only available on Workspace enabled servers (server versions
>=2.23.17) e.g. app.speckle.systems
@@ -310,29 +311,15 @@ class ActiveUserResource(ResourceBase):
role
slug
logo
createdAt
updatedAt
readOnly
description
creationState
{
completed
}
permissions {
canCreateProject {
authorized
code
message
}
}
}
}
}
""" # noqa: E501
"""
)
response = self.make_request_and_parse_response(
DataResponse[Optional[DataResponse[Optional[Workspace]]]],
DataResponse[Optional[DataResponse[Optional[LimitedWorkspace]]]],
QUERY,
)