export type PlanItemDefinitionWithTargetIdsRequest = {existingPlanItemDefinitionId?: string | undefined, newPlanItemId?: string | undefined, newPlanItemDefinitionId?: string | undefined}; export type ChangePlanItemStateRequest = {activatePlanItemDefinitionIds?: Array | undefined, moveToAvailablePlanItemDefinitionIds?: Array | undefined, terminatePlanItemDefinitionIds?: Array | undefined, addWaitingForRepetitionPlanItemDefinitionIds?: Array | undefined, removeWaitingForRepetitionPlanItemDefinitionIds?: Array | undefined, changePlanItemIds?: {[key: string]: string} | undefined, changePlanItemIdsWithDefinitionId?: {[key: string]: string} | undefined, changePlanItemDefinitionsWithNewTargetIds?: Array | undefined}; export type CreateApiCmmnRuntimeCaseInstancesCaseInstanceIdChangeStateArgs = {caseInstanceId: string, body: ChangePlanItemStateRequest}; export type CreateApiCmmnRuntimeCaseInstancesCaseInstanceIdChangeStateOptions = {baseUrl: string, basicAuth?: {username: string, password: string} | undefined, fetch?: typeof fetch | undefined}; /** * Change the state of a case instance * * POST /cmmn-runtime/case-instances/{caseInstanceId}/change-state */ export const createApiCmmnRuntimeCaseInstancesCaseInstanceIdChangeState = async (args: CreateApiCmmnRuntimeCaseInstancesCaseInstanceIdChangeStateArgs, options: CreateApiCmmnRuntimeCaseInstancesCaseInstanceIdChangeStateOptions) => { const {baseUrl, fetch: fetchFn = fetch, basicAuth} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") if (basicAuth !== undefined) headers.set('authorization', `Basic ${btoa(`${basicAuth.username}:${basicAuth.password}`)}`) const url = `${baseUrl.replace(/\/+$/, '')}/cmmn-runtime/case-instances/${encodeURIComponent(String(args.caseInstanceId))}/change-state${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };