Les repositories sont des classes responsables de l’accès aux données dans
l’application. Ils encapsulent la logique nécessaire pour interagir avec la
base de données via Prisma et transforment les entités de domaine en objets
Prisma et vice versa.
Structure d’un Repository
Chaque repository est une classe qui implémente les méthodes nécessaires pour interagir avec les données. Voici les méthodes typiques que l’on peut trouver dans un repository :1
Méthodes Standards
•
findById(id: string): Promise<T | null> : Recherche une entité par son identifiant unique• create(entity: T): Promise<T> : Crée une nouvelle entité dans la base de données• update(id: string, entity: T): Promise<T> : Met à jour une entité existante• delete(id: string): Promise<void> : Supprime une entité de la base de données2
Processus de Transformation
Chaque méthode prend une entité de domaine, la transforme en objet Prisma, effectue l’opération de base de données, puis transforme le résultat en entité de domaine.
Exemple de Repository
Points Clés
1
Transformation
• Utiliser un adapter pour transformer les entités de domaine en objets Prisma et vice versa
2
Flexibilité
• Chaque repository peut avoir des méthodes spécifiques selon les besoins (ex:
findByWhatsappNumber)3
Simplicité
• Garder les repositories simples et concentrés sur l’accès aux données