Saltearse al contenido

DataStore

El modulo DataStore es el sistema principal de almacenamiento de datos estructurados del workflow. Soporta multiples acciones: agregar registros (add), agregar en lote (bulk), filtrar (filter), obtener un campo especifico (getField), verificar existencia (exists), eliminar (delete), modificar tags (modifyTags) y mapear claves a valores (map). Los registros se organizan en grupos, cada uno con una clave unica (key) y etiquetas (tags) opcionales. Las tags permiten categorizar y filtrar registros con modos OR, AND o exclusion. Soporta variables dinamicas {{variable}} en campos como key, row y tags.

Los parametros varian segun la accion seleccionada. Las variantes disponibles son:

ParametroTipoRequeridoDescripcion
groupdataStoreGroupSiGrupo donde almacenar el registro.
keytextSiCampo que se usara como identificador unico. Soporta {{variable}}.
rowtextSiDatos a almacenar. Usar {{data}} para el input completo.
tagsdataStoreGroupTagsNoEtiquetas del grupo a asignar al registro.
ParametroTipoRequeridoDescripcion
groupdataStoreGroupSiGrupo donde almacenar los registros.
keytextSiCampo de cada objeto que se usara como key unica.
dataKeytextSiArray de objetos a almacenar. Usar {{data}} si el input es el array.
tagsdataStoreGroupTagsNoEtiquetas a aplicar a todos los registros.
ParametroTipoRequeridoDescripcion
groupdataStoreGroupNoFiltrar por grupo (vacio = todos).
keytextNoFiltrar por key especifica.
tagsdataStoreGroupTagsNoFiltrar por etiquetas.
tagModeselectNoModo de filtrado: any (OR), all (AND), exclude. Por defecto: any.
ParametroTipoRequeridoDescripcion
groupdataStoreGroupSiGrupo donde buscar.
keytextSiKey del registro a buscar.
fieldtextSiNombre del campo a obtener del registro.
ParametroTipoRequeridoDescripcion
groupdataStoreGroupSiGrupo donde buscar.
keytextSiKey a buscar.
tagsdataStoreGroupTagsNoFiltrar tambien por tags (opcional).
tagModeselectNoModo de filtrado: any (OR), all (AND).
ParametroTipoRequeridoDescripcion
idtextNoID especifico del registro a eliminar.
groupdataStoreGroupNoGrupo del registro (si no se especifica ID).
keytextNoKey del registro a eliminar (usado con group).
ParametroTipoRequeridoDescripcion
idstextNoIDs de registros separados por coma.
groupdataStoreGroupNoGrupo para filtrar registros (si no hay IDs).
tagsdataStoreGroupTagsNoTags de filtro para encontrar registros.
adddataStoreGroupTagsNoTags a agregar a los registros.
removedataStoreGroupTagsNoTags a eliminar de los registros.
ParametroTipoRequeridoDescripcion
groupdataStoreGroupSiGrupo donde buscar.
keystextSiArray de keys a mapear. Soporta {{data.ids}}.
fieldtextSiCampo a extraer de cada registro.
transformselectNoTransformacion: uppercase, lowercase, trim, o ninguna.

Varia segun la accion:

{ "nextModule": "siguiente", "data": { "success": true, "key": "clave_registro" } }
{ "nextModule": "siguiente", "data": [{ "id": 1, "group_name": "clientes", "record_key": "juan", "row_data": {}, "tags": [] }] }
{ "nextModule": "siguiente", "data": { "isFound": true, "message": "Found", "row": { "datos": "del_registro" } } }
{ "nextModule": "siguiente", "data": { "success": true, "deletedCount": 1 } }
{
"label": "DataStore Add",
"action": "add",
"group": "clientes",
"key": "{{data.email}}",
"row": "{{data}}",
"tags": ["nuevo"]
}
  • Soporta variables dinamicas {{variable}} en los campos key, row, dataKey y tags.
  • Si la accion es add y ya existe un registro con la misma key en el grupo, se actualiza.
  • Para bulk, el input puede ser un array o un objeto que se convierte a array.
  • La accion exists retorna isFound: true/false con los datos del registro si existe.
  • La accion delete puede eliminar por ID directo o por combinacion de group + key.
  • La accion modifyTags permite agregar y eliminar tags simultaneamente en multiples registros.
  • La accion map permite obtener un campo especifico de multiples registros a la vez, con transformaciones opcionales.
  • Cada variante tiene su propio parentNode dataStore y su propio icono/color para facilitar la identificacion visual.
  • DataStoreTrigger (trigger que se activa por cambios en el DataStore)
  • dataframe (version legacy, obsoleta)
  • decision (para evaluar resultados de consultas)
  • iterator (para iterar sobre resultados filtrados)