defineApplication. Dichiara:
- Identità — identificatore universale, nome visualizzato, descrizione.
- Autorizzazioni — il ruolo sotto il quale vengono eseguite le sue funzioni logiche e i componenti front-end.
- Variabili (opzionali) — coppie chiave–valore esposte al tuo codice come variabili d’ambiente.
- Hook di pre-installazione / post-installazione (opzionali) — vedi Funzioni logiche.
src/application-config.ts
- I campi
universalIdentifiersono ID deterministici che possiedi. Generali una volta e mantienili stabili tra una sincronizzazione e l’altra. applicationVariablesdiventano variabili d’ambiente per le tue funzioni e i componenti front-end. Nelle funzioni di logica (lato server), sono disponibili comeprocess.env.VARIABLE_NAME. Nei componenti front-end, usagetApplicationVariable('VARIABLE_NAME')datwenty-sdk/front-component. Le variabili contrassegnate conisSecret: truevengono iniettate solo nelle funzioni di logica. I componenti front-end ricevono solo variabili non segrete.- Il ruolo predefinito viene rilevato automaticamente dal file di ruolo contrassegnato con
defineApplicationRole(): non è necessario farvi riferimento dadefineApplication(). - Le funzioni di pre-installazione e post-installazione vengono rilevate automaticamente durante il build del manifest — non è necessario farne riferimento in
defineApplication(). - Il passaggio esplicito di
defaultRoleUniversalIdentifierè ancora supportato per garantire la compatibilità con le versioni precedenti, ma è deprecato a favore didefineApplicationRole().
Ruolo funzione predefinito
Il ruolo dichiarato condefineApplicationRole() controlla a cosa possono accedere le funzioni di logica e i componenti di interfaccia dell’app:
- Il token di runtime iniettato come
TWENTY_APP_ACCESS_TOKENè derivato da questo ruolo. - Il client API tipizzato è limitato alle autorizzazioni concesse a quel ruolo.
- Segui il principio del privilegio minimo: dichiara solo le autorizzazioni necessarie alle tue funzioni.
src/roles/default-role.ts. Per la documentazione completa, vedi Ruoli e autorizzazioni.
Metadati del marketplace
Se prevedi di pubblicare la tua app, questi campi opzionali controllano come appare nel marketplace:| Campo | Descrizione |
|---|---|
author | Nome dell’autore o dell’azienda |
category | Categoria dell’app per il filtraggio nel marketplace |
logoUrl | Percorso del logo della tua app (ad es., public/logo.png) |
screenshots | Array di percorsi degli screenshot (ad es., public/screenshot-1.png) |
aboutDescription | Descrizione markdown più lunga per la scheda “Informazioni”. Se omesso, il marketplace utilizza il README.md del pacchetto da npm |
websiteUrl | Link al tuo sito web |
termsUrl | Link ai Termini di servizio |
emailSupport | Indirizzo email di supporto |
issueReportUrl | Link al sistema di tracciamento dei problemi |