🔎 shori-search-working-substates
Busca working sub-states en Shori usando WorkingSubStateFilter. Todos los filtros son opcionales, con operadores configurables en el formulario o dinámicamente desde msg.payload.
Diagrama del nodo
Filtro (WorkingSubStateFilter)
interface WorkingSubStateFilter {
casoTypeId?: string; // "eq:uuid" | "in:uuid1,uuid2"
primaryLevelId?: string; // UUID del servicio
secondaryLevelId?: string; // UUID del proceso
finalist?: string; // "eq:true" | "eq:false"
active?: string; // "eq:true" | "eq:false"
pagination?: {
pageNumber?: number; // Default: 0
pageSize?: number; // Default: 20 (máx: 200)
sortDirection?: "ASC" | "DESC";
}
}
Campos del formulario
| Campo | Operadores | Descripción |
|---|---|---|
| Producto | EQ, IN, NOT IN | UUID del tipo de caso. Fallback: msg.payload.casoTypeId |
| Servicio | IN, EQ, NOT IN | UUID del servicio. Fallback: msg.payload.primaryLevelId |
| Proceso | IN, EQ, NOT IN | UUID del proceso. Fallback: msg.payload.secondaryLevelId |
| Finalista | EQ, NE | true / false. Fallback: msg.payload.finalist |
| Activo | EQ, NE | true / false. Fallback: msg.payload.active |
| Tamaño página | — | Default: 20 |
| Nº página | — | Default: 0 |
Salidas
| Salida | Campo | Descripción |
|---|---|---|
| 1 (éxito) | msg.payload | WorkingSubStateSearchResult |
| 2 (error) | msg.error | { message, name, stack } |
Ejemplos
Buscar substates activos de un servicio (estático en formulario)
Búsqueda dinámica desde function
// Modo simple (operador configurado en formulario)
msg.payload = {
primaryLevelId: "servicio-uuid",
active: "true"
};
// Modo avanzado { op, value }
msg.payload = {
primaryLevelId: { op: "in", value: "uuid1,uuid2" },
active: { op: "eq", value: "true" },
finalist: { op: "eq", value: "false" }
};
return msg;
Obtener todos los substates de un producto
msg.payload = {
casoTypeId: { op: "eq", value: "tipo-uuid" },
active: { op: "eq", value: "true" },
pagination: { pageSize: 100 }
};
return msg;
Equivalente en código
const result = await client.caso().state().searchWorkingSubState(
WorkingSubStateFilter.builder()
.primaryLevelId(FilterOperator.IN, "servicio-uuid")
.active(FilterOperator.EQ, "true")
.pageSize(50)
.build()
);