From c67edb84f3eeb266d7e29723daedc2f7ad753a69 Mon Sep 17 00:00:00 2001 From: Vernon Keenan Date: Sat, 18 Jul 2026 23:18:59 +0000 Subject: [PATCH 1/2] regen: add Estate Administrator Members client --- CHANGELOG.md | 3 + api/members/members_client/members_client.go | 5 + .../delete_tenant_membership_parameters.go | 210 ++++++++ .../delete_tenant_membership_responses.go | 345 ++++++++++++ .../get_manageable_tenants_parameters.go | 219 ++++++++ .../get_manageable_tenants_responses.go | 285 ++++++++++ .../get_tenant_membership_parameters.go | 158 ++++++ .../get_tenant_membership_responses.go | 285 ++++++++++ .../get_tenant_memberships_parameters.go | 384 ++++++++++++++ .../get_tenant_memberships_responses.go | 345 ++++++++++++ .../portal_memberships_client.go | 491 ++++++++++++++++++ .../post_tenant_membership_parameters.go | 181 +++++++ .../post_tenant_membership_responses.go | 405 +++++++++++++++ .../put_tenant_membership_parameters.go | 202 +++++++ .../put_tenant_membership_responses.go | 405 +++++++++++++++ .../members_models/manageable_tenant.go | 164 ++++++ .../manageable_tenant_response.go | 192 +++++++ .../members_models/tenant_membership.go | 345 ++++++++++++ .../tenant_membership_audit_fields.go | 195 +++++++ .../tenant_membership_create.go | 235 +++++++++ .../tenant_membership_create_request.go | 118 +++++ .../tenant_membership_list_response.go | 192 +++++++ .../tenant_membership_response.go | 175 +++++++ .../tenant_membership_update.go | 188 +++++++ .../tenant_membership_update_request.go | 118 +++++ swagger/external/members-vernonkeenan.yaml | 191 +++++++ swagger/members-vernonkeenan.yaml | 191 +++++++ 27 files changed, 6227 insertions(+) create mode 100644 api/members/members_client/portal_memberships/delete_tenant_membership_parameters.go create mode 100644 api/members/members_client/portal_memberships/delete_tenant_membership_responses.go create mode 100644 api/members/members_client/portal_memberships/get_manageable_tenants_parameters.go create mode 100644 api/members/members_client/portal_memberships/get_manageable_tenants_responses.go create mode 100644 api/members/members_client/portal_memberships/get_tenant_membership_parameters.go create mode 100644 api/members/members_client/portal_memberships/get_tenant_membership_responses.go create mode 100644 api/members/members_client/portal_memberships/get_tenant_memberships_parameters.go create mode 100644 api/members/members_client/portal_memberships/get_tenant_memberships_responses.go create mode 100644 api/members/members_client/portal_memberships/portal_memberships_client.go create mode 100644 api/members/members_client/portal_memberships/post_tenant_membership_parameters.go create mode 100644 api/members/members_client/portal_memberships/post_tenant_membership_responses.go create mode 100644 api/members/members_client/portal_memberships/put_tenant_membership_parameters.go create mode 100644 api/members/members_client/portal_memberships/put_tenant_membership_responses.go create mode 100644 api/members/members_models/manageable_tenant.go create mode 100644 api/members/members_models/manageable_tenant_response.go create mode 100644 api/members/members_models/tenant_membership.go create mode 100644 api/members/members_models/tenant_membership_audit_fields.go create mode 100644 api/members/members_models/tenant_membership_create.go create mode 100644 api/members/members_models/tenant_membership_create_request.go create mode 100644 api/members/members_models/tenant_membership_list_response.go create mode 100644 api/members/members_models/tenant_membership_response.go create mode 100644 api/members/members_models/tenant_membership_update.go create mode 100644 api/members/members_models/tenant_membership_update_request.go diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f2003c..e54f7b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,9 @@ or PR number is invented. for the governed shared-portal backend contract, including catalog, plan, subscription, entitlement, authorized-client, scope, and effective- entitlement operations and models (ADR-KV-017). +- Added the compound-auth Members client surface for Estate Administrator, + Owner, and Manager tenant-membership administration, including manageable- + tenant discovery, optimistic updates, and soft revocation (ADR-KV-021). ## [v0.7.5] — 2026-07-12 diff --git a/api/members/members_client/members_client.go b/api/members/members_client/members_client.go index aa2d98d..187581e 100644 --- a/api/members/members_client/members_client.go +++ b/api/members/members_client/members_client.go @@ -27,6 +27,7 @@ import ( "code.tnxs.net/vernonkeenan/lib/api/members/members_client/portal_access" "code.tnxs.net/vernonkeenan/lib/api/members/members_client/portal_catalog" "code.tnxs.net/vernonkeenan/lib/api/members/members_client/portal_clients" + "code.tnxs.net/vernonkeenan/lib/api/members/members_client/portal_memberships" "code.tnxs.net/vernonkeenan/lib/api/members/members_client/portal_plans" "code.tnxs.net/vernonkeenan/lib/api/members/members_client/prompts" "code.tnxs.net/vernonkeenan/lib/api/members/members_client/research_projects" @@ -102,6 +103,7 @@ func New(transport runtime.ContextualTransport, formats strfmt.Registry) *Member cli.PortalAccess = portal_access.New(transport, formats) cli.PortalCatalog = portal_catalog.New(transport, formats) cli.PortalClients = portal_clients.New(transport, formats) + cli.PortalMemberships = portal_memberships.New(transport, formats) cli.PortalPlans = portal_plans.New(transport, formats) cli.Prompts = prompts.New(transport, formats) cli.ResearchProjects = research_projects.New(transport, formats) @@ -206,6 +208,8 @@ type Members struct { PortalClients portal_clients.ClientService + PortalMemberships portal_memberships.ClientService + PortalPlans portal_plans.ClientService Prompts prompts.ClientService @@ -248,6 +252,7 @@ func (c *Members) SetTransport(transport runtime.ContextualTransport) { c.PortalAccess.SetTransport(transport) c.PortalCatalog.SetTransport(transport) c.PortalClients.SetTransport(transport) + c.PortalMemberships.SetTransport(transport) c.PortalPlans.SetTransport(transport) c.Prompts.SetTransport(transport) c.ResearchProjects.SetTransport(transport) diff --git a/api/members/members_client/portal_memberships/delete_tenant_membership_parameters.go b/api/members/members_client/portal_memberships/delete_tenant_membership_parameters.go new file mode 100644 index 0000000..ff37598 --- /dev/null +++ b/api/members/members_client/portal_memberships/delete_tenant_membership_parameters.go @@ -0,0 +1,210 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package portal_memberships + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewDeleteTenantMembershipParams creates a new DeleteTenantMembershipParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewDeleteTenantMembershipParams() *DeleteTenantMembershipParams { + return NewDeleteTenantMembershipParamsWithTimeout(cr.DefaultTimeout) +} + +// NewDeleteTenantMembershipParamsWithTimeout creates a new DeleteTenantMembershipParams object +// with the ability to set a timeout on a request. +func NewDeleteTenantMembershipParamsWithTimeout(timeout time.Duration) *DeleteTenantMembershipParams { + return &DeleteTenantMembershipParams{ + inner: innerParams{ + timeout: timeout, + }, + } +} + +// NewDeleteTenantMembershipParamsWithContext creates a new DeleteTenantMembershipParams object +// with the ability to set a context for a request. +// +// Deprecated: use the operation call with context to pass the context instead of [DeleteTenantMembershipParams]. +func NewDeleteTenantMembershipParamsWithContext(ctx context.Context) *DeleteTenantMembershipParams { + return &DeleteTenantMembershipParams{ + inner: innerParams{ + ctx: ctx, + }, + } +} + +// NewDeleteTenantMembershipParamsWithHTTPClient creates a new DeleteTenantMembershipParams object +// with the ability to set a custom HTTPClient for a request. +func NewDeleteTenantMembershipParamsWithHTTPClient(client *http.Client) *DeleteTenantMembershipParams { + return &DeleteTenantMembershipParams{ + HTTPClient: client, + } +} + +/* +DeleteTenantMembershipParams contains all the parameters to send to the API endpoint + + for the delete tenant membership operation. + + Typically these are written to a http.Request. +*/ +type DeleteTenantMembershipParams struct { + + // XRequestID. + // + // Optional bounded correlation identifier stored with membership audit events. + XRequestID *string + + // LastModifiedDate. + // + // Optimistic concurrency token from the latest representation. + // + // Format: date-time + LastModifiedDate strfmt.DateTime + + // MembershipID. + // + // Format: uuid + MembershipID strfmt.UUID + + HTTPClient *http.Client + + inner innerParams +} + +// WithDefaults hydrates default values in the delete tenant membership params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *DeleteTenantMembershipParams) WithDefaults() *DeleteTenantMembershipParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the delete tenant membership params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *DeleteTenantMembershipParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the delete tenant membership params. +func (o *DeleteTenantMembershipParams) WithTimeout(timeout time.Duration) *DeleteTenantMembershipParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the delete tenant membership params. +func (o *DeleteTenantMembershipParams) SetTimeout(timeout time.Duration) { + o.inner.timeout = timeout +} + +// WithContext adds the context to the delete tenant membership params. +// +// Deprecated: use the operation call with context to pass the context instead of [DeleteTenantMembershipParams]. +func (o *DeleteTenantMembershipParams) WithContext(ctx context.Context) *DeleteTenantMembershipParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the delete tenant membership params. +// +// Deprecated: use the operation call with context to pass the context instead of [DeleteTenantMembershipParams]. +func (o *DeleteTenantMembershipParams) SetContext(ctx context.Context) { + o.inner.ctx = ctx +} + +// WithHTTPClient adds the HTTPClient to the delete tenant membership params. +func (o *DeleteTenantMembershipParams) WithHTTPClient(client *http.Client) *DeleteTenantMembershipParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the delete tenant membership params. +func (o *DeleteTenantMembershipParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithXRequestID adds the xRequestID to the delete tenant membership params. +func (o *DeleteTenantMembershipParams) WithXRequestID(xRequestID *string) *DeleteTenantMembershipParams { + o.SetXRequestID(xRequestID) + return o +} + +// SetXRequestID adds the xRequestId to the delete tenant membership params. +func (o *DeleteTenantMembershipParams) SetXRequestID(xRequestID *string) { + o.XRequestID = xRequestID +} + +// WithLastModifiedDate adds the lastModifiedDate to the delete tenant membership params. +func (o *DeleteTenantMembershipParams) WithLastModifiedDate(lastModifiedDate strfmt.DateTime) *DeleteTenantMembershipParams { + o.SetLastModifiedDate(lastModifiedDate) + return o +} + +// SetLastModifiedDate adds the lastModifiedDate to the delete tenant membership params. +func (o *DeleteTenantMembershipParams) SetLastModifiedDate(lastModifiedDate strfmt.DateTime) { + o.LastModifiedDate = lastModifiedDate +} + +// WithMembershipID adds the membershipID to the delete tenant membership params. +func (o *DeleteTenantMembershipParams) WithMembershipID(membershipID strfmt.UUID) *DeleteTenantMembershipParams { + o.SetMembershipID(membershipID) + return o +} + +// SetMembershipID adds the membershipId to the delete tenant membership params. +func (o *DeleteTenantMembershipParams) SetMembershipID(membershipID strfmt.UUID) { + o.MembershipID = membershipID +} + +// WriteToRequest writes these params to a [runtime.ClientRequest]. +func (o *DeleteTenantMembershipParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + if err := r.SetTimeout(o.inner.timeout); err != nil { + return err + } + var res []error + + if o.XRequestID != nil { + + // header param X-Request-ID + if err := r.SetHeaderParam("X-Request-ID", *o.XRequestID); err != nil { + return err + } + } + + // query param lastModifiedDate + qrLastModifiedDate := o.LastModifiedDate + qLastModifiedDate := qrLastModifiedDate.String() + if qLastModifiedDate != "" { + + if err := r.SetQueryParam("lastModifiedDate", qLastModifiedDate); err != nil { + return err + } + } + + // path param membershipId + if err := r.SetPathParam("membershipId", o.MembershipID.String()); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/members/members_client/portal_memberships/delete_tenant_membership_responses.go b/api/members/members_client/portal_memberships/delete_tenant_membership_responses.go new file mode 100644 index 0000000..f847fb1 --- /dev/null +++ b/api/members/members_client/portal_memberships/delete_tenant_membership_responses.go @@ -0,0 +1,345 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package portal_memberships + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "code.tnxs.net/vernonkeenan/lib/api/members/members_models" + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" +) + +// DeleteTenantMembershipReader is a Reader for the DeleteTenantMembership structure. +type DeleteTenantMembershipReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *DeleteTenantMembershipReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewDeleteTenantMembershipOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 401: + result := NewDeleteTenantMembershipUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewDeleteTenantMembershipNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewDeleteTenantMembershipConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewDeleteTenantMembershipInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[DELETE /tenantmemberships/{membershipId}] deleteTenantMembership", response, response.Code()) + } +} + +// NewDeleteTenantMembershipOK creates a DeleteTenantMembershipOK with default headers values +func NewDeleteTenantMembershipOK() *DeleteTenantMembershipOK { + return &DeleteTenantMembershipOK{} +} + +// DeleteTenantMembershipOK describes a response with status code 200, with default header values. +// +// Revoked membership +type DeleteTenantMembershipOK struct { + Payload *members_models.TenantMembershipResponse +} + +// IsSuccess returns true when this delete tenant membership o k response has a 2xx status code +func (o *DeleteTenantMembershipOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this delete tenant membership o k response has a 3xx status code +func (o *DeleteTenantMembershipOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this delete tenant membership o k response has a 4xx status code +func (o *DeleteTenantMembershipOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this delete tenant membership o k response has a 5xx status code +func (o *DeleteTenantMembershipOK) IsServerError() bool { + return false +} + +// IsCode returns true when this delete tenant membership o k response a status code equal to that given +func (o *DeleteTenantMembershipOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the delete tenant membership o k response +func (o *DeleteTenantMembershipOK) Code() int { + return 200 +} + +func (o *DeleteTenantMembershipOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /tenantmemberships/{membershipId}][%d] deleteTenantMembershipOK %s", 200, payload) +} + +func (o *DeleteTenantMembershipOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[DELETE /tenantmemberships/{membershipId}][%d] deleteTenantMembershipOK %s", 200, payload) +} + +func (o *DeleteTenantMembershipOK) GetPayload() *members_models.TenantMembershipResponse { + return o.Payload +} + +func (o *DeleteTenantMembershipOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(members_models.TenantMembershipResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewDeleteTenantMembershipUnauthorized creates a DeleteTenantMembershipUnauthorized with default headers values +func NewDeleteTenantMembershipUnauthorized() *DeleteTenantMembershipUnauthorized { + return &DeleteTenantMembershipUnauthorized{} +} + +// DeleteTenantMembershipUnauthorized describes a response with status code 401, with default header values. +// +// Missing or invalid server or session credential +type DeleteTenantMembershipUnauthorized struct { +} + +// IsSuccess returns true when this delete tenant membership unauthorized response has a 2xx status code +func (o *DeleteTenantMembershipUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this delete tenant membership unauthorized response has a 3xx status code +func (o *DeleteTenantMembershipUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this delete tenant membership unauthorized response has a 4xx status code +func (o *DeleteTenantMembershipUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this delete tenant membership unauthorized response has a 5xx status code +func (o *DeleteTenantMembershipUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this delete tenant membership unauthorized response a status code equal to that given +func (o *DeleteTenantMembershipUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the delete tenant membership unauthorized response +func (o *DeleteTenantMembershipUnauthorized) Code() int { + return 401 +} + +func (o *DeleteTenantMembershipUnauthorized) Error() string { + return fmt.Sprintf("[DELETE /tenantmemberships/{membershipId}][%d] deleteTenantMembershipUnauthorized", 401) +} + +func (o *DeleteTenantMembershipUnauthorized) String() string { + return fmt.Sprintf("[DELETE /tenantmemberships/{membershipId}][%d] deleteTenantMembershipUnauthorized", 401) +} + +func (o *DeleteTenantMembershipUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewDeleteTenantMembershipNotFound creates a DeleteTenantMembershipNotFound with default headers values +func NewDeleteTenantMembershipNotFound() *DeleteTenantMembershipNotFound { + return &DeleteTenantMembershipNotFound{} +} + +// DeleteTenantMembershipNotFound describes a response with status code 404, with default header values. +// +// Membership is absent, foreign, or unauthorized +type DeleteTenantMembershipNotFound struct { +} + +// IsSuccess returns true when this delete tenant membership not found response has a 2xx status code +func (o *DeleteTenantMembershipNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this delete tenant membership not found response has a 3xx status code +func (o *DeleteTenantMembershipNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this delete tenant membership not found response has a 4xx status code +func (o *DeleteTenantMembershipNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this delete tenant membership not found response has a 5xx status code +func (o *DeleteTenantMembershipNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this delete tenant membership not found response a status code equal to that given +func (o *DeleteTenantMembershipNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the delete tenant membership not found response +func (o *DeleteTenantMembershipNotFound) Code() int { + return 404 +} + +func (o *DeleteTenantMembershipNotFound) Error() string { + return fmt.Sprintf("[DELETE /tenantmemberships/{membershipId}][%d] deleteTenantMembershipNotFound", 404) +} + +func (o *DeleteTenantMembershipNotFound) String() string { + return fmt.Sprintf("[DELETE /tenantmemberships/{membershipId}][%d] deleteTenantMembershipNotFound", 404) +} + +func (o *DeleteTenantMembershipNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewDeleteTenantMembershipConflict creates a DeleteTenantMembershipConflict with default headers values +func NewDeleteTenantMembershipConflict() *DeleteTenantMembershipConflict { + return &DeleteTenantMembershipConflict{} +} + +// DeleteTenantMembershipConflict describes a response with status code 409, with default header values. +// +// Optimistic, self-change, owner, or state conflict +type DeleteTenantMembershipConflict struct { +} + +// IsSuccess returns true when this delete tenant membership conflict response has a 2xx status code +func (o *DeleteTenantMembershipConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this delete tenant membership conflict response has a 3xx status code +func (o *DeleteTenantMembershipConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this delete tenant membership conflict response has a 4xx status code +func (o *DeleteTenantMembershipConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this delete tenant membership conflict response has a 5xx status code +func (o *DeleteTenantMembershipConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this delete tenant membership conflict response a status code equal to that given +func (o *DeleteTenantMembershipConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the delete tenant membership conflict response +func (o *DeleteTenantMembershipConflict) Code() int { + return 409 +} + +func (o *DeleteTenantMembershipConflict) Error() string { + return fmt.Sprintf("[DELETE /tenantmemberships/{membershipId}][%d] deleteTenantMembershipConflict", 409) +} + +func (o *DeleteTenantMembershipConflict) String() string { + return fmt.Sprintf("[DELETE /tenantmemberships/{membershipId}][%d] deleteTenantMembershipConflict", 409) +} + +func (o *DeleteTenantMembershipConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewDeleteTenantMembershipInternalServerError creates a DeleteTenantMembershipInternalServerError with default headers values +func NewDeleteTenantMembershipInternalServerError() *DeleteTenantMembershipInternalServerError { + return &DeleteTenantMembershipInternalServerError{} +} + +// DeleteTenantMembershipInternalServerError describes a response with status code 500, with default header values. +// +// Server error +type DeleteTenantMembershipInternalServerError struct { +} + +// IsSuccess returns true when this delete tenant membership internal server error response has a 2xx status code +func (o *DeleteTenantMembershipInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this delete tenant membership internal server error response has a 3xx status code +func (o *DeleteTenantMembershipInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this delete tenant membership internal server error response has a 4xx status code +func (o *DeleteTenantMembershipInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this delete tenant membership internal server error response has a 5xx status code +func (o *DeleteTenantMembershipInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this delete tenant membership internal server error response a status code equal to that given +func (o *DeleteTenantMembershipInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the delete tenant membership internal server error response +func (o *DeleteTenantMembershipInternalServerError) Code() int { + return 500 +} + +func (o *DeleteTenantMembershipInternalServerError) Error() string { + return fmt.Sprintf("[DELETE /tenantmemberships/{membershipId}][%d] deleteTenantMembershipInternalServerError", 500) +} + +func (o *DeleteTenantMembershipInternalServerError) String() string { + return fmt.Sprintf("[DELETE /tenantmemberships/{membershipId}][%d] deleteTenantMembershipInternalServerError", 500) +} + +func (o *DeleteTenantMembershipInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} diff --git a/api/members/members_client/portal_memberships/get_manageable_tenants_parameters.go b/api/members/members_client/portal_memberships/get_manageable_tenants_parameters.go new file mode 100644 index 0000000..3e23ec0 --- /dev/null +++ b/api/members/members_client/portal_memberships/get_manageable_tenants_parameters.go @@ -0,0 +1,219 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package portal_memberships + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag/conv" +) + +// NewGetManageableTenantsParams creates a new GetManageableTenantsParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetManageableTenantsParams() *GetManageableTenantsParams { + return NewGetManageableTenantsParamsWithTimeout(cr.DefaultTimeout) +} + +// NewGetManageableTenantsParamsWithTimeout creates a new GetManageableTenantsParams object +// with the ability to set a timeout on a request. +func NewGetManageableTenantsParamsWithTimeout(timeout time.Duration) *GetManageableTenantsParams { + return &GetManageableTenantsParams{ + inner: innerParams{ + timeout: timeout, + }, + } +} + +// NewGetManageableTenantsParamsWithContext creates a new GetManageableTenantsParams object +// with the ability to set a context for a request. +// +// Deprecated: use the operation call with context to pass the context instead of [GetManageableTenantsParams]. +func NewGetManageableTenantsParamsWithContext(ctx context.Context) *GetManageableTenantsParams { + return &GetManageableTenantsParams{ + inner: innerParams{ + ctx: ctx, + }, + } +} + +// NewGetManageableTenantsParamsWithHTTPClient creates a new GetManageableTenantsParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetManageableTenantsParamsWithHTTPClient(client *http.Client) *GetManageableTenantsParams { + return &GetManageableTenantsParams{ + HTTPClient: client, + } +} + +/* +GetManageableTenantsParams contains all the parameters to send to the API endpoint + + for the get manageable tenants operation. + + Typically these are written to a http.Request. +*/ +type GetManageableTenantsParams struct { + + // Limit. + // + // Format: int64 + // Default: 100 + Limit *int64 + + // Offset. + // + // Format: int64 + Offset *int64 + + HTTPClient *http.Client + + inner innerParams +} + +// WithDefaults hydrates default values in the get manageable tenants params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetManageableTenantsParams) WithDefaults() *GetManageableTenantsParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get manageable tenants params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetManageableTenantsParams) SetDefaults() { + var ( + limitDefault = int64(100) + + offsetDefault = int64(0) + ) + + val := GetManageableTenantsParams{ + Limit: &limitDefault, + Offset: &offsetDefault, + } + + val.inner.timeout = o.inner.timeout + val.inner.ctx = o.inner.ctx + val.HTTPClient = o.HTTPClient + *o = val +} + +// WithTimeout adds the timeout to the get manageable tenants params. +func (o *GetManageableTenantsParams) WithTimeout(timeout time.Duration) *GetManageableTenantsParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get manageable tenants params. +func (o *GetManageableTenantsParams) SetTimeout(timeout time.Duration) { + o.inner.timeout = timeout +} + +// WithContext adds the context to the get manageable tenants params. +// +// Deprecated: use the operation call with context to pass the context instead of [GetManageableTenantsParams]. +func (o *GetManageableTenantsParams) WithContext(ctx context.Context) *GetManageableTenantsParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get manageable tenants params. +// +// Deprecated: use the operation call with context to pass the context instead of [GetManageableTenantsParams]. +func (o *GetManageableTenantsParams) SetContext(ctx context.Context) { + o.inner.ctx = ctx +} + +// WithHTTPClient adds the HTTPClient to the get manageable tenants params. +func (o *GetManageableTenantsParams) WithHTTPClient(client *http.Client) *GetManageableTenantsParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get manageable tenants params. +func (o *GetManageableTenantsParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithLimit adds the limit to the get manageable tenants params. +func (o *GetManageableTenantsParams) WithLimit(limit *int64) *GetManageableTenantsParams { + o.SetLimit(limit) + return o +} + +// SetLimit adds the limit to the get manageable tenants params. +func (o *GetManageableTenantsParams) SetLimit(limit *int64) { + o.Limit = limit +} + +// WithOffset adds the offset to the get manageable tenants params. +func (o *GetManageableTenantsParams) WithOffset(offset *int64) *GetManageableTenantsParams { + o.SetOffset(offset) + return o +} + +// SetOffset adds the offset to the get manageable tenants params. +func (o *GetManageableTenantsParams) SetOffset(offset *int64) { + o.Offset = offset +} + +// WriteToRequest writes these params to a [runtime.ClientRequest]. +func (o *GetManageableTenantsParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + if err := r.SetTimeout(o.inner.timeout); err != nil { + return err + } + var res []error + + if o.Limit != nil { + + // query param limit + var qrLimit int64 + + if o.Limit != nil { + qrLimit = *o.Limit + } + qLimit := conv.FormatInteger(qrLimit) + if qLimit != "" { + + if err := r.SetQueryParam("limit", qLimit); err != nil { + return err + } + } + } + + if o.Offset != nil { + + // query param offset + var qrOffset int64 + + if o.Offset != nil { + qrOffset = *o.Offset + } + qOffset := conv.FormatInteger(qrOffset) + if qOffset != "" { + + if err := r.SetQueryParam("offset", qOffset); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/members/members_client/portal_memberships/get_manageable_tenants_responses.go b/api/members/members_client/portal_memberships/get_manageable_tenants_responses.go new file mode 100644 index 0000000..c626f77 --- /dev/null +++ b/api/members/members_client/portal_memberships/get_manageable_tenants_responses.go @@ -0,0 +1,285 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package portal_memberships + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "code.tnxs.net/vernonkeenan/lib/api/members/members_models" + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" +) + +// GetManageableTenantsReader is a Reader for the GetManageableTenants structure. +type GetManageableTenantsReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetManageableTenantsReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewGetManageableTenantsOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewGetManageableTenantsBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewGetManageableTenantsUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewGetManageableTenantsInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /manageabletenants] getManageableTenants", response, response.Code()) + } +} + +// NewGetManageableTenantsOK creates a GetManageableTenantsOK with default headers values +func NewGetManageableTenantsOK() *GetManageableTenantsOK { + return &GetManageableTenantsOK{} +} + +// GetManageableTenantsOK describes a response with status code 200, with default header values. +// +// Actor-derived manageable tenant contexts +type GetManageableTenantsOK struct { + Payload *members_models.ManageableTenantResponse +} + +// IsSuccess returns true when this get manageable tenants o k response has a 2xx status code +func (o *GetManageableTenantsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get manageable tenants o k response has a 3xx status code +func (o *GetManageableTenantsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get manageable tenants o k response has a 4xx status code +func (o *GetManageableTenantsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get manageable tenants o k response has a 5xx status code +func (o *GetManageableTenantsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get manageable tenants o k response a status code equal to that given +func (o *GetManageableTenantsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get manageable tenants o k response +func (o *GetManageableTenantsOK) Code() int { + return 200 +} + +func (o *GetManageableTenantsOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /manageabletenants][%d] getManageableTenantsOK %s", 200, payload) +} + +func (o *GetManageableTenantsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /manageabletenants][%d] getManageableTenantsOK %s", 200, payload) +} + +func (o *GetManageableTenantsOK) GetPayload() *members_models.ManageableTenantResponse { + return o.Payload +} + +func (o *GetManageableTenantsOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(members_models.ManageableTenantResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewGetManageableTenantsBadRequest creates a GetManageableTenantsBadRequest with default headers values +func NewGetManageableTenantsBadRequest() *GetManageableTenantsBadRequest { + return &GetManageableTenantsBadRequest{} +} + +// GetManageableTenantsBadRequest describes a response with status code 400, with default header values. +// +// Invalid pagination +type GetManageableTenantsBadRequest struct { +} + +// IsSuccess returns true when this get manageable tenants bad request response has a 2xx status code +func (o *GetManageableTenantsBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this get manageable tenants bad request response has a 3xx status code +func (o *GetManageableTenantsBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get manageable tenants bad request response has a 4xx status code +func (o *GetManageableTenantsBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this get manageable tenants bad request response has a 5xx status code +func (o *GetManageableTenantsBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this get manageable tenants bad request response a status code equal to that given +func (o *GetManageableTenantsBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the get manageable tenants bad request response +func (o *GetManageableTenantsBadRequest) Code() int { + return 400 +} + +func (o *GetManageableTenantsBadRequest) Error() string { + return fmt.Sprintf("[GET /manageabletenants][%d] getManageableTenantsBadRequest", 400) +} + +func (o *GetManageableTenantsBadRequest) String() string { + return fmt.Sprintf("[GET /manageabletenants][%d] getManageableTenantsBadRequest", 400) +} + +func (o *GetManageableTenantsBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewGetManageableTenantsUnauthorized creates a GetManageableTenantsUnauthorized with default headers values +func NewGetManageableTenantsUnauthorized() *GetManageableTenantsUnauthorized { + return &GetManageableTenantsUnauthorized{} +} + +// GetManageableTenantsUnauthorized describes a response with status code 401, with default header values. +// +// Missing or invalid server or session credential +type GetManageableTenantsUnauthorized struct { +} + +// IsSuccess returns true when this get manageable tenants unauthorized response has a 2xx status code +func (o *GetManageableTenantsUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this get manageable tenants unauthorized response has a 3xx status code +func (o *GetManageableTenantsUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get manageable tenants unauthorized response has a 4xx status code +func (o *GetManageableTenantsUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this get manageable tenants unauthorized response has a 5xx status code +func (o *GetManageableTenantsUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this get manageable tenants unauthorized response a status code equal to that given +func (o *GetManageableTenantsUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the get manageable tenants unauthorized response +func (o *GetManageableTenantsUnauthorized) Code() int { + return 401 +} + +func (o *GetManageableTenantsUnauthorized) Error() string { + return fmt.Sprintf("[GET /manageabletenants][%d] getManageableTenantsUnauthorized", 401) +} + +func (o *GetManageableTenantsUnauthorized) String() string { + return fmt.Sprintf("[GET /manageabletenants][%d] getManageableTenantsUnauthorized", 401) +} + +func (o *GetManageableTenantsUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewGetManageableTenantsInternalServerError creates a GetManageableTenantsInternalServerError with default headers values +func NewGetManageableTenantsInternalServerError() *GetManageableTenantsInternalServerError { + return &GetManageableTenantsInternalServerError{} +} + +// GetManageableTenantsInternalServerError describes a response with status code 500, with default header values. +// +// Server error +type GetManageableTenantsInternalServerError struct { +} + +// IsSuccess returns true when this get manageable tenants internal server error response has a 2xx status code +func (o *GetManageableTenantsInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this get manageable tenants internal server error response has a 3xx status code +func (o *GetManageableTenantsInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get manageable tenants internal server error response has a 4xx status code +func (o *GetManageableTenantsInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this get manageable tenants internal server error response has a 5xx status code +func (o *GetManageableTenantsInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this get manageable tenants internal server error response a status code equal to that given +func (o *GetManageableTenantsInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the get manageable tenants internal server error response +func (o *GetManageableTenantsInternalServerError) Code() int { + return 500 +} + +func (o *GetManageableTenantsInternalServerError) Error() string { + return fmt.Sprintf("[GET /manageabletenants][%d] getManageableTenantsInternalServerError", 500) +} + +func (o *GetManageableTenantsInternalServerError) String() string { + return fmt.Sprintf("[GET /manageabletenants][%d] getManageableTenantsInternalServerError", 500) +} + +func (o *GetManageableTenantsInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} diff --git a/api/members/members_client/portal_memberships/get_tenant_membership_parameters.go b/api/members/members_client/portal_memberships/get_tenant_membership_parameters.go new file mode 100644 index 0000000..a135d65 --- /dev/null +++ b/api/members/members_client/portal_memberships/get_tenant_membership_parameters.go @@ -0,0 +1,158 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package portal_memberships + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewGetTenantMembershipParams creates a new GetTenantMembershipParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetTenantMembershipParams() *GetTenantMembershipParams { + return NewGetTenantMembershipParamsWithTimeout(cr.DefaultTimeout) +} + +// NewGetTenantMembershipParamsWithTimeout creates a new GetTenantMembershipParams object +// with the ability to set a timeout on a request. +func NewGetTenantMembershipParamsWithTimeout(timeout time.Duration) *GetTenantMembershipParams { + return &GetTenantMembershipParams{ + inner: innerParams{ + timeout: timeout, + }, + } +} + +// NewGetTenantMembershipParamsWithContext creates a new GetTenantMembershipParams object +// with the ability to set a context for a request. +// +// Deprecated: use the operation call with context to pass the context instead of [GetTenantMembershipParams]. +func NewGetTenantMembershipParamsWithContext(ctx context.Context) *GetTenantMembershipParams { + return &GetTenantMembershipParams{ + inner: innerParams{ + ctx: ctx, + }, + } +} + +// NewGetTenantMembershipParamsWithHTTPClient creates a new GetTenantMembershipParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetTenantMembershipParamsWithHTTPClient(client *http.Client) *GetTenantMembershipParams { + return &GetTenantMembershipParams{ + HTTPClient: client, + } +} + +/* +GetTenantMembershipParams contains all the parameters to send to the API endpoint + + for the get tenant membership operation. + + Typically these are written to a http.Request. +*/ +type GetTenantMembershipParams struct { + + // MembershipID. + // + // Format: uuid + MembershipID strfmt.UUID + + HTTPClient *http.Client + + inner innerParams +} + +// WithDefaults hydrates default values in the get tenant membership params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetTenantMembershipParams) WithDefaults() *GetTenantMembershipParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get tenant membership params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetTenantMembershipParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the get tenant membership params. +func (o *GetTenantMembershipParams) WithTimeout(timeout time.Duration) *GetTenantMembershipParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get tenant membership params. +func (o *GetTenantMembershipParams) SetTimeout(timeout time.Duration) { + o.inner.timeout = timeout +} + +// WithContext adds the context to the get tenant membership params. +// +// Deprecated: use the operation call with context to pass the context instead of [GetTenantMembershipParams]. +func (o *GetTenantMembershipParams) WithContext(ctx context.Context) *GetTenantMembershipParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get tenant membership params. +// +// Deprecated: use the operation call with context to pass the context instead of [GetTenantMembershipParams]. +func (o *GetTenantMembershipParams) SetContext(ctx context.Context) { + o.inner.ctx = ctx +} + +// WithHTTPClient adds the HTTPClient to the get tenant membership params. +func (o *GetTenantMembershipParams) WithHTTPClient(client *http.Client) *GetTenantMembershipParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get tenant membership params. +func (o *GetTenantMembershipParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithMembershipID adds the membershipID to the get tenant membership params. +func (o *GetTenantMembershipParams) WithMembershipID(membershipID strfmt.UUID) *GetTenantMembershipParams { + o.SetMembershipID(membershipID) + return o +} + +// SetMembershipID adds the membershipId to the get tenant membership params. +func (o *GetTenantMembershipParams) SetMembershipID(membershipID strfmt.UUID) { + o.MembershipID = membershipID +} + +// WriteToRequest writes these params to a [runtime.ClientRequest]. +func (o *GetTenantMembershipParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + if err := r.SetTimeout(o.inner.timeout); err != nil { + return err + } + var res []error + + // path param membershipId + if err := r.SetPathParam("membershipId", o.MembershipID.String()); err != nil { + return err + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/members/members_client/portal_memberships/get_tenant_membership_responses.go b/api/members/members_client/portal_memberships/get_tenant_membership_responses.go new file mode 100644 index 0000000..f7777ed --- /dev/null +++ b/api/members/members_client/portal_memberships/get_tenant_membership_responses.go @@ -0,0 +1,285 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package portal_memberships + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "code.tnxs.net/vernonkeenan/lib/api/members/members_models" + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" +) + +// GetTenantMembershipReader is a Reader for the GetTenantMembership structure. +type GetTenantMembershipReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetTenantMembershipReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewGetTenantMembershipOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 401: + result := NewGetTenantMembershipUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewGetTenantMembershipNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewGetTenantMembershipInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /tenantmemberships/{membershipId}] getTenantMembership", response, response.Code()) + } +} + +// NewGetTenantMembershipOK creates a GetTenantMembershipOK with default headers values +func NewGetTenantMembershipOK() *GetTenantMembershipOK { + return &GetTenantMembershipOK{} +} + +// GetTenantMembershipOK describes a response with status code 200, with default header values. +// +// Tenant membership +type GetTenantMembershipOK struct { + Payload *members_models.TenantMembershipResponse +} + +// IsSuccess returns true when this get tenant membership o k response has a 2xx status code +func (o *GetTenantMembershipOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get tenant membership o k response has a 3xx status code +func (o *GetTenantMembershipOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get tenant membership o k response has a 4xx status code +func (o *GetTenantMembershipOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get tenant membership o k response has a 5xx status code +func (o *GetTenantMembershipOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get tenant membership o k response a status code equal to that given +func (o *GetTenantMembershipOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get tenant membership o k response +func (o *GetTenantMembershipOK) Code() int { + return 200 +} + +func (o *GetTenantMembershipOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /tenantmemberships/{membershipId}][%d] getTenantMembershipOK %s", 200, payload) +} + +func (o *GetTenantMembershipOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /tenantmemberships/{membershipId}][%d] getTenantMembershipOK %s", 200, payload) +} + +func (o *GetTenantMembershipOK) GetPayload() *members_models.TenantMembershipResponse { + return o.Payload +} + +func (o *GetTenantMembershipOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(members_models.TenantMembershipResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewGetTenantMembershipUnauthorized creates a GetTenantMembershipUnauthorized with default headers values +func NewGetTenantMembershipUnauthorized() *GetTenantMembershipUnauthorized { + return &GetTenantMembershipUnauthorized{} +} + +// GetTenantMembershipUnauthorized describes a response with status code 401, with default header values. +// +// Missing or invalid server or session credential +type GetTenantMembershipUnauthorized struct { +} + +// IsSuccess returns true when this get tenant membership unauthorized response has a 2xx status code +func (o *GetTenantMembershipUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this get tenant membership unauthorized response has a 3xx status code +func (o *GetTenantMembershipUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get tenant membership unauthorized response has a 4xx status code +func (o *GetTenantMembershipUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this get tenant membership unauthorized response has a 5xx status code +func (o *GetTenantMembershipUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this get tenant membership unauthorized response a status code equal to that given +func (o *GetTenantMembershipUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the get tenant membership unauthorized response +func (o *GetTenantMembershipUnauthorized) Code() int { + return 401 +} + +func (o *GetTenantMembershipUnauthorized) Error() string { + return fmt.Sprintf("[GET /tenantmemberships/{membershipId}][%d] getTenantMembershipUnauthorized", 401) +} + +func (o *GetTenantMembershipUnauthorized) String() string { + return fmt.Sprintf("[GET /tenantmemberships/{membershipId}][%d] getTenantMembershipUnauthorized", 401) +} + +func (o *GetTenantMembershipUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewGetTenantMembershipNotFound creates a GetTenantMembershipNotFound with default headers values +func NewGetTenantMembershipNotFound() *GetTenantMembershipNotFound { + return &GetTenantMembershipNotFound{} +} + +// GetTenantMembershipNotFound describes a response with status code 404, with default header values. +// +// Membership is absent, foreign, or unauthorized +type GetTenantMembershipNotFound struct { +} + +// IsSuccess returns true when this get tenant membership not found response has a 2xx status code +func (o *GetTenantMembershipNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this get tenant membership not found response has a 3xx status code +func (o *GetTenantMembershipNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get tenant membership not found response has a 4xx status code +func (o *GetTenantMembershipNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this get tenant membership not found response has a 5xx status code +func (o *GetTenantMembershipNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this get tenant membership not found response a status code equal to that given +func (o *GetTenantMembershipNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the get tenant membership not found response +func (o *GetTenantMembershipNotFound) Code() int { + return 404 +} + +func (o *GetTenantMembershipNotFound) Error() string { + return fmt.Sprintf("[GET /tenantmemberships/{membershipId}][%d] getTenantMembershipNotFound", 404) +} + +func (o *GetTenantMembershipNotFound) String() string { + return fmt.Sprintf("[GET /tenantmemberships/{membershipId}][%d] getTenantMembershipNotFound", 404) +} + +func (o *GetTenantMembershipNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewGetTenantMembershipInternalServerError creates a GetTenantMembershipInternalServerError with default headers values +func NewGetTenantMembershipInternalServerError() *GetTenantMembershipInternalServerError { + return &GetTenantMembershipInternalServerError{} +} + +// GetTenantMembershipInternalServerError describes a response with status code 500, with default header values. +// +// Server error +type GetTenantMembershipInternalServerError struct { +} + +// IsSuccess returns true when this get tenant membership internal server error response has a 2xx status code +func (o *GetTenantMembershipInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this get tenant membership internal server error response has a 3xx status code +func (o *GetTenantMembershipInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get tenant membership internal server error response has a 4xx status code +func (o *GetTenantMembershipInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this get tenant membership internal server error response has a 5xx status code +func (o *GetTenantMembershipInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this get tenant membership internal server error response a status code equal to that given +func (o *GetTenantMembershipInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the get tenant membership internal server error response +func (o *GetTenantMembershipInternalServerError) Code() int { + return 500 +} + +func (o *GetTenantMembershipInternalServerError) Error() string { + return fmt.Sprintf("[GET /tenantmemberships/{membershipId}][%d] getTenantMembershipInternalServerError", 500) +} + +func (o *GetTenantMembershipInternalServerError) String() string { + return fmt.Sprintf("[GET /tenantmemberships/{membershipId}][%d] getTenantMembershipInternalServerError", 500) +} + +func (o *GetTenantMembershipInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} diff --git a/api/members/members_client/portal_memberships/get_tenant_memberships_parameters.go b/api/members/members_client/portal_memberships/get_tenant_memberships_parameters.go new file mode 100644 index 0000000..f425f5c --- /dev/null +++ b/api/members/members_client/portal_memberships/get_tenant_memberships_parameters.go @@ -0,0 +1,384 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package portal_memberships + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag/conv" +) + +// NewGetTenantMembershipsParams creates a new GetTenantMembershipsParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewGetTenantMembershipsParams() *GetTenantMembershipsParams { + return NewGetTenantMembershipsParamsWithTimeout(cr.DefaultTimeout) +} + +// NewGetTenantMembershipsParamsWithTimeout creates a new GetTenantMembershipsParams object +// with the ability to set a timeout on a request. +func NewGetTenantMembershipsParamsWithTimeout(timeout time.Duration) *GetTenantMembershipsParams { + return &GetTenantMembershipsParams{ + inner: innerParams{ + timeout: timeout, + }, + } +} + +// NewGetTenantMembershipsParamsWithContext creates a new GetTenantMembershipsParams object +// with the ability to set a context for a request. +// +// Deprecated: use the operation call with context to pass the context instead of [GetTenantMembershipsParams]. +func NewGetTenantMembershipsParamsWithContext(ctx context.Context) *GetTenantMembershipsParams { + return &GetTenantMembershipsParams{ + inner: innerParams{ + ctx: ctx, + }, + } +} + +// NewGetTenantMembershipsParamsWithHTTPClient creates a new GetTenantMembershipsParams object +// with the ability to set a custom HTTPClient for a request. +func NewGetTenantMembershipsParamsWithHTTPClient(client *http.Client) *GetTenantMembershipsParams { + return &GetTenantMembershipsParams{ + HTTPClient: client, + } +} + +/* +GetTenantMembershipsParams contains all the parameters to send to the API endpoint + + for the get tenant memberships operation. + + Typically these are written to a http.Request. +*/ +type GetTenantMembershipsParams struct { + + // AccessLevel. + AccessLevel *string + + // Email. + // + // Exact normalized email filter; result scope remains actor-derived. + // + // Format: email + Email *strfmt.Email + + // Limit. + // + // Format: int64 + // Default: 100 + Limit *int64 + + // Offset. + // + // Format: int64 + Offset *int64 + + // Status. + Status *string + + // TenantID. + // + // Tenant identifier; legacy Members tenant IDs are not all UUID formatted. + TenantID *string + + // UserID. + // + // Optional user scope; must be the actor or authorized by tenant role. + // + // Format: uuid + UserID *strfmt.UUID + + HTTPClient *http.Client + + inner innerParams +} + +// WithDefaults hydrates default values in the get tenant memberships params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetTenantMembershipsParams) WithDefaults() *GetTenantMembershipsParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the get tenant memberships params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *GetTenantMembershipsParams) SetDefaults() { + var ( + limitDefault = int64(100) + + offsetDefault = int64(0) + ) + + val := GetTenantMembershipsParams{ + Limit: &limitDefault, + Offset: &offsetDefault, + } + + val.inner.timeout = o.inner.timeout + val.inner.ctx = o.inner.ctx + val.HTTPClient = o.HTTPClient + *o = val +} + +// WithTimeout adds the timeout to the get tenant memberships params. +func (o *GetTenantMembershipsParams) WithTimeout(timeout time.Duration) *GetTenantMembershipsParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the get tenant memberships params. +func (o *GetTenantMembershipsParams) SetTimeout(timeout time.Duration) { + o.inner.timeout = timeout +} + +// WithContext adds the context to the get tenant memberships params. +// +// Deprecated: use the operation call with context to pass the context instead of [GetTenantMembershipsParams]. +func (o *GetTenantMembershipsParams) WithContext(ctx context.Context) *GetTenantMembershipsParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the get tenant memberships params. +// +// Deprecated: use the operation call with context to pass the context instead of [GetTenantMembershipsParams]. +func (o *GetTenantMembershipsParams) SetContext(ctx context.Context) { + o.inner.ctx = ctx +} + +// WithHTTPClient adds the HTTPClient to the get tenant memberships params. +func (o *GetTenantMembershipsParams) WithHTTPClient(client *http.Client) *GetTenantMembershipsParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the get tenant memberships params. +func (o *GetTenantMembershipsParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithAccessLevel adds the accessLevel to the get tenant memberships params. +func (o *GetTenantMembershipsParams) WithAccessLevel(accessLevel *string) *GetTenantMembershipsParams { + o.SetAccessLevel(accessLevel) + return o +} + +// SetAccessLevel adds the accessLevel to the get tenant memberships params. +func (o *GetTenantMembershipsParams) SetAccessLevel(accessLevel *string) { + o.AccessLevel = accessLevel +} + +// WithEmail adds the email to the get tenant memberships params. +func (o *GetTenantMembershipsParams) WithEmail(email *strfmt.Email) *GetTenantMembershipsParams { + o.SetEmail(email) + return o +} + +// SetEmail adds the email to the get tenant memberships params. +func (o *GetTenantMembershipsParams) SetEmail(email *strfmt.Email) { + o.Email = email +} + +// WithLimit adds the limit to the get tenant memberships params. +func (o *GetTenantMembershipsParams) WithLimit(limit *int64) *GetTenantMembershipsParams { + o.SetLimit(limit) + return o +} + +// SetLimit adds the limit to the get tenant memberships params. +func (o *GetTenantMembershipsParams) SetLimit(limit *int64) { + o.Limit = limit +} + +// WithOffset adds the offset to the get tenant memberships params. +func (o *GetTenantMembershipsParams) WithOffset(offset *int64) *GetTenantMembershipsParams { + o.SetOffset(offset) + return o +} + +// SetOffset adds the offset to the get tenant memberships params. +func (o *GetTenantMembershipsParams) SetOffset(offset *int64) { + o.Offset = offset +} + +// WithStatus adds the status to the get tenant memberships params. +func (o *GetTenantMembershipsParams) WithStatus(status *string) *GetTenantMembershipsParams { + o.SetStatus(status) + return o +} + +// SetStatus adds the status to the get tenant memberships params. +func (o *GetTenantMembershipsParams) SetStatus(status *string) { + o.Status = status +} + +// WithTenantID adds the tenantID to the get tenant memberships params. +func (o *GetTenantMembershipsParams) WithTenantID(tenantID *string) *GetTenantMembershipsParams { + o.SetTenantID(tenantID) + return o +} + +// SetTenantID adds the tenantId to the get tenant memberships params. +func (o *GetTenantMembershipsParams) SetTenantID(tenantID *string) { + o.TenantID = tenantID +} + +// WithUserID adds the userID to the get tenant memberships params. +func (o *GetTenantMembershipsParams) WithUserID(userID *strfmt.UUID) *GetTenantMembershipsParams { + o.SetUserID(userID) + return o +} + +// SetUserID adds the userId to the get tenant memberships params. +func (o *GetTenantMembershipsParams) SetUserID(userID *strfmt.UUID) { + o.UserID = userID +} + +// WriteToRequest writes these params to a [runtime.ClientRequest]. +func (o *GetTenantMembershipsParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + if err := r.SetTimeout(o.inner.timeout); err != nil { + return err + } + var res []error + + if o.AccessLevel != nil { + + // query param accessLevel + var qrAccessLevel string + + if o.AccessLevel != nil { + qrAccessLevel = *o.AccessLevel + } + qAccessLevel := qrAccessLevel + if qAccessLevel != "" { + + if err := r.SetQueryParam("accessLevel", qAccessLevel); err != nil { + return err + } + } + } + + if o.Email != nil { + + // query param email + var qrEmail strfmt.Email + + if o.Email != nil { + qrEmail = *o.Email + } + qEmail := qrEmail.String() + if qEmail != "" { + + if err := r.SetQueryParam("email", qEmail); err != nil { + return err + } + } + } + + if o.Limit != nil { + + // query param limit + var qrLimit int64 + + if o.Limit != nil { + qrLimit = *o.Limit + } + qLimit := conv.FormatInteger(qrLimit) + if qLimit != "" { + + if err := r.SetQueryParam("limit", qLimit); err != nil { + return err + } + } + } + + if o.Offset != nil { + + // query param offset + var qrOffset int64 + + if o.Offset != nil { + qrOffset = *o.Offset + } + qOffset := conv.FormatInteger(qrOffset) + if qOffset != "" { + + if err := r.SetQueryParam("offset", qOffset); err != nil { + return err + } + } + } + + if o.Status != nil { + + // query param status + var qrStatus string + + if o.Status != nil { + qrStatus = *o.Status + } + qStatus := qrStatus + if qStatus != "" { + + if err := r.SetQueryParam("status", qStatus); err != nil { + return err + } + } + } + + if o.TenantID != nil { + + // query param tenantId + var qrTenantID string + + if o.TenantID != nil { + qrTenantID = *o.TenantID + } + qTenantID := qrTenantID + if qTenantID != "" { + + if err := r.SetQueryParam("tenantId", qTenantID); err != nil { + return err + } + } + } + + if o.UserID != nil { + + // query param userId + var qrUserID strfmt.UUID + + if o.UserID != nil { + qrUserID = *o.UserID + } + qUserID := qrUserID.String() + if qUserID != "" { + + if err := r.SetQueryParam("userId", qUserID); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/members/members_client/portal_memberships/get_tenant_memberships_responses.go b/api/members/members_client/portal_memberships/get_tenant_memberships_responses.go new file mode 100644 index 0000000..08a61d5 --- /dev/null +++ b/api/members/members_client/portal_memberships/get_tenant_memberships_responses.go @@ -0,0 +1,345 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package portal_memberships + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "code.tnxs.net/vernonkeenan/lib/api/members/members_models" + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" +) + +// GetTenantMembershipsReader is a Reader for the GetTenantMemberships structure. +type GetTenantMembershipsReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *GetTenantMembershipsReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewGetTenantMembershipsOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewGetTenantMembershipsBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewGetTenantMembershipsUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewGetTenantMembershipsNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewGetTenantMembershipsInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[GET /tenantmemberships] getTenantMemberships", response, response.Code()) + } +} + +// NewGetTenantMembershipsOK creates a GetTenantMembershipsOK with default headers values +func NewGetTenantMembershipsOK() *GetTenantMembershipsOK { + return &GetTenantMembershipsOK{} +} + +// GetTenantMembershipsOK describes a response with status code 200, with default header values. +// +// Actor-scoped tenant memberships +type GetTenantMembershipsOK struct { + Payload *members_models.TenantMembershipListResponse +} + +// IsSuccess returns true when this get tenant memberships o k response has a 2xx status code +func (o *GetTenantMembershipsOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this get tenant memberships o k response has a 3xx status code +func (o *GetTenantMembershipsOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get tenant memberships o k response has a 4xx status code +func (o *GetTenantMembershipsOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this get tenant memberships o k response has a 5xx status code +func (o *GetTenantMembershipsOK) IsServerError() bool { + return false +} + +// IsCode returns true when this get tenant memberships o k response a status code equal to that given +func (o *GetTenantMembershipsOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the get tenant memberships o k response +func (o *GetTenantMembershipsOK) Code() int { + return 200 +} + +func (o *GetTenantMembershipsOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /tenantmemberships][%d] getTenantMembershipsOK %s", 200, payload) +} + +func (o *GetTenantMembershipsOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[GET /tenantmemberships][%d] getTenantMembershipsOK %s", 200, payload) +} + +func (o *GetTenantMembershipsOK) GetPayload() *members_models.TenantMembershipListResponse { + return o.Payload +} + +func (o *GetTenantMembershipsOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(members_models.TenantMembershipListResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewGetTenantMembershipsBadRequest creates a GetTenantMembershipsBadRequest with default headers values +func NewGetTenantMembershipsBadRequest() *GetTenantMembershipsBadRequest { + return &GetTenantMembershipsBadRequest{} +} + +// GetTenantMembershipsBadRequest describes a response with status code 400, with default header values. +// +// Invalid membership filter +type GetTenantMembershipsBadRequest struct { +} + +// IsSuccess returns true when this get tenant memberships bad request response has a 2xx status code +func (o *GetTenantMembershipsBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this get tenant memberships bad request response has a 3xx status code +func (o *GetTenantMembershipsBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get tenant memberships bad request response has a 4xx status code +func (o *GetTenantMembershipsBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this get tenant memberships bad request response has a 5xx status code +func (o *GetTenantMembershipsBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this get tenant memberships bad request response a status code equal to that given +func (o *GetTenantMembershipsBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the get tenant memberships bad request response +func (o *GetTenantMembershipsBadRequest) Code() int { + return 400 +} + +func (o *GetTenantMembershipsBadRequest) Error() string { + return fmt.Sprintf("[GET /tenantmemberships][%d] getTenantMembershipsBadRequest", 400) +} + +func (o *GetTenantMembershipsBadRequest) String() string { + return fmt.Sprintf("[GET /tenantmemberships][%d] getTenantMembershipsBadRequest", 400) +} + +func (o *GetTenantMembershipsBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewGetTenantMembershipsUnauthorized creates a GetTenantMembershipsUnauthorized with default headers values +func NewGetTenantMembershipsUnauthorized() *GetTenantMembershipsUnauthorized { + return &GetTenantMembershipsUnauthorized{} +} + +// GetTenantMembershipsUnauthorized describes a response with status code 401, with default header values. +// +// Missing or invalid server or session credential +type GetTenantMembershipsUnauthorized struct { +} + +// IsSuccess returns true when this get tenant memberships unauthorized response has a 2xx status code +func (o *GetTenantMembershipsUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this get tenant memberships unauthorized response has a 3xx status code +func (o *GetTenantMembershipsUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get tenant memberships unauthorized response has a 4xx status code +func (o *GetTenantMembershipsUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this get tenant memberships unauthorized response has a 5xx status code +func (o *GetTenantMembershipsUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this get tenant memberships unauthorized response a status code equal to that given +func (o *GetTenantMembershipsUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the get tenant memberships unauthorized response +func (o *GetTenantMembershipsUnauthorized) Code() int { + return 401 +} + +func (o *GetTenantMembershipsUnauthorized) Error() string { + return fmt.Sprintf("[GET /tenantmemberships][%d] getTenantMembershipsUnauthorized", 401) +} + +func (o *GetTenantMembershipsUnauthorized) String() string { + return fmt.Sprintf("[GET /tenantmemberships][%d] getTenantMembershipsUnauthorized", 401) +} + +func (o *GetTenantMembershipsUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewGetTenantMembershipsNotFound creates a GetTenantMembershipsNotFound with default headers values +func NewGetTenantMembershipsNotFound() *GetTenantMembershipsNotFound { + return &GetTenantMembershipsNotFound{} +} + +// GetTenantMembershipsNotFound describes a response with status code 404, with default header values. +// +// Requested foreign or unavailable scope +type GetTenantMembershipsNotFound struct { +} + +// IsSuccess returns true when this get tenant memberships not found response has a 2xx status code +func (o *GetTenantMembershipsNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this get tenant memberships not found response has a 3xx status code +func (o *GetTenantMembershipsNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get tenant memberships not found response has a 4xx status code +func (o *GetTenantMembershipsNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this get tenant memberships not found response has a 5xx status code +func (o *GetTenantMembershipsNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this get tenant memberships not found response a status code equal to that given +func (o *GetTenantMembershipsNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the get tenant memberships not found response +func (o *GetTenantMembershipsNotFound) Code() int { + return 404 +} + +func (o *GetTenantMembershipsNotFound) Error() string { + return fmt.Sprintf("[GET /tenantmemberships][%d] getTenantMembershipsNotFound", 404) +} + +func (o *GetTenantMembershipsNotFound) String() string { + return fmt.Sprintf("[GET /tenantmemberships][%d] getTenantMembershipsNotFound", 404) +} + +func (o *GetTenantMembershipsNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewGetTenantMembershipsInternalServerError creates a GetTenantMembershipsInternalServerError with default headers values +func NewGetTenantMembershipsInternalServerError() *GetTenantMembershipsInternalServerError { + return &GetTenantMembershipsInternalServerError{} +} + +// GetTenantMembershipsInternalServerError describes a response with status code 500, with default header values. +// +// Server error +type GetTenantMembershipsInternalServerError struct { +} + +// IsSuccess returns true when this get tenant memberships internal server error response has a 2xx status code +func (o *GetTenantMembershipsInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this get tenant memberships internal server error response has a 3xx status code +func (o *GetTenantMembershipsInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this get tenant memberships internal server error response has a 4xx status code +func (o *GetTenantMembershipsInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this get tenant memberships internal server error response has a 5xx status code +func (o *GetTenantMembershipsInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this get tenant memberships internal server error response a status code equal to that given +func (o *GetTenantMembershipsInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the get tenant memberships internal server error response +func (o *GetTenantMembershipsInternalServerError) Code() int { + return 500 +} + +func (o *GetTenantMembershipsInternalServerError) Error() string { + return fmt.Sprintf("[GET /tenantmemberships][%d] getTenantMembershipsInternalServerError", 500) +} + +func (o *GetTenantMembershipsInternalServerError) String() string { + return fmt.Sprintf("[GET /tenantmemberships][%d] getTenantMembershipsInternalServerError", 500) +} + +func (o *GetTenantMembershipsInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} diff --git a/api/members/members_client/portal_memberships/portal_memberships_client.go b/api/members/members_client/portal_memberships/portal_memberships_client.go new file mode 100644 index 0000000..6cd7f74 --- /dev/null +++ b/api/members/members_client/portal_memberships/portal_memberships_client.go @@ -0,0 +1,491 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package portal_memberships + +import ( + "context" + "fmt" + "time" + + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// New creates a new portal memberships API client. +func New(transport runtime.ContextualTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +// New creates a new portal memberships API client with basic auth credentials. +// +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - user: user for basic authentication header. +// - password: password for basic authentication header. +func NewClientWithBasicAuth(host, basePath, scheme, user, password string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BasicAuth(user, password) + return &Client{transport: transport, formats: strfmt.Default} +} + +// New creates a new portal memberships API client with a bearer token for authentication. +// +// It takes the following parameters: +// - host: http host (github.com). +// - basePath: any base path for the API client ("/v1", "/v3"). +// - scheme: http scheme ("http", "https"). +// - bearerToken: bearer token for Bearer authentication header. +func NewClientWithBearerToken(host, basePath, scheme, bearerToken string) ClientService { + transport := httptransport.New(host, basePath, []string{scheme}) + transport.DefaultAuthentication = httptransport.BearerToken(bearerToken) + return &Client{transport: transport, formats: strfmt.Default} +} + +// Client for portal memberships API. +type Client struct { + transport runtime.ContextualTransport + formats strfmt.Registry +} + +// ClientOption may be used to customize the behavior of Client methods. +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods. +type ClientService interface { + + // DeleteTenantMembership idempotently soft revoke one membership. + DeleteTenantMembership(params *DeleteTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DeleteTenantMembershipOK, error) + + // DeleteTenantMembershipContext idempotently soft revoke one membership. + DeleteTenantMembershipContext(ctx context.Context, params *DeleteTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DeleteTenantMembershipOK, error) + + // GetManageableTenants list tenant contexts the current actor may administer. + GetManageableTenants(params *GetManageableTenantsParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*GetManageableTenantsOK, error) + + // GetManageableTenantsContext list tenant contexts the current actor may administer. + GetManageableTenantsContext(ctx context.Context, params *GetManageableTenantsParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*GetManageableTenantsOK, error) + + // GetTenantMembership get one actor visible tenant membership. + GetTenantMembership(params *GetTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*GetTenantMembershipOK, error) + + // GetTenantMembershipContext get one actor visible tenant membership. + GetTenantMembershipContext(ctx context.Context, params *GetTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*GetTenantMembershipOK, error) + + // GetTenantMemberships list actor visible tenant memberships. + GetTenantMemberships(params *GetTenantMembershipsParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*GetTenantMembershipsOK, error) + + // 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(params *PostTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PostTenantMembershipOK, error) + + // PostTenantMembershipContext idempotently link one existing active user to one tenant. + PostTenantMembershipContext(ctx context.Context, params *PostTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PostTenantMembershipOK, error) + + // PutTenantMembership idempotently change membership access or lifecycle. + PutTenantMembership(params *PutTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PutTenantMembershipOK, error) + + // PutTenantMembershipContext idempotently change membership access or lifecycle. + PutTenantMembershipContext(ctx context.Context, params *PutTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PutTenantMembershipOK, error) + + SetTransport(transport runtime.ContextualTransport) +} + +// DeleteTenantMembership idempotentlies soft revoke one membership. +// +// This method does not support injected context. +// However, timeout and opentracing contexts are honored whenever enabled. +// +// If you need to pass a specific context, use [Client.DeleteTenantMembershipContext] instead. +func (a *Client) DeleteTenantMembership(params *DeleteTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DeleteTenantMembershipOK, error) { + var ctx context.Context + if params.inner.ctx != nil { + ctx = params.inner.ctx + } else { + ctx = context.Background() + } + + return a.DeleteTenantMembershipContext(ctx, params, authInfo, opts...) +} + +// DeleteTenantMembershipContext idempotentlies soft revoke one membership. +// +// Do not use the deprecated [DeleteTenantMembershipParams.Context] with this method: it would be ignored. +func (a *Client) DeleteTenantMembershipContext(ctx context.Context, params *DeleteTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DeleteTenantMembershipOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewDeleteTenantMembershipParams() + } + + op := &runtime.ClientOperation{ + ID: "deleteTenantMembership", + Method: "DELETE", + PathPattern: "/tenantmemberships/{membershipId}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &DeleteTenantMembershipReader{formats: a.formats}, + AuthInfo: authInfo, + Client: params.HTTPClient, + } + + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.SubmitContext(ctx, op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*DeleteTenantMembershipOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for deleteTenantMembership: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// GetManageableTenants lists tenant contexts the current actor may administer. +// +// This method does not support injected context. +// However, timeout and opentracing contexts are honored whenever enabled. +// +// If you need to pass a specific context, use [Client.GetManageableTenantsContext] instead. +func (a *Client) GetManageableTenants(params *GetManageableTenantsParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*GetManageableTenantsOK, error) { + var ctx context.Context + if params.inner.ctx != nil { + ctx = params.inner.ctx + } else { + ctx = context.Background() + } + + return a.GetManageableTenantsContext(ctx, params, authInfo, opts...) +} + +// GetManageableTenantsContext lists tenant contexts the current actor may administer. +// +// Do not use the deprecated [GetManageableTenantsParams.Context] with this method: it would be ignored. +func (a *Client) GetManageableTenantsContext(ctx context.Context, params *GetManageableTenantsParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*GetManageableTenantsOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewGetManageableTenantsParams() + } + + op := &runtime.ClientOperation{ + ID: "getManageableTenants", + Method: "GET", + PathPattern: "/manageabletenants", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetManageableTenantsReader{formats: a.formats}, + AuthInfo: authInfo, + Client: params.HTTPClient, + } + + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.SubmitContext(ctx, op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*GetManageableTenantsOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for getManageableTenants: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// GetTenantMembership gets one actor visible tenant membership. +// +// This method does not support injected context. +// However, timeout and opentracing contexts are honored whenever enabled. +// +// If you need to pass a specific context, use [Client.GetTenantMembershipContext] instead. +func (a *Client) GetTenantMembership(params *GetTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*GetTenantMembershipOK, error) { + var ctx context.Context + if params.inner.ctx != nil { + ctx = params.inner.ctx + } else { + ctx = context.Background() + } + + return a.GetTenantMembershipContext(ctx, params, authInfo, opts...) +} + +// GetTenantMembershipContext gets one actor visible tenant membership. +// +// Do not use the deprecated [GetTenantMembershipParams.Context] with this method: it would be ignored. +func (a *Client) GetTenantMembershipContext(ctx context.Context, params *GetTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*GetTenantMembershipOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewGetTenantMembershipParams() + } + + op := &runtime.ClientOperation{ + ID: "getTenantMembership", + Method: "GET", + PathPattern: "/tenantmemberships/{membershipId}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetTenantMembershipReader{formats: a.formats}, + AuthInfo: authInfo, + Client: params.HTTPClient, + } + + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.SubmitContext(ctx, op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*GetTenantMembershipOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for getTenantMembership: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// GetTenantMemberships lists actor visible tenant memberships. +// +// This method does not support injected context. +// However, timeout and opentracing contexts are honored whenever enabled. +// +// If you need to pass a specific context, use [Client.GetTenantMembershipsContext] instead. +func (a *Client) GetTenantMemberships(params *GetTenantMembershipsParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*GetTenantMembershipsOK, error) { + var ctx context.Context + if params.inner.ctx != nil { + ctx = params.inner.ctx + } else { + ctx = context.Background() + } + + return a.GetTenantMembershipsContext(ctx, params, authInfo, opts...) +} + +// GetTenantMembershipsContext lists actor visible tenant memberships. +// +// Do not use the deprecated [GetTenantMembershipsParams.Context] with this method: it would be ignored. +func (a *Client) GetTenantMembershipsContext(ctx context.Context, params *GetTenantMembershipsParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*GetTenantMembershipsOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewGetTenantMembershipsParams() + } + + op := &runtime.ClientOperation{ + ID: "getTenantMemberships", + Method: "GET", + PathPattern: "/tenantmemberships", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &GetTenantMembershipsReader{formats: a.formats}, + AuthInfo: authInfo, + Client: params.HTTPClient, + } + + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.SubmitContext(ctx, op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*GetTenantMembershipsOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for getTenantMemberships: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// PostTenantMembership idempotentlies link one existing active user to one tenant. +// +// This method does not support injected context. +// However, timeout and opentracing contexts are honored whenever enabled. +// +// If you need to pass a specific context, use [Client.PostTenantMembershipContext] instead. +func (a *Client) PostTenantMembership(params *PostTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PostTenantMembershipOK, error) { + var ctx context.Context + if params.inner.ctx != nil { + ctx = params.inner.ctx + } else { + ctx = context.Background() + } + + return a.PostTenantMembershipContext(ctx, params, authInfo, opts...) +} + +// PostTenantMembershipContext idempotentlies link one existing active user to one tenant. +// +// 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) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPostTenantMembershipParams() + } + + op := &runtime.ClientOperation{ + ID: "postTenantMembership", + Method: "POST", + PathPattern: "/tenantmemberships", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PostTenantMembershipReader{formats: a.formats}, + AuthInfo: authInfo, + Client: params.HTTPClient, + } + + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.SubmitContext(ctx, op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PostTenantMembershipOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for postTenantMembership: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// PutTenantMembership idempotentlies change membership access or lifecycle. +// +// This method does not support injected context. +// However, timeout and opentracing contexts are honored whenever enabled. +// +// If you need to pass a specific context, use [Client.PutTenantMembershipContext] instead. +func (a *Client) PutTenantMembership(params *PutTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PutTenantMembershipOK, error) { + var ctx context.Context + if params.inner.ctx != nil { + ctx = params.inner.ctx + } else { + ctx = context.Background() + } + + return a.PutTenantMembershipContext(ctx, params, authInfo, opts...) +} + +// PutTenantMembershipContext idempotentlies change membership access or lifecycle. +// +// Do not use the deprecated [PutTenantMembershipParams.Context] with this method: it would be ignored. +func (a *Client) PutTenantMembershipContext(ctx context.Context, params *PutTenantMembershipParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*PutTenantMembershipOK, error) { + // NOTE: parameters are not validated before sending + if params == nil { + params = NewPutTenantMembershipParams() + } + + op := &runtime.ClientOperation{ + ID: "putTenantMembership", + Method: "PUT", + PathPattern: "/tenantmemberships/{membershipId}", + ProducesMediaTypes: []string{"application/json"}, + ConsumesMediaTypes: []string{"application/json"}, + Schemes: []string{"http"}, + Params: params, + Reader: &PutTenantMembershipReader{formats: a.formats}, + AuthInfo: authInfo, + Client: params.HTTPClient, + } + + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.SubmitContext(ctx, op) + if err != nil { + return nil, err + } + + // only one success response has to be checked + success, ok := result.(*PutTenantMembershipOK) + if ok { + return success, nil + } + + // unexpected success response. + + // no default response is defined. + // + // safeguard: normally, in the absence of a default response, unknown success responses return an error above: so this is a codegen issue + msg := fmt.Sprintf("unexpected success response for putTenantMembership: API contract not enforced by server. Client expected to get an error, but got: %T", result) + panic(msg) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ContextualTransport) { + a.transport = transport +} + +// innerParams captures internal fields so they don't conflict with user-supplied parameters. +type innerParams struct { + timeout time.Duration + + // Deprecated: use the operation call with context to pass the context instead of [PortalMembershipsParams]. + ctx context.Context +} diff --git a/api/members/members_client/portal_memberships/post_tenant_membership_parameters.go b/api/members/members_client/portal_memberships/post_tenant_membership_parameters.go new file mode 100644 index 0000000..0548d38 --- /dev/null +++ b/api/members/members_client/portal_memberships/post_tenant_membership_parameters.go @@ -0,0 +1,181 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package portal_memberships + +import ( + "context" + "net/http" + "time" + + "code.tnxs.net/vernonkeenan/lib/api/members/members_models" + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPostTenantMembershipParams creates a new PostTenantMembershipParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPostTenantMembershipParams() *PostTenantMembershipParams { + return NewPostTenantMembershipParamsWithTimeout(cr.DefaultTimeout) +} + +// NewPostTenantMembershipParamsWithTimeout creates a new PostTenantMembershipParams object +// with the ability to set a timeout on a request. +func NewPostTenantMembershipParamsWithTimeout(timeout time.Duration) *PostTenantMembershipParams { + return &PostTenantMembershipParams{ + inner: innerParams{ + timeout: timeout, + }, + } +} + +// NewPostTenantMembershipParamsWithContext creates a new PostTenantMembershipParams object +// with the ability to set a context for a request. +// +// Deprecated: use the operation call with context to pass the context instead of [PostTenantMembershipParams]. +func NewPostTenantMembershipParamsWithContext(ctx context.Context) *PostTenantMembershipParams { + return &PostTenantMembershipParams{ + inner: innerParams{ + ctx: ctx, + }, + } +} + +// NewPostTenantMembershipParamsWithHTTPClient creates a new PostTenantMembershipParams object +// with the ability to set a custom HTTPClient for a request. +func NewPostTenantMembershipParamsWithHTTPClient(client *http.Client) *PostTenantMembershipParams { + return &PostTenantMembershipParams{ + HTTPClient: client, + } +} + +/* +PostTenantMembershipParams contains all the parameters to send to the API endpoint + + for the post tenant membership operation. + + Typically these are written to a http.Request. +*/ +type PostTenantMembershipParams struct { + + // XRequestID. + // + // Optional bounded correlation identifier stored with membership audit events. + XRequestID *string + + // Request. + Request *members_models.TenantMembershipCreateRequest + + HTTPClient *http.Client + + inner innerParams +} + +// WithDefaults hydrates default values in the post tenant membership params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PostTenantMembershipParams) WithDefaults() *PostTenantMembershipParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the post tenant membership params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PostTenantMembershipParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the post tenant membership params. +func (o *PostTenantMembershipParams) WithTimeout(timeout time.Duration) *PostTenantMembershipParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the post tenant membership params. +func (o *PostTenantMembershipParams) SetTimeout(timeout time.Duration) { + o.inner.timeout = timeout +} + +// WithContext adds the context to the post tenant membership params. +// +// Deprecated: use the operation call with context to pass the context instead of [PostTenantMembershipParams]. +func (o *PostTenantMembershipParams) WithContext(ctx context.Context) *PostTenantMembershipParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the post tenant membership params. +// +// Deprecated: use the operation call with context to pass the context instead of [PostTenantMembershipParams]. +func (o *PostTenantMembershipParams) SetContext(ctx context.Context) { + o.inner.ctx = ctx +} + +// WithHTTPClient adds the HTTPClient to the post tenant membership params. +func (o *PostTenantMembershipParams) WithHTTPClient(client *http.Client) *PostTenantMembershipParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the post tenant membership params. +func (o *PostTenantMembershipParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithXRequestID adds the xRequestID to the post tenant membership params. +func (o *PostTenantMembershipParams) WithXRequestID(xRequestID *string) *PostTenantMembershipParams { + o.SetXRequestID(xRequestID) + return o +} + +// SetXRequestID adds the xRequestId to the post tenant membership params. +func (o *PostTenantMembershipParams) SetXRequestID(xRequestID *string) { + o.XRequestID = xRequestID +} + +// WithRequest adds the request to the post tenant membership params. +func (o *PostTenantMembershipParams) WithRequest(request *members_models.TenantMembershipCreateRequest) *PostTenantMembershipParams { + o.SetRequest(request) + return o +} + +// SetRequest adds the request to the post tenant membership params. +func (o *PostTenantMembershipParams) SetRequest(request *members_models.TenantMembershipCreateRequest) { + o.Request = request +} + +// WriteToRequest writes these params to a [runtime.ClientRequest]. +func (o *PostTenantMembershipParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + if err := r.SetTimeout(o.inner.timeout); err != nil { + return err + } + var res []error + + if o.XRequestID != nil { + + // header param X-Request-ID + if err := r.SetHeaderParam("X-Request-ID", *o.XRequestID); err != nil { + return err + } + } + if o.Request != nil { + if err := r.SetBodyParam(o.Request); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} 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 new file mode 100644 index 0000000..5ebb1c0 --- /dev/null +++ b/api/members/members_client/portal_memberships/post_tenant_membership_responses.go @@ -0,0 +1,405 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package portal_memberships + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "code.tnxs.net/vernonkeenan/lib/api/members/members_models" + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" +) + +// PostTenantMembershipReader is a Reader for the PostTenantMembership structure. +type PostTenantMembershipReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PostTenantMembershipReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPostTenantMembershipOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPostTenantMembershipBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPostTenantMembershipUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPostTenantMembershipNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPostTenantMembershipConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPostTenantMembershipInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[POST /tenantmemberships] postTenantMembership", response, response.Code()) + } +} + +// NewPostTenantMembershipOK creates a PostTenantMembershipOK with default headers values +func NewPostTenantMembershipOK() *PostTenantMembershipOK { + return &PostTenantMembershipOK{} +} + +// PostTenantMembershipOK describes a response with status code 200, with default header values. +// +// Current membership desired state +type PostTenantMembershipOK struct { + Payload *members_models.TenantMembershipResponse +} + +// IsSuccess returns true when this post tenant membership o k response has a 2xx status code +func (o *PostTenantMembershipOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this post tenant membership o k response has a 3xx status code +func (o *PostTenantMembershipOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this post tenant membership o k response has a 4xx status code +func (o *PostTenantMembershipOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this post tenant membership o k response has a 5xx status code +func (o *PostTenantMembershipOK) IsServerError() bool { + return false +} + +// IsCode returns true when this post tenant membership o k response a status code equal to that given +func (o *PostTenantMembershipOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the post tenant membership o k response +func (o *PostTenantMembershipOK) Code() int { + return 200 +} + +func (o *PostTenantMembershipOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /tenantmemberships][%d] postTenantMembershipOK %s", 200, payload) +} + +func (o *PostTenantMembershipOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[POST /tenantmemberships][%d] postTenantMembershipOK %s", 200, payload) +} + +func (o *PostTenantMembershipOK) GetPayload() *members_models.TenantMembershipResponse { + return o.Payload +} + +func (o *PostTenantMembershipOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(members_models.TenantMembershipResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPostTenantMembershipBadRequest creates a PostTenantMembershipBadRequest with default headers values +func NewPostTenantMembershipBadRequest() *PostTenantMembershipBadRequest { + return &PostTenantMembershipBadRequest{} +} + +// PostTenantMembershipBadRequest describes a response with status code 400, with default header values. +// +// Invalid identity selector or desired state +type PostTenantMembershipBadRequest struct { +} + +// IsSuccess returns true when this post tenant membership bad request response has a 2xx status code +func (o *PostTenantMembershipBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this post tenant membership bad request response has a 3xx status code +func (o *PostTenantMembershipBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this post tenant membership bad request response has a 4xx status code +func (o *PostTenantMembershipBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this post tenant membership bad request response has a 5xx status code +func (o *PostTenantMembershipBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this post tenant membership bad request response a status code equal to that given +func (o *PostTenantMembershipBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the post tenant membership bad request response +func (o *PostTenantMembershipBadRequest) Code() int { + return 400 +} + +func (o *PostTenantMembershipBadRequest) Error() string { + return fmt.Sprintf("[POST /tenantmemberships][%d] postTenantMembershipBadRequest", 400) +} + +func (o *PostTenantMembershipBadRequest) String() string { + return fmt.Sprintf("[POST /tenantmemberships][%d] postTenantMembershipBadRequest", 400) +} + +func (o *PostTenantMembershipBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewPostTenantMembershipUnauthorized creates a PostTenantMembershipUnauthorized with default headers values +func NewPostTenantMembershipUnauthorized() *PostTenantMembershipUnauthorized { + return &PostTenantMembershipUnauthorized{} +} + +// PostTenantMembershipUnauthorized describes a response with status code 401, with default header values. +// +// Missing or invalid server or session credential +type PostTenantMembershipUnauthorized struct { +} + +// IsSuccess returns true when this post tenant membership unauthorized response has a 2xx status code +func (o *PostTenantMembershipUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this post tenant membership unauthorized response has a 3xx status code +func (o *PostTenantMembershipUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this post tenant membership unauthorized response has a 4xx status code +func (o *PostTenantMembershipUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this post tenant membership unauthorized response has a 5xx status code +func (o *PostTenantMembershipUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this post tenant membership unauthorized response a status code equal to that given +func (o *PostTenantMembershipUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the post tenant membership unauthorized response +func (o *PostTenantMembershipUnauthorized) Code() int { + return 401 +} + +func (o *PostTenantMembershipUnauthorized) Error() string { + return fmt.Sprintf("[POST /tenantmemberships][%d] postTenantMembershipUnauthorized", 401) +} + +func (o *PostTenantMembershipUnauthorized) String() string { + return fmt.Sprintf("[POST /tenantmemberships][%d] postTenantMembershipUnauthorized", 401) +} + +func (o *PostTenantMembershipUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewPostTenantMembershipNotFound creates a PostTenantMembershipNotFound with default headers values +func NewPostTenantMembershipNotFound() *PostTenantMembershipNotFound { + return &PostTenantMembershipNotFound{} +} + +// PostTenantMembershipNotFound describes a response with status code 404, with default header values. +// +// Target tenant, user, or authority is unavailable +type PostTenantMembershipNotFound struct { +} + +// IsSuccess returns true when this post tenant membership not found response has a 2xx status code +func (o *PostTenantMembershipNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this post tenant membership not found response has a 3xx status code +func (o *PostTenantMembershipNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this post tenant membership not found response has a 4xx status code +func (o *PostTenantMembershipNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this post tenant membership not found response has a 5xx status code +func (o *PostTenantMembershipNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this post tenant membership not found response a status code equal to that given +func (o *PostTenantMembershipNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the post tenant membership not found response +func (o *PostTenantMembershipNotFound) Code() int { + return 404 +} + +func (o *PostTenantMembershipNotFound) Error() string { + return fmt.Sprintf("[POST /tenantmemberships][%d] postTenantMembershipNotFound", 404) +} + +func (o *PostTenantMembershipNotFound) String() string { + return fmt.Sprintf("[POST /tenantmemberships][%d] postTenantMembershipNotFound", 404) +} + +func (o *PostTenantMembershipNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewPostTenantMembershipConflict creates a PostTenantMembershipConflict with default headers values +func NewPostTenantMembershipConflict() *PostTenantMembershipConflict { + return &PostTenantMembershipConflict{} +} + +// PostTenantMembershipConflict describes a response with status code 409, with default header values. +// +// Self-change, owner, or concurrent-state conflict +type PostTenantMembershipConflict struct { +} + +// IsSuccess returns true when this post tenant membership conflict response has a 2xx status code +func (o *PostTenantMembershipConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this post tenant membership conflict response has a 3xx status code +func (o *PostTenantMembershipConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this post tenant membership conflict response has a 4xx status code +func (o *PostTenantMembershipConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this post tenant membership conflict response has a 5xx status code +func (o *PostTenantMembershipConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this post tenant membership conflict response a status code equal to that given +func (o *PostTenantMembershipConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the post tenant membership conflict response +func (o *PostTenantMembershipConflict) Code() int { + return 409 +} + +func (o *PostTenantMembershipConflict) Error() string { + return fmt.Sprintf("[POST /tenantmemberships][%d] postTenantMembershipConflict", 409) +} + +func (o *PostTenantMembershipConflict) String() string { + return fmt.Sprintf("[POST /tenantmemberships][%d] postTenantMembershipConflict", 409) +} + +func (o *PostTenantMembershipConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewPostTenantMembershipInternalServerError creates a PostTenantMembershipInternalServerError with default headers values +func NewPostTenantMembershipInternalServerError() *PostTenantMembershipInternalServerError { + return &PostTenantMembershipInternalServerError{} +} + +// PostTenantMembershipInternalServerError describes a response with status code 500, with default header values. +// +// Server error +type PostTenantMembershipInternalServerError struct { +} + +// IsSuccess returns true when this post tenant membership internal server error response has a 2xx status code +func (o *PostTenantMembershipInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this post tenant membership internal server error response has a 3xx status code +func (o *PostTenantMembershipInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this post tenant membership internal server error response has a 4xx status code +func (o *PostTenantMembershipInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this post tenant membership internal server error response has a 5xx status code +func (o *PostTenantMembershipInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this post tenant membership internal server error response a status code equal to that given +func (o *PostTenantMembershipInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the post tenant membership internal server error response +func (o *PostTenantMembershipInternalServerError) Code() int { + return 500 +} + +func (o *PostTenantMembershipInternalServerError) Error() string { + return fmt.Sprintf("[POST /tenantmemberships][%d] postTenantMembershipInternalServerError", 500) +} + +func (o *PostTenantMembershipInternalServerError) String() string { + return fmt.Sprintf("[POST /tenantmemberships][%d] postTenantMembershipInternalServerError", 500) +} + +func (o *PostTenantMembershipInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} diff --git a/api/members/members_client/portal_memberships/put_tenant_membership_parameters.go b/api/members/members_client/portal_memberships/put_tenant_membership_parameters.go new file mode 100644 index 0000000..5f2c079 --- /dev/null +++ b/api/members/members_client/portal_memberships/put_tenant_membership_parameters.go @@ -0,0 +1,202 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package portal_memberships + +import ( + "context" + "net/http" + "time" + + "code.tnxs.net/vernonkeenan/lib/api/members/members_models" + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewPutTenantMembershipParams creates a new PutTenantMembershipParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewPutTenantMembershipParams() *PutTenantMembershipParams { + return NewPutTenantMembershipParamsWithTimeout(cr.DefaultTimeout) +} + +// NewPutTenantMembershipParamsWithTimeout creates a new PutTenantMembershipParams object +// with the ability to set a timeout on a request. +func NewPutTenantMembershipParamsWithTimeout(timeout time.Duration) *PutTenantMembershipParams { + return &PutTenantMembershipParams{ + inner: innerParams{ + timeout: timeout, + }, + } +} + +// NewPutTenantMembershipParamsWithContext creates a new PutTenantMembershipParams object +// with the ability to set a context for a request. +// +// Deprecated: use the operation call with context to pass the context instead of [PutTenantMembershipParams]. +func NewPutTenantMembershipParamsWithContext(ctx context.Context) *PutTenantMembershipParams { + return &PutTenantMembershipParams{ + inner: innerParams{ + ctx: ctx, + }, + } +} + +// NewPutTenantMembershipParamsWithHTTPClient creates a new PutTenantMembershipParams object +// with the ability to set a custom HTTPClient for a request. +func NewPutTenantMembershipParamsWithHTTPClient(client *http.Client) *PutTenantMembershipParams { + return &PutTenantMembershipParams{ + HTTPClient: client, + } +} + +/* +PutTenantMembershipParams contains all the parameters to send to the API endpoint + + for the put tenant membership operation. + + Typically these are written to a http.Request. +*/ +type PutTenantMembershipParams struct { + + // XRequestID. + // + // Optional bounded correlation identifier stored with membership audit events. + XRequestID *string + + // MembershipID. + // + // Format: uuid + MembershipID strfmt.UUID + + // Request. + Request *members_models.TenantMembershipUpdateRequest + + HTTPClient *http.Client + + inner innerParams +} + +// WithDefaults hydrates default values in the put tenant membership params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PutTenantMembershipParams) WithDefaults() *PutTenantMembershipParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the put tenant membership params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *PutTenantMembershipParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the put tenant membership params. +func (o *PutTenantMembershipParams) WithTimeout(timeout time.Duration) *PutTenantMembershipParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the put tenant membership params. +func (o *PutTenantMembershipParams) SetTimeout(timeout time.Duration) { + o.inner.timeout = timeout +} + +// WithContext adds the context to the put tenant membership params. +// +// Deprecated: use the operation call with context to pass the context instead of [PutTenantMembershipParams]. +func (o *PutTenantMembershipParams) WithContext(ctx context.Context) *PutTenantMembershipParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the put tenant membership params. +// +// Deprecated: use the operation call with context to pass the context instead of [PutTenantMembershipParams]. +func (o *PutTenantMembershipParams) SetContext(ctx context.Context) { + o.inner.ctx = ctx +} + +// WithHTTPClient adds the HTTPClient to the put tenant membership params. +func (o *PutTenantMembershipParams) WithHTTPClient(client *http.Client) *PutTenantMembershipParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the put tenant membership params. +func (o *PutTenantMembershipParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithXRequestID adds the xRequestID to the put tenant membership params. +func (o *PutTenantMembershipParams) WithXRequestID(xRequestID *string) *PutTenantMembershipParams { + o.SetXRequestID(xRequestID) + return o +} + +// SetXRequestID adds the xRequestId to the put tenant membership params. +func (o *PutTenantMembershipParams) SetXRequestID(xRequestID *string) { + o.XRequestID = xRequestID +} + +// WithMembershipID adds the membershipID to the put tenant membership params. +func (o *PutTenantMembershipParams) WithMembershipID(membershipID strfmt.UUID) *PutTenantMembershipParams { + o.SetMembershipID(membershipID) + return o +} + +// SetMembershipID adds the membershipId to the put tenant membership params. +func (o *PutTenantMembershipParams) SetMembershipID(membershipID strfmt.UUID) { + o.MembershipID = membershipID +} + +// WithRequest adds the request to the put tenant membership params. +func (o *PutTenantMembershipParams) WithRequest(request *members_models.TenantMembershipUpdateRequest) *PutTenantMembershipParams { + o.SetRequest(request) + return o +} + +// SetRequest adds the request to the put tenant membership params. +func (o *PutTenantMembershipParams) SetRequest(request *members_models.TenantMembershipUpdateRequest) { + o.Request = request +} + +// WriteToRequest writes these params to a [runtime.ClientRequest]. +func (o *PutTenantMembershipParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + if err := r.SetTimeout(o.inner.timeout); err != nil { + return err + } + var res []error + + if o.XRequestID != nil { + + // header param X-Request-ID + if err := r.SetHeaderParam("X-Request-ID", *o.XRequestID); err != nil { + return err + } + } + + // path param membershipId + if err := r.SetPathParam("membershipId", o.MembershipID.String()); err != nil { + return err + } + if o.Request != nil { + if err := r.SetBodyParam(o.Request); err != nil { + return err + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/members/members_client/portal_memberships/put_tenant_membership_responses.go b/api/members/members_client/portal_memberships/put_tenant_membership_responses.go new file mode 100644 index 0000000..41fac2b --- /dev/null +++ b/api/members/members_client/portal_memberships/put_tenant_membership_responses.go @@ -0,0 +1,405 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package portal_memberships + +import ( + "encoding/json" + stderrors "errors" + "fmt" + "io" + + "code.tnxs.net/vernonkeenan/lib/api/members/members_models" + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" +) + +// PutTenantMembershipReader is a Reader for the PutTenantMembership structure. +type PutTenantMembershipReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *PutTenantMembershipReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { + switch response.Code() { + case 200: + result := NewPutTenantMembershipOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 400: + result := NewPutTenantMembershipBadRequest() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 401: + result := NewPutTenantMembershipUnauthorized() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewPutTenantMembershipNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 409: + result := NewPutTenantMembershipConflict() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 500: + result := NewPutTenantMembershipInternalServerError() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + return nil, runtime.NewAPIError("[PUT /tenantmemberships/{membershipId}] putTenantMembership", response, response.Code()) + } +} + +// NewPutTenantMembershipOK creates a PutTenantMembershipOK with default headers values +func NewPutTenantMembershipOK() *PutTenantMembershipOK { + return &PutTenantMembershipOK{} +} + +// PutTenantMembershipOK describes a response with status code 200, with default header values. +// +// Current membership desired state +type PutTenantMembershipOK struct { + Payload *members_models.TenantMembershipResponse +} + +// IsSuccess returns true when this put tenant membership o k response has a 2xx status code +func (o *PutTenantMembershipOK) IsSuccess() bool { + return true +} + +// IsRedirect returns true when this put tenant membership o k response has a 3xx status code +func (o *PutTenantMembershipOK) IsRedirect() bool { + return false +} + +// IsClientError returns true when this put tenant membership o k response has a 4xx status code +func (o *PutTenantMembershipOK) IsClientError() bool { + return false +} + +// IsServerError returns true when this put tenant membership o k response has a 5xx status code +func (o *PutTenantMembershipOK) IsServerError() bool { + return false +} + +// IsCode returns true when this put tenant membership o k response a status code equal to that given +func (o *PutTenantMembershipOK) IsCode(code int) bool { + return code == 200 +} + +// Code gets the status code for the put tenant membership o k response +func (o *PutTenantMembershipOK) Code() int { + return 200 +} + +func (o *PutTenantMembershipOK) Error() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /tenantmemberships/{membershipId}][%d] putTenantMembershipOK %s", 200, payload) +} + +func (o *PutTenantMembershipOK) String() string { + payload, _ := json.Marshal(o.Payload) + return fmt.Sprintf("[PUT /tenantmemberships/{membershipId}][%d] putTenantMembershipOK %s", 200, payload) +} + +func (o *PutTenantMembershipOK) GetPayload() *members_models.TenantMembershipResponse { + return o.Payload +} + +func (o *PutTenantMembershipOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(members_models.TenantMembershipResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { + return err + } + + return nil +} + +// NewPutTenantMembershipBadRequest creates a PutTenantMembershipBadRequest with default headers values +func NewPutTenantMembershipBadRequest() *PutTenantMembershipBadRequest { + return &PutTenantMembershipBadRequest{} +} + +// PutTenantMembershipBadRequest describes a response with status code 400, with default header values. +// +// Invalid desired state +type PutTenantMembershipBadRequest struct { +} + +// IsSuccess returns true when this put tenant membership bad request response has a 2xx status code +func (o *PutTenantMembershipBadRequest) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this put tenant membership bad request response has a 3xx status code +func (o *PutTenantMembershipBadRequest) IsRedirect() bool { + return false +} + +// IsClientError returns true when this put tenant membership bad request response has a 4xx status code +func (o *PutTenantMembershipBadRequest) IsClientError() bool { + return true +} + +// IsServerError returns true when this put tenant membership bad request response has a 5xx status code +func (o *PutTenantMembershipBadRequest) IsServerError() bool { + return false +} + +// IsCode returns true when this put tenant membership bad request response a status code equal to that given +func (o *PutTenantMembershipBadRequest) IsCode(code int) bool { + return code == 400 +} + +// Code gets the status code for the put tenant membership bad request response +func (o *PutTenantMembershipBadRequest) Code() int { + return 400 +} + +func (o *PutTenantMembershipBadRequest) Error() string { + return fmt.Sprintf("[PUT /tenantmemberships/{membershipId}][%d] putTenantMembershipBadRequest", 400) +} + +func (o *PutTenantMembershipBadRequest) String() string { + return fmt.Sprintf("[PUT /tenantmemberships/{membershipId}][%d] putTenantMembershipBadRequest", 400) +} + +func (o *PutTenantMembershipBadRequest) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewPutTenantMembershipUnauthorized creates a PutTenantMembershipUnauthorized with default headers values +func NewPutTenantMembershipUnauthorized() *PutTenantMembershipUnauthorized { + return &PutTenantMembershipUnauthorized{} +} + +// PutTenantMembershipUnauthorized describes a response with status code 401, with default header values. +// +// Missing or invalid server or session credential +type PutTenantMembershipUnauthorized struct { +} + +// IsSuccess returns true when this put tenant membership unauthorized response has a 2xx status code +func (o *PutTenantMembershipUnauthorized) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this put tenant membership unauthorized response has a 3xx status code +func (o *PutTenantMembershipUnauthorized) IsRedirect() bool { + return false +} + +// IsClientError returns true when this put tenant membership unauthorized response has a 4xx status code +func (o *PutTenantMembershipUnauthorized) IsClientError() bool { + return true +} + +// IsServerError returns true when this put tenant membership unauthorized response has a 5xx status code +func (o *PutTenantMembershipUnauthorized) IsServerError() bool { + return false +} + +// IsCode returns true when this put tenant membership unauthorized response a status code equal to that given +func (o *PutTenantMembershipUnauthorized) IsCode(code int) bool { + return code == 401 +} + +// Code gets the status code for the put tenant membership unauthorized response +func (o *PutTenantMembershipUnauthorized) Code() int { + return 401 +} + +func (o *PutTenantMembershipUnauthorized) Error() string { + return fmt.Sprintf("[PUT /tenantmemberships/{membershipId}][%d] putTenantMembershipUnauthorized", 401) +} + +func (o *PutTenantMembershipUnauthorized) String() string { + return fmt.Sprintf("[PUT /tenantmemberships/{membershipId}][%d] putTenantMembershipUnauthorized", 401) +} + +func (o *PutTenantMembershipUnauthorized) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewPutTenantMembershipNotFound creates a PutTenantMembershipNotFound with default headers values +func NewPutTenantMembershipNotFound() *PutTenantMembershipNotFound { + return &PutTenantMembershipNotFound{} +} + +// PutTenantMembershipNotFound describes a response with status code 404, with default header values. +// +// Membership is absent, foreign, or unauthorized +type PutTenantMembershipNotFound struct { +} + +// IsSuccess returns true when this put tenant membership not found response has a 2xx status code +func (o *PutTenantMembershipNotFound) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this put tenant membership not found response has a 3xx status code +func (o *PutTenantMembershipNotFound) IsRedirect() bool { + return false +} + +// IsClientError returns true when this put tenant membership not found response has a 4xx status code +func (o *PutTenantMembershipNotFound) IsClientError() bool { + return true +} + +// IsServerError returns true when this put tenant membership not found response has a 5xx status code +func (o *PutTenantMembershipNotFound) IsServerError() bool { + return false +} + +// IsCode returns true when this put tenant membership not found response a status code equal to that given +func (o *PutTenantMembershipNotFound) IsCode(code int) bool { + return code == 404 +} + +// Code gets the status code for the put tenant membership not found response +func (o *PutTenantMembershipNotFound) Code() int { + return 404 +} + +func (o *PutTenantMembershipNotFound) Error() string { + return fmt.Sprintf("[PUT /tenantmemberships/{membershipId}][%d] putTenantMembershipNotFound", 404) +} + +func (o *PutTenantMembershipNotFound) String() string { + return fmt.Sprintf("[PUT /tenantmemberships/{membershipId}][%d] putTenantMembershipNotFound", 404) +} + +func (o *PutTenantMembershipNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewPutTenantMembershipConflict creates a PutTenantMembershipConflict with default headers values +func NewPutTenantMembershipConflict() *PutTenantMembershipConflict { + return &PutTenantMembershipConflict{} +} + +// PutTenantMembershipConflict describes a response with status code 409, with default header values. +// +// Optimistic, self-change, owner, or state conflict +type PutTenantMembershipConflict struct { +} + +// IsSuccess returns true when this put tenant membership conflict response has a 2xx status code +func (o *PutTenantMembershipConflict) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this put tenant membership conflict response has a 3xx status code +func (o *PutTenantMembershipConflict) IsRedirect() bool { + return false +} + +// IsClientError returns true when this put tenant membership conflict response has a 4xx status code +func (o *PutTenantMembershipConflict) IsClientError() bool { + return true +} + +// IsServerError returns true when this put tenant membership conflict response has a 5xx status code +func (o *PutTenantMembershipConflict) IsServerError() bool { + return false +} + +// IsCode returns true when this put tenant membership conflict response a status code equal to that given +func (o *PutTenantMembershipConflict) IsCode(code int) bool { + return code == 409 +} + +// Code gets the status code for the put tenant membership conflict response +func (o *PutTenantMembershipConflict) Code() int { + return 409 +} + +func (o *PutTenantMembershipConflict) Error() string { + return fmt.Sprintf("[PUT /tenantmemberships/{membershipId}][%d] putTenantMembershipConflict", 409) +} + +func (o *PutTenantMembershipConflict) String() string { + return fmt.Sprintf("[PUT /tenantmemberships/{membershipId}][%d] putTenantMembershipConflict", 409) +} + +func (o *PutTenantMembershipConflict) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} + +// NewPutTenantMembershipInternalServerError creates a PutTenantMembershipInternalServerError with default headers values +func NewPutTenantMembershipInternalServerError() *PutTenantMembershipInternalServerError { + return &PutTenantMembershipInternalServerError{} +} + +// PutTenantMembershipInternalServerError describes a response with status code 500, with default header values. +// +// Server error +type PutTenantMembershipInternalServerError struct { +} + +// IsSuccess returns true when this put tenant membership internal server error response has a 2xx status code +func (o *PutTenantMembershipInternalServerError) IsSuccess() bool { + return false +} + +// IsRedirect returns true when this put tenant membership internal server error response has a 3xx status code +func (o *PutTenantMembershipInternalServerError) IsRedirect() bool { + return false +} + +// IsClientError returns true when this put tenant membership internal server error response has a 4xx status code +func (o *PutTenantMembershipInternalServerError) IsClientError() bool { + return false +} + +// IsServerError returns true when this put tenant membership internal server error response has a 5xx status code +func (o *PutTenantMembershipInternalServerError) IsServerError() bool { + return true +} + +// IsCode returns true when this put tenant membership internal server error response a status code equal to that given +func (o *PutTenantMembershipInternalServerError) IsCode(code int) bool { + return code == 500 +} + +// Code gets the status code for the put tenant membership internal server error response +func (o *PutTenantMembershipInternalServerError) Code() int { + return 500 +} + +func (o *PutTenantMembershipInternalServerError) Error() string { + return fmt.Sprintf("[PUT /tenantmemberships/{membershipId}][%d] putTenantMembershipInternalServerError", 500) +} + +func (o *PutTenantMembershipInternalServerError) String() string { + return fmt.Sprintf("[PUT /tenantmemberships/{membershipId}][%d] putTenantMembershipInternalServerError", 500) +} + +func (o *PutTenantMembershipInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + return nil +} diff --git a/api/members/members_models/manageable_tenant.go b/api/members/members_models/manageable_tenant.go new file mode 100644 index 0000000..80c8ae9 --- /dev/null +++ b/api/members/members_models/manageable_tenant.go @@ -0,0 +1,164 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package members_models + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag/jsonutils" + "github.com/go-openapi/validate" +) + +// ManageableTenant manageable tenant +// +// swagger:model ManageableTenant +type ManageableTenant struct { + + // active + Active *bool `json:"active,omitempty"` + + // actor access level + // Required: true + // Enum: ["estate_administrator","owner","manager"] + ActorAccessLevel *string `json:"actorAccessLevel"` + + // id + // Required: true + // Max Length: 36 + // Min Length: 1 + ID *string `json:"id"` + + // status + Status *string `json:"status,omitempty"` + + // tenant name + // Required: true + TenantName *string `json:"tenantName"` + + // tenant type + TenantType *string `json:"tenantType,omitempty"` +} + +// Validate validates this manageable tenant +func (m *ManageableTenant) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateActorAccessLevel(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTenantName(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var manageableTenantTypeActorAccessLevelPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["estate_administrator","owner","manager"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + manageableTenantTypeActorAccessLevelPropEnum = append(manageableTenantTypeActorAccessLevelPropEnum, v) + } +} + +const ( + + // ManageableTenantActorAccessLevelEstateAdministrator captures enum value "estate_administrator" + ManageableTenantActorAccessLevelEstateAdministrator string = "estate_administrator" + + // ManageableTenantActorAccessLevelOwner captures enum value "owner" + ManageableTenantActorAccessLevelOwner string = "owner" + + // ManageableTenantActorAccessLevelManager captures enum value "manager" + ManageableTenantActorAccessLevelManager string = "manager" +) + +// prop value enum +func (m *ManageableTenant) validateActorAccessLevelEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, manageableTenantTypeActorAccessLevelPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *ManageableTenant) validateActorAccessLevel(formats strfmt.Registry) error { + + if err := validate.Required("actorAccessLevel", "body", m.ActorAccessLevel); err != nil { + return err + } + + // value enum + if err := m.validateActorAccessLevelEnum("actorAccessLevel", "body", *m.ActorAccessLevel); err != nil { + return err + } + + return nil +} + +func (m *ManageableTenant) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + if err := validate.MinLength("id", "body", *m.ID, 1); err != nil { + return err + } + + if err := validate.MaxLength("id", "body", *m.ID, 36); err != nil { + return err + } + + return nil +} + +func (m *ManageableTenant) validateTenantName(formats strfmt.Registry) error { + + if err := validate.Required("tenantName", "body", m.TenantName); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this manageable tenant based on context it is used +func (m *ManageableTenant) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *ManageableTenant) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return jsonutils.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ManageableTenant) UnmarshalBinary(b []byte) error { + var res ManageableTenant + if err := jsonutils.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/members/members_models/manageable_tenant_response.go b/api/members/members_models/manageable_tenant_response.go new file mode 100644 index 0000000..81457fe --- /dev/null +++ b/api/members/members_models/manageable_tenant_response.go @@ -0,0 +1,192 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package members_models + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag/jsonutils" + "github.com/go-openapi/swag/typeutils" + "github.com/go-openapi/validate" +) + +// ManageableTenantResponse manageable tenant response +// +// swagger:model ManageableTenantResponse +type ManageableTenantResponse struct { + + // data + // Required: true + Data []*ManageableTenant `json:"Data"` + + // meta + // Required: true + Meta *PortalMeta `json:"Meta"` +} + +// Validate validates this manageable tenant response +func (m *ManageableTenantResponse) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateData(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMeta(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ManageableTenantResponse) validateData(formats strfmt.Registry) error { + + if err := validate.Required("Data", "body", m.Data); err != nil { + return err + } + + for i := 0; i < len(m.Data); i++ { + if typeutils.IsZero(m.Data[i]) { // not required + continue + } + + if m.Data[i] != nil { + if err := m.Data[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Data" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Data" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *ManageableTenantResponse) validateMeta(formats strfmt.Registry) error { + + if err := validate.Required("Meta", "body", m.Meta); err != nil { + return err + } + + if m.Meta != nil { + if err := m.Meta.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Meta") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Meta") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this manageable tenant response based on the context it is used +func (m *ManageableTenantResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateData(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateMeta(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ManageableTenantResponse) contextValidateData(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Data); i++ { + + if m.Data[i] != nil { + + if typeutils.IsZero(m.Data[i]) { // not required + return nil + } + + if err := m.Data[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Data" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Data" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *ManageableTenantResponse) contextValidateMeta(ctx context.Context, formats strfmt.Registry) error { + + if m.Meta != nil { + + if err := m.Meta.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Meta") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Meta") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ManageableTenantResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return jsonutils.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ManageableTenantResponse) UnmarshalBinary(b []byte) error { + var res ManageableTenantResponse + if err := jsonutils.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/members/members_models/tenant_membership.go b/api/members/members_models/tenant_membership.go new file mode 100644 index 0000000..8fb13fe --- /dev/null +++ b/api/members/members_models/tenant_membership.go @@ -0,0 +1,345 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package members_models + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag/jsonutils" + "github.com/go-openapi/validate" +) + +// TenantMembership tenant membership +// +// swagger:model TenantMembership +type TenantMembership struct { + TenantMembershipAuditFields + + // access level + // Required: true + // Enum: ["owner","manager","member","read_only"] + AccessLevel *string `json:"accessLevel"` + + // email + // Required: true + // Read Only: true + // Format: email + Email strfmt.Email `json:"email"` + + // full name + // Read Only: true + FullName *string `json:"fullName,omitempty"` + + // status + // Required: true + // Enum: ["active","suspended","revoked"] + Status *string `json:"status"` + + // tenant Id + // Required: true + // Max Length: 36 + // Min Length: 1 + TenantID *string `json:"tenantId"` + + // user Id + // Required: true + // Format: uuid + UserID *strfmt.UUID `json:"userId"` +} + +// UnmarshalJSON unmarshals this object from a JSON structure +func (m *TenantMembership) UnmarshalJSON(raw []byte) error { + // AO0 + var aO0 TenantMembershipAuditFields + if err := jsonutils.ReadJSON(raw, &aO0); err != nil { + return err + } + m.TenantMembershipAuditFields = aO0 + + // AO1 + var dataAO1 struct { + AccessLevel *string `json:"accessLevel"` + + Email strfmt.Email `json:"email"` + + FullName *string `json:"fullName,omitempty"` + + Status *string `json:"status"` + + TenantID *string `json:"tenantId"` + + UserID *strfmt.UUID `json:"userId"` + } + if err := jsonutils.ReadJSON(raw, &dataAO1); err != nil { + return err + } + + m.AccessLevel = dataAO1.AccessLevel + + m.Email = dataAO1.Email + + m.FullName = dataAO1.FullName + + m.Status = dataAO1.Status + + m.TenantID = dataAO1.TenantID + + m.UserID = dataAO1.UserID + + return nil +} + +// MarshalJSON marshals this object to a JSON structure +func (m TenantMembership) MarshalJSON() ([]byte, error) { + _parts := make([][]byte, 0, 2) + + aO0, err := jsonutils.WriteJSON(m.TenantMembershipAuditFields) + if err != nil { + return nil, err + } + _parts = append(_parts, aO0) + var dataAO1 struct { + AccessLevel *string `json:"accessLevel"` + + Email strfmt.Email `json:"email"` + + FullName *string `json:"fullName,omitempty"` + + Status *string `json:"status"` + + TenantID *string `json:"tenantId"` + + UserID *strfmt.UUID `json:"userId"` + } + + dataAO1.AccessLevel = m.AccessLevel + + dataAO1.Email = m.Email + + dataAO1.FullName = m.FullName + + dataAO1.Status = m.Status + + dataAO1.TenantID = m.TenantID + + dataAO1.UserID = m.UserID + + jsonDataAO1, errAO1 := jsonutils.WriteJSON(dataAO1) + if errAO1 != nil { + return nil, errAO1 + } + _parts = append(_parts, jsonDataAO1) + return jsonutils.ConcatJSON(_parts...), nil +} + +// Validate validates this tenant membership +func (m *TenantMembership) Validate(formats strfmt.Registry) error { + var res []error + + // validation for a type composition with TenantMembershipAuditFields + if err := m.TenantMembershipAuditFields.Validate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateAccessLevel(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEmail(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTenantID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var tenantMembershipTypeAccessLevelPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["owner","manager","member","read_only"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + tenantMembershipTypeAccessLevelPropEnum = append(tenantMembershipTypeAccessLevelPropEnum, v) + } +} + +// property enum +func (m *TenantMembership) validateAccessLevelEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, tenantMembershipTypeAccessLevelPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *TenantMembership) validateAccessLevel(formats strfmt.Registry) error { + + if err := validate.Required("accessLevel", "body", m.AccessLevel); err != nil { + return err + } + + // value enum + if err := m.validateAccessLevelEnum("accessLevel", "body", *m.AccessLevel); err != nil { + return err + } + + return nil +} + +func (m *TenantMembership) validateEmail(formats strfmt.Registry) error { + + if err := validate.Required("email", "body", m.Email); err != nil { + return err + } + + if err := validate.FormatOf("email", "body", "email", m.Email.String(), formats); err != nil { + return err + } + + return nil +} + +var tenantMembershipTypeStatusPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["active","suspended","revoked"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + tenantMembershipTypeStatusPropEnum = append(tenantMembershipTypeStatusPropEnum, v) + } +} + +// property enum +func (m *TenantMembership) validateStatusEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, tenantMembershipTypeStatusPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *TenantMembership) validateStatus(formats strfmt.Registry) error { + + if err := validate.Required("status", "body", m.Status); err != nil { + return err + } + + // value enum + if err := m.validateStatusEnum("status", "body", *m.Status); err != nil { + return err + } + + return nil +} + +func (m *TenantMembership) validateTenantID(formats strfmt.Registry) error { + + if err := validate.Required("tenantId", "body", m.TenantID); err != nil { + return err + } + + if err := validate.MinLength("tenantId", "body", *m.TenantID, 1); err != nil { + return err + } + + if err := validate.MaxLength("tenantId", "body", *m.TenantID, 36); err != nil { + return err + } + + return nil +} + +func (m *TenantMembership) validateUserID(formats strfmt.Registry) error { + + if err := validate.Required("userId", "body", m.UserID); err != nil { + return err + } + + if err := validate.FormatOf("userId", "body", "uuid", m.UserID.String(), formats); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this tenant membership based on the context it is used +func (m *TenantMembership) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + // validation for a type composition with TenantMembershipAuditFields + if err := m.TenantMembershipAuditFields.ContextValidate(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateEmail(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateFullName(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TenantMembership) contextValidateEmail(ctx context.Context, formats strfmt.Registry) error { + + if err := validate.ReadOnly(ctx, "email", "body", m.Email); err != nil { + return err + } + + return nil +} + +func (m *TenantMembership) contextValidateFullName(ctx context.Context, formats strfmt.Registry) error { + + if err := validate.ReadOnly(ctx, "fullName", "body", m.FullName); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *TenantMembership) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return jsonutils.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TenantMembership) UnmarshalBinary(b []byte) error { + var res TenantMembership + if err := jsonutils.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/members/members_models/tenant_membership_audit_fields.go b/api/members/members_models/tenant_membership_audit_fields.go new file mode 100644 index 0000000..839d672 --- /dev/null +++ b/api/members/members_models/tenant_membership_audit_fields.go @@ -0,0 +1,195 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package members_models + +import ( + "context" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag/jsonutils" + "github.com/go-openapi/swag/typeutils" + "github.com/go-openapi/validate" +) + +// TenantMembershipAuditFields tenant membership audit fields +// +// swagger:model TenantMembershipAuditFields +type TenantMembershipAuditFields struct { + + // created by Id + // Read Only: true + // Format: uuid + CreatedByID *strfmt.UUID `json:"createdById,omitempty"` + + // Server-owned UTC creation timestamp. + // Required: true + // Format: date-time + CreatedDate *strfmt.DateTime `json:"createdDate"` + + // Server-generated membership identifier. + // Required: true + // Format: uuid + ID *strfmt.UUID `json:"id"` + + // last modified by Id + // Read Only: true + // Format: uuid + LastModifiedByID *strfmt.UUID `json:"lastModifiedById,omitempty"` + + // Server-owned optimistic concurrency token. + // Required: true + // Format: date-time + LastModifiedDate *strfmt.DateTime `json:"lastModifiedDate"` +} + +// Validate validates this tenant membership audit fields +func (m *TenantMembershipAuditFields) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCreatedByID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateCreatedDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLastModifiedByID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLastModifiedDate(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TenantMembershipAuditFields) validateCreatedByID(formats strfmt.Registry) error { + if typeutils.IsZero(m.CreatedByID) { // not required + return nil + } + + if err := validate.FormatOf("createdById", "body", "uuid", m.CreatedByID.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *TenantMembershipAuditFields) validateCreatedDate(formats strfmt.Registry) error { + + if err := validate.Required("createdDate", "body", m.CreatedDate); err != nil { + return err + } + + if err := validate.FormatOf("createdDate", "body", "date-time", m.CreatedDate.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *TenantMembershipAuditFields) validateID(formats strfmt.Registry) error { + + if err := validate.Required("id", "body", m.ID); err != nil { + return err + } + + if err := validate.FormatOf("id", "body", "uuid", m.ID.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *TenantMembershipAuditFields) validateLastModifiedByID(formats strfmt.Registry) error { + if typeutils.IsZero(m.LastModifiedByID) { // not required + return nil + } + + if err := validate.FormatOf("lastModifiedById", "body", "uuid", m.LastModifiedByID.String(), formats); err != nil { + return err + } + + return nil +} + +func (m *TenantMembershipAuditFields) validateLastModifiedDate(formats strfmt.Registry) error { + + if err := validate.Required("lastModifiedDate", "body", m.LastModifiedDate); err != nil { + return err + } + + if err := validate.FormatOf("lastModifiedDate", "body", "date-time", m.LastModifiedDate.String(), formats); err != nil { + return err + } + + return nil +} + +// ContextValidate validate this tenant membership audit fields based on the context it is used +func (m *TenantMembershipAuditFields) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCreatedByID(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateLastModifiedByID(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TenantMembershipAuditFields) contextValidateCreatedByID(ctx context.Context, formats strfmt.Registry) error { + + if err := validate.ReadOnly(ctx, "createdById", "body", m.CreatedByID); err != nil { + return err + } + + return nil +} + +func (m *TenantMembershipAuditFields) contextValidateLastModifiedByID(ctx context.Context, formats strfmt.Registry) error { + + if err := validate.ReadOnly(ctx, "lastModifiedById", "body", m.LastModifiedByID); err != nil { + return err + } + + return nil +} + +// MarshalBinary interface implementation +func (m *TenantMembershipAuditFields) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return jsonutils.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TenantMembershipAuditFields) UnmarshalBinary(b []byte) error { + var res TenantMembershipAuditFields + if err := jsonutils.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/members/members_models/tenant_membership_create.go b/api/members/members_models/tenant_membership_create.go new file mode 100644 index 0000000..f179112 --- /dev/null +++ b/api/members/members_models/tenant_membership_create.go @@ -0,0 +1,235 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package members_models + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag/jsonutils" + "github.com/go-openapi/swag/typeutils" + "github.com/go-openapi/validate" +) + +// TenantMembershipCreate Exactly one of userId or email is required; Members validates the exclusive selector transactionally. +// +// swagger:model TenantMembershipCreate +type TenantMembershipCreate struct { + + // access level + // Required: true + // Enum: ["owner","manager","member","read_only"] + AccessLevel *string `json:"accessLevel"` + + // email + // Format: email + Email *strfmt.Email `json:"email,omitempty"` + + // status + // Enum: ["active","suspended","revoked"] + Status *string `json:"status,omitempty"` + + // tenant Id + // Required: true + // Max Length: 36 + // Min Length: 1 + TenantID *string `json:"tenantId"` + + // user Id + // Format: uuid + UserID *strfmt.UUID `json:"userId,omitempty"` +} + +// Validate validates this tenant membership create +func (m *TenantMembershipCreate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAccessLevel(formats); err != nil { + res = append(res, err) + } + + if err := m.validateEmail(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if err := m.validateTenantID(formats); err != nil { + res = append(res, err) + } + + if err := m.validateUserID(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var tenantMembershipCreateTypeAccessLevelPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["owner","manager","member","read_only"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + tenantMembershipCreateTypeAccessLevelPropEnum = append(tenantMembershipCreateTypeAccessLevelPropEnum, v) + } +} + +const ( + + // TenantMembershipCreateAccessLevelOwner captures enum value "owner" + TenantMembershipCreateAccessLevelOwner string = "owner" + + // TenantMembershipCreateAccessLevelManager captures enum value "manager" + TenantMembershipCreateAccessLevelManager string = "manager" + + // TenantMembershipCreateAccessLevelMember captures enum value "member" + TenantMembershipCreateAccessLevelMember string = "member" + + // TenantMembershipCreateAccessLevelReadOnly captures enum value "read_only" + TenantMembershipCreateAccessLevelReadOnly string = "read_only" +) + +// prop value enum +func (m *TenantMembershipCreate) validateAccessLevelEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, tenantMembershipCreateTypeAccessLevelPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *TenantMembershipCreate) validateAccessLevel(formats strfmt.Registry) error { + + if err := validate.Required("accessLevel", "body", m.AccessLevel); err != nil { + return err + } + + // value enum + if err := m.validateAccessLevelEnum("accessLevel", "body", *m.AccessLevel); err != nil { + return err + } + + return nil +} + +func (m *TenantMembershipCreate) validateEmail(formats strfmt.Registry) error { + if typeutils.IsZero(m.Email) { // not required + return nil + } + + if err := validate.FormatOf("email", "body", "email", m.Email.String(), formats); err != nil { + return err + } + + return nil +} + +var tenantMembershipCreateTypeStatusPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["active","suspended","revoked"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + tenantMembershipCreateTypeStatusPropEnum = append(tenantMembershipCreateTypeStatusPropEnum, v) + } +} + +const ( + + // TenantMembershipCreateStatusActive captures enum value "active" + TenantMembershipCreateStatusActive string = "active" + + // TenantMembershipCreateStatusSuspended captures enum value "suspended" + TenantMembershipCreateStatusSuspended string = "suspended" + + // TenantMembershipCreateStatusRevoked captures enum value "revoked" + TenantMembershipCreateStatusRevoked string = "revoked" +) + +// prop value enum +func (m *TenantMembershipCreate) validateStatusEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, tenantMembershipCreateTypeStatusPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *TenantMembershipCreate) validateStatus(formats strfmt.Registry) error { + if typeutils.IsZero(m.Status) { // not required + return nil + } + + // value enum + if err := m.validateStatusEnum("status", "body", *m.Status); err != nil { + return err + } + + return nil +} + +func (m *TenantMembershipCreate) validateTenantID(formats strfmt.Registry) error { + + if err := validate.Required("tenantId", "body", m.TenantID); err != nil { + return err + } + + if err := validate.MinLength("tenantId", "body", *m.TenantID, 1); err != nil { + return err + } + + if err := validate.MaxLength("tenantId", "body", *m.TenantID, 36); err != nil { + return err + } + + return nil +} + +func (m *TenantMembershipCreate) validateUserID(formats strfmt.Registry) error { + if typeutils.IsZero(m.UserID) { // not required + return nil + } + + if err := validate.FormatOf("userId", "body", "uuid", m.UserID.String(), formats); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this tenant membership create based on context it is used +func (m *TenantMembershipCreate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *TenantMembershipCreate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return jsonutils.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TenantMembershipCreate) UnmarshalBinary(b []byte) error { + var res TenantMembershipCreate + if err := jsonutils.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/members/members_models/tenant_membership_create_request.go b/api/members/members_models/tenant_membership_create_request.go new file mode 100644 index 0000000..130c413 --- /dev/null +++ b/api/members/members_models/tenant_membership_create_request.go @@ -0,0 +1,118 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package members_models + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag/jsonutils" + "github.com/go-openapi/validate" +) + +// TenantMembershipCreateRequest tenant membership create request +// +// swagger:model TenantMembershipCreateRequest +type TenantMembershipCreateRequest struct { + + // data + // Required: true + Data *TenantMembershipCreate `json:"Data"` +} + +// Validate validates this tenant membership create request +func (m *TenantMembershipCreateRequest) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateData(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TenantMembershipCreateRequest) validateData(formats strfmt.Registry) error { + + if err := validate.Required("Data", "body", m.Data); err != nil { + return err + } + + if m.Data != nil { + if err := m.Data.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Data") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Data") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this tenant membership create request based on the context it is used +func (m *TenantMembershipCreateRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateData(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TenantMembershipCreateRequest) contextValidateData(ctx context.Context, formats strfmt.Registry) error { + + if m.Data != nil { + + if err := m.Data.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Data") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Data") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *TenantMembershipCreateRequest) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return jsonutils.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TenantMembershipCreateRequest) UnmarshalBinary(b []byte) error { + var res TenantMembershipCreateRequest + if err := jsonutils.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/members/members_models/tenant_membership_list_response.go b/api/members/members_models/tenant_membership_list_response.go new file mode 100644 index 0000000..838fe72 --- /dev/null +++ b/api/members/members_models/tenant_membership_list_response.go @@ -0,0 +1,192 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package members_models + +import ( + "context" + stderrors "errors" + "strconv" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag/jsonutils" + "github.com/go-openapi/swag/typeutils" + "github.com/go-openapi/validate" +) + +// TenantMembershipListResponse tenant membership list response +// +// swagger:model TenantMembershipListResponse +type TenantMembershipListResponse struct { + + // data + // Required: true + Data []*TenantMembership `json:"Data"` + + // meta + // Required: true + Meta *PortalMeta `json:"Meta"` +} + +// Validate validates this tenant membership list response +func (m *TenantMembershipListResponse) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateData(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMeta(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TenantMembershipListResponse) validateData(formats strfmt.Registry) error { + + if err := validate.Required("Data", "body", m.Data); err != nil { + return err + } + + for i := 0; i < len(m.Data); i++ { + if typeutils.IsZero(m.Data[i]) { // not required + continue + } + + if m.Data[i] != nil { + if err := m.Data[i].Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Data" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Data" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *TenantMembershipListResponse) validateMeta(formats strfmt.Registry) error { + + if err := validate.Required("Meta", "body", m.Meta); err != nil { + return err + } + + if m.Meta != nil { + if err := m.Meta.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Meta") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Meta") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this tenant membership list response based on the context it is used +func (m *TenantMembershipListResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateData(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateMeta(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TenantMembershipListResponse) contextValidateData(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Data); i++ { + + if m.Data[i] != nil { + + if typeutils.IsZero(m.Data[i]) { // not required + return nil + } + + if err := m.Data[i].ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Data" + "." + strconv.Itoa(i)) + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Data" + "." + strconv.Itoa(i)) + } + + return err + } + } + + } + + return nil +} + +func (m *TenantMembershipListResponse) contextValidateMeta(ctx context.Context, formats strfmt.Registry) error { + + if m.Meta != nil { + + if err := m.Meta.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Meta") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Meta") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *TenantMembershipListResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return jsonutils.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TenantMembershipListResponse) UnmarshalBinary(b []byte) error { + var res TenantMembershipListResponse + if err := jsonutils.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/members/members_models/tenant_membership_response.go b/api/members/members_models/tenant_membership_response.go new file mode 100644 index 0000000..07c4325 --- /dev/null +++ b/api/members/members_models/tenant_membership_response.go @@ -0,0 +1,175 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package members_models + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag/jsonutils" + "github.com/go-openapi/validate" +) + +// TenantMembershipResponse tenant membership response +// +// swagger:model TenantMembershipResponse +type TenantMembershipResponse struct { + + // data + // Required: true + Data *TenantMembership `json:"Data"` + + // meta + // Required: true + Meta *PortalMeta `json:"Meta"` +} + +// Validate validates this tenant membership response +func (m *TenantMembershipResponse) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateData(formats); err != nil { + res = append(res, err) + } + + if err := m.validateMeta(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TenantMembershipResponse) validateData(formats strfmt.Registry) error { + + if err := validate.Required("Data", "body", m.Data); err != nil { + return err + } + + if m.Data != nil { + if err := m.Data.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Data") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Data") + } + + return err + } + } + + return nil +} + +func (m *TenantMembershipResponse) validateMeta(formats strfmt.Registry) error { + + if err := validate.Required("Meta", "body", m.Meta); err != nil { + return err + } + + if m.Meta != nil { + if err := m.Meta.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Meta") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Meta") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this tenant membership response based on the context it is used +func (m *TenantMembershipResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateData(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateMeta(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TenantMembershipResponse) contextValidateData(ctx context.Context, formats strfmt.Registry) error { + + if m.Data != nil { + + if err := m.Data.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Data") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Data") + } + + return err + } + } + + return nil +} + +func (m *TenantMembershipResponse) contextValidateMeta(ctx context.Context, formats strfmt.Registry) error { + + if m.Meta != nil { + + if err := m.Meta.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Meta") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Meta") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *TenantMembershipResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return jsonutils.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TenantMembershipResponse) UnmarshalBinary(b []byte) error { + var res TenantMembershipResponse + if err := jsonutils.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/members/members_models/tenant_membership_update.go b/api/members/members_models/tenant_membership_update.go new file mode 100644 index 0000000..eb1e374 --- /dev/null +++ b/api/members/members_models/tenant_membership_update.go @@ -0,0 +1,188 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package members_models + +import ( + "context" + "encoding/json" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag/jsonutils" + "github.com/go-openapi/swag/typeutils" + "github.com/go-openapi/validate" +) + +// TenantMembershipUpdate tenant membership update +// +// swagger:model TenantMembershipUpdate +type TenantMembershipUpdate struct { + + // access level + // Enum: ["owner","manager","member","read_only"] + AccessLevel *string `json:"accessLevel,omitempty"` + + // Optimistic concurrency token from the latest representation. + // Required: true + // Format: date-time + LastModifiedDate *strfmt.DateTime `json:"lastModifiedDate"` + + // status + // Enum: ["active","suspended","revoked"] + Status *string `json:"status,omitempty"` +} + +// Validate validates this tenant membership update +func (m *TenantMembershipUpdate) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateAccessLevel(formats); err != nil { + res = append(res, err) + } + + if err := m.validateLastModifiedDate(formats); err != nil { + res = append(res, err) + } + + if err := m.validateStatus(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +var tenantMembershipUpdateTypeAccessLevelPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["owner","manager","member","read_only"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + tenantMembershipUpdateTypeAccessLevelPropEnum = append(tenantMembershipUpdateTypeAccessLevelPropEnum, v) + } +} + +const ( + + // TenantMembershipUpdateAccessLevelOwner captures enum value "owner" + TenantMembershipUpdateAccessLevelOwner string = "owner" + + // TenantMembershipUpdateAccessLevelManager captures enum value "manager" + TenantMembershipUpdateAccessLevelManager string = "manager" + + // TenantMembershipUpdateAccessLevelMember captures enum value "member" + TenantMembershipUpdateAccessLevelMember string = "member" + + // TenantMembershipUpdateAccessLevelReadOnly captures enum value "read_only" + TenantMembershipUpdateAccessLevelReadOnly string = "read_only" +) + +// prop value enum +func (m *TenantMembershipUpdate) validateAccessLevelEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, tenantMembershipUpdateTypeAccessLevelPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *TenantMembershipUpdate) validateAccessLevel(formats strfmt.Registry) error { + if typeutils.IsZero(m.AccessLevel) { // not required + return nil + } + + // value enum + if err := m.validateAccessLevelEnum("accessLevel", "body", *m.AccessLevel); err != nil { + return err + } + + return nil +} + +func (m *TenantMembershipUpdate) validateLastModifiedDate(formats strfmt.Registry) error { + + if err := validate.Required("lastModifiedDate", "body", m.LastModifiedDate); err != nil { + return err + } + + if err := validate.FormatOf("lastModifiedDate", "body", "date-time", m.LastModifiedDate.String(), formats); err != nil { + return err + } + + return nil +} + +var tenantMembershipUpdateTypeStatusPropEnum []any + +func init() { + var res []string + if err := json.Unmarshal([]byte(`["active","suspended","revoked"]`), &res); err != nil { + panic(err) + } + for _, v := range res { + tenantMembershipUpdateTypeStatusPropEnum = append(tenantMembershipUpdateTypeStatusPropEnum, v) + } +} + +const ( + + // TenantMembershipUpdateStatusActive captures enum value "active" + TenantMembershipUpdateStatusActive string = "active" + + // TenantMembershipUpdateStatusSuspended captures enum value "suspended" + TenantMembershipUpdateStatusSuspended string = "suspended" + + // TenantMembershipUpdateStatusRevoked captures enum value "revoked" + TenantMembershipUpdateStatusRevoked string = "revoked" +) + +// prop value enum +func (m *TenantMembershipUpdate) validateStatusEnum(path, location string, value string) error { + if err := validate.EnumCase(path, location, value, tenantMembershipUpdateTypeStatusPropEnum, true); err != nil { + return err + } + return nil +} + +func (m *TenantMembershipUpdate) validateStatus(formats strfmt.Registry) error { + if typeutils.IsZero(m.Status) { // not required + return nil + } + + // value enum + if err := m.validateStatusEnum("status", "body", *m.Status); err != nil { + return err + } + + return nil +} + +// ContextValidate validates this tenant membership update based on context it is used +func (m *TenantMembershipUpdate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *TenantMembershipUpdate) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return jsonutils.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TenantMembershipUpdate) UnmarshalBinary(b []byte) error { + var res TenantMembershipUpdate + if err := jsonutils.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/members/members_models/tenant_membership_update_request.go b/api/members/members_models/tenant_membership_update_request.go new file mode 100644 index 0000000..77e4f5f --- /dev/null +++ b/api/members/members_models/tenant_membership_update_request.go @@ -0,0 +1,118 @@ +// Code generated by go-swagger; DO NOT EDIT. + +// (c) 2012-2020 by Taxnexus, Inc. +// All rights reserved worldwide. +// Proprietary product; unlicensed use is not allowed + +package members_models + +import ( + "context" + stderrors "errors" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag/jsonutils" + "github.com/go-openapi/validate" +) + +// TenantMembershipUpdateRequest tenant membership update request +// +// swagger:model TenantMembershipUpdateRequest +type TenantMembershipUpdateRequest struct { + + // data + // Required: true + Data *TenantMembershipUpdate `json:"Data"` +} + +// Validate validates this tenant membership update request +func (m *TenantMembershipUpdateRequest) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateData(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TenantMembershipUpdateRequest) validateData(formats strfmt.Registry) error { + + if err := validate.Required("Data", "body", m.Data); err != nil { + return err + } + + if m.Data != nil { + if err := m.Data.Validate(formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Data") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Data") + } + + return err + } + } + + return nil +} + +// ContextValidate validate this tenant membership update request based on the context it is used +func (m *TenantMembershipUpdateRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateData(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *TenantMembershipUpdateRequest) contextValidateData(ctx context.Context, formats strfmt.Registry) error { + + if m.Data != nil { + + if err := m.Data.ContextValidate(ctx, formats); err != nil { + ve := new(errors.Validation) + if stderrors.As(err, &ve) { + return ve.ValidateName("Data") + } + ce := new(errors.CompositeError) + if stderrors.As(err, &ce) { + return ce.ValidateName("Data") + } + + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *TenantMembershipUpdateRequest) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return jsonutils.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *TenantMembershipUpdateRequest) UnmarshalBinary(b []byte) error { + var res TenantMembershipUpdateRequest + if err := jsonutils.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/swagger/external/members-vernonkeenan.yaml b/swagger/external/members-vernonkeenan.yaml index 41530d5..a095895 100644 --- a/swagger/external/members-vernonkeenan.yaml +++ b/swagger/external/members-vernonkeenan.yaml @@ -84,6 +84,35 @@ parameters: type: boolean default: false description: Includes revoked or expired metadata when authorized. + membershipAccessLevel: + name: accessLevel + in: query + type: string + enum: [owner, manager, member, read_only] + membershipTenantId: + name: tenantId + in: query + type: string + minLength: 1 + maxLength: 36 + description: Tenant identifier; legacy Members tenant IDs are not all UUID formatted. + membershipStatus: + name: status + in: query + type: string + enum: [active, suspended, revoked] + membershipEmail: + name: email + in: query + type: string + format: email + description: Exact normalized email filter; result scope remains actor-derived. + requestId: + name: X-Request-ID + in: header + type: string + maxLength: 120 + description: Optional bounded correlation identifier stored with membership audit events. limit: name: limit in: query @@ -1201,6 +1230,114 @@ paths: 403: {description: Actor cannot manage scopes for the client} 500: {description: Server error} security: *portalSecurity + /manageabletenants: + get: + operationId: getManageableTenants + tags: [PortalMemberships] + summary: List tenant contexts the current actor may administer + parameters: + - $ref: "#/parameters/limit" + - $ref: "#/parameters/offset" + responses: + 200: {description: Actor-derived manageable tenant contexts, schema: {$ref: "#/definitions/ManageableTenantResponse"}} + 400: {description: Invalid pagination} + 401: {description: Missing or invalid server or session credential} + 500: {description: Server error} + security: *portalSecurity + + /tenantmemberships: + get: + operationId: getTenantMemberships + tags: [PortalMemberships] + summary: List actor-visible tenant memberships + parameters: + - $ref: "#/parameters/membershipTenantId" + - $ref: "#/parameters/userId" + - $ref: "#/parameters/membershipEmail" + - $ref: "#/parameters/membershipAccessLevel" + - $ref: "#/parameters/membershipStatus" + - $ref: "#/parameters/limit" + - $ref: "#/parameters/offset" + responses: + 200: {description: Actor-scoped tenant memberships, schema: {$ref: "#/definitions/TenantMembershipListResponse"}} + 400: {description: Invalid membership filter} + 401: {description: Missing or invalid server or session credential} + 404: {description: Requested foreign or unavailable scope} + 500: {description: Server error} + security: *portalSecurity + post: + operationId: postTenantMembership + tags: [PortalMemberships] + summary: Idempotently link one existing active user to one tenant + parameters: + - $ref: "#/parameters/requestId" + - in: body + name: request + required: true + schema: {$ref: "#/definitions/TenantMembershipCreateRequest"} + responses: + 200: {description: Current membership desired state, 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"} + 500: {description: Server error} + security: *portalSecurity + + /tenantmemberships/{membershipId}: + parameters: + - name: membershipId + in: path + required: true + type: string + format: uuid + get: + operationId: getTenantMembership + tags: [PortalMemberships] + summary: Get one actor-visible tenant membership + responses: + 200: {description: Tenant membership, schema: {$ref: "#/definitions/TenantMembershipResponse"}} + 401: {description: Missing or invalid server or session credential} + 404: {description: "Membership is absent, foreign, or unauthorized"} + 500: {description: Server error} + security: *portalSecurity + put: + operationId: putTenantMembership + tags: [PortalMemberships] + summary: Idempotently change membership access or lifecycle + parameters: + - $ref: "#/parameters/requestId" + - in: body + name: request + required: true + schema: {$ref: "#/definitions/TenantMembershipUpdateRequest"} + responses: + 200: {description: Current membership desired state, schema: {$ref: "#/definitions/TenantMembershipResponse"}} + 400: {description: Invalid desired state} + 401: {description: Missing or invalid server or session credential} + 404: {description: "Membership is absent, foreign, or unauthorized"} + 409: {description: "Optimistic, self-change, owner, or state conflict"} + 500: {description: Server error} + security: *portalSecurity + delete: + operationId: deleteTenantMembership + tags: [PortalMemberships] + summary: Idempotently soft-revoke one membership + parameters: + - $ref: "#/parameters/requestId" + - name: lastModifiedDate + in: query + required: true + type: string + format: date-time + description: Optimistic concurrency token from the latest representation. + responses: + 200: {description: Revoked membership, schema: {$ref: "#/definitions/TenantMembershipResponse"}} + 401: {description: Missing or invalid server or session credential} + 404: {description: "Membership is absent, foreign, or unauthorized"} + 409: {description: "Optimistic, self-change, owner, or state conflict"} + 500: {description: Server error} + security: *portalSecurity /sessions: post: tags: [sessions] @@ -3949,6 +4086,55 @@ definitions: authorizedClientId: {type: string, format: uuid} serviceScopeId: {type: string, format: uuid} + TenantMembership: + allOf: + - $ref: "#/definitions/TenantMembershipAuditFields" + - type: object + required: [tenantId, userId, email, accessLevel, status] + properties: + tenantId: {type: string, minLength: 1, maxLength: 36} + userId: {type: string, format: uuid} + email: {type: string, format: email, readOnly: true} + fullName: {type: string, x-nullable: true, readOnly: true} + accessLevel: {type: string, enum: [owner, manager, member, read_only]} + status: {type: string, enum: [active, suspended, revoked]} + TenantMembershipAuditFields: + type: object + required: [id, createdDate, lastModifiedDate] + properties: + id: {type: string, format: uuid, description: Server-generated membership identifier.} + createdById: {type: string, format: uuid, x-nullable: true, readOnly: true} + createdDate: {type: string, format: date-time, description: Server-owned UTC creation timestamp.} + lastModifiedById: {type: string, format: uuid, x-nullable: true, readOnly: true} + lastModifiedDate: {type: string, format: date-time, description: Server-owned optimistic concurrency token.} + TenantMembershipCreate: + type: object + required: [tenantId, accessLevel] + description: Exactly one of userId or email is required; Members validates the exclusive selector transactionally. + properties: + tenantId: {type: string, minLength: 1, maxLength: 36} + userId: {type: string, format: uuid, x-nullable: true} + email: {type: string, format: email, x-nullable: true} + accessLevel: {type: string, enum: [owner, manager, member, read_only]} + status: {type: string, enum: [active, suspended, revoked], default: active} + TenantMembershipUpdate: + type: object + required: [lastModifiedDate] + properties: + accessLevel: {type: string, enum: [owner, manager, member, read_only], x-nullable: true} + status: {type: string, enum: [active, suspended, revoked], x-nullable: true} + lastModifiedDate: {type: string, format: date-time, description: Optimistic concurrency token from the latest representation.} + ManageableTenant: + type: object + required: [id, tenantName, actorAccessLevel] + properties: + id: {type: string, minLength: 1, maxLength: 36} + tenantName: {type: string} + tenantType: {type: string, x-nullable: true} + status: {type: string, x-nullable: true} + active: {type: boolean, x-nullable: true} + actorAccessLevel: {type: string, enum: [estate_administrator, owner, manager]} + PortalMeta: type: object properties: @@ -3979,6 +4165,11 @@ definitions: AuthorizedClientResponse: {type: object, required: [Data, Meta], properties: {Data: {type: array, items: {$ref: "#/definitions/AuthorizedClient"}}, Meta: {$ref: "#/definitions/PortalMeta"}}} AuthorizedClientScopeRequest: {type: object, required: [Data], properties: {Data: {type: array, items: {$ref: "#/definitions/AuthorizedClientScope"}}}} AuthorizedClientScopeResponse: {type: object, required: [Data, Meta], properties: {Data: {type: array, items: {$ref: "#/definitions/AuthorizedClientScope"}}, Meta: {$ref: "#/definitions/PortalMeta"}}} + TenantMembershipCreateRequest: {type: object, required: [Data], properties: {Data: {$ref: "#/definitions/TenantMembershipCreate"}}} + TenantMembershipUpdateRequest: {type: object, required: [Data], properties: {Data: {$ref: "#/definitions/TenantMembershipUpdate"}}} + TenantMembershipResponse: {type: object, required: [Data, Meta], properties: {Data: {$ref: "#/definitions/TenantMembership"}, Meta: {$ref: "#/definitions/PortalMeta"}}} + TenantMembershipListResponse: {type: object, required: [Data, Meta], properties: {Data: {type: array, items: {$ref: "#/definitions/TenantMembership"}}, Meta: {$ref: "#/definitions/PortalMeta"}}} + ManageableTenantResponse: {type: object, required: [Data, Meta], properties: {Data: {type: array, items: {$ref: "#/definitions/ManageableTenant"}}, Meta: {$ref: "#/definitions/PortalMeta"}}} OnboardRequest: description: Self-service onboarding request. The plaintext password is hashed server-side with the members pepper; it is never stored or logged in plaintext. type: object diff --git a/swagger/members-vernonkeenan.yaml b/swagger/members-vernonkeenan.yaml index 4dde2bb..d1f45c8 100644 --- a/swagger/members-vernonkeenan.yaml +++ b/swagger/members-vernonkeenan.yaml @@ -84,6 +84,35 @@ parameters: type: boolean default: false description: Includes revoked or expired metadata when authorized. + membershipAccessLevel: + name: accessLevel + in: query + type: string + enum: [owner, manager, member, read_only] + membershipTenantId: + name: tenantId + in: query + type: string + minLength: 1 + maxLength: 36 + description: Tenant identifier; legacy Members tenant IDs are not all UUID formatted. + membershipStatus: + name: status + in: query + type: string + enum: [active, suspended, revoked] + membershipEmail: + name: email + in: query + type: string + format: email + description: Exact normalized email filter; result scope remains actor-derived. + requestId: + name: X-Request-ID + in: header + type: string + maxLength: 120 + description: Optional bounded correlation identifier stored with membership audit events. limit: name: limit in: query @@ -1201,6 +1230,114 @@ paths: 403: {description: Actor cannot manage scopes for the client} 500: {description: Server error} security: *portalSecurity + /manageabletenants: + get: + operationId: getManageableTenants + tags: [PortalMemberships] + summary: List tenant contexts the current actor may administer + parameters: + - $ref: "#/parameters/limit" + - $ref: "#/parameters/offset" + responses: + 200: {description: Actor-derived manageable tenant contexts, schema: {$ref: "#/definitions/ManageableTenantResponse"}} + 400: {description: Invalid pagination} + 401: {description: Missing or invalid server or session credential} + 500: {description: Server error} + security: *portalSecurity + + /tenantmemberships: + get: + operationId: getTenantMemberships + tags: [PortalMemberships] + summary: List actor-visible tenant memberships + parameters: + - $ref: "#/parameters/membershipTenantId" + - $ref: "#/parameters/userId" + - $ref: "#/parameters/membershipEmail" + - $ref: "#/parameters/membershipAccessLevel" + - $ref: "#/parameters/membershipStatus" + - $ref: "#/parameters/limit" + - $ref: "#/parameters/offset" + responses: + 200: {description: Actor-scoped tenant memberships, schema: {$ref: "#/definitions/TenantMembershipListResponse"}} + 400: {description: Invalid membership filter} + 401: {description: Missing or invalid server or session credential} + 404: {description: Requested foreign or unavailable scope} + 500: {description: Server error} + security: *portalSecurity + post: + operationId: postTenantMembership + tags: [PortalMemberships] + summary: Idempotently link one existing active user to one tenant + parameters: + - $ref: "#/parameters/requestId" + - in: body + name: request + required: true + schema: {$ref: "#/definitions/TenantMembershipCreateRequest"} + responses: + 200: {description: Current membership desired state, 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"} + 500: {description: Server error} + security: *portalSecurity + + /tenantmemberships/{membershipId}: + parameters: + - name: membershipId + in: path + required: true + type: string + format: uuid + get: + operationId: getTenantMembership + tags: [PortalMemberships] + summary: Get one actor-visible tenant membership + responses: + 200: {description: Tenant membership, schema: {$ref: "#/definitions/TenantMembershipResponse"}} + 401: {description: Missing or invalid server or session credential} + 404: {description: "Membership is absent, foreign, or unauthorized"} + 500: {description: Server error} + security: *portalSecurity + put: + operationId: putTenantMembership + tags: [PortalMemberships] + summary: Idempotently change membership access or lifecycle + parameters: + - $ref: "#/parameters/requestId" + - in: body + name: request + required: true + schema: {$ref: "#/definitions/TenantMembershipUpdateRequest"} + responses: + 200: {description: Current membership desired state, schema: {$ref: "#/definitions/TenantMembershipResponse"}} + 400: {description: Invalid desired state} + 401: {description: Missing or invalid server or session credential} + 404: {description: "Membership is absent, foreign, or unauthorized"} + 409: {description: "Optimistic, self-change, owner, or state conflict"} + 500: {description: Server error} + security: *portalSecurity + delete: + operationId: deleteTenantMembership + tags: [PortalMemberships] + summary: Idempotently soft-revoke one membership + parameters: + - $ref: "#/parameters/requestId" + - name: lastModifiedDate + in: query + required: true + type: string + format: date-time + description: Optimistic concurrency token from the latest representation. + responses: + 200: {description: Revoked membership, schema: {$ref: "#/definitions/TenantMembershipResponse"}} + 401: {description: Missing or invalid server or session credential} + 404: {description: "Membership is absent, foreign, or unauthorized"} + 409: {description: "Optimistic, self-change, owner, or state conflict"} + 500: {description: Server error} + security: *portalSecurity /sessions: post: tags: [sessions] @@ -3949,6 +4086,55 @@ definitions: authorizedClientId: {type: string, format: uuid} serviceScopeId: {type: string, format: uuid} + TenantMembership: + allOf: + - $ref: "#/definitions/TenantMembershipAuditFields" + - type: object + required: [tenantId, userId, email, accessLevel, status] + properties: + tenantId: {type: string, minLength: 1, maxLength: 36} + userId: {type: string, format: uuid} + email: {type: string, format: email, readOnly: true} + fullName: {type: string, x-nullable: true, readOnly: true} + accessLevel: {type: string, enum: [owner, manager, member, read_only]} + status: {type: string, enum: [active, suspended, revoked]} + TenantMembershipAuditFields: + type: object + required: [id, createdDate, lastModifiedDate] + properties: + id: {type: string, format: uuid, description: Server-generated membership identifier.} + createdById: {type: string, format: uuid, x-nullable: true, readOnly: true} + createdDate: {type: string, format: date-time, description: Server-owned UTC creation timestamp.} + lastModifiedById: {type: string, format: uuid, x-nullable: true, readOnly: true} + lastModifiedDate: {type: string, format: date-time, description: Server-owned optimistic concurrency token.} + TenantMembershipCreate: + type: object + required: [tenantId, accessLevel] + description: Exactly one of userId or email is required; Members validates the exclusive selector transactionally. + properties: + tenantId: {type: string, minLength: 1, maxLength: 36} + userId: {type: string, format: uuid, x-nullable: true} + email: {type: string, format: email, x-nullable: true} + accessLevel: {type: string, enum: [owner, manager, member, read_only]} + status: {type: string, enum: [active, suspended, revoked], default: active} + TenantMembershipUpdate: + type: object + required: [lastModifiedDate] + properties: + accessLevel: {type: string, enum: [owner, manager, member, read_only], x-nullable: true} + status: {type: string, enum: [active, suspended, revoked], x-nullable: true} + lastModifiedDate: {type: string, format: date-time, description: Optimistic concurrency token from the latest representation.} + ManageableTenant: + type: object + required: [id, tenantName, actorAccessLevel] + properties: + id: {type: string, minLength: 1, maxLength: 36} + tenantName: {type: string} + tenantType: {type: string, x-nullable: true} + status: {type: string, x-nullable: true} + active: {type: boolean, x-nullable: true} + actorAccessLevel: {type: string, enum: [estate_administrator, owner, manager]} + PortalMeta: type: object properties: @@ -3979,6 +4165,11 @@ definitions: AuthorizedClientResponse: {type: object, required: [Data, Meta], properties: {Data: {type: array, items: {$ref: "#/definitions/AuthorizedClient"}}, Meta: {$ref: "#/definitions/PortalMeta"}}} AuthorizedClientScopeRequest: {type: object, required: [Data], properties: {Data: {type: array, items: {$ref: "#/definitions/AuthorizedClientScope"}}}} AuthorizedClientScopeResponse: {type: object, required: [Data, Meta], properties: {Data: {type: array, items: {$ref: "#/definitions/AuthorizedClientScope"}}, Meta: {$ref: "#/definitions/PortalMeta"}}} + TenantMembershipCreateRequest: {type: object, required: [Data], properties: {Data: {$ref: "#/definitions/TenantMembershipCreate"}}} + TenantMembershipUpdateRequest: {type: object, required: [Data], properties: {Data: {$ref: "#/definitions/TenantMembershipUpdate"}}} + TenantMembershipResponse: {type: object, required: [Data, Meta], properties: {Data: {$ref: "#/definitions/TenantMembership"}, Meta: {$ref: "#/definitions/PortalMeta"}}} + TenantMembershipListResponse: {type: object, required: [Data, Meta], properties: {Data: {type: array, items: {$ref: "#/definitions/TenantMembership"}}, Meta: {$ref: "#/definitions/PortalMeta"}}} + ManageableTenantResponse: {type: object, required: [Data, Meta], properties: {Data: {type: array, items: {$ref: "#/definitions/ManageableTenant"}}, Meta: {$ref: "#/definitions/PortalMeta"}}} OnboardRequest: description: Self-service onboarding request. The plaintext password is hashed server-side with the members pepper; it is never stored or logged in plaintext. type: object From 5e0f3d888afd88d906fbacaf8c90c358c7bf3c87 Mon Sep 17 00:00:00 2001 From: Vernon Keenan Date: Sat, 18 Jul 2026 23:20:56 +0000 Subject: [PATCH 2/2] 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