Add Activepieces integration for workflow automation
- Add Activepieces fork with SmoothSchedule custom piece - Create integrations app with Activepieces service layer - Add embed token endpoint for iframe integration - Create Automations page with embedded workflow builder - Add sidebar visibility fix for embed mode - Add list inactive customers endpoint to Public API - Include SmoothSchedule triggers: event created/updated/cancelled - Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Storage": "Storage",
|
||||
"Store or retrieve data from key/value database": "Store or retrieve data from key/value database",
|
||||
"Get": "Get",
|
||||
"Put": "Put",
|
||||
"Append": "Append",
|
||||
"Remove": "Remove",
|
||||
"Add To List": "Add To List",
|
||||
"Remove from List": "Remove from List",
|
||||
"Get a value from storage": "Get a value from storage",
|
||||
"Put a value in storage": "Put a value in storage",
|
||||
"Append to a value in storage": "Append to a value in storage",
|
||||
"Remove a value from storage": "Remove a value from storage",
|
||||
"Add Items to a list.": "Add Items to a list.",
|
||||
"Remove Item from a list": "Remove Item from a list",
|
||||
"Key": "Key",
|
||||
"Default Value": "Default Value",
|
||||
"Store Scope": "Store Scope",
|
||||
"Value": "Value",
|
||||
"Separator": "Separator",
|
||||
"Ignore if value exists": "Ignore if value exists",
|
||||
"The storage scope of the value.": "The storage scope of the value.",
|
||||
"Separator between added values, use \\n for newlines": "Separator between added values, use \\n for newlines",
|
||||
"Project": "Project",
|
||||
"Flow": "Flow",
|
||||
"Run": "Run"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Storage": "Storage",
|
||||
"Store or retrieve data from key/value database": "Store or retrieve data from key/value database",
|
||||
"Get": "Get",
|
||||
"Put": "Put",
|
||||
"Append": "Append",
|
||||
"Remove": "Remove",
|
||||
"Add To List": "Add To List",
|
||||
"Remove from List": "Remove from List",
|
||||
"Get a value from storage": "Get a value from storage",
|
||||
"Put a value in storage": "Put a value in storage",
|
||||
"Append to a value in storage": "Append to a value in storage",
|
||||
"Remove a value from storage": "Remove a value from storage",
|
||||
"Add Items to a list.": "Add Items to a list.",
|
||||
"Remove Item from a list": "Remove Item from a list",
|
||||
"Key": "Key",
|
||||
"Default Value": "Default Value",
|
||||
"Store Scope": "Store Scope",
|
||||
"Value": "Value",
|
||||
"Separator": "Separator",
|
||||
"Ignore if value exists": "Ignore if value exists",
|
||||
"The storage scope of the value.": "The storage scope of the value.",
|
||||
"Separator between added values, use \\n for newlines": "Separator between added values, use \\n for newlines",
|
||||
"Project": "Project",
|
||||
"Flow": "Flow",
|
||||
"Run": "Run"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Storage": "Storage",
|
||||
"Store or retrieve data from key/value database": "Store or retrieve data from key/value database",
|
||||
"Get": "Get",
|
||||
"Put": "Put",
|
||||
"Append": "Append",
|
||||
"Remove": "Remove",
|
||||
"Add To List": "Add To List",
|
||||
"Remove from List": "Remove from List",
|
||||
"Get a value from storage": "Get a value from storage",
|
||||
"Put a value in storage": "Put a value in storage",
|
||||
"Append to a value in storage": "Append to a value in storage",
|
||||
"Remove a value from storage": "Remove a value from storage",
|
||||
"Add Items to a list.": "Add Items to a list.",
|
||||
"Remove Item from a list": "Remove Item from a list",
|
||||
"Key": "Key",
|
||||
"Default Value": "Default Value",
|
||||
"Store Scope": "Store Scope",
|
||||
"Value": "Value",
|
||||
"Separator": "Separator",
|
||||
"Ignore if value exists": "Ignore if value exists",
|
||||
"The storage scope of the value.": "The storage scope of the value.",
|
||||
"Separator between added values, use \\n for newlines": "Separator between added values, use \\n for newlines",
|
||||
"Project": "Project",
|
||||
"Flow": "Flow",
|
||||
"Run": "Run"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"Store or retrieve data from key/value database": "Daten aus der Schlüssel/Wert-Datenbank speichern oder abrufen",
|
||||
"Get": "Erhalten",
|
||||
"Put": "Legen",
|
||||
"Append": "Anhängen",
|
||||
"Remove": "Entfernen",
|
||||
"Add To List": "Zur Liste hinzufügen",
|
||||
"Remove from List": "Aus Liste entfernen",
|
||||
"Get a value from storage": "Einen Wert vom Speicher erhalten",
|
||||
"Put a value in storage": "Geben Sie einen Wert in den Speicher ein",
|
||||
"Append to a value in storage": "An einen Wert im Speicher anhängen",
|
||||
"Remove a value from storage": "Einen Wert vom Speicher entfernen",
|
||||
"Add Items to a list.": "Elemente zu einer Liste hinzufügen.",
|
||||
"Remove Item from a list": "Element aus einer Liste entfernen",
|
||||
"Key": "Schlüssel",
|
||||
"Default Value": "Standardwert",
|
||||
"Store Scope": "Store-Bereich",
|
||||
"Value": "Wert",
|
||||
"Separator": "Trennzeichen",
|
||||
"Ignore if value exists": "Ignorieren, wenn Wert vorhanden ist",
|
||||
"The storage scope of the value.": "Der Speicherbereich des Wertes.",
|
||||
"Separator between added values, use \\n for newlines": "Trennzeichen zwischen den hinzugefügten Werten verwenden Sie \\n für Zeilenumbrüche",
|
||||
"Project": "Projekt",
|
||||
"Flow": "Ablauf",
|
||||
"Run": "Ausführung"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"Store or retrieve data from key/value database": "Guardar o recuperar datos de la base de datos/valor",
|
||||
"Get": "Obtener",
|
||||
"Put": "Poner",
|
||||
"Append": "Añadir",
|
||||
"Remove": "Eliminar",
|
||||
"Add To List": "Añadir a la lista",
|
||||
"Remove from List": "Eliminar de la lista",
|
||||
"Get a value from storage": "Obtener un valor del almacenamiento",
|
||||
"Put a value in storage": "Poner un valor en el almacenamiento",
|
||||
"Append to a value in storage": "Añadir a un valor en el almacenamiento",
|
||||
"Remove a value from storage": "Eliminar un valor del almacenamiento",
|
||||
"Add Items to a list.": "Añadir elementos a una lista.",
|
||||
"Remove Item from a list": "Eliminar elemento de una lista",
|
||||
"Key": "Clave",
|
||||
"Default Value": "Valor por defecto",
|
||||
"Store Scope": "Alcance de tienda",
|
||||
"Value": "Valor",
|
||||
"Separator": "Separador",
|
||||
"Ignore if value exists": "Ignorar si el valor existe",
|
||||
"The storage scope of the value.": "El alcance del almacenamiento del valor.",
|
||||
"Separator between added values, use \\n for newlines": "Separador entre valores añadidos, use \\n para nuevas líneas",
|
||||
"Project": "Projekt",
|
||||
"Flow": "Flujo",
|
||||
"Run": "Ejecutar"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"Store or retrieve data from key/value database": "Stocker ou récupérer des données depuis la base de données clé/valeur",
|
||||
"Get": "GET",
|
||||
"Put": "PUT",
|
||||
"Append": "Rajouter",
|
||||
"Remove": "Retirer",
|
||||
"Add To List": "Ajouter à la liste",
|
||||
"Remove from List": "Retirer de la liste",
|
||||
"Get a value from storage": "Récupérer la valeur stockée pour une clé",
|
||||
"Put a value in storage": "Définir ou écraser la valeur stockée pour une clé",
|
||||
"Append to a value in storage": "Ajouter une valeur derrière la valeur stockée",
|
||||
"Remove a value from storage": "Retirer une valeur du stockage",
|
||||
"Add Items to a list.": "Ajouter des éléments à une liste.",
|
||||
"Remove Item from a list": "Retirer des éléments d'une liste",
|
||||
"Key": "Clé",
|
||||
"Default Value": "Valeur par défaut",
|
||||
"Store Scope": "Périmètre du stockage",
|
||||
"Value": "Valeur",
|
||||
"Separator": "Séparateur",
|
||||
"Ignore if value exists": "Ignorer si la valeur existe",
|
||||
"The storage scope of the value.": "Le périmètre de stockage de la valeur.",
|
||||
"Separator between added values, use \\n for newlines": "Séparateur entre les valeurs ajoutées, utilisez \\n pour les nouvelles lignes",
|
||||
"Project": "Votre compte",
|
||||
"Flow": "Votre Flow",
|
||||
"Run": "Exécution de votre Flow"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Storage": "Storage",
|
||||
"Store or retrieve data from key/value database": "Store or retrieve data from key/value database",
|
||||
"Get": "Get",
|
||||
"Put": "Put",
|
||||
"Append": "Append",
|
||||
"Remove": "Remove",
|
||||
"Add To List": "Add To List",
|
||||
"Remove from List": "Remove from List",
|
||||
"Get a value from storage": "Get a value from storage",
|
||||
"Put a value in storage": "Put a value in storage",
|
||||
"Append to a value in storage": "Append to a value in storage",
|
||||
"Remove a value from storage": "Remove a value from storage",
|
||||
"Add Items to a list.": "Add Items to a list.",
|
||||
"Remove Item from a list": "Remove Item from a list",
|
||||
"Key": "Key",
|
||||
"Default Value": "Default Value",
|
||||
"Store Scope": "Store Scope",
|
||||
"Value": "Value",
|
||||
"Separator": "Separator",
|
||||
"Ignore if value exists": "Ignore if value exists",
|
||||
"The storage scope of the value.": "The storage scope of the value.",
|
||||
"Separator between added values, use \\n for newlines": "Separator between added values, use \\n for newlines",
|
||||
"Project": "Project",
|
||||
"Flow": "Flow",
|
||||
"Run": "Run"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Storage": "Storage",
|
||||
"Store or retrieve data from key/value database": "Store or retrieve data from key/value database",
|
||||
"Get": "Get",
|
||||
"Put": "Put",
|
||||
"Append": "Append",
|
||||
"Remove": "Remove",
|
||||
"Add To List": "Add To List",
|
||||
"Remove from List": "Remove from List",
|
||||
"Get a value from storage": "Get a value from storage",
|
||||
"Put a value in storage": "Put a value in storage",
|
||||
"Append to a value in storage": "Append to a value in storage",
|
||||
"Remove a value from storage": "Remove a value from storage",
|
||||
"Add Items to a list.": "Add Items to a list.",
|
||||
"Remove Item from a list": "Remove Item from a list",
|
||||
"Key": "Key",
|
||||
"Default Value": "Default Value",
|
||||
"Store Scope": "Store Scope",
|
||||
"Value": "Value",
|
||||
"Separator": "Separator",
|
||||
"Ignore if value exists": "Ignore if value exists",
|
||||
"The storage scope of the value.": "The storage scope of the value.",
|
||||
"Separator between added values, use \\n for newlines": "Separator between added values, use \\n for newlines",
|
||||
"Project": "Project",
|
||||
"Flow": "Flow",
|
||||
"Run": "Run"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Storage": "Storage",
|
||||
"Store or retrieve data from key/value database": "Store or retrieve data from key/value database",
|
||||
"Get": "Get",
|
||||
"Put": "Put",
|
||||
"Append": "Append",
|
||||
"Remove": "Remove",
|
||||
"Add To List": "Add To List",
|
||||
"Remove from List": "Remove from List",
|
||||
"Get a value from storage": "Get a value from storage",
|
||||
"Put a value in storage": "Put a value in storage",
|
||||
"Append to a value in storage": "Append to a value in storage",
|
||||
"Remove a value from storage": "Remove a value from storage",
|
||||
"Add Items to a list.": "Add Items to a list.",
|
||||
"Remove Item from a list": "Remove Item from a list",
|
||||
"Key": "Key",
|
||||
"Default Value": "Default Value",
|
||||
"Store Scope": "Store Scope",
|
||||
"Value": "Value",
|
||||
"Separator": "Separator",
|
||||
"Ignore if value exists": "Ignore if value exists",
|
||||
"The storage scope of the value.": "The storage scope of the value.",
|
||||
"Separator between added values, use \\n for newlines": "Separator between added values, use \\n for newlines",
|
||||
"Project": "Project",
|
||||
"Flow": "Flow",
|
||||
"Run": "Run"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Storage": "Storage",
|
||||
"Store or retrieve data from key/value database": "Store or retrieve data from key/value database",
|
||||
"Get": "Get",
|
||||
"Put": "Put",
|
||||
"Append": "Append",
|
||||
"Remove": "Remove",
|
||||
"Add To List": "Add To List",
|
||||
"Remove from List": "Remove from List",
|
||||
"Get a value from storage": "Get a value from storage",
|
||||
"Put a value in storage": "Put a value in storage",
|
||||
"Append to a value in storage": "Append to a value in storage",
|
||||
"Remove a value from storage": "Remove a value from storage",
|
||||
"Add Items to a list.": "Add Items to a list.",
|
||||
"Remove Item from a list": "Remove Item from a list",
|
||||
"Key": "Key",
|
||||
"Default Value": "Default Value",
|
||||
"Store Scope": "Store Scope",
|
||||
"Value": "Value",
|
||||
"Separator": "Separator",
|
||||
"Ignore if value exists": "Ignore if value exists",
|
||||
"The storage scope of the value.": "The storage scope of the value.",
|
||||
"Separator between added values, use \\n for newlines": "Separator between added values, use \\n for newlines",
|
||||
"Project": "Project",
|
||||
"Flow": "Flow",
|
||||
"Run": "Run"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Storage": "Storage",
|
||||
"Store or retrieve data from key/value database": "Store or retrieve data from key/value database",
|
||||
"Get": "Get",
|
||||
"Put": "Put",
|
||||
"Append": "Append",
|
||||
"Remove": "Remove",
|
||||
"Add To List": "Add To List",
|
||||
"Remove from List": "Remove from List",
|
||||
"Get a value from storage": "Get a value from storage",
|
||||
"Put a value in storage": "Put a value in storage",
|
||||
"Append to a value in storage": "Append to a value in storage",
|
||||
"Remove a value from storage": "Remove a value from storage",
|
||||
"Add Items to a list.": "Add Items to a list.",
|
||||
"Remove Item from a list": "Remove Item from a list",
|
||||
"Key": "Key",
|
||||
"Default Value": "Default Value",
|
||||
"Store Scope": "Store Scope",
|
||||
"Value": "Value",
|
||||
"Separator": "Separator",
|
||||
"Ignore if value exists": "Ignore if value exists",
|
||||
"The storage scope of the value.": "The storage scope of the value.",
|
||||
"Separator between added values, use \\n for newlines": "Separator between added values, use \\n for newlines",
|
||||
"Project": "Project",
|
||||
"Flow": "Flow",
|
||||
"Run": "Run"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"Store or retrieve data from key/value database": "キー/値データベースからデータを保存または取得します",
|
||||
"Get": "取得",
|
||||
"Put": "Put",
|
||||
"Append": "追加",
|
||||
"Remove": "削除",
|
||||
"Add To List": "リストに追加",
|
||||
"Remove from List": "リストから削除",
|
||||
"Get a value from storage": "ストレージから値を取得する",
|
||||
"Put a value in storage": "ストレージに値を置く",
|
||||
"Append to a value in storage": "ストレージ内の値に追加",
|
||||
"Remove a value from storage": "ストレージから値を削除",
|
||||
"Add Items to a list.": "リストにアイテムを追加します。",
|
||||
"Remove Item from a list": "リストからアイテムを削除",
|
||||
"Key": "キー",
|
||||
"Default Value": "デフォルト値",
|
||||
"Store Scope": "ストアスコープ",
|
||||
"Value": "値",
|
||||
"Separator": "区切り記号",
|
||||
"Ignore if value exists": "値が存在する場合は無視",
|
||||
"The storage scope of the value.": "値のストレージスコープ。",
|
||||
"Separator between added values, use \\n for newlines": "値の間の区切り文字。改行には \\n を使用します。",
|
||||
"Project": "プロジェクト",
|
||||
"Flow": "フロー",
|
||||
"Run": "実行"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Storage": "Storage",
|
||||
"Store or retrieve data from key/value database": "Store or retrieve data from key/value database",
|
||||
"Get": "Get",
|
||||
"Put": "Put",
|
||||
"Append": "Append",
|
||||
"Remove": "Remove",
|
||||
"Add To List": "Add To List",
|
||||
"Remove from List": "Remove from List",
|
||||
"Get a value from storage": "Get a value from storage",
|
||||
"Put a value in storage": "Put a value in storage",
|
||||
"Append to a value in storage": "Append to a value in storage",
|
||||
"Remove a value from storage": "Remove a value from storage",
|
||||
"Add Items to a list.": "Add Items to a list.",
|
||||
"Remove Item from a list": "Remove Item from a list",
|
||||
"Key": "Key",
|
||||
"Default Value": "Default Value",
|
||||
"Store Scope": "Store Scope",
|
||||
"Value": "Value",
|
||||
"Separator": "Separator",
|
||||
"Ignore if value exists": "Ignore if value exists",
|
||||
"The storage scope of the value.": "The storage scope of the value.",
|
||||
"Separator between added values, use \\n for newlines": "Separator between added values, use \\n for newlines",
|
||||
"Project": "Project",
|
||||
"Flow": "Flow",
|
||||
"Run": "Run"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"Store or retrieve data from key/value database": "Gegevens opslaan of ophalen uit de key/value database",
|
||||
"Get": "Verkrijg",
|
||||
"Put": "Zet",
|
||||
"Append": "Toevoegen",
|
||||
"Remove": "Verwijderen",
|
||||
"Add To List": "Toevoegen aan lijst",
|
||||
"Remove from List": "Verwijderen uit lijst",
|
||||
"Get a value from storage": "Haal een waarde op uit de opslag",
|
||||
"Put a value in storage": "Zet een waarde in de opslag",
|
||||
"Append to a value in storage": "Voeg toe aan een waarde in de opslag",
|
||||
"Remove a value from storage": "Een waarde uit de opslag verwijderen",
|
||||
"Add Items to a list.": "Voeg items toe aan een lijst.",
|
||||
"Remove Item from a list": "Item uit een lijst verwijderen",
|
||||
"Key": "Sleutel",
|
||||
"Default Value": "Standaard waarde",
|
||||
"Store Scope": "Sla Toepassingsgebied op",
|
||||
"Value": "Waarde",
|
||||
"Separator": "Scheidingsteken",
|
||||
"Ignore if value exists": "Negeren als waarde bestaat",
|
||||
"The storage scope of the value.": "Het opslagbereik van de waarde.",
|
||||
"Separator between added values, use \\n for newlines": "Scheidingsteken tussen toegevoegde waarden, gebruik \\n voor nieuwe regels",
|
||||
"Project": "Project",
|
||||
"Flow": "Stroom",
|
||||
"Run": "Uitvoeren"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Storage": "Storage",
|
||||
"Store or retrieve data from key/value database": "Store or retrieve data from key/value database",
|
||||
"Get": "Get",
|
||||
"Put": "Put",
|
||||
"Append": "Append",
|
||||
"Remove": "Remove",
|
||||
"Add To List": "Add To List",
|
||||
"Remove from List": "Remove from List",
|
||||
"Get a value from storage": "Get a value from storage",
|
||||
"Put a value in storage": "Put a value in storage",
|
||||
"Append to a value in storage": "Append to a value in storage",
|
||||
"Remove a value from storage": "Remove a value from storage",
|
||||
"Add Items to a list.": "Add Items to a list.",
|
||||
"Remove Item from a list": "Remove Item from a list",
|
||||
"Key": "Key",
|
||||
"Default Value": "Default Value",
|
||||
"Store Scope": "Store Scope",
|
||||
"Value": "Value",
|
||||
"Separator": "Separator",
|
||||
"Ignore if value exists": "Ignore if value exists",
|
||||
"The storage scope of the value.": "The storage scope of the value.",
|
||||
"Separator between added values, use \\n for newlines": "Separator between added values, use \\n for newlines",
|
||||
"Project": "Project",
|
||||
"Flow": "Flow",
|
||||
"Run": "Run"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"Store or retrieve data from key/value database": "Armazenar ou recuperar dados de banco de dados chave/valor",
|
||||
"Get": "Receber",
|
||||
"Put": "Colocar",
|
||||
"Append": "Anexar",
|
||||
"Remove": "Remover",
|
||||
"Add To List": "Adicionar à lista",
|
||||
"Remove from List": "Remover da lista",
|
||||
"Get a value from storage": "Obter um valor do armazenamento",
|
||||
"Put a value in storage": "Coloque um valor no armazenamento",
|
||||
"Append to a value in storage": "Acrescentar a um valor no armazenamento",
|
||||
"Remove a value from storage": "Remover um valor do armazenamento",
|
||||
"Add Items to a list.": "Adicionar itens a uma lista.",
|
||||
"Remove Item from a list": "Remover o item de uma lista",
|
||||
"Key": "Chave",
|
||||
"Default Value": "Valor Padrão",
|
||||
"Store Scope": "Escopo de Loja",
|
||||
"Value": "Valor",
|
||||
"Separator": "Separador",
|
||||
"Ignore if value exists": "Ignorar se o valor existe",
|
||||
"The storage scope of the value.": "O escopo de armazenamento do valor.",
|
||||
"Separator between added values, use \\n for newlines": "Separador entre valores adicionados, use \\n para novas linhas",
|
||||
"Project": "Projecto",
|
||||
"Flow": "Fluxo",
|
||||
"Run": "Executar"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Storage": "Хранилище",
|
||||
"Store or retrieve data from key/value database": "Хранить или получать данные из базы данных ключ/значение",
|
||||
"Get": "Приобрести",
|
||||
"Put": "Положить",
|
||||
"Append": "Добавить",
|
||||
"Remove": "Remove",
|
||||
"Add To List": "Добавить в список",
|
||||
"Remove from List": "Удалить из списка",
|
||||
"Get a value from storage": "Получить значение из хранилища",
|
||||
"Put a value in storage": "Поместите значение в хранилище",
|
||||
"Append to a value in storage": "Добавить к значению в хранилище",
|
||||
"Remove a value from storage": "Удалить значение из хранилища",
|
||||
"Add Items to a list.": "Добавить элементы в список.",
|
||||
"Remove Item from a list": "Удалить элемент из списка",
|
||||
"Key": "Спецификация",
|
||||
"Default Value": "Значение по умолчанию",
|
||||
"Store Scope": "Область магазина",
|
||||
"Value": "Значение",
|
||||
"Separator": "Разделитель",
|
||||
"Ignore if value exists": "Игнорировать, если значение существует",
|
||||
"The storage scope of the value.": "Область хранения значения.",
|
||||
"Separator between added values, use \\n for newlines": "Разделитель между добавленными значениями, используйте \\n для новых строк",
|
||||
"Project": "Проект",
|
||||
"Flow": "Flow",
|
||||
"Run": "Run"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Storage": "Storage",
|
||||
"Store or retrieve data from key/value database": "Store or retrieve data from key/value database",
|
||||
"Get": "Get",
|
||||
"Put": "Put",
|
||||
"Append": "Append",
|
||||
"Remove": "Remove",
|
||||
"Add To List": "Add To List",
|
||||
"Remove from List": "Remove from List",
|
||||
"Get a value from storage": "Get a value from storage",
|
||||
"Put a value in storage": "Put a value in storage",
|
||||
"Append to a value in storage": "Append to a value in storage",
|
||||
"Remove a value from storage": "Remove a value from storage",
|
||||
"Add Items to a list.": "Add Items to a list.",
|
||||
"Remove Item from a list": "Remove Item from a list",
|
||||
"Key": "Key",
|
||||
"Default Value": "Default Value",
|
||||
"Store Scope": "Store Scope",
|
||||
"Value": "Value",
|
||||
"Separator": "Separator",
|
||||
"Ignore if value exists": "Ignore if value exists",
|
||||
"The storage scope of the value.": "The storage scope of the value.",
|
||||
"Separator between added values, use \\n for newlines": "Separator between added values, use \\n for newlines",
|
||||
"Project": "Project",
|
||||
"Flow": "Flow",
|
||||
"Run": "Run"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"Store or retrieve data from key/value database": "Store or retrieve data from key/value database",
|
||||
"Get": "Get",
|
||||
"Put": "Put",
|
||||
"Append": "Append",
|
||||
"Remove": "Remove",
|
||||
"Add To List": "Add To List",
|
||||
"Remove from List": "Remove from List",
|
||||
"Get a value from storage": "Get a value from storage",
|
||||
"Put a value in storage": "Put a value in storage",
|
||||
"Append to a value in storage": "Append to a value in storage",
|
||||
"Remove a value from storage": "Remove a value from storage",
|
||||
"Add Items to a list.": "Add Items to a list.",
|
||||
"Remove Item from a list": "Remove Item from a list",
|
||||
"Key": "Key",
|
||||
"Default Value": "Default Value",
|
||||
"Store Scope": "Store Scope",
|
||||
"Value": "Value",
|
||||
"Separator": "Separator",
|
||||
"Ignore if value exists": "Ignore if value exists",
|
||||
"The storage scope of the value.": "The storage scope of the value.",
|
||||
"Separator between added values, use \\n for newlines": "Separator between added values, use \\n for newlines",
|
||||
"Project": "Project",
|
||||
"Flow": "Flow",
|
||||
"Run": "Run"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Storage": "Storage",
|
||||
"Store or retrieve data from key/value database": "Store or retrieve data from key/value database",
|
||||
"Get": "Get",
|
||||
"Put": "Put",
|
||||
"Append": "Append",
|
||||
"Remove": "Remove",
|
||||
"Add To List": "Add To List",
|
||||
"Remove from List": "Remove from List",
|
||||
"Get a value from storage": "Get a value from storage",
|
||||
"Put a value in storage": "Put a value in storage",
|
||||
"Append to a value in storage": "Append to a value in storage",
|
||||
"Remove a value from storage": "Remove a value from storage",
|
||||
"Add Items to a list.": "Add Items to a list.",
|
||||
"Remove Item from a list": "Remove Item from a list",
|
||||
"Key": "Key",
|
||||
"Default Value": "Default Value",
|
||||
"Store Scope": "Store Scope",
|
||||
"Value": "Value",
|
||||
"Separator": "Separator",
|
||||
"Ignore if value exists": "Ignore if value exists",
|
||||
"The storage scope of the value.": "The storage scope of the value.",
|
||||
"Separator between added values, use \\n for newlines": "Separator between added values, use \\n for newlines",
|
||||
"Project": "Project",
|
||||
"Flow": "Flow",
|
||||
"Run": "Run"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"Storage": "Storage",
|
||||
"Store or retrieve data from key/value database": "Store or retrieve data from key/value database",
|
||||
"Get": "Get",
|
||||
"Put": "Put",
|
||||
"Append": "Append",
|
||||
"Remove": "Remove",
|
||||
"Add To List": "Add To List",
|
||||
"Remove from List": "Remove from List",
|
||||
"Get a value from storage": "Get a value from storage",
|
||||
"Put a value in storage": "Put a value in storage",
|
||||
"Append to a value in storage": "Append to a value in storage",
|
||||
"Remove a value from storage": "Remove a value from storage",
|
||||
"Add Items to a list.": "Add Items to a list.",
|
||||
"Remove Item from a list": "Remove Item from a list",
|
||||
"Key": "Key",
|
||||
"Default Value": "Default Value",
|
||||
"Store Scope": "Store Scope",
|
||||
"Value": "Value",
|
||||
"Separator": "Separator",
|
||||
"Ignore if value exists": "Ignore if value exists",
|
||||
"The storage scope of the value.": "The storage scope of the value.",
|
||||
"Separator between added values, use \\n for newlines": "Separator between added values, use \\n for newlines",
|
||||
"Project": "Project",
|
||||
"Flow": "Flow",
|
||||
"Run": "Run"
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"Store or retrieve data from key/value database": "存储或从密钥/值数据库检索数据",
|
||||
"Get": "获取",
|
||||
"Put": "放入...",
|
||||
"Append": "追加文件",
|
||||
"Remove": "删除",
|
||||
"Add To List": "添加到列表",
|
||||
"Remove from List": "从列表中删除",
|
||||
"Get a value from storage": "从存储获取一个值",
|
||||
"Put a value in storage": "将一个值放入存储",
|
||||
"Append to a value in storage": "附加到存储中的值",
|
||||
"Remove a value from storage": "从存储中删除一个值",
|
||||
"Add Items to a list.": "添加项目到列表。",
|
||||
"Remove Item from a list": "从列表中删除项目",
|
||||
"Key": "关键字",
|
||||
"Default Value": "默认值",
|
||||
"Store Scope": "商店范围",
|
||||
"Value": "值",
|
||||
"Separator": "分隔符",
|
||||
"Ignore if value exists": "忽略如果值存在",
|
||||
"The storage scope of the value.": "值的存储范围。",
|
||||
"Separator between added values, use \\n for newlines": "添加值之间的分隔符,换行符为 \\n",
|
||||
"Project": "项目",
|
||||
"Flow": "流",
|
||||
"Run": "运行"
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
import { PieceAuth, createPiece } from '@activepieces/pieces-framework';
|
||||
import { PieceCategory } from '@activepieces/shared';
|
||||
import { storageAddtoList } from './lib/actions/store-add-to-list';
|
||||
import { storageAppendAction } from './lib/actions/store-append-action';
|
||||
import { storageGetAction } from './lib/actions/store-get-action';
|
||||
import { storagePutAction } from './lib/actions/store-put-action';
|
||||
import { storageRemoveFromList } from './lib/actions/store-remove-from-list';
|
||||
import { storageRemoveValue } from './lib/actions/store-remove-value';
|
||||
|
||||
export const storage = createPiece({
|
||||
displayName: 'Storage',
|
||||
description: 'Store or retrieve data from key/value database',
|
||||
minimumSupportedRelease: '0.30.0',
|
||||
logoUrl: 'https://cdn.activepieces.com/pieces/store.png',
|
||||
categories: [PieceCategory.CORE],
|
||||
auth: PieceAuth.None(),
|
||||
authors: ["JanHolger","fardeenpanjwani-codeglo","Abdallah-Alwarawreh","Salem-Alaa","kishanprmr","MoShizzle","khaledmashaly","abuaboud"],
|
||||
actions: [
|
||||
storageGetAction,
|
||||
storagePutAction,
|
||||
storageAppendAction,
|
||||
storageRemoveValue,
|
||||
storageAddtoList,
|
||||
storageRemoveFromList,
|
||||
],
|
||||
triggers: [],
|
||||
});
|
||||
@@ -0,0 +1,55 @@
|
||||
import { Property, StoreScope } from "@activepieces/pieces-framework"
|
||||
|
||||
export enum PieceStoreScope {
|
||||
PROJECT = 'COLLECTION',
|
||||
FLOW = 'FLOW',
|
||||
RUN = 'RUN',
|
||||
}
|
||||
|
||||
const testRunId = 'test-run-id-CbVidYfEuCRpUanfEb3RU';
|
||||
export function getScopeAndKey(params: Params): { scope: StoreScope, key: string } {
|
||||
switch (params.scope) {
|
||||
case PieceStoreScope.PROJECT:
|
||||
return { scope: StoreScope.PROJECT, key: params.key }
|
||||
case PieceStoreScope.FLOW:
|
||||
return { scope: StoreScope.FLOW, key: params.key }
|
||||
case PieceStoreScope.RUN:
|
||||
// Use a consistent test run ID when testing to allow store operations to work together
|
||||
{
|
||||
const runId = params.isTestMode ? testRunId : params.runId
|
||||
return { scope: StoreScope.FLOW, key: `run_${runId}/${params.key}` }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
type Params = {
|
||||
runId: string
|
||||
key: string
|
||||
scope: PieceStoreScope
|
||||
isTestMode: boolean
|
||||
}
|
||||
|
||||
export const common = {
|
||||
store_scope: Property.StaticDropdown({
|
||||
displayName: 'Store Scope',
|
||||
description: 'The storage scope of the value.',
|
||||
required: true,
|
||||
options: {
|
||||
options: [
|
||||
{
|
||||
label: 'Project',
|
||||
value: PieceStoreScope.PROJECT,
|
||||
},
|
||||
{
|
||||
label: 'Flow',
|
||||
value: PieceStoreScope.FLOW,
|
||||
},
|
||||
{
|
||||
label: 'Run',
|
||||
value: PieceStoreScope.RUN,
|
||||
},
|
||||
],
|
||||
},
|
||||
defaultValue: PieceStoreScope.PROJECT,
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
import { ActionContext, ArrayProperty, CheckboxProperty, createAction, PieceAuthProperty, Property, ShortTextProperty, StaticDropdownProperty } from '@activepieces/pieces-framework';
|
||||
import { z } from 'zod';
|
||||
import { propsValidation } from '@activepieces/pieces-common';
|
||||
import deepEqual from 'deep-equal';
|
||||
import { common, getScopeAndKey, PieceStoreScope } from './common';
|
||||
|
||||
async function executeStorageAddToList(context: ActionContext<PieceAuthProperty | undefined, {
|
||||
key: ShortTextProperty<true>;
|
||||
value: ArrayProperty<true>;
|
||||
ignore_if_exists: CheckboxProperty<false>;
|
||||
store_scope: StaticDropdownProperty<PieceStoreScope, true>;
|
||||
}>, isTestMode = false) {
|
||||
await propsValidation.validateZod(context.propsValue, {
|
||||
key: z.string().max(128),
|
||||
});
|
||||
const { key, scope } = getScopeAndKey({
|
||||
runId: context.run.id,
|
||||
key: context.propsValue['key'],
|
||||
scope: context.propsValue.store_scope,
|
||||
isTestMode,
|
||||
});
|
||||
const inputItems = context.propsValue.value ?? [];
|
||||
let parsedInputItems: unknown[] = [];
|
||||
try {
|
||||
parsedInputItems = typeof inputItems === 'string' ? JSON.parse(inputItems) : inputItems;
|
||||
if (!Array.isArray(parsedInputItems)) {
|
||||
throw new Error(`Provided value is not a list.`);
|
||||
}
|
||||
} catch (err) {
|
||||
throw new Error(`An unexpected error occurred: ${(err as Error).message}`);
|
||||
}
|
||||
// Get existing items from store
|
||||
let items = (await context.store.get(key, scope)) ?? [];
|
||||
try {
|
||||
if (typeof items === 'string') {
|
||||
items = JSON.parse(items);
|
||||
}
|
||||
if (!Array.isArray(items)) {
|
||||
throw new Error(`Key ${context.propsValue['key']} is not a list.`);
|
||||
}
|
||||
} catch (err) {
|
||||
throw new Error(`An unexpected error occurred: ${(err as Error).message}`);
|
||||
}
|
||||
if (context.propsValue['ignore_if_exists']) {
|
||||
for (const newItem of parsedInputItems) {
|
||||
const exists = items.some((existingItem) => deepEqual(existingItem, newItem));
|
||||
if (!exists) {
|
||||
items.push(newItem);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
items.push(...parsedInputItems);
|
||||
}
|
||||
return context.store.put(key, items, scope);
|
||||
}
|
||||
|
||||
export const storageAddtoList = createAction({
|
||||
name: 'add_to_list',
|
||||
displayName: 'Add To List',
|
||||
description: 'Add Items to a list.',
|
||||
errorHandlingOptions: {
|
||||
continueOnFailure: {
|
||||
hide: true,
|
||||
},
|
||||
retryOnFailure: {
|
||||
hide: true,
|
||||
},
|
||||
},
|
||||
props: {
|
||||
key: Property.ShortText({
|
||||
displayName: 'Key',
|
||||
required: true,
|
||||
}),
|
||||
value: Property.Array({
|
||||
displayName: 'Value',
|
||||
required: true,
|
||||
}),
|
||||
ignore_if_exists: Property.Checkbox({
|
||||
displayName: 'Ignore if value exists',
|
||||
required: false,
|
||||
}),
|
||||
store_scope: common.store_scope,
|
||||
},
|
||||
async run(context) {
|
||||
return await executeStorageAddToList(context, false);
|
||||
},
|
||||
async test(context) {
|
||||
return await executeStorageAddToList(context, true);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,79 @@
|
||||
import {
|
||||
ActionContext,
|
||||
createAction,
|
||||
PieceAuthProperty,
|
||||
Property,
|
||||
ShortTextProperty,
|
||||
StaticDropdownProperty,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { common, getScopeAndKey, PieceStoreScope } from './common';
|
||||
import { z } from 'zod';
|
||||
import { propsValidation } from '@activepieces/pieces-common';
|
||||
import { isNil } from '@activepieces/shared';
|
||||
|
||||
async function executeStorageAppend(context: ActionContext<PieceAuthProperty | undefined, {
|
||||
key: ShortTextProperty<true>;
|
||||
value: ShortTextProperty<true>;
|
||||
separator: ShortTextProperty<false>;
|
||||
store_scope: StaticDropdownProperty<PieceStoreScope, true>;
|
||||
}>, isTestMode = false) {
|
||||
await propsValidation.validateZod(context.propsValue, {
|
||||
key: z.string().max(128),
|
||||
});
|
||||
|
||||
const { key, scope } = getScopeAndKey({
|
||||
runId: context.run.id,
|
||||
key: context.propsValue['key'],
|
||||
scope: context.propsValue.store_scope,
|
||||
isTestMode,
|
||||
});
|
||||
const oldValue = (await context.store.get(key, scope)) || '';
|
||||
if (typeof oldValue !== 'string') {
|
||||
throw new Error(`Key ${context.propsValue.key} is not a string`);
|
||||
}
|
||||
const appendValue = context.propsValue.value;
|
||||
if (appendValue === '' || isNil(appendValue)) {
|
||||
return oldValue;
|
||||
}
|
||||
let separator = context.propsValue.separator || '';
|
||||
separator = separator.replace(/\\n/g, '\n'); // Allow newline escape sequence
|
||||
const newValue =
|
||||
oldValue + (oldValue.length > 0 ? separator : '') + appendValue;
|
||||
return await context.store.put(key, newValue, scope);
|
||||
}
|
||||
|
||||
export const storageAppendAction = createAction({
|
||||
name: 'append',
|
||||
displayName: 'Append',
|
||||
description: 'Append to a value in storage',
|
||||
errorHandlingOptions: {
|
||||
continueOnFailure: {
|
||||
hide: true,
|
||||
},
|
||||
retryOnFailure: {
|
||||
hide: true,
|
||||
},
|
||||
},
|
||||
props: {
|
||||
key: Property.ShortText({
|
||||
displayName: 'Key',
|
||||
required: true,
|
||||
}),
|
||||
value: Property.ShortText({
|
||||
displayName: 'Value',
|
||||
required: true,
|
||||
}),
|
||||
separator: Property.ShortText({
|
||||
displayName: 'Separator',
|
||||
description: 'Separator between added values, use \\n for newlines',
|
||||
required: false,
|
||||
}),
|
||||
store_scope: common.store_scope,
|
||||
},
|
||||
async run(context) {
|
||||
return await executeStorageAppend(context, false);
|
||||
},
|
||||
async test(context) {
|
||||
return await executeStorageAppend(context, true);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,84 @@
|
||||
import {
|
||||
ActionContext,
|
||||
createAction,
|
||||
PieceAuthProperty,
|
||||
Property,
|
||||
ShortTextProperty,
|
||||
StaticDropdownProperty,
|
||||
StoreScope,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { getScopeAndKey, PieceStoreScope } from './common';
|
||||
import { z } from 'zod';
|
||||
import { propsValidation } from '@activepieces/pieces-common';
|
||||
|
||||
async function executeStorageGet(context: ActionContext<PieceAuthProperty | undefined, {
|
||||
key: ShortTextProperty<true>;
|
||||
defaultValue: ShortTextProperty<false>;
|
||||
store_scope: StaticDropdownProperty<PieceStoreScope, true>;
|
||||
}>, isTestMode = false) {
|
||||
await propsValidation.validateZod(context.propsValue, {
|
||||
key: z.string().max(128),
|
||||
});
|
||||
|
||||
const { key, scope } = getScopeAndKey({
|
||||
runId: context.run.id,
|
||||
key: context.propsValue['key'],
|
||||
scope: context.propsValue.store_scope,
|
||||
isTestMode,
|
||||
});
|
||||
return (
|
||||
(await context.store.get(key, scope)) ?? context.propsValue['defaultValue']
|
||||
);
|
||||
}
|
||||
|
||||
export const storageGetAction = createAction({
|
||||
name: 'get',
|
||||
displayName: 'Get',
|
||||
description: 'Get a value from storage',
|
||||
errorHandlingOptions: {
|
||||
continueOnFailure: {
|
||||
hide: true,
|
||||
},
|
||||
retryOnFailure: {
|
||||
hide: true,
|
||||
},
|
||||
},
|
||||
props: {
|
||||
key: Property.ShortText({
|
||||
displayName: 'Key',
|
||||
required: true,
|
||||
}),
|
||||
defaultValue: Property.ShortText({
|
||||
displayName: 'Default Value',
|
||||
required: false,
|
||||
}),
|
||||
store_scope: Property.StaticDropdown({
|
||||
displayName: 'Store Scope',
|
||||
description: 'The storage scope of the value.',
|
||||
required: true,
|
||||
options: {
|
||||
options: [
|
||||
{
|
||||
label: 'Project',
|
||||
value: PieceStoreScope.PROJECT,
|
||||
},
|
||||
{
|
||||
label: 'Flow',
|
||||
value: PieceStoreScope.FLOW,
|
||||
},
|
||||
{
|
||||
label: 'Run',
|
||||
value: PieceStoreScope.RUN,
|
||||
},
|
||||
],
|
||||
},
|
||||
defaultValue: StoreScope.PROJECT,
|
||||
}),
|
||||
},
|
||||
async run(context) {
|
||||
return await executeStorageGet(context, false);
|
||||
},
|
||||
async test(context) {
|
||||
return await executeStorageGet(context, true);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,64 @@
|
||||
import {
|
||||
ActionContext,
|
||||
createAction,
|
||||
PieceAuthProperty,
|
||||
Property,
|
||||
ShortTextProperty,
|
||||
StaticDropdownProperty,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { common, getScopeAndKey, PieceStoreScope } from './common';
|
||||
import { z } from 'zod';
|
||||
import { propsValidation } from '@activepieces/pieces-common';
|
||||
|
||||
async function executeStoragePut(context: ActionContext<PieceAuthProperty | undefined, {
|
||||
key: ShortTextProperty<true>;
|
||||
value: ShortTextProperty<true>;
|
||||
store_scope: StaticDropdownProperty<PieceStoreScope, true>;
|
||||
}>, isTestMode = false) {
|
||||
await propsValidation.validateZod(context.propsValue, {
|
||||
key: z.string().max(128),
|
||||
});
|
||||
|
||||
const { key, scope } = getScopeAndKey({
|
||||
runId: context.run.id,
|
||||
key: context.propsValue['key'],
|
||||
scope: context.propsValue.store_scope,
|
||||
isTestMode,
|
||||
});
|
||||
return await context.store.put(
|
||||
key,
|
||||
context.propsValue['value'],
|
||||
scope
|
||||
);
|
||||
}
|
||||
|
||||
export const storagePutAction = createAction({
|
||||
name: 'put',
|
||||
displayName: 'Put',
|
||||
description: 'Put a value in storage',
|
||||
errorHandlingOptions: {
|
||||
continueOnFailure: {
|
||||
hide: true,
|
||||
},
|
||||
retryOnFailure: {
|
||||
hide: true,
|
||||
},
|
||||
},
|
||||
props: {
|
||||
key: Property.ShortText({
|
||||
displayName: 'Key',
|
||||
required: true,
|
||||
}),
|
||||
value: Property.ShortText({
|
||||
displayName: 'Value',
|
||||
required: true,
|
||||
}),
|
||||
store_scope: common.store_scope,
|
||||
},
|
||||
async run(context) {
|
||||
return await executeStoragePut(context, false);
|
||||
},
|
||||
async test(context) {
|
||||
return await executeStoragePut(context, true);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,86 @@
|
||||
import {
|
||||
ActionContext,
|
||||
createAction,
|
||||
PieceAuthProperty,
|
||||
Property,
|
||||
ShortTextProperty,
|
||||
StaticDropdownProperty,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { z } from 'zod';
|
||||
import { propsValidation } from '@activepieces/pieces-common';
|
||||
import deepEqual from 'deep-equal';
|
||||
import { common, getScopeAndKey, PieceStoreScope } from './common';
|
||||
|
||||
async function executeStorageRemoveFromList(context: ActionContext<PieceAuthProperty | undefined, {
|
||||
key: ShortTextProperty<true>;
|
||||
value: ShortTextProperty<true>;
|
||||
store_scope: StaticDropdownProperty<PieceStoreScope, true>;
|
||||
}>, isTestMode = false) {
|
||||
await propsValidation.validateZod(context.propsValue, {
|
||||
key: z.string().max(128),
|
||||
});
|
||||
|
||||
const { key, scope } = getScopeAndKey({
|
||||
runId: context.run.id,
|
||||
key: context.propsValue['key'],
|
||||
scope: context.propsValue.store_scope,
|
||||
isTestMode,
|
||||
});
|
||||
const items =
|
||||
(await context.store.get(
|
||||
key,
|
||||
scope,
|
||||
)) ?? [];
|
||||
if (!Array.isArray(items)) {
|
||||
throw new Error(`Key ${context.propsValue['key']} is not an array`);
|
||||
}
|
||||
for (let i = 0; i < items.length; i++) {
|
||||
if (deepEqual(items[i], context.propsValue['value'])) {
|
||||
items.splice(i, 1);
|
||||
return await context.store.put(
|
||||
key,
|
||||
items,
|
||||
scope,
|
||||
);
|
||||
}
|
||||
}
|
||||
if (items.includes(context.propsValue['value'])) {
|
||||
items.splice(items.indexOf(context.propsValue['value']), 1);
|
||||
}
|
||||
return await context.store.put(
|
||||
key,
|
||||
items,
|
||||
scope,
|
||||
);
|
||||
}
|
||||
|
||||
export const storageRemoveFromList = createAction({
|
||||
name: 'remove_from_list',
|
||||
displayName: 'Remove from List',
|
||||
description: 'Remove Item from a list',
|
||||
errorHandlingOptions: {
|
||||
continueOnFailure: {
|
||||
hide: true,
|
||||
},
|
||||
retryOnFailure: {
|
||||
hide: true,
|
||||
},
|
||||
},
|
||||
props: {
|
||||
key: Property.ShortText({
|
||||
displayName: 'Key',
|
||||
required: true,
|
||||
}),
|
||||
value: Property.ShortText({
|
||||
displayName: 'Value',
|
||||
required: true,
|
||||
}),
|
||||
store_scope: common.store_scope,
|
||||
},
|
||||
async run(context) {
|
||||
return await executeStorageRemoveFromList(context, false);
|
||||
},
|
||||
async test(context) {
|
||||
return await executeStorageRemoveFromList(context, true);
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,58 @@
|
||||
import {
|
||||
ActionContext,
|
||||
createAction,
|
||||
PieceAuthProperty,
|
||||
Property,
|
||||
ShortTextProperty,
|
||||
StaticDropdownProperty,
|
||||
} from '@activepieces/pieces-framework';
|
||||
import { common, getScopeAndKey, PieceStoreScope } from './common';
|
||||
import { z } from 'zod';
|
||||
import { propsValidation } from '@activepieces/pieces-common';
|
||||
|
||||
async function executeStorageRemoveValue(context: ActionContext<PieceAuthProperty | undefined, {
|
||||
key: ShortTextProperty<true>;
|
||||
store_scope: StaticDropdownProperty<PieceStoreScope, true>;
|
||||
}>, isTestMode = false) {
|
||||
await propsValidation.validateZod(context.propsValue, {
|
||||
key: z.string().max(128),
|
||||
});
|
||||
|
||||
const { key, scope } = getScopeAndKey({
|
||||
runId: context.run.id,
|
||||
key: context.propsValue['key'],
|
||||
scope: context.propsValue.store_scope,
|
||||
isTestMode,
|
||||
});
|
||||
await context.store.delete(key, scope);
|
||||
return {
|
||||
success: true,
|
||||
};
|
||||
}
|
||||
|
||||
export const storageRemoveValue = createAction({
|
||||
name: 'remove_value',
|
||||
displayName: 'Remove',
|
||||
description: 'Remove a value from storage',
|
||||
errorHandlingOptions: {
|
||||
continueOnFailure: {
|
||||
hide: true,
|
||||
},
|
||||
retryOnFailure: {
|
||||
hide: true,
|
||||
},
|
||||
},
|
||||
props: {
|
||||
key: Property.ShortText({
|
||||
displayName: 'Key',
|
||||
required: true,
|
||||
}),
|
||||
store_scope: common.store_scope,
|
||||
},
|
||||
async run(context) {
|
||||
return await executeStorageRemoveValue(context, false);
|
||||
},
|
||||
async test(context) {
|
||||
return await executeStorageRemoveValue(context, true);
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user