# Module: work\_item\_intermediate\_event

## WorkflowScriptingContext

### Attributes:

| Datatype                                                                                                         | Name            | Description                            | Read-only |
| ---------------------------------------------------------------------------------------------------------------- | --------------- | -------------------------------------- | --------- |
| [WorkflowInstanceDetails](https://developer.vario-software.de/scripting-reference/types#WorkflowInstanceDetails) | instanceDetails | Details zur aktuellen Workflow-Instanz | Yes       |
| *Map\<string,object>*                                                                                            | availableInput  | Verfügbare Eingabedaten                | No        |
| [ScriptingServiceList](https://developer.vario-software.de/scripting-reference/services#ScriptingServiceList)    | services        | Services                               | Yes       |
| *Map\<string,object>*                                                                                            | parameters      | Parameter zur Verwendung im Skript     | No        |

## WorkItemIntermediateEventGuard

Definiert, ob die Skript-Methode "trigger" ausgeführt werden soll

*Return type:* *boolean*

| Datatype                                              | Name | Description             | Required |
| ----------------------------------------------------- | :--: | ----------------------- | -------- |
| [WorkflowScriptingContext](#WorkflowScriptingContext) |  ctx | Workflow-Skript-Kontext | Yes      |

## WorkItemIntermediateEventPrepare

Variablen für die C-Unit-Queries füllen. Wird vor "guard" ausgeführt

| Datatype                                              | Name | Description             | Required |
| ----------------------------------------------------- | :--: | ----------------------- | -------- |
| [WorkflowScriptingContext](#WorkflowScriptingContext) |  ctx | Workflow-Skript-Kontext | Yes      |

## WorkItemIntermediateEventTrigger

Wird nach Empfang des konfigurierten Events ausgelöst

| Datatype                                              | Name | Description             | Required |
| ----------------------------------------------------- | :--: | ----------------------- | -------- |
| [WorkflowScriptingContext](#WorkflowScriptingContext) |  ctx | Workflow-Skript-Kontext | Yes      |

## Instance: workItem

### Description

Ausführung von Aktionen nach einem Event oder abgelaufener Wartezeit

### Methods

***setPrepare***

Setter für Callback "prepare"

| Datatype                                                              |   Name   | Description        | Required |
| --------------------------------------------------------------------- | :------: | ------------------ | -------- |
| [WorkItemIntermediateEventPrepare](#WorkItemIntermediateEventPrepare) | callback | Callback "prepare" | Yes      |

***setGuard***

Setter für Callback "guard"

| Datatype                                                          |   Name   | Description      | Required |
| ----------------------------------------------------------------- | :------: | ---------------- | -------- |
| [WorkItemIntermediateEventGuard](#WorkItemIntermediateEventGuard) | callback | Callback "guard" | Yes      |

***setTrigger***

Setter für Callback "trigger"

| Datatype                                                              |   Name   | Description        | Required |
| --------------------------------------------------------------------- | :------: | ------------------ | -------- |
| [WorkItemIntermediateEventTrigger](#WorkItemIntermediateEventTrigger) | callback | Callback "trigger" | Yes      |

```
import workItem from "work_item_intermediate_event";

workItem.prepare: (ctx) => {
    // Fill variables for c-unit queries. Executed before method “guard”
};

workItem.setGuard( (ctx) => {
    // Should "trigger" be executed?
    return true;
};

workItem.trigger: (ctx) => {
    // Action to be performed
};

```
