/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { MutationKey, useMutation, UseMutationResult, } from "@tanstack/react-query"; import { SDKCore } from "../core.js"; import { budgetsSetUserDefault } from "../funcs/budgetsSetUserDefault.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 BudgetsSetUserDefaultMutationVariables = { request: operations.SetUserDefaultBudgetRequest; options?: RequestOptions; }; export type BudgetsSetUserDefaultMutationData = operations.SetUserDefaultBudgetResponseBody; export type BudgetsSetUserDefaultMutationError = | SDKError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError; /** * Set a per-user default budget * * @remarks * Creates or updates the org's per-user default budget: a cap applying to EACH user in the org individually (not in aggregate), unless an explicit user budget of the same owner and period exists for them. Threshold alerts and blocks fire per 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 useBudgetsSetUserDefaultMutation( options?: MutationHookOptions< BudgetsSetUserDefaultMutationData, BudgetsSetUserDefaultMutationError, BudgetsSetUserDefaultMutationVariables >, ): UseMutationResult< BudgetsSetUserDefaultMutationData, BudgetsSetUserDefaultMutationError, BudgetsSetUserDefaultMutationVariables > { const client = useSDKContext(); return useMutation({ ...buildBudgetsSetUserDefaultMutation(client, options), ...options, }); } export function mutationKeyBudgetsSetUserDefault(): MutationKey { return ["@meetkai/mka1", "budgets", "setUserDefault"]; } export function buildBudgetsSetUserDefaultMutation( client$: SDKCore, hookOptions?: RequestOptions, ): { mutationKey: MutationKey; mutationFn: ( variables: BudgetsSetUserDefaultMutationVariables, ) => Promise; } { return { mutationKey: mutationKeyBudgetsSetUserDefault(), mutationFn: function budgetsSetUserDefaultMutationFn({ request, options, }): Promise { const mergedOptions = { ...hookOptions, ...options, fetchOptions: { ...hookOptions?.fetchOptions, ...options?.fetchOptions, signal: combineSignals( hookOptions?.fetchOptions?.signal, options?.fetchOptions?.signal, ), }, }; return unwrapAsync(budgetsSetUserDefault( client$, request, mergedOptions, )); }, }; }