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:
Parametro Tipo Requerido Descripcion group dataStoreGroup Si Grupo donde almacenar el registro. key text Si Campo que se usara como identificador unico. Soporta {{variable}}. row text Si Datos a almacenar. Usar {{data}} para el input completo. tags dataStoreGroupTags No Etiquetas del grupo a asignar al registro.
Parametro Tipo Requerido Descripcion group dataStoreGroup Si Grupo donde almacenar los registros. key text Si Campo de cada objeto que se usara como key unica. dataKey text Si Array de objetos a almacenar. Usar {{data}} si el input es el array. tags dataStoreGroupTags No Etiquetas a aplicar a todos los registros.
Parametro Tipo Requerido Descripcion group dataStoreGroup No Filtrar por grupo (vacio = todos). key text No Filtrar por key especifica. tags dataStoreGroupTags No Filtrar por etiquetas. tagMode select No Modo de filtrado: any (OR), all (AND), exclude. Por defecto: any.
Parametro Tipo Requerido Descripcion group dataStoreGroup Si Grupo donde buscar. key text Si Key del registro a buscar. field text Si Nombre del campo a obtener del registro.
Parametro Tipo Requerido Descripcion group dataStoreGroup Si Grupo donde buscar. key text Si Key a buscar. tags dataStoreGroupTags No Filtrar tambien por tags (opcional). tagMode select No Modo de filtrado: any (OR), all (AND).
Parametro Tipo Requerido Descripcion id text No ID especifico del registro a eliminar. group dataStoreGroup No Grupo del registro (si no se especifica ID). key text No Key del registro a eliminar (usado con group).
Parametro Tipo Requerido Descripcion ids text No IDs de registros separados por coma. group dataStoreGroup No Grupo para filtrar registros (si no hay IDs). tags dataStoreGroupTags No Tags de filtro para encontrar registros. add dataStoreGroupTags No Tags a agregar a los registros. remove dataStoreGroupTags No Tags a eliminar de los registros.
Parametro Tipo Requerido Descripcion group dataStoreGroup Si Grupo donde buscar. keys text Si Array de keys a mapear. Soporta {{data.ids}}. field text Si Campo a extraer de cada registro. transform select No Transformacion: 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 " ,
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)