/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { MutationKey, useMutation, UseMutationResult, } from "@tanstack/react-query"; import { SDKCore } from "../core.js"; import { budgetsSetExternalUserDefault } from "../funcs/budgetsSetExternalUserDefault.js"; import { combineSignals } from "../lib/primitives.js"; import { RequestOptions } from "../lib/sdks.js"; import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError, } from "../models/errors/httpclienterrors.js"; import { ResponseValidationError } from "../models/errors/responsevalidationerror.js"; import { SDKError } from "../models/errors/sdkerror.js"; import { SDKValidationError } from "../models/errors/sdkvalidationerror.js"; import * as operations from "../models/operations/index.js"; import { unwrapAsync } from "../types/fp.js"; import { useSDKContext } from "./_context.js"; import { MutationHookOptions } from "./_types.js"; export type BudgetsSetExternalUserDefaultMutationVariables = { request: operations.SetExternalUserDefaultBudgetRequest; options?: RequestOptions; }; export type BudgetsSetExternalUserDefaultMutationData = operations.SetExternalUserDefaultBudgetResponseBody; export type BudgetsSetExternalUserDefaultMutationError = | SDKError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError; /** * Set a per-external user default budget * * @remarks * Creates or updates the org's per-external user default budget: a cap applying to EACH external user in the org individually (not in aggregate), unless an explicit external user budget of the same owner and period exists for them. Threshold alerts and blocks fire per external user. Targets the caller's own organization (inferred from the API key or session) unless the optional org_id query parameter names another org — cluster admins only. Callable by cluster admins, or org admins for their own organization (owner=org). */ export function useBudgetsSetExternalUserDefaultMutation( options?: MutationHookOptions< BudgetsSetExternalUserDefaultMutationData, BudgetsSetExternalUserDefaultMutationError, BudgetsSetExternalUserDefaultMutationVariables >, ): UseMutationResult< BudgetsSetExternalUserDefaultMutationData, BudgetsSetExternalUserDefaultMutationError, BudgetsSetExternalUserDefaultMutationVariables > { const client = useSDKContext(); return useMutation({ ...buildBudgetsSetExternalUserDefaultMutation(client, options), ...options, }); } export function mutationKeyBudgetsSetExternalUserDefault(): MutationKey { return ["@meetkai/mka1", "budgets", "setExternalUserDefault"]; } export function buildBudgetsSetExternalUserDefaultMutation( client$: SDKCore, hookOptions?: RequestOptions, ): { mutationKey: MutationKey; mutationFn: ( variables: BudgetsSetExternalUserDefaultMutationVariables, ) => Promise; } { return { mutationKey: mutationKeyBudgetsSetExternalUserDefault(), mutationFn: function budgetsSetExternalUserDefaultMutationFn({ request, options, }): Promise { const mergedOptions = { ...hookOptions, ...options, fetchOptions: { ...hookOptions?.fetchOptions, ...options?.fetchOptions, signal: combineSignals( hookOptions?.fetchOptions?.signal, options?.fetchOptions?.signal, ), }, }; return unwrapAsync(budgetsSetExternalUserDefault( client$, request, mergedOptions, )); }, }; }