klee-contrib / topmodel

Outil de modélisation et générateurs pour divers langages
https://klee-contrib.github.io/topmodel/#/
MIT License
9 stars 9 forks source link

`primaryKey: true` sur alias et `aliasedPrimaryKey` #336

Closed JabX closed 7 months ago

JabX commented 7 months ago

Un alias n'est plus une clé primaire implicite dès lors que la propriété originale est une clé primaire et que l'alias n'a pas de préfixe et de suffixe : un alias sera désormais toujours primaryKey: false par défaut, et pourra être mis à primaryKey: true comme les propriétés classiques et d'association.

En interne, cette ancienne définition est toujours présente dans la propriété AliasedPrimaryKey pour garder les comportements existants sur dans les générateurs qui ne sont pas vraiment faisables autrement sans gros breaking change (en particulier le fait que les clés primaires sont générés avec isRequired: false en JS). Elle est aussi utilisée pour continuer à pouvoir faire des mappings entre associations et compositions.

Ce changement va permettre :

Les DTOs n'ayant plus de PK côté topmodel impliquent aussi quelques choses qui ne vont plus marcher genre faire des associations sur des DTOs sans préciser de propriété cible, mais bon en même temps... ¯_(ツ)_/¯