Je suis dans une situation où un utilisateur peut créer un document et le partager avec un groupe d'autres utilisateurs. Il peut le partager avec plusieurs groupes différents. Je ne sais pas comment définir une règle pour cela.
Voici la structure de la base de données :
Dans le groupe, vous avez donc une liste des documents qui ont été partagés avec lui. Mon application charge le groupe dans lequel se trouve un utilisateur, puis veut charger tous les documents dans le tableau des documents. J'ai besoin d'un moyen côté serveur pour dire que c'est OK. Jusqu'à présent, seul le propriétaire du document peut le lire.
Je mets un champ dans chaque document qui contient les identifiants de chaque groupe auquel il est partagé. Je pense que je veux dire "vérifier si l'utilisateur est membre de n'importe quel groupe de la liste sharedToGroups" mais je n'arrive pas à trouver comment le faire à moins de maintenir une autre liste quelque part, disons dans le document userProfile, qui contient une liste des cercles dont l'utilisateur est membre. Même dans ce cas, j'essaierais de comparer deux listes et je ne suis pas sûr de pouvoir le faire côté client.
Ce serait bien de pouvoir obtenir l'Id du groupe d'une manière ou d'une autre à partir de l'endroit d'où la requête est émise et de voir s'il est dans le tableau sharedToGroups.
Toute aide ou tout commentaire sur la façon dont cela peut être réalisé serait grandement apprécié, peut-être faut-il une structure de base de données différente.