You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
PadelClub/PadelClub/Data/README.md

1.5 KiB

Procédure de création de classe

Dans Swift:

  • Dans Data > Gen > créer un nouveau fichier json pour la classe
    • Le paramètre "foreignKey" permet de générer une méthode qui récupère l'objet parent. Ajouter une étoile permet d'indiquer que l'on cherche l'objet dans le Store de l'objet et non le Store.main.
  • Pour générer les fichiers, on se place dans le répertoire de generator.py et on lance la commande : python generator.py -i . -o .

Dans Django:

  • Les modèles de base doivent étendre BaseModel.
  • Les modèles stockés dans des répertoires doivent étendre SideStoreModel.
  • Les classes d'admin doivent étendre AutoUpdateAdmin

Procédure d'ajout de champ dans une classe

Dans Swift:

  • Ajouter le champ dans classe
  • Ajouter le champ dans le constructeur si possible
  • Ajouter la codingKey correspondante
  • Ajouter le champ dans l'encoding/decoding
  • Ouvrir ServerDataTests et ajouter un test sur le champ
    • Pour que les tests sur les dates fonctionnent, on peut tester date.formatted() par exemple

Dans Django:

  • Ajouter le champ dans la classe
  • Si c'est une ForeignKey, toujours mettre un related_name sinon la synchro casse
  • Si c'est un champ dans CustomUser:
    • Ajouter le champ à la méthode fields_for_update
    • Ajouter le champ dans UserSerializer > create > create_user dans serializers.py
    • L'ajouter aussi dans admin.py si nécéssaire
  • Faire le makemigrations + migrate

Enfin, revenir dans Xcode, ouvrir ServerDataTests et lancer le test mis à jour