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:

Weitere nützliche Mutationen: