Nutzer synchronisieren Ein zentraler Anwendungsfall für die Appack-API, der von vielen Kunden häufig angefragt wurde, ist die Anbindung einer eigenen Nutzerverwaltung. Diese kann z.B. eine selbst entwickelte Lösung, eine cloudbasierte Vereinsverwaltungssoftware oder ein bestehendes CRM-System sein. Mit den bereitgestellten Mutationen und Queries können Sie Benutzerprofile anlegen, suchen, aktualisieren und löschen. Benutzerprofil anlegen Um ein Benutzerprofil anzulegen, nutzen wir die Mutation createUserProfile. In diesem Beispiel wird ein neues Profil für "Marta Musterfrau" angelegt, die der Abteilung "Billard" zugeordnet wird: mutation CreateUserProfile { createUserProfile( userProfile: { departments: [ { enumId: "00_Appack_TEMPLATE-department" value: "Billard" enumKey: "dezernat" } ] name: "Musterfrau" firstname: "Marta" email: "marta@musterfrau.de" } ) { id name firstname email departments { enumId enumKey value } } } Die folgende Response zeigt das erstellte Benutzerprofil: { "data": { "createUserProfile": { "id": "66e41ca2eb07c6643266248c", "name": "Musterfrau", "firstname": "Marta", "email": "marta@musterfrau.de", "departments": [ { "enumId": "00_Appack_TEMPLATE-department", "enumKey": "dezernat", "value": "billard" } ] } } } Benutzerprofil suchen Um nach bestehenden Benutzern zu suchen, verwenden wir die Query findUserProfile. Hier suchen wir nach dem Namen "Marta" und erhalten eine paginierte Liste von Benutzerprofilen: query FindUserProfile { findUserProfile( search: "Marta" page: {size: 25, page: 0, sort: { direction: ASC, property: "name" } } ) { totalcount content { id name firstname } } } Die folgende Response zeigt das gefundene Benutzerprofil: { "data": { "findUserProfile": { "totalcount": 1, "content": [ { "id": "66e41ca2eb07c6643266248c", "name": "Musterfrau", "firstname": "Marta" } ] } } } Als Suchwert (search) kann jedes Attribut aus dem UserProfile verwendet werden, wie z.B. der Name, die E-Mail-Adresse oder andere Identifikationsinformationen. So lassen sich gezielt Benutzerprofile anhand bestimmter Kriterien finden. Benutzerprofil aktualisieren Um die Informationen eines Benutzerprofils zu aktualisieren, z.B. die Rolle, verwenden wir die Mutation updateUserProfile. Hier wird die Rolle von Marta auf "Mitglied" gesetzt: mutation UpdateUserProfile { updateUserProfile(id: "66e41ca2eb07c6643266248c", userProfile: { roles: [ {enumId:"00_Appack_TEMPLATE-roles", enumKey:"M", value:"Mitglied"} ] } ) { id email name firstname roles { enumId enumKey value } } } Die Response zeigt das aktualisierte Profil: { "data": { "updateUserProfile": { "id": "66e41ca2eb07c6643266248c", "email": "marta@musterfrau.de", "name": "Musterfrau", "firstname": "Marta", "roles": [ { "enumId": "00_Appack_TEMPLATE-roles", "enumKey": "M", "value": "Mitglied" } ] } } } Weitere nützliche Queries: findUserProfilesModifiedSince - Listet alle Benutzerprofile, die seit dem genannten Datum geändert wurden findOneUserProfile - Lädt einen App-Nutzer Weitere nützliche Mutationen: deleteUserProfile - Löscht ein Benutzerprofil