Skip to content

feat(client): list workspace and project bindings, and read the expiry date of a project binding - #56

Merged
grubmeshi merged 1 commit into
mainfrom
feature/workspace-binding-lookup
Oct 27, 2026
Merged

grubmeshi merged 1 commit into
mainfrom
feature/workspace-binding-lookup

Conversation

@grubmeshi

@grubmeshi grubmeshi commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator

Adds `List` to the workspace and project binding clients, with `MeshWorkspaceBindingListFilter` and `MeshProjectBindingListFilter`, and `ExpiryDate` to `MeshProjectBinding`. The Terraform provider uses them to look up a binding by its target, subject and role.

For group bindings, `username` matches groups that contain that user; the API has no group-name filter.

🤖 Generated with Claude Code

@meshcloud-gh-actions

meshcloud-gh-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Coverage of the acceptance run against the meshStack backend, on daaf6fbb207a6065b5d5d0a4d0744cacbf74edc5.

Scope Coverage
Unit tests 78.1%
Acceptance tests 54.0%
Combined 80.2%
Uncovered functions
client/api_key.go:55: meshApiKeyClient.Create 0.0%
client/api_key.go:59: meshApiKeyClient.Read 0.0%
client/api_key.go:63: meshApiKeyClient.Update 0.0%
client/api_key.go:71: meshApiKeyClient.Delete 0.0%
client/api_key_permissions.go:20: ApiKeyPermissions.AllCodes 0.0%
client/api_key_permissions.go:33: ApiKeyPermissions.WorkspaceCodes 0.0%
client/api_key_permissions.go:295: AllApiKeyPermissions 0.0%
client/api_key_permissions.go:299: WorkspacePermissionCodes 0.0%
client/building_block_definition.go:71: MeshBuildingBlockDefinitionApprovalPolicies.NothingRequiresApproval 0.0%
client/building_block_definition.go:82: DisabledSchedule 0.0%
client/building_block_definition.go:89: MeshBuildingBlockDefinitionSchedule.IsDisabled 0.0%
client/building_block_definition.go:93: MeshBuildingBlockDefinitionSpec.HasNeutralPolicies 0.0%
client/building_block_definition.go:97: MeshBuildingBlockDefinitionSpec.WithNeutralPolicies 0.0%
client/building_block_definition.go:166: meshBuildingBlockDefinitionClient.List 0.0%
client/building_block_definition.go:173: meshBuildingBlockDefinitionClient.Read 0.0%
client/building_block_definition.go:177: meshBuildingBlockDefinitionClient.Create 0.0%
client/building_block_definition.go:181: meshBuildingBlockDefinitionClient.Update 0.0%
client/building_block_definition.go:185: meshBuildingBlockDefinitionClient.Delete 0.0%
client/building_block_definition_version.go:100: MeshBuildingBlockType.TagInputTargets 0.0%
client/building_block_definition_version.go:245: meshBuildingBlockDefinitionVersionClient.Create 0.0%
client/building_block_definition_version.go:254: meshBuildingBlockDefinitionVersionClient.Update 0.0%
client/building_block_definition_version_implementation.go:80: MeshBuildingBlockDefinitionImplementation.InferType 0.0%
client/building_block_definition_version_implementation.go:94: MeshBuildingBlockDefinitionImplementation.MarshalJSON 0.0%
client/building_block_definition_version_implementation.go:107: *MeshBuildingBlockDefinitionImplementation.UnmarshalJSON 0.0%
client/building_block_runner.go:87: meshBuildingBlockRunnerClient.Create 0.0%
... and 129 more

covdata func names a method without its receiver, so an entry can belong to an implementation nothing selects rather than to a function the tests never reached. Open the file and line before reading one as a coverage gap.

…y date of a project binding

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@grubmeshi
grubmeshi force-pushed the feature/workspace-binding-lookup branch from 41e8f55 to daaf6fb Compare October 26, 2026 19:48
@grubmeshi grubmeshi changed the title feat(client): list workspace user and group bindings by workspace, role and user feat(client): list workspace and project bindings, and read the expiry date of a project binding Oct 26, 2026
@sonarqubecloud

Copy link
Copy Markdown

@grubmeshi
grubmeshi merged commit daaf6fb into main Oct 27, 2026
13 checks passed
@grubmeshi
grubmeshi deleted the feature/workspace-binding-lookup branch October 27, 2026 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant