Skip to content
Snippets Groups Projects
Commit 25a9e5c1 authored by Olivér FACKLAM's avatar Olivér FACKLAM
Browse files

Virer supervisor de actions.graphql

parent 66f0bd5d
No related branches found
No related tags found
No related merge requests found
......@@ -33,7 +33,6 @@ type Query {
# Correspondrait au sous-champ "viewerOf" de User, volontairement non-défini comme tel. Tous les autres cas de figure sont couverts par les sous-champs "<permission>Of" de User
allGroups: [Group]
allSimpleGroups: [SimpleGroup]
supervisorOf: [Group]
# TOL
searchTOL(
......@@ -59,19 +58,22 @@ type Mutation {
Par rapport à un groupe donné, un user peut avoir différents niveaux de droits :
- none : ne sait meme pas que le groupe existe, aucun autre droit (typiquement, une connection l'utilisateur ne s'est pas authentifié)
- authenticated : sait que le groupe existe, aucun autre droit (une connection on-platal sans auth, ou une connection authentifiée)
- viewer : le user a aussi accès à l'activité publique du groupe : frontpage, Q&A, liste des membres, speakers et admins
- member : le user a aussi acces à l'activité interne du groupe : les PrivatePost, ainsi que les Message dont le groupe est auteur ou destinataire
- viewer : le user a aussi accès à l'activité publique du groupe : frontpage, Q&A, liste des membres, speakers et admins, Message dont le groupe est destinataire
- member : le user a aussi acces à l'activité interne du groupe : les PrivatePost, ainsi que les Message dont le groupe est auteur
- speaker : le user peut aussi parler au nom du groupe. Il a le droit de publier des annonces et d'organiser des évènements
- admin : le user a tous les droits sur le groupe
- supervisor : le user est admin du parent du groupe et peut donc intervenir dans ce groupe (il est par faut 'viewer' mais peut prendre les droits d'admin arbitrairement)
Un des les du *graphe organique des groupes* est de finir le niveau de droit des users pour chaque groupe.
D'abord, petit tail de terminologie : les cinq niveaux de droits sont inclus les uns dans les autres (un speaker est aussi un viewer, par ex.) (sauf pour supervisor qui n'est pas admin par faut)
D'abord, petit tail de terminologie : les cinq niveaux de droits sont inclus les uns dans les autres (un speaker est aussi un viewer, par ex.) (sauf pour les permissions héritées)
- Les conditions pour qu'un user soit membre, speaker ou admin sont claires, puisque cette information est stockée directement en BDD.
- Un user non-membre est viewer du groupe G :
- Un user est viewer du groupe G :
- s'il est admin, speaker ou member d'un des descendants de G dans le LDAP.
- s'il est membre d'un groupe immédiatement parent de G (one-edge-down visibility), ou
- s'il est membre d'un groupe faisant partie du champ "visibilityEdge" de G
- s'il est membre d'un tagroupe dont G est membre (implicit visibility-edges).
- Un user est membre d'un groupe G s'il est membre, speaker ou admin d'un des descendants de G dans le LDAP.
- Un user est speaker d'un groupe G s'il est speaker ou admin selon le LDAP.
- Un user est admin d'un groupe G s'il est admin d'un des ascendants de G dans le LDAP.
- Dans tous les autres cas, le user a le niveau de droits "none".
L'autre le du *graphe organique des groupes* est de permettre l'administration "en cascade" des groupes enfants.
......@@ -268,8 +270,4 @@ type Mutation {
censorAnnouncement(announcementToCensor: ID!): Boolean
censorEvent(eventToCensor: ID!): Boolean
# Superviser mutations
takeAdminRights(forGroup: ID!) : Boolean
releaseAdminRights(forGroup: ID!) : Boolean
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment