renault-digital-2020

Workshop 10 - Design BDD - Filtrer par utilisateur

Le but de ce workshop est d’associer chaque objet créé à un utilisateur, ce qui permet ensuite d’afficher à l’utilisateur que les objets qu’il a créé. Rappel du workshop précédent, Workshop 9 - Design de sa base de donnée.

Tous les synthériseurs sont créés par un utilisateur, on peut systématiquement ajouter la relation suivante :

Synthesizrs - Entity relation diagram

Cette relation est une relation “many-to-one”, soit “plusieurs synthétiseurs on été créé par un utilisateur” et “un utilisateur a créé zéro ou plusieurs synthétiseurs”.

Design frontend

Dans cette page d’accueil, un utilisateur peut voir tous les synthétiseurs de tout le monde. On cherche à ce qu’il puisse voir seulement ceux qu’il a créé:

Synthesizrs - Frontend

Design backend

Puisque cette page est authentifiée, le backend reçoit systématiquement l’utilisateur qui fait la requête (POST ou GET).

Puis, lorsque l’utilisateur fait un GET, il faut filtrer les éléments pour cet utilisateur, pour que l’utilisateur ne voit que ses synths:

Synthesizrs - Frontend

Affichage basé sur les roles

Les utilisateurs ont des “role”, il est possible d’afficher du contenu en fonction du rôle de l’utilisateur:

Design BDD

Workshop suivant : Workshop 11 - Design BDD 03 - Ajouter une relation