aYOUne
← Developer Hub

Custom Functions (FaaS)

Überblick

Custom Functions sind benutzerdefinierte JavaScript-Funktionen die in einer isolierten Sandbox (isolated-vm) innerhalb der aYOUne-Plattform ausgeführt werden. Kein separater Server nötig — schreiben Sie Ihre Logik direkt im aYOUne Function Editor.

Platform SDK (ay.*)

Innerhalb einer Custom Function steht ein eingeschränktes SDK zur Verfügung:

// Daten lesen
const consumers = await ay.db.find('Consumers', { status: 'active' });

// Daten erstellen
const created = await ay.db.create('Tasks', {
  title: 'Follow-up',
  assignee: consumer._id,
});

// Daten aktualisieren
await ay.db.update('Consumers', consumer._id, { lastContacted: new Date() });

// HTTP-Aufrufe an externe Services
const response = await ay.http.get('https://api.example.com/data');
const data = await ay.http.post('https://hooks.example.com', { event: 'sync' });

// Logging
ay.log('Verarbeitet:', consumers.length, 'Kontakte');

Trigger-Typen

  1. Manuell — Über die UI oder API ausgelöst
  2. Zeitgesteuert — Cron-ähnliche Planung (z.B. "täglich um 8:00")
  3. Webhook — HTTP-Endpoint triggert die Funktion
  4. Event — Reagiert auf Plattform-Events (z.B. "nach Consumer-Erstellung")
  5. Before/After Hook — Vor/nach CRUD-Operationen (z.B. Validierung vor dem Speichern)

Einschränkungen

  • Max. Laufzeit: 30 Sekunden
  • Kein Dateisystem-Zugriff
  • Kein require() / import — nur das ay.* SDK
  • 26 freigegebene Entity-Typen (konfigurierbar via availableInSDK)