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.
 
 
PadelClubData/PadelClubData/Data
Razmig Sarkissian 9ed8e56c2e fix issue with field setup 2 months ago
..
Gen add contact info 4 months ago
.DS_Store add planned start date and prog setup options 6 months ago
AppSettings.swift Update split 6 months ago
Club.swift Refactor deleteDependencies + tests 6 months ago
Court.swift clean up init 6 months ago
CustomUser.swift clean up init 6 months ago
DataStore.swift remove licenceId from local user on disconnect 5 months ago
DateInterval.swift clean up init 6 months ago
DrawLog.swift piste au lieu de terrains 6 months ago
Event.swift fix some import stuff 5 months ago
GroupStage.swift add ordering groupstage for 7 and 8 size 5 months ago
Match.swift fix issue with groupstage possible crash when calculating score 3 months ago
MatchScheduler.swift fix a smart planner issue 2 months ago
MockData.swift first commit 7 months ago
MonthData.swift Update split 6 months ago
PlayerPaymentType.swift v1.2.38 5 months ago
PlayerRegistration.swift update 2026 rules 3 months ago
Purchase.swift Update split 6 months ago
README.md first commit 7 months ago
Round.swift fix issue with planned date 5 months ago
TeamRegistration.swift fix editscoreview yes 2 months ago
TeamScore.swift clean up init 6 months ago
Tournament.swift fix issue with field setup 2 months ago
TournamentLibrary.swift Refactor deleteDependencies + tests 6 months ago
TournamentStore.swift first commit 7 months ago

README.md

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 .
  • il faut avoir inflect: pip install inflect

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 SyncedObjectAdmin
  • Les ForeignKey doivent toujours avoir on_delete=models.SET_NULL
    • Pour se faciliter la vie dans l'admin, on veut que les delete effacent les enfants malgré tout. Il faut donc implémenter la méthode delete_dependencies(self) de la classe

Procédure d'ajout de champ dans une classe

Dans Swift:

  • Ouvrir le fichier .json correspondant à la classe
  • Regénérer la classe, voir ci-dessus pour la commande
  • 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

Note: Les nouvelles classes de model doivent étendre BaseModel ou SideStoreModel

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