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