src/objects/post-card.object.ts
Points clés
- Le
universalIdentifierdoit être unique et stable entre les déploiements. - Chaque champ nécessite un
name, untype, unlabelet son propreuniversalIdentifierstable. - Le tableau
fieldsest facultatif — vous pouvez définir des objets sans champs personnalisés. - Les champs en ligne définis ici n’ont pas besoin d’un
objectUniversalIdentifier— il est hérité de l’objet parent. UtilisezdefineField()pour ajouter des champs aux objets que vous ne possédez pas. - Vous pouvez générer de nouveaux objets avec
yarn twenty dev:add object, qui vous guide à travers le nommage, les champs et les relations. Voir Architecture → Scaffolding entities.
Les champs de base sont ajoutés automatiquement. Lorsque vous définissez un objet personnalisé, Twenty crée pour vous des champs standard comme
id, name, createdAt, updatedAt, createdBy, updatedBy et deletedAt. Vous n’avez pas besoin de les déclarer dans votre tableau fields — uniquement vos champs personnalisés. Vous pouvez remplacer un champ par défaut en en déclarant un avec le même nom, mais c’est rarement une bonne idée.Valeurs par défaut
Les valeurs par défaut de type chaîne littérale doivent être entourées de guillemets simples à l’intérieur de la chaîne —defaultValue: "'Draft'", et non defaultValue: "Draft". C’est pourquoi le champ status ci-dessus utilise `'${PostCardStatus.DRAFT}'`.
Les chaînes sans guillemets sont réservées aux valeurs par défaut calculées, évaluées lors de la création d’un enregistrement :
'uuid'— génère un UUID (pour les champsUUID)'now'— l’horodatage actuel (pour les champsDATE_TIME)
{ source: "'MANUAL'" } sur un champ ACTOR) ainsi qu’aux valeurs SELECT/MULTI_SELECT. Une valeur par défaut littérale de type chaîne laissée sans guillemets génère un avertissement lors de la compilation de votre application.
Et après
- Connectez cet objet aux autres — voir Relations pour le modèle de relation bidirectionnelle.
- Ajoutez des champs aux objets d’autres applications — voir Extending Objects pour
defineField(). - Affichez cet objet dans l’interface utilisateur — voir Views et Navigation Menu Items pour l’ajouter à la barre latérale.