diff --git a/src/Speckle.Sdk/Api/GraphQL/Models/Workspace.cs b/src/Speckle.Sdk/Api/GraphQL/Models/Workspace.cs index b317b73b..745f54ad 100644 --- a/src/Speckle.Sdk/Api/GraphQL/Models/Workspace.cs +++ b/src/Speckle.Sdk/Api/GraphQL/Models/Workspace.cs @@ -1,16 +1,20 @@ namespace Speckle.Sdk.Api.GraphQL.Models; -public sealed class Workspace +public class LimitedWorkspace { public string id { get; init; } public string name { get; init; } - public string role { get; init; } + public string? role { get; init; } public string slug { get; init; } - public string? description { get; init; } public string? logo { get; init; } - public DateTime? createdAt { get; init; } - public DateTime? updatedAt { get; init; } - public bool? readOnly { get; init; } + public string? description { get; init; } +} + +public class Workspace : LimitedWorkspace +{ + public DateTime createdAt { get; init; } + public DateTime updatedAt { get; init; } + public bool readOnly { get; init; } public WorkspacePermissionChecks permissions { get; init; } public WorkspaceCreationState? creationState { get; init; } } diff --git a/src/Speckle.Sdk/Api/GraphQL/Resources/ActiveUserResource.cs b/src/Speckle.Sdk/Api/GraphQL/Resources/ActiveUserResource.cs index 8fa90531..17615a02 100644 --- a/src/Speckle.Sdk/Api/GraphQL/Resources/ActiveUserResource.cs +++ b/src/Speckle.Sdk/Api/GraphQL/Resources/ActiveUserResource.cs @@ -313,10 +313,11 @@ public sealed class ActiveUserResource } /// - /// + /// The active (last selected) workspace + /// note this returns a , because it may be a workspace the user is not a member of /// /// The ActiveUser could not be found (e.g. the client is not authenticated) - public async Task GetActiveWorkspace(CancellationToken cancellationToken = default) + public async Task GetActiveWorkspace(CancellationToken cancellationToken = default) { //language=graphql const string QUERY = """ @@ -328,21 +329,7 @@ public sealed class ActiveUserResource role slug logo - createdAt - updatedAt - readOnly description - creationState - { - completed - } - permissions { - canCreateProject { - authorized - code - message - } - } } } } @@ -351,7 +338,7 @@ public sealed class ActiveUserResource var request = new GraphQLRequest { Query = QUERY }; var response = await _client - .ExecuteGraphQLRequest?>>(request, cancellationToken) + .ExecuteGraphQLRequest?>>(request, cancellationToken) .ConfigureAwait(false); if (response.data is null)