Dans cette section
Objets
defineObject — déclarez de nouveaux types d’enregistrements avec leurs propres champs.Extension des objets
defineField — ajoutez des champs aux objets standard ou à ceux d’autres applications.Relations
Connexions bidirectionnelles
MANY_TO_ONE / ONE_TO_MANY entre objets.Aperçu des entités
| Entité | Objectif | Défini avec |
|---|---|---|
| Objet | Un nouveau type d’enregistrement personnalisé (par ex. PostCard, Invoice) avec ses propres champs | defineObject() |
| Champ | Une colonne d’un objet. Les champs autonomes peuvent étendre des objets que vous n’avez pas créés (par ex. ajouter loyaltyTier à Company) | defineField() |
| Relation | Un lien bidirectionnel entre deux objets — les deux côtés étant déclarés comme des champs | defineField() avec FieldType.RELATION |
| Index | Un index de base de données pour accélérer une requête récurrente sur l’un de vos objets | defineIndex() |
src/objects/, src/fields/ et src/indexes/. Des UUID universalIdentifier stables relient tout d’un déploiement à l’autre.
Index (optionnels)
Les applications peuvent fournir des index avec leurs objets pour que les requêtes récurrentes restent rapides. Le cas le plus courant est une colonne de statut ou de clé étrangère que vous lisez fréquemment.src/indexes/post-card-status.index.ts
Index uniques
defineIndex accepte isUnique: true pour l’unicité sur une ou plusieurs colonnes. C’est la primitive recommandée — defineField({ isUnique: true }) est obsolète et sera supprimé dans une future version.
Autres contraintes
- Les clauses
WHEREpartielles restent sous le contrôle de l’administrateur — les applications ne peuvent pas les déclarer. - Chaque objet est limité à 10 index personnalisés (les index propres au framework ne comptent pas).
fields dans l’ordre dans lequel Postgres doit l’utiliser — colonne la plus à gauche en premier, comme dans un annuaire téléphonique. Les index ne sont pas gratuits : chaque écriture dans la table les met à jour. Ajoutez-en un uniquement lorsque vous avez une requête qui en a besoin.
Vous cherchez Application Config ou Roles & Permissions ? Ces éléments décrivent l’application elle-même plutôt que les données qu’elle ajoute — ils se trouvent sous Config. Vous cherchez Connections (Linear, GitHub, Slack OAuth) ? Ceux-ci existent pour être appelés depuis des fonctions logiques et se trouvent sous Logic.