Перейти к основному содержанию
Конфигурационный слой приложения Twenty описывает приложение для платформы — его идентичность, разрешения, которыми оно обладает, и код, который выполняется при установке или обновлении. Эти декларации не добавляют новых структур данных или поведения во время выполнения; они сообщают Twenty, что это за приложение и как его настроить.
┌────────────────────────────────────────────────────────┐
│ Application — identity, default role, variables,       │
│               marketplace metadata                     │
│                                                        │
│   ┌──────────────────────────────────────────────────┐ │
│   │ Role — what the app's logic functions can read   │ │
│   │ and write (referenced by Application)            │ │
│   └──────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────┘

                          ▼  (at install / upgrade time)
       ┌──────────────────────────────────┐
       │ Pre-install hook                 │  before metadata migration
       └──────────────────────────────────┘
       ┌──────────────────────────────────┐
       │ Post-install hook                │  after metadata migration
       └──────────────────────────────────┘

В этом разделе

Конфигурация приложения

defineApplication — идентичность, роль по умолчанию, переменные, метаданные маркетплейса.

Роли и разрешения

defineRole — определите, что логические функции вашего приложения могут читать и записывать.

Установочные хуки

definePreInstallLogicFunction и definePostInstallLogicFunction — создавайте резервные копии данных, заполняйте значения по умолчанию, проверяйте обновления.

Связь между частями

  • Приложение — это точка входа. У каждого приложения есть ровно один вызов defineApplication(), и он указывает на одну роль по умолчанию.
  • Роль управляет тем, что логические функции и фронтенд‑компоненты приложения могут читать и записывать. Следуйте принципу наименьших привилегий: выдавайте только те разрешения, которые вашему коду действительно нужны.
  • Установочные хуки запускаются при установке или обновлении — предустановочный до миграции метаданных (чтобы можно было отклонить рискованное обновление), постустановочный после миграции (чтобы можно было заполнить данные по умолчанию в соответствии с новой схемой).
Установочные хуки используют то же окружение выполнения, что и логическая функция — тот же формат обработчика, те же переменные окружения, тот же типизированный клиент API, — но объявляются через собственные функции define и находятся вне обычной модели триггеров (HTTP, cron, события базы данных).