Gruppen verwalten Gruppen ermöglichen eine strukturierte Verwaltung von Nutzern, indem sie bestimmte Personen oder Rollen zusammenfassen, die beispielsweise dieselben Berechtigungen innerhalb der App erhalten sollen. Sie können statisch oder auch dynamisch definiert werden, um den Verwaltungsaufwand zu minimieren. Eine Gruppe erstellen Mit der Mutation createGroup können Sie eine neue Gruppe anlegen. Im folgenden Beispiel wird eine Gruppe für die A-Jugend angelegt, die nicht öffentlich sichtbar ist. Bestimmte Nutzer werden automatisch hinzugefügt, indem ihre Rollen im roles-Attribut hinterlegt werden. In diesem Fall werden alle Nutzer mit den Rollen-Keys "A-Jugend" oder "AA" (für App-Admin) der Gruppe zugeordnet. mutation CreateGroup { createGroup( group: { name: "A-Jugend" publicGroup: false listedGroup: false description: "Gruppe der A-Jugend" roles: ["A-Jugend", "AA"] } ) { name memberIds } } Die Response zeigt die neu erstellte Gruppe mit den zugeordneten Mitgliedern anhand ihrer ID: { "data": { "createGroup": { "name": "A-Jugend", "memberIds": [ "66e41ca2eb07c6643266248c", "87g58sg8wv80s8684984654w" ] } } } Alle Gruppen der App laden Mit der Query listGroups können Sie eine Liste aller Gruppen der App abrufen. Dabei können Sie mit der Variable listedGroupsOnly festlegen, ob nur gelistete Gruppen angezeigt werden sollen. query ListGroups { listGroups(listedGroupsOnly: false) { id name description } } Die Response zeigt eine Liste der verfügbaren Gruppen: { "data": { "listGroups": [ { "id": "00_Appack_TEMPLATE_app_admin", "name": "App-Administratoren", "description": null }, { "id": "00_Appack_TEMPLATE_push_admin", "name": "Push-Administratoren", "description": null }, { "id": "8458s454fx4885e48s48982a", "name": "A-Jugend", "description": "Gruppe der A-Jugend" } ] } } Daten einer Gruppe abrufen Mit der Query getGroup können Sie die Informationen zu einer bestimmten Gruppe abrufen, einschließlich der Mitgliederliste. Im folgenden Beispiel werden die Mitglieder der Gruppe mit der ID „8458s454fx4885e48s48982a“ abgefragt. query GetGroup { getGroup(id: "8458s454fx4885e48s48982a") { members { name firstname } } } Die Response gibt die Namen und Vornamen der Gruppenmitglieder zurück: { "data": { "getGroup": { "members": [ { "name": "Mustermann", "firstname": "Max" }, { "name": "Musterfrau", "firstname": "Marta" } ] } } } Weitere nützliche Queries: listGroupRequests – Listet offene Beitrittsanfragen für Gruppen auf. Weitere nützliche Mutationen: updateGroup – Aktualisiert die Informationen einer Gruppe. deleteGroup – Löscht eine Gruppe. addGroupMember – Fügt ein Mitglied zu einer Gruppe hinzu. deleteGroupMember – Entfernt ein Mitglied aus einer Gruppe. promoteToGroupLeader – Befördert ein Mitglied zum Gruppenleiter. demoteToGroupMember – Degradiert einen Gruppenleiter zu einem normalen Mitglied. requestGroupAccess – Fordert den Beitritt zu einer Gruppe an. inviteToGroup – Lädt einen Nutzer in eine Gruppe ein. answerGroupAccessRequest – Beantwortet eine Beitrittsanfrage. cancelGroupAccessRequest – Storniert eine ausstehende Beitrittsanfrage.