Přejít na hlavní obsah
Každá aplikace musí mít právě jedno volání defineApplication. Deklaruje:
  • Identita — univerzální identifikátor, zobrazovaný název, popis.
  • Oprávnění — pod jakou rolí běží její logické funkce a frontendové komponenty.
  • Proměnné (volitelné) — páry klíč–hodnota zpřístupněné vašemu kódu jako proměnné prostředí.
  • Předinstalační / postinstalační hooky (volitelné) — viz Logické funkce.
src/application-config.ts
import { defineApplication } from 'twenty-sdk/define';

export default defineApplication({
  universalIdentifier: '39783023-bcac-41e3-b0d2-ff1944d8465d',
  displayName: 'My Twenty App',
  description: 'My first Twenty app',
  applicationVariables: {
    DEFAULT_RECIPIENT_NAME: {
      universalIdentifier: '19e94e59-d4fe-4251-8981-b96d0a9f74de',
      description: 'Default recipient name for postcards',
      value: 'Jane Doe',
      isSecret: false,
    },
  },
});
Poznámky:
  • Pole universalIdentifier jsou deterministické identifikátory, které vlastníte. Vygenerujte je jednou a zachovejte je stabilní napříč synchronizacemi.
  • applicationVariables se stanou proměnnými prostředí pro vaše funkce a frontendové komponenty. V logických funkcích (na straně serveru) jsou dostupné jako process.env.VARIABLE_NAME. Ve frontendových komponentách použijte getApplicationVariable('VARIABLE_NAME') z twenty-sdk/front-component. Proměnné označené jako isSecret: true jsou předávány pouze do logických funkcí. Frontendové komponenty přijímají pouze proměnné, které nejsou tajné.
  • Výchozí role je automaticky detekována ze souboru role označeného pomocí defineApplicationRole() — není potřeba na ni odkazovat z defineApplication().
  • Předinstalační a postinstalační funkce jsou při sestavení manifestu detekovány automaticky — není třeba na ně odkazovat v defineApplication().
  • Předávání defaultRoleUniversalIdentifier explicitně je stále podporováno kvůli zpětné kompatibilitě, ale je zastaralé ve prospěch defineApplicationRole().

Výchozí role funkce

Role deklarovaná pomocí defineApplicationRole() určuje, k čemu mají přístup logické funkce a front-endové komponenty aplikace:
  • Běhový token vložený jako TWENTY_APP_ACCESS_TOKEN je odvozen z této role.
  • Typovaný klient API je omezen na oprávnění udělená této roli.
  • Dodržujte princip nejmenších oprávnění: deklarujte pouze ta oprávnění, která vaše funkce potřebují.
Když vygenerujete novou aplikaci, CLI vytvoří úvodní soubor role v src/roles/default-role.ts. Úplnou referenci najdete v části Role a oprávnění.

Metadata tržiště

Pokud plánujete zveřejnit svou aplikaci, tato volitelná pole určují, jak se vaše aplikace zobrazuje v tržišti:
PolePopis
authorJméno autora nebo název společnosti
categoryKategorie aplikace pro filtrování v tržišti
logoUrlCesta k logu vaší aplikace (např. public/logo.png)
screenshotsPole cest ke snímkům obrazovky (např. public/screenshot-1.png)
aboutDescriptionDelší popis v Markdownu pro kartu “O aplikaci”. Pokud je vynecháno, tržiště použije README.md balíčku z npm
websiteUrlOdkaz na váš web
termsUrlOdkaz na podmínky služby
emailSupportE-mailová adresa podpory
issueReportUrlOdkaz na nástroj pro sledování problémů