From 5e0f3d888afd88d906fbacaf8c90c358c7bf3c87 Mon Sep 17 00:00:00 2001 From: Vernon Keenan Date: Sat, 18 Jul 2026 23:20:56 +0000 Subject: [PATCH] regen: synchronize final membership concurrency contract --- .../portal_memberships/portal_memberships_client.go | 8 ++++---- .../post_tenant_membership_responses.go | 4 ++-- swagger/external/members-vernonkeenan.yaml | 6 +++--- swagger/members-vernonkeenan.yaml | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/api/members/members_client/portal_memberships/portal_memberships_client.go b/api/members/members_client/portal_memberships/portal_memberships_client.go index 6cd7f74..b468617 100644 --- a/api/members/members_client/portal_memberships/portal_memberships_client.go +++ b/api/members/members_client/portal_memberships/portal_memberships_client.go @@ -84,10 +84,10 @@ type ClientService interface { // GetTenantMembershipsContext list actor visible tenant memberships. GetTenantMembershipsContext(ctx context.Context, params *GetTenantMembershipsParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*GetTenantMembershipsOK, error) - // PostTenantMembership idempotently link one existing active user to one tenant. + // PostTenantMembership create a tenant link or return an exact desired state match. PostTenantMembership(params *PostTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PostTenantMembershipOK, error) - // PostTenantMembershipContext idempotently link one existing active user to one tenant. + // PostTenantMembershipContext create a tenant link or return an exact desired state match. PostTenantMembershipContext(ctx context.Context, params *PostTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PostTenantMembershipOK, error) // PutTenantMembership idempotently change membership access or lifecycle. @@ -351,7 +351,7 @@ func (a *Client) GetTenantMembershipsContext(ctx context.Context, params *GetTen panic(msg) } -// PostTenantMembership idempotentlies link one existing active user to one tenant. +// PostTenantMembership creates a tenant link or return an exact desired state match. // // This method does not support injected context. // However, timeout and opentracing contexts are honored whenever enabled. @@ -368,7 +368,7 @@ func (a *Client) PostTenantMembership(params *PostTenantMembershipParams, authIn return a.PostTenantMembershipContext(ctx, params, authInfo, opts...) } -// PostTenantMembershipContext idempotentlies link one existing active user to one tenant. +// PostTenantMembershipContext creates a tenant link or return an exact desired state match. // // Do not use the deprecated [PostTenantMembershipParams.Context] with this method: it would be ignored. func (a *Client) PostTenantMembershipContext(ctx context.Context, params *PostTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PostTenantMembershipOK, error) { diff --git a/api/members/members_client/portal_memberships/post_tenant_membership_responses.go b/api/members/members_client/portal_memberships/post_tenant_membership_responses.go index 5ebb1c0..2f93192 100644 --- a/api/members/members_client/portal_memberships/post_tenant_membership_responses.go +++ b/api/members/members_client/portal_memberships/post_tenant_membership_responses.go @@ -73,7 +73,7 @@ func NewPostTenantMembershipOK() *PostTenantMembershipOK { // PostTenantMembershipOK describes a response with status code 200, with default header values. // -// Current membership desired state +// Newly created membership or exact existing desired-state match type PostTenantMembershipOK struct { Payload *members_models.TenantMembershipResponse } @@ -303,7 +303,7 @@ func NewPostTenantMembershipConflict() *PostTenantMembershipConflict { // PostTenantMembershipConflict describes a response with status code 409, with default header values. // -// Self-change, owner, or concurrent-state conflict +// Self-change, owner, or existing-state conflict; use GET plus optimistic PUT for state changes type PostTenantMembershipConflict struct { } diff --git a/swagger/external/members-vernonkeenan.yaml b/swagger/external/members-vernonkeenan.yaml index a095895..6eb4b2f 100644 --- a/swagger/external/members-vernonkeenan.yaml +++ b/swagger/external/members-vernonkeenan.yaml @@ -1268,7 +1268,7 @@ paths: post: operationId: postTenantMembership tags: [PortalMemberships] - summary: Idempotently link one existing active user to one tenant + summary: Create a tenant link or return an exact desired-state match parameters: - $ref: "#/parameters/requestId" - in: body @@ -1276,11 +1276,11 @@ paths: required: true schema: {$ref: "#/definitions/TenantMembershipCreateRequest"} responses: - 200: {description: Current membership desired state, schema: {$ref: "#/definitions/TenantMembershipResponse"}} + 200: {description: Newly created membership or exact existing desired-state match, schema: {$ref: "#/definitions/TenantMembershipResponse"}} 400: {description: Invalid identity selector or desired state} 401: {description: Missing or invalid server or session credential} 404: {description: "Target tenant, user, or authority is unavailable"} - 409: {description: "Self-change, owner, or concurrent-state conflict"} + 409: {description: "Self-change, owner, or existing-state conflict; use GET plus optimistic PUT for state changes"} 500: {description: Server error} security: *portalSecurity diff --git a/swagger/members-vernonkeenan.yaml b/swagger/members-vernonkeenan.yaml index d1f45c8..15d1195 100644 --- a/swagger/members-vernonkeenan.yaml +++ b/swagger/members-vernonkeenan.yaml @@ -1268,7 +1268,7 @@ paths: post: operationId: postTenantMembership tags: [PortalMemberships] - summary: Idempotently link one existing active user to one tenant + summary: Create a tenant link or return an exact desired-state match parameters: - $ref: "#/parameters/requestId" - in: body @@ -1276,11 +1276,11 @@ paths: required: true schema: {$ref: "#/definitions/TenantMembershipCreateRequest"} responses: - 200: {description: Current membership desired state, schema: {$ref: "#/definitions/TenantMembershipResponse"}} + 200: {description: Newly created membership or exact existing desired-state match, schema: {$ref: "#/definitions/TenantMembershipResponse"}} 400: {description: Invalid identity selector or desired state} 401: {description: Missing or invalid server or session credential} 404: {description: "Target tenant, user, or authority is unavailable"} - 409: {description: "Self-change, owner, or concurrent-state conflict"} + 409: {description: "Self-change, owner, or existing-state conflict; use GET plus optimistic PUT for state changes"} 500: {description: Server error} security: *portalSecurity