/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { organizationsCheckOrganizationSlug } from "../funcs/organizations-check-organization-slug.js"; import { organizationsCreateOrganization } from "../funcs/organizations-create-organization.js"; import { organizationsDeleteOrganization } from "../funcs/organizations-delete-organization.js"; import { organizationsGetOrganizationBySlug } from "../funcs/organizations-get-organization-by-slug.js"; import { organizationsGetOrganizationMemberCount } from "../funcs/organizations-get-organization-member-count.js"; import { organizationsGetOrganization } from "../funcs/organizations-get-organization.js"; import { organizationsListOrganizations } from "../funcs/organizations-list-organizations.js"; import { organizationsUpdateOrganization } from "../funcs/organizations-update-organization.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import * as models from "../models/index.js"; import * as operations from "../models/operations/index.js"; import { unwrapAsync } from "../types/fp.js"; import { PageIterator, unwrapResultIterator } from "../types/operations.js"; export class Organizations extends ClientSDK { /** * Create organization * * @remarks * Create a new organization. The authenticated user becomes the owner automatically. */ async createOrganization( request: models.NameSlugDescription2, options?: RequestOptions, ): Promise { return unwrapAsync(organizationsCreateOrganization( this, request, options, )); } /** * List user organizations * * @remarks * Get all organizations the authenticated user belongs to with their roles. */ async listOrganizations( request?: operations.ListOrganizationsRequest | undefined, options?: RequestOptions, ): Promise< PageIterator > { return unwrapResultIterator(organizationsListOrganizations( this, request, options, )); } /** * Get organization * * @remarks * Get organization details by ID. Requires membership in the organization. */ async getOrganization( request: operations.GetOrganizationRequest, options?: RequestOptions, ): Promise { return unwrapAsync(organizationsGetOrganization( this, request, options, )); } /** * Update organization * * @remarks * Update organization details. Requires admin or owner role. */ async updateOrganization( request: operations.UpdateOrganizationRequest, options?: RequestOptions, ): Promise { return unwrapAsync(organizationsUpdateOrganization( this, request, options, )); } /** * Delete organization * * @remarks * Delete an organization and all its data. Only the owner can perform this action. */ async deleteOrganization( request: operations.DeleteOrganizationRequest, options?: RequestOptions, ): Promise { return unwrapAsync(organizationsDeleteOrganization( this, request, options, )); } /** * Get organization by slug * * @remarks * Get organization details by URL slug. Requires membership in the organization. */ async getOrganizationBySlug( request: operations.GetOrganizationBySlugRequest, options?: RequestOptions, ): Promise { return unwrapAsync(organizationsGetOrganizationBySlug( this, request, options, )); } /** * Check slug availability * * @remarks * Check if an organization slug is available for use. */ async checkOrganizationSlug( request: operations.CheckOrganizationSlugRequest, options?: RequestOptions, ): Promise { return unwrapAsync(organizationsCheckOrganizationSlug( this, request, options, )); } /** * Get member count * * @remarks * Get the number of members in an organization. */ async getOrganizationMemberCount( request: operations.GetOrganizationMemberCountRequest, options?: RequestOptions, ): Promise { return unwrapAsync(organizationsGetOrganizationMemberCount( this, request, options, )); } }