defineApplication haben. Dieser deklariert:
- Identität — universeller Bezeichner, Anzeigename, Beschreibung.
- Berechtigungen — unter welcher Rolle ihre Logikfunktionen und Frontend-Komponenten ausgeführt werden.
- Variablen (optional) — Schlüssel–Wert-Paare, die Ihrem Code als Umgebungsvariablen zur Verfügung gestellt werden.
- Pre-install-/Post-install-Hooks (optional) — siehe Logikfunktionen.
src/application-config.ts
universalIdentifier-Felder sind deterministische IDs, die Ihnen gehören. Erzeugen Sie sie einmal und halten Sie sie über Synchronisierungen hinweg stabil.applicationVariableswerden zu Umgebungsvariablen für Ihre Funktionen und Frontend-Komponenten. In Logikfunktionen (serverseitig) sind sie alsprocess.env.VARIABLE_NAMEverfügbar. In Frontend-Komponenten verwenden SiegetApplicationVariable('VARIABLE_NAME')austwenty-sdk/front-component. Variablen, die mitisSecret: truegekennzeichnet sind, werden nur in Logikfunktionen injiziert. Frontend-Komponenten erhalten nur nicht-geheime Variablen.- Die Standardrolle wird automatisch aus der Rollen-Datei erkannt, die mit
defineApplicationRole()markiert ist – Sie müssen sie nicht ausdefineApplication()referenzieren. - Pre- und Post-Installationsfunktionen werden während des Manifest-Builds automatisch erkannt — Sie müssen sie in
defineApplication()nicht referenzieren. - Die explizite Übergabe von
defaultRoleUniversalIdentifierwird für die Abwärtskompatibilität weiterhin unterstützt, ist jedoch zugunsten vondefineApplicationRole()veraltet.
Standard-Funktionsrolle
Die mitdefineApplicationRole() deklarierte Rolle steuert, worauf die Logikfunktionen und Frontend-Komponenten der App zugreifen können:
- Das zur Laufzeit als
TWENTY_APP_ACCESS_TOKENinjizierte Token wird aus dieser Rolle abgeleitet. - Der typisierte API-Client ist auf die dieser Rolle gewährten Berechtigungen beschränkt.
- Befolgen Sie das Least-Privilege-Prinzip: Deklarieren Sie nur die Berechtigungen, die Ihre Funktionen benötigen.
src/roles/default-role.ts. Die vollständige Referenz finden Sie unter Rollen & Berechtigungen.
Marktplatz-Metadaten
Wenn Sie planen, Ihre App zu veröffentlichen, steuern diese optionalen Felder, wie Ihre App im Marktplatz erscheint:| Feld | Beschreibung |
|---|---|
author | Name des Autors oder des Unternehmens |
category | App-Kategorie für die Filterung im Marktplatz |
logoUrl | Pfad zu Ihrem App-Logo (z. B. public/logo.png) |
screenshots | Array von Screenshot-Pfaden (z. B. public/screenshot-1.png) |
aboutDescription | Längere Markdown-Beschreibung für den Tab “Info”. Wenn weggelassen, verwendet der Marktplatz die README.md des Pakets von npm |
websiteUrl | Link zu Ihrer Website |
termsUrl | Link zu den Nutzungsbedingungen |
emailSupport | Support-E-Mail-Adresse |
issueReportUrl | Link zum Issue-Tracker |