52 lines
5.3 KiB
Plaintext
52 lines
5.3 KiB
Plaintext
---
|
||
title: Обзор
|
||
description: Настройте само приложение — его идентичность, разрешения по умолчанию и то, что выполняется во время установки.
|
||
icon: screwdriver-wrench
|
||
---
|
||
|
||
**Конфигурационный слой** приложения Twenty описывает приложение *для платформы* — его идентичность, разрешения, которыми оно обладает, и код, который выполняется при установке или обновлении. Эти декларации не добавляют новых структур данных или поведения во время выполнения; они сообщают Twenty, *что это за приложение* и *как его настроить*.
|
||
|
||
```text
|
||
┌────────────────────────────────────────────────────────┐
|
||
│ 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
|
||
└──────────────────────────────────┘
|
||
```
|
||
|
||
## В этом разделе
|
||
|
||
<CardGroup cols={2}>
|
||
<Card title="Конфигурация приложения" icon="rocket" href="/l/ru/developers/extend/apps/config/application">
|
||
`defineApplication` — идентичность, роль по умолчанию, переменные, метаданные маркетплейса.
|
||
</Card>
|
||
<Card title="Роли и разрешения" icon="shield-halved" href="/l/ru/developers/extend/apps/config/roles">
|
||
`defineRole` — определите, что логические функции вашего приложения могут читать и записывать.
|
||
</Card>
|
||
<Card title="Установочные хуки" icon="wrench" href="/l/ru/developers/extend/apps/config/install-hooks">
|
||
`definePreInstallLogicFunction` и `definePostInstallLogicFunction` — создавайте резервные копии данных, заполняйте значения по умолчанию, проверяйте обновления.
|
||
</Card>
|
||
</CardGroup>
|
||
|
||
## Связь между частями
|
||
|
||
* **Приложение** — это точка входа. У каждого приложения есть ровно один вызов `defineApplication()`, и он указывает на одну **роль** по умолчанию.
|
||
* **Роль** управляет тем, что логические функции и фронтенд‑компоненты приложения могут читать и записывать. Следуйте принципу наименьших привилегий: выдавайте только те разрешения, которые вашему коду действительно нужны.
|
||
* **Установочные хуки** запускаются при установке или обновлении — предустановочный до миграции метаданных (чтобы можно было отклонить рискованное обновление), постустановочный после миграции (чтобы можно было заполнить данные по умолчанию в соответствии с новой схемой).
|
||
|
||
<Note>
|
||
Установочные хуки используют то же окружение выполнения, что и [логическая функция](/l/ru/developers/extend/apps/logic/logic-functions) — тот же формат обработчика, те же переменные окружения, тот же типизированный клиент API, — но объявляются через собственные функции `define` и находятся вне обычной модели триггеров (HTTP, cron, события базы данных).
|
||
</Note>
|