Server-Funktionen
Alle Server-Funktionen werden aus @5minds/processcube_app_sdk/server importiert und können in Server Components, Server Actions und API Routes verwendet werden.
import { getWaitingUserTasks, startProcess } from '@5minds/processcube_app_sdk/server';Übersicht
| Kategorie | Funktionen |
|---|---|
| Authentifizierung | getIdentity, getServerAccessToken, getServerIdentity |
| Authority | AuthorityClient |
| Prozess-Instanzen | getProcessInstanceById, getActiveProcessInstances, retryProcessInstance, terminateProcessInstance, waitForProcessEnd, getFlowNodeInstancesByProcessInstanceId, getFlowNodeInstancesTriggeredByFlowNodeInstanceIds |
| User Tasks | getUserTasks, getWaitingUserTasks, getWaitingUserTasksByProcessInstanceId, getWaitingUserTasksByFlowNodeId, getWaitingUserTaskByFlowNodeInstanceId, getWaitingUserTasksByCorrelationId, getReservedUserTasksByIdentity, getAssignedUserTasksByIdentity, waitForUserTask, finishUserTaskAndGetNext, reserveUserTask, cancelReservedUserTask |
| Server Actions | startProcess, finishUserTask, finishManualTask, finishUntypedTask, finishTask, navigateToUrl |
| Engine Client | getEngineClient |
| Plugin | withApplicationSdk |
| External Tasks | ExternalTaskConfig (Type) |
Verwendung
In Server Components
app/tasks/page.tsx
import { getWaitingUserTasks } from '@5minds/processcube_app_sdk/server';
export default async function TasksPage() {
const { userTasks } = await getWaitingUserTasks();
return (
<ul>
{userTasks.map((task) => (
<li key={task.flowNodeInstanceId}>{task.flowNodeName}</li>
))}
</ul>
);
}In Server Actions
app/actions.ts
'use server';
import { finishUserTask } from '@5minds/processcube_app_sdk/server';
import { revalidatePath } from 'next/cache';
export async function completeTask(flowNodeInstanceId: string, result: Record<string, unknown>) {
await finishUserTask(flowNodeInstanceId, result);
revalidatePath('/tasks');
}In API Routes
app/api/tasks/route.ts
import { getWaitingUserTasks } from '@5minds/processcube_app_sdk/server';
export async function GET() {
const tasks = await getWaitingUserTasks();
return Response.json(tasks);
}Identity-Parameter
Alle Funktionen unterstützen einen optionalen identity-Parameter:
| Wert | Verhalten |
|---|---|
true (Default) | Nutzt die implizite User-Identity aus der NextAuth-Session |
false | Anonymer Zugriff — kein Auth-Header. Voraussetzung: Engine muss allowAnonymousRootAccess: true haben. |
Identity-Objekt | Explizite Identity (z.B. von getServerIdentity() oder getIdentity()) |
// Implizite Identity (Default)
const tasks = await getWaitingUserTasks();
// Anonymer Zugriff (nur wenn Engine allowAnonymousRootAccess: true hat)
const tasks = await getWaitingUserTasks({ identity: false });
// Explizite Server-Identity
const identity = await getServerIdentity();
const tasks = await getWaitingUserTasks({ identity });