Administrace uživatelů přes GraphQL dotazy
Od Sofa verze 5.3 byla implementována možnost administrace uživatelů dálkově přes GraphQL dotazy. Nyní je tedy možné takto vytvářet i odebírat uživatele, případně měnit jejich atributy.
V této kapitole je uveden jen rámcový popis, podrobné informace najdete v samostatné kapitole Využití API v rámci Sofa.
GraphQL (Graph Query Language) je dotazovací jazyk pro API, který umožňuje získávat potřebná data pomocí dotazů. Takto lze tedy rovněž vyžádat údaje o uživatelích v Sofa. Jako výsledek obdržíte přehled uživatelů a jejich atributů a posoudíte, co je třeba doplnit či změnit. |
K získání informací o uživatelích Sofa tímto způsobem lze použít postup využívající snadno dostupné doplňky webových prohlížečů – RESTer a Altair. Prostřednictvím prvního z nich získáte tzv. token organizace a ve druhém položíte jeho pomocí na tuto organizaci potřebný dotaz.
Příkladem dotazu na některé vlastnosti uživatelů firmy může být query:
query{
company{
users{
completeName
createdOn
email
superior{
completeName
}
}
}
}
Pro změnu atributů uživatelů je třeba použít tzv. mutace. Ty umožňují přidávání, aktualizování a mazání dat – v našem případě uživatelů. Zatímco dotazy data pouze načítají, mutace s daty přímo manipulují.
Příklad mutace pro změnu vlastností uživatele může být:
mutation changeUser(
$userId: String!
$parameters: SofaOrg_ChangeUserInput!
$dryRun: Boolean = null
$sendNotification: Boolean = null
) {
company {
changeUser(
userId: $userId
parameters: $parameters
dryRun: $dryRun
sendNotification: $sendNotification
)
}
}
Oba příklady jsou zde jen pro ilustraci, bližší informace najdete ve výše zmíněné kapitole. |
K této administraci lze přistupovat buď pod kontextem přihlášeného uživatele, který je administrátorem oprávněným pracovat s GraphQL, případně pomocí externího informačního systému, který má nastavené oprávnění uživatele spravovat.