9.1.1 Запросы на чтение
Пользовательские запросы на чтение позволяют либо возвращать значение (строка, число, объект, список и т.д.), либо добавлять к существующей таблице дополнительные поля.
Пример запроса:
|
// Запрос на чтение - возвращает текущего пользователя[Api(RequestType.Query, FieldName = "getCurrentUserCl", Description = "Возвращает текущего пользователя.")] public async Task<IUserCl> GetCurrentUserClAsync(MiddlewareContextBase baseContext)
{
var currentUser = baseContext.GetDeloContext().User;
await _extProtHelper.WriteUserViewAsync(currentUser.UserCl, baseContext.CancellationToken);
return currentUser.UserCl;
}
|
Пример запроса к существующей таблице:
|
// Запрос на чтение к существующей таблице - возвращает список прав доступа[Api(RequestType.Query, FieldName = "acl", Description = "Список прав доступа")]
public async Task<IDictionary<IWapiSession, IWapiSessionAcl>> CanTech(IEnumerable<IWapiSession> sources, MiddlewareContextBase baseContext)
{
var currentUser = baseContext.GetDeloContext().User;
return await currentUser.CanTech(sources, baseContext);
}
|
Пример пользовательского запроса и ответа в GraphQL:
|
# Запрос текущего пользователя$text = '{
getCurrentUserCl
{
classifName
}
}'
Ответ:
{
"data": {
"getCurrentUserCl": {
"classifName": "TVER"
}
}
}
|
Ответ:
|
{
"data": {
"getCurrentUserCl": {
"classifName": "TVER"
}
}
}
|
