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.
|
|
6 months ago | |
|---|---|---|
| .. | ||
| Gen | 6 months ago | |
| .DS_Store | 6 months ago | |
| AppSettings.swift | 6 months ago | |
| Club.swift | 6 months ago | |
| Court.swift | 6 months ago | |
| CustomUser.swift | 6 months ago | |
| DataStore.swift | 6 months ago | |
| DateInterval.swift | 6 months ago | |
| DrawLog.swift | 6 months ago | |
| Event.swift | 6 months ago | |
| GroupStage.swift | 6 months ago | |
| Match.swift | 6 months ago | |
| MatchScheduler.swift | 6 months ago | |
| MockData.swift | 7 months ago | |
| MonthData.swift | 6 months ago | |
| PlayerPaymentType.swift | 7 months ago | |
| PlayerRegistration.swift | 6 months ago | |
| Purchase.swift | 6 months ago | |
| README.md | 7 months ago | |
| Round.swift | 6 months ago | |
| TeamRegistration.swift | 6 months ago | |
| TeamScore.swift | 6 months ago | |
| Tournament.swift | 6 months ago | |
| TournamentLibrary.swift | 6 months ago | |
| TournamentStore.swift | 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