resolveViaServiceUpdate<Value, Serialized> function
GraphQLFieldResolver<Value?, Serialized>
resolveViaServiceUpdate<Value, Serialized>(
- Service<
dynamic, Value?> service, { - String idField = 'id',
A GraphQL resolver that update
s a single value from an Angel service.
This resolver should be used on a field with at least the following inputs:
id
: agraphQLId
orgraphQLString
data
: aGraphQLObjectType
corresponding to the format ofdata
to be passed toupdate
The arguments passed to the resolver will be forwarded to the service, and the
service will receive Providers.graphql
.
Keep in mind that update
overwrites existing contents.
To avoid this, use resolveViaServiceModify instead.
Implementation
GraphQLFieldResolver<Value?, Serialized>
resolveViaServiceUpdate<Value, Serialized>(Service<dynamic, Value?> service,
{String idField = 'id'}) {
return (_, arguments) async {
var _requestInfo = _fetchRequestInfo(arguments);
var params = {'query': _getQuery(arguments), 'provider': Providers.graphQL}
..addAll(_requestInfo);
var id = arguments.remove(idField);
return await service.update(id, arguments['data'] as Value?, params);
};
}