diff --git a/pkg/cmd/scim/view/view.go b/pkg/cmd/scim/view/view.go index 0c07c422b..a908a5f34 100644 --- a/pkg/cmd/scim/view/view.go +++ b/pkg/cmd/scim/view/view.go @@ -149,6 +149,9 @@ func NewCmdView(f *cmdutil.Factory) *cobra.Command { } if resp.Node.ScimConfiguration == nil { + if *flagOutput == cmdutil.OutputJSON { + return cmdutil.PrintJSON(f.IOStreams.Out, nil) + } _, _ = fmt.Fprintln(f.IOStreams.Out, "No SCIM configuration found.") return nil } diff --git a/pkg/server/api/mcp/v1/schema.resolvers.go b/pkg/server/api/mcp/v1/schema.resolvers.go index b4d5e3095..5cb9c1001 100644 --- a/pkg/server/api/mcp/v1/schema.resolvers.go +++ b/pkg/server/api/mcp/v1/schema.resolvers.go @@ -5115,7 +5115,7 @@ func (r *Resolver) GetSCIMConfigurationTool(ctx context.Context, req *mcp.CallTo if err != nil { var errNotFound *iam.ErrNoSCIMConfigurationFound if errors.As(err, &errNotFound) { - return nil, types.GetSCIMConfigurationOutput{}, fmt.Errorf("SCIM configuration not found for organization %s", input.OrganizationID) + return nil, types.GetSCIMConfigurationOutput{}, fmt.Errorf("SCIM configuration not found") } panic(fmt.Errorf("cannot get SCIM configuration: %w", err)) } diff --git a/pkg/server/api/mcp/v1/specification.yaml b/pkg/server/api/mcp/v1/specification.yaml index d0d85de71..d9f5bf8af 100644 --- a/pkg/server/api/mcp/v1/specification.yaml +++ b/pkg/server/api/mcp/v1/specification.yaml @@ -9929,9 +9929,9 @@ components: $ref: "#/components/schemas/GID" description: Organization ID bridge_id: - type: - - string - - "null" + anyOf: + - $ref: "#/components/schemas/GID" + - type: "null" description: Associated SCIM bridge ID, if any created_at: type: string @@ -9964,9 +9964,9 @@ components: $ref: "#/components/schemas/GID" description: SCIM configuration ID connector_id: - type: - - string - - "null" + anyOf: + - $ref: "#/components/schemas/GID" + - type: "null" description: Connector ID, if any type: $ref: "#/components/schemas/SCIMBridgeType" diff --git a/pkg/server/api/mcp/v1/types/scim_configuration.go b/pkg/server/api/mcp/v1/types/scim_configuration.go index d29be66aa..cec6ffdd2 100644 --- a/pkg/server/api/mcp/v1/types/scim_configuration.go +++ b/pkg/server/api/mcp/v1/types/scim_configuration.go @@ -20,33 +20,21 @@ import ( ) func NewSCIMConfiguration(c *coredata.SCIMConfiguration) *SCIMConfiguration { - var bridgeID *string - if c.BridgeID != nil { - s := c.BridgeID.String() - bridgeID = &s - } - return &SCIMConfiguration{ ID: c.ID, OrganizationID: c.OrganizationID, - BridgeID: bridgeID, + BridgeID: c.BridgeID, CreatedAt: c.CreatedAt, UpdatedAt: c.UpdatedAt, } } func NewSCIMBridge(b *coredata.SCIMBridge) *SCIMBridge { - var connectorID *string - if b.ConnectorID != nil { - s := b.ConnectorID.String() - connectorID = &s - } - return &SCIMBridge{ ID: b.ID, OrganizationID: b.OrganizationID, ScimConfigurationID: b.ScimConfigurationID, - ConnectorID: connectorID, + ConnectorID: b.ConnectorID, Type: b.Type, State: b.State, ExcludedUserNames: b.ExcludedUserNames,