/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import { organizationsCreate } from "../funcs/organizationsCreate.js";
import { organizationsDelete } from "../funcs/organizationsDelete.js";
import { organizationsGet } from "../funcs/organizationsGet.js";
import { organizationsGetAll } from "../funcs/organizationsGetAll.js";
import { organizationsUpdate } from "../funcs/organizationsUpdate.js";
import { ClientSDK } from "../lib/sdks.js";
import { unwrapAsync } from "../types/fp.js";
import { unwrapResultIterator } from "../types/operations.js";
export class Organizations extends ClientSDK {
    /**
     * Get all Organizations
     *
     * @remarks
     * To get all Organizations on the service provider.
     */
    async getAll(request, options) {
        return unwrapResultIterator(organizationsGetAll(this, request, options));
    }
    /**
     * Create an Organization
     *
     * @remarks
     * To create a new Organization. The responding system must return the set of sourcedIds that have been allocated to the newly created org record.
     */
    async create(request, options) {
        return unwrapAsync(organizationsCreate(this, request, options));
    }
    /**
     * Get a specific Organization
     *
     * @remarks
     * Get a specific Organization on the service provider. If the corresponding record cannot be located, the api will return a 404 error code and message 'Organization not found.'
     */
    async get(request, options) {
        return unwrapAsync(organizationsGet(this, request, options));
    }
    /**
     * Update an Organization
     *
     * @remarks
     * To update an existing Organization. The sourcedId for the record to be updated is supplied by the requesting system.
     */
    async update(request, options) {
        return unwrapAsync(organizationsUpdate(this, request, options));
    }
    /**
     * Delete an Organization
     *
     * @remarks
     * Perform a soft delete on a specific Organization on the service provider. The operation changes the status of the Organization to 'tobedeleted'.
     */
    async delete(request, options) {
        return unwrapAsync(organizationsDelete(this, request, options));
    }
}
//# sourceMappingURL=organizations.js.map