🔎 shori-search-states
Busca estados (States) en Shori usando StateFilter. Todos los filtros son opcionales y soportan modo formulario (estático) o dinámico desde msg.payload.
Diagrama del nodo
Filtro (StateFilter)
interface StateFilter {
code?: string; // "eq:OPEN" | "in:OPEN,CLOSED" | "lk:OP"
stateId?: string; // "in:uuid1,uuid2"
pagination?: {
pageNumber?: number; // Default: 0
pageSize?: number; // Default: 20 (máx: 200)
orderBy?: string; // Default: "code"
sortDirection?: "ASC" | "DESC";
}
}
Campos del formulario
| Campo | Operadores | Descripción |
|---|---|---|
| Código | EQ, IN, NE, LIKE | Código del estado. Fallback: msg.payload.code |
| ID Estado | IN, EQ, NOT IN | UUID del estado. Fallback: msg.payload.stateId |
| Dirección | ASC/DESC | Ordenamiento. Default: DESC |
| Tamaño página | — | Items por página. Default: 20 |
| Nº página | — | Página (0-indexado). Default: 0 |
Salidas
| Salida | Campo | Descripción |
|---|---|---|
| 1 (éxito) | msg.payload | StateSearchResult |
| 2 (error) | msg.error | { message, name, stack } |
Ejemplos
Búsqueda estática en formulario
Búsqueda dinámica desde function
// Modo simple (operador configurado en formulario)
msg.payload = {
code: "OPEN",
pagination: { pageSize: 50 }
};
// Modo avanzado { op, value }
msg.payload = {
code: { op: "in", value: "OPEN,CLOSED" },
stateId: { op: "in", value: "uuid1,uuid2" }
};
return msg;
Equivalente en código
const result = await client.caso().state().search(
StateFilter.builder()
.code(FilterOperator.EQ, "OPEN")
.pageSize(50)
.build()
);