2b3b2362db
Created by Github action Co-authored-by: github-actions <github-actions@twenty.com>
52 lines
4.1 KiB
Plaintext
52 lines
4.1 KiB
Plaintext
---
|
|
title: Resumen
|
|
description: "Configura la propia app: su identidad, los permisos predeterminados y lo que se ejecuta en el momento de la instalación."
|
|
icon: screwdriver-wrench
|
|
---
|
|
|
|
La **capa de configuración** de una app de Twenty es lo que describe la app *a la plataforma*: su identidad, los permisos que posee y el código que se ejecuta durante la instalación o la actualización. Estas declaraciones no añaden nuevas estructuras de datos ni comportamiento en tiempo de ejecución; le indican a Twenty *quién es la app* y *cómo configurarla*.
|
|
|
|
```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
|
|
└──────────────────────────────────┘
|
|
```
|
|
|
|
## En esta sección
|
|
|
|
<CardGroup cols={2}>
|
|
<Card title="Configuración de la aplicación" icon="rocket" href="/l/es/developers/extend/apps/config/application">
|
|
`defineApplication`: identidad, rol predeterminado, variables y metadatos del marketplace.
|
|
</Card>
|
|
<Card title="Roles y permisos" icon="shield-halved" href="/l/es/developers/extend/apps/config/roles">
|
|
`defineRole`: declara qué pueden leer y escribir las funciones lógicas de tu app.
|
|
</Card>
|
|
<Card title="Hooks de instalación" icon="wrench" href="/l/es/developers/extend/apps/config/install-hooks">
|
|
`definePreInstallLogicFunction` y `definePostInstallLogicFunction`: hacen copias de seguridad de los datos, cargan valores predeterminados y validan actualizaciones.
|
|
</Card>
|
|
</CardGroup>
|
|
|
|
## Cómo se relacionan las piezas
|
|
|
|
* **Application** es el punto de entrada. Cada app tiene exactamente una llamada a `defineApplication()`, y apunta a un **Role** como su valor predeterminado.
|
|
* El **Role** controla qué pueden leer y escribir las funciones lógicas y los componentes de interfaz de la app. Sigue el principio de privilegios mínimos: concede solo los permisos que tu código realmente necesita.
|
|
* Los **hooks de instalación** se ejecutan durante la instalación o la actualización: el hook de preinstalación antes de la migración de metadatos (para poder rechazar una actualización arriesgada) y el hook de postinstalación después de la migración (para poder cargar datos predeterminados con el nuevo esquema).
|
|
|
|
<Note>
|
|
Los hooks de instalación comparten el entorno de ejecución de la [función lógica](/l/es/developers/extend/apps/logic/logic-functions): misma firma del handler, mismas variables de entorno, mismo cliente de API tipado, pero se declaran con sus propias funciones de definición y viven fuera del modelo de triggers habitual (HTTP, cron, eventos de base de datos).
|
|
</Note>
|