Aller au contenu

Vues

Cette documentation décrit les vues API utilisées dans le projet, basées sur Django REST Framework et fournissant des opérations CRUD pour chaque modèle.


Fonction principale

api_root(request, format=None)

Point d'entrée API racine retournant un message de bienvenue et la référence vers la documentation.

Arguments: - request: la requête HTTP entrante - format: suffixe optionnel pour le format

Retour: - Réponse JSON contenant un message de bienvenue.


Classe de base

BaseViewSet

Classe de base pour les ViewSets, appliquant les contrôles d’authentification par clé API (ApiKeyAuthentication) et de permission par table (TablePermissionAPIKey).

  • Permet l’accès public aux méthodes sûres (GET, HEAD, OPTIONS).
  • Exige une clé API valide avec permissions pour les méthodes d’écriture (POST, PUT, PATCH, DELETE).

Méthodes : - get_permissions(): surcharge pour autoriser l’accès public aux méthodes sécurisées.


ViewSets spécifiques aux modèles

Chaque ViewSet hérite de BaseViewSet et spécifie la requête (queryset), le sérialiseur (serializer_class) et le nom de table (table_name) utilisé pour les permissions.

ViewSet Modèle associé Description
ItemViewSet Item Gestion des items
CostTypeViewSet CostType Seuils de coûts
CriteriaViewSet Criteria Critères avec unités
ConstraintTypeViewSet ConstraintType Types de contraintes
ConstraintViewSet Constraint Contraintes associées
EnergyViewSet Energy Sources d’énergie
HeaterViewSet Heater Chauffages
InsulationTypeViewSet InsulationType Types d’isolation
InsulationViewSet Insulation Isolations
DepartmentViewSet Department Départements
SocialAssistanceViewSet Social_assistance Aides sociales
SupplierViewSet Supplier Fournisseurs
DepartmentalCostViewSet Departmental_cost Coûts départementaux

Chaque ViewSet garantit la sécurisation par clé API et la vérification des droits d’accès par table pour les opérations sur les données.