Fixed Mutation with no input

This commit is contained in:
Syrus Akbary 2016-09-08 20:13:52 -07:00
parent 5da0fef083
commit d3716ff5db

View File

@ -29,13 +29,15 @@ class ClientIDMutationMeta(ObjectTypeMeta):
).format(name) ).format(name)
input_attrs = {} input_attrs = {}
bases = () bases = ()
if not issubclass(input_class, AbstractType): if not input_class:
input_attrs = props(input_class) if input_class else {} input_attrs = {}
elif not issubclass(input_class, AbstractType):
input_attrs = props(input_class)
else: else:
bases += (input_class, ) bases += (input_class, )
input_attrs['client_mutation_id'] = String(name='clientMutationId') input_attrs['client_mutation_id'] = String(name='clientMutationId')
cls.Input = type('{}Input'.format(base_name), bases + (InputObjectType,), input_attrs) cls.Input = type('{}Input'.format(base_name), bases + (InputObjectType,), input_attrs)
cls.Field = partial(Field, cls, resolver=cls.mutate, input=Argument(cls.Input)) cls.Field = partial(Field, cls, resolver=cls.mutate, input=Argument(cls.Input, required=True))
return cls return cls
@ -55,5 +57,5 @@ class ClientIDMutation(six.with_metaclass(ClientIDMutationMeta, ObjectType)):
return payload return payload
return Promise.resolve( return Promise.resolve(
cls.mutate_and_get_payload(input, context, info) cls.mutate_and_get_payload(args, context, info)
).then(on_resolve) ).then(on_resolve)