Modèles¶
Cette section décrit les modèles de données utilisés dans l’API t404.xyz, qui incluent la gestion des clés API, des permissions par table, et plusieurs entités métiers liées à l’énergie, chauffage, isolation, fournisseurs, et aides sociales.
TablePermission¶
Modèle représentant les permissions d’accès par table avec flags pour les méthodes HTTP : GET, POST, PUT, PATCH, DELETE.
- table_name : nom de la table
- can_get, can_post, can_put, can_patch, can_delete : permissions booléennes
ApiKey¶
Modèle de clé API liée à un utilisateur, dotée de permissions et d’une date d’expiration.
- key : clé alphanumérique unique, générée automatiquement
- user : utilisateur associé (optionnel)
- permissions : permissions tables associées
- created, expires_at : dates de création et expiration
- is_active : clé active ou non
Méthodes :
- generate_key()
- is_valid() : valide si active et non expirée
Item¶
Représente un item avec nom unique et description optionnelle.
- name : nom unique
- description : description texte
CostType¶
Seuil de coût identifié par un ID unique.
- threshold_of_cost_id : identifiant du seuil de coût
Criteria¶
Critères d’évaluation avec nom et unité.
- criteria_id : identifiant unique
- criteria_name : nom du critère
- unit : unité de mesure
ConstraintType¶
Types de contraintes avec type de valeur (int, float, string...).
- constraint_type : nom du type
- value_type : type de valeur attendue
Constraint¶
Contraintes associées aux critères et aides sociales.
- constraint_id : identifiant unique
- FK_criteria_id : lien vers un critère
- FK_social_assistance_id : lien (nullable) vers aide sociale
- FK_constraint_type : type de contrainte
- Valeurs variables : float, string, bool, int
Energy, Heater¶
- Energy : sources énergétiques (nom unique)
- Heater : chauffages avec attributs coût, puissance, type énergie, seuil de coût, dimensions (largeur, hauteur, profondeur)
InsulationType, Insulation¶
- Types et instances d'isolation avec résistance thermique.
Department, Social_assistance¶
- Department : départements avec ID et nom
- Social_assistance : aides sociales avec description, lien, éligibilité
Supplier, Departmental_cost¶
- Supplier : fournisseurs avec énergie associée
- Departmental_cost : coûts unitaires par fournisseur et département (clé unique composée)
Cette organisation des modèles permet de contrôler finement l’accès, gérer efficacement les ressources de chauffage et isolation, et documenter précisément les aides sociales et coûts associés.
Chaque modèle est doté d’une représentation en chaîne lisible grâce à la méthode __str__().