Skip to content

Commit 06474ad

Browse files
committed
Fix: unwrapping args for the underlying resolvers
1 parent 8774149 commit 06474ad

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

src/mutationMiddleware.js

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
} from 'graphql';
1313
import { toGlobalId } from './globalId';
1414
import type {
15+
Resolver,
1516
ResolverMWArgsFn,
1617
ResolverMWArgs,
1718
ResolverMWResolveFn,
@@ -21,11 +22,11 @@ import type {
2122
} from './definition';
2223

2324
export default class MutationMiddleware extends ResolverMiddleware {
24-
// middleware has constructor
25-
// constructor(typeComposer, typeResolver, opts = {}) {
26-
// super(typeComposer, opts);
27-
// // some setup staff
28-
// }
25+
constructor(typeComposer: TypeComposer, typeResolver: Resolver, opts: mixed = {}) {
26+
super(typeComposer, typeResolver, opts);
27+
28+
this.isArgsWrapped = false;
29+
}
2930

3031
args:ResolverMWArgs = (next: ResolverMWArgsFn) => (args) => {
3132
const nextArgs = next(args);
@@ -34,7 +35,6 @@ export default class MutationMiddleware extends ResolverMiddleware {
3435

3536
if (nextArgs.input && nextArgs.input.type) {
3637
// pass args unchanged
37-
// $FlowFixMe
3838
inputTC = new InputTypeComposer(getNamedType(nextArgs.input.type));
3939
newNextArgs = nextArgs;
4040
} else {
@@ -49,6 +49,7 @@ export default class MutationMiddleware extends ResolverMiddleware {
4949
type: new GraphQLNonNull(inputTC.getType()),
5050
},
5151
};
52+
this.isArgsWrapped = true;
5253
}
5354

5455
// add `clientMutationId` to args.input field
@@ -74,6 +75,11 @@ export default class MutationMiddleware extends ResolverMiddleware {
7475
}
7576
}
7677

78+
if (this.isArgsWrapped) {
79+
// $FlowFixMe
80+
resolveParams.args = resolveParams.args.input;
81+
}
82+
7783
return next(resolveParams)
7884
.then(res => {
7985
res.nodeId = toGlobalId(

0 commit comments

Comments
 (0)