106 lines
6.1 KiB
Python
106 lines
6.1 KiB
Python
# Copyright (c) 2025 Patrick Motsch
|
|
# Trustee node definitions - map to methodTrustee actions.
|
|
|
|
TRUSTEE_NODES = [
|
|
{
|
|
"id": "trustee.refreshAccountingData",
|
|
"category": "trustee",
|
|
"label": {"en": "Refresh Accounting Data", "de": "Buchhaltungsdaten aktualisieren", "fr": "Actualiser données comptables"},
|
|
"description": {
|
|
"en": "Import/refresh accounting data from external system (e.g. Abacus).",
|
|
"de": "Buchhaltungsdaten aus externem System importieren/aktualisieren.",
|
|
"fr": "Importer/actualiser les données comptables.",
|
|
},
|
|
"parameters": [
|
|
{"name": "featureInstanceId", "type": "string", "required": True, "frontendType": "hidden",
|
|
"description": {"en": "Trustee feature instance ID", "de": "Trustee Feature-Instanz-ID", "fr": "ID instance Trustee"}},
|
|
{"name": "forceRefresh", "type": "boolean", "required": False, "frontendType": "checkbox",
|
|
"description": {"en": "Force re-import", "de": "Import erzwingen", "fr": "Forcer la réimportation"}, "default": False},
|
|
{"name": "dateFrom", "type": "string", "required": False, "frontendType": "date",
|
|
"description": {"en": "Start date (YYYY-MM-DD)", "de": "Startdatum", "fr": "Date début"}, "default": ""},
|
|
{"name": "dateTo", "type": "string", "required": False, "frontendType": "date",
|
|
"description": {"en": "End date (YYYY-MM-DD)", "de": "Enddatum", "fr": "Date fin"}, "default": ""},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["Transit"]}},
|
|
"outputPorts": {0: {"schema": "ActionResult"}},
|
|
"meta": {"icon": "mdi-database-refresh", "color": "#4CAF50"},
|
|
"_method": "trustee",
|
|
"_action": "refreshAccountingData",
|
|
},
|
|
{
|
|
"id": "trustee.extractFromFiles",
|
|
"category": "trustee",
|
|
"label": {"en": "Extract Documents", "de": "Dokumente extrahieren", "fr": "Extraire documents"},
|
|
"description": {
|
|
"en": "Extract document type and data from PDF/JPG via AI.",
|
|
"de": "Dokumenttyp und Daten aus PDF/JPG per AI extrahieren.",
|
|
"fr": "Extraire type et données de PDF/JPG par IA.",
|
|
},
|
|
"parameters": [
|
|
{"name": "connectionReference", "type": "string", "required": False, "frontendType": "userConnection",
|
|
"description": {"en": "SharePoint connection", "de": "SharePoint-Verbindung", "fr": "Connexion SharePoint"}, "default": ""},
|
|
{"name": "sharepointFolder", "type": "string", "required": False, "frontendType": "sharepointFolder",
|
|
"frontendOptions": {"dependsOn": "connectionReference"},
|
|
"description": {"en": "SharePoint folder path", "de": "SharePoint-Ordnerpfad", "fr": "Chemin dossier SharePoint"}, "default": ""},
|
|
{"name": "featureInstanceId", "type": "string", "required": True, "frontendType": "hidden",
|
|
"description": {"en": "Trustee feature instance ID", "de": "Trustee Feature-Instanz-ID", "fr": "ID instance Trustee"}},
|
|
{"name": "prompt", "type": "string", "required": False, "frontendType": "textarea",
|
|
"description": {"en": "AI prompt for extraction", "de": "AI-Prompt für Extraktion", "fr": "Prompt IA"}, "default": ""},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["DocumentList", "Transit"]}},
|
|
"outputPorts": {0: {"schema": "DocumentList"}},
|
|
"meta": {"icon": "mdi-file-document-scan", "color": "#4CAF50"},
|
|
"_method": "trustee",
|
|
"_action": "extractFromFiles",
|
|
},
|
|
{
|
|
"id": "trustee.processDocuments",
|
|
"category": "trustee",
|
|
"label": {"en": "Process Documents", "de": "Dokumente verarbeiten", "fr": "Traiter documents"},
|
|
"description": {
|
|
"en": "Create TrusteeDocument + TrusteePosition from extraction result.",
|
|
"de": "TrusteeDocument + TrusteePosition aus Extraktionsergebnis erstellen.",
|
|
"fr": "Créer TrusteeDocument + TrusteePosition.",
|
|
},
|
|
"parameters": [
|
|
{"name": "documentList", "type": "string", "required": True, "frontendType": "text",
|
|
"description": {"en": "Reference to extraction result", "de": "Referenz auf Ergebnis", "fr": "Référence au résultat"}},
|
|
{"name": "featureInstanceId", "type": "string", "required": True, "frontendType": "hidden",
|
|
"description": {"en": "Trustee feature instance ID", "de": "Trustee Feature-Instanz-ID", "fr": "ID instance Trustee"}},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["DocumentList", "Transit"]}},
|
|
"outputPorts": {0: {"schema": "ActionResult"}},
|
|
"meta": {"icon": "mdi-file-document-check", "color": "#4CAF50"},
|
|
"_method": "trustee",
|
|
"_action": "processDocuments",
|
|
},
|
|
{
|
|
"id": "trustee.syncToAccounting",
|
|
"category": "trustee",
|
|
"label": {"en": "Sync to Accounting", "de": "In Buchhaltung synchronisieren", "fr": "Synchroniser comptabilité"},
|
|
"description": {
|
|
"en": "Push trustee positions to accounting system.",
|
|
"de": "Trustee-Positionen in Buchhaltungssystem übertragen.",
|
|
"fr": "Transférer les positions vers la comptabilité.",
|
|
},
|
|
"parameters": [
|
|
{"name": "documentList", "type": "string", "required": True, "frontendType": "text",
|
|
"description": {"en": "Reference to processed documents", "de": "Referenz auf Ergebnis", "fr": "Référence au résultat"}},
|
|
{"name": "featureInstanceId", "type": "string", "required": True, "frontendType": "hidden",
|
|
"description": {"en": "Trustee feature instance ID", "de": "Trustee Feature-Instanz-ID", "fr": "ID instance Trustee"}},
|
|
],
|
|
"inputs": 1,
|
|
"outputs": 1,
|
|
"inputPorts": {0: {"accepts": ["Transit"]}},
|
|
"outputPorts": {0: {"schema": "ActionResult"}},
|
|
"meta": {"icon": "mdi-calculator", "color": "#4CAF50"},
|
|
"_method": "trustee",
|
|
"_action": "syncToAccounting",
|
|
},
|
|
]
|