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 ограничен правами, предоставленными этой роли.
- Следуйте принципу наименьших привилегий: объявляйте только те разрешения, которые действительно нужны вашим функциям.
src/roles/default-role.ts. Полную справочную информацию см. в разделе Роли и разрешения.