/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { membersCreateMember } from "../funcs/membersCreateMember.js"; import { membersDeleteMember } from "../funcs/membersDeleteMember.js"; import { membersDeleteMemberByExternalId } from "../funcs/membersDeleteMemberByExternalId.js"; import { membersGetMember } from "../funcs/membersGetMember.js"; import { membersGetMemberByExternalId } from "../funcs/membersGetMemberByExternalId.js"; import { membersListMembers } from "../funcs/membersListMembers.js"; import { membersUpdateMember } from "../funcs/membersUpdateMember.js"; import { membersUpdateMemberByExternalId } from "../funcs/membersUpdateMemberByExternalId.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import { Member } from "../models/components/member.js"; import { MemberCreate } from "../models/components/membercreate.js"; import { MembersDeleteMemberRequest } from "../models/operations/membersdeletemember.js"; import { MembersDeleteMemberByExternalIdRequest } from "../models/operations/membersdeletememberbyexternalid.js"; import { MembersGetMemberRequest } from "../models/operations/membersgetmember.js"; import { MembersGetMemberByExternalIdRequest } from "../models/operations/membersgetmemberbyexternalid.js"; import { MembersListMembersRequest, MembersListMembersResponse, } from "../models/operations/memberslistmembers.js"; import { MembersUpdateMemberRequest } from "../models/operations/membersupdatemember.js"; import { MembersUpdateMemberByExternalIdRequest } from "../models/operations/membersupdatememberbyexternalid.js"; import { unwrapAsync } from "../types/fp.js"; import { PageIterator, unwrapResultIterator } from "../types/operations.js"; export class Members extends ClientSDK { /** * List Members * * @remarks * List members with optional customer ID filter. * * **Scopes**: `members:read` `members:write` */ async listMembers( request: MembersListMembersRequest, options?: RequestOptions, ): Promise> { return unwrapResultIterator(membersListMembers( this, request, options, )); } /** * Create Member * * @remarks * Create a new member for a customer. * * Only B2B customers with the member management feature enabled can add members. * The authenticated user or organization must have access to the customer's organization. * * **Scopes**: `members:write` */ async createMember( request: MemberCreate, options?: RequestOptions, ): Promise { return unwrapAsync(membersCreateMember( this, request, options, )); } /** * Get Member * * @remarks * Get a member by ID. * * The authenticated user or organization must have access to the member's organization. * * **Scopes**: `members:read` `members:write` */ async getMember( request: MembersGetMemberRequest, options?: RequestOptions, ): Promise { return unwrapAsync(membersGetMember( this, request, options, )); } /** * Delete Member * * @remarks * Delete a member. * * The authenticated user or organization must have access to the member's organization. * * **Scopes**: `members:write` */ async deleteMember( request: MembersDeleteMemberRequest, options?: RequestOptions, ): Promise { return unwrapAsync(membersDeleteMember( this, request, options, )); } /** * Update Member * * @remarks * Update a member. * * Only name and role can be updated. * The authenticated user or organization must have access to the member's organization. * * **Scopes**: `members:write` */ async updateMember( request: MembersUpdateMemberRequest, options?: RequestOptions, ): Promise { return unwrapAsync(membersUpdateMember( this, request, options, )); } /** * Get Member by External ID * * @remarks * Get a member by external ID. One of customer_id or external_customer_id must be specified. * * **Scopes**: `members:read` `members:write` */ async getMemberByExternalId( request: MembersGetMemberByExternalIdRequest, options?: RequestOptions, ): Promise { return unwrapAsync(membersGetMemberByExternalId( this, request, options, )); } /** * Delete Member by External ID * * @remarks * Delete a member by external ID. One of customer_id or external_customer_id must be specified. * * **Scopes**: `members:write` */ async deleteMemberByExternalId( request: MembersDeleteMemberByExternalIdRequest, options?: RequestOptions, ): Promise { return unwrapAsync(membersDeleteMemberByExternalId( this, request, options, )); } /** * Update Member by External ID * * @remarks * Update a member by external ID. One of customer_id or external_customer_id must be specified. * * **Scopes**: `members:write` */ async updateMemberByExternalId( request: MembersUpdateMemberByExternalIdRequest, options?: RequestOptions, ): Promise { return unwrapAsync(membersUpdateMemberByExternalId( this, request, options, )); } }