Skip to main content
В каждом приложении должен быть ровно один вызов defineApplication. Он объявляет:
  • Идентификация — универсальный идентификатор, отображаемое имя, описание.
  • Разрешения — от имени какой роли выполняются его логические функции и фронтенд-компоненты.
  • Переменные (необязательно) — пары ключ–значение, доступные вашему коду как переменные окружения.
  • Хуки предустановки / постустановки (необязательно) — см. Логические функции.
src/application-config.ts
Заметки:
  • Поля universalIdentifier — это детерминированные идентификаторы, которые принадлежат вам. Сгенерируйте их один раз и сохраняйте неизменными между синхронизациями.
  • applicationVariables становятся переменными окружения для ваших функций и фронтенд-компонентов. В логических функциях (на стороне сервера) они доступны как process.env.VARIABLE_NAME. Во фронтенд-компонентах используйте getApplicationVariable('VARIABLE_NAME') из twenty-sdk/front-component. Переменные, помеченные как isSecret: true, внедряются только в логические функции. Фронтенд-компоненты получают только несекретные переменные.
  • Роль по умолчанию автоматически определяется из файла роли, помеченного с помощью defineApplicationRole() — вам не нужно ссылаться на неё из defineApplication().
  • Предустановочные и постустановочные функции обнаруживаются автоматически во время сборки манифеста — вам не нужно указывать их в defineApplication().
  • Явная передача defaultRoleUniversalIdentifier по-прежнему поддерживается для обратной совместимости, но считается устаревшей и вместо неё рекомендуется использовать defineApplicationRole().

Роль функции по умолчанию

Роль, объявленная с помощью defineApplicationRole(), определяет, к чему могут получать доступ логические функции и фронтенд‑компоненты приложения:
  • Токен времени выполнения, подставляемый как TWENTY_APP_ACCESS_TOKEN, формируется из этой роли.
  • Типизированный клиент API ограничен правами, предоставленными этой роли.
  • Следуйте принципу наименьших привилегий: объявляйте только те разрешения, которые действительно нужны вашим функциям.
Когда вы создаёте новое приложение с помощью шаблона, CLI создаёт стартовый файл роли по адресу src/roles/default-role.ts. Полную справочную информацию см. в разделе Роли и разрешения.

Метаданные маркетплейса

Если вы планируете опубликовать приложение, эти необязательные поля определяют, как оно отображается в маркетплейсе: