Skip to content

Commit 1f7a285

Browse files
committed
All resolvers that return record should return Mongoose Document.
It allows call model method for additional processing in wrappers.
1 parent 663197a commit 1f7a285

File tree

8 files changed

+37
-49
lines changed

8 files changed

+37
-49
lines changed

src/definition.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,6 @@ export type GraphQLResolveInfo = _GraphQLResolveInfo;
100100
export type ResolverMWResolveFn = _ResolverMWResolveFn;
101101
export type ExtendedResolveParams = ResolveParams & {
102102
query: MongooseQuery,
103-
returnMongooseDoc: boolean,
104103
};
105104

106105

src/resolvers/createOne.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
/* @flow */
22
/* eslint-disable no-param-reassign */
3-
import { recordHelperArgs } from './helpers/record';
3+
44
import { GraphQLObjectType } from 'graphql';
5+
import { Resolver, TypeComposer } from 'graphql-compose';
6+
import { recordHelperArgs } from './helpers/record';
7+
import typeStorage from '../typeStorage';
58
import GraphQLMongoID from '../types/mongoid';
6-
79
import type {
810
MongooseModelT,
911
ExtendedResolveParams,
1012
genResolverOpts,
1113
} from '../definition';
12-
import { Resolver, TypeComposer } from 'graphql-compose';
13-
import typeStorage from '../typeStorage';
1414

1515

1616
export default function createOne(
@@ -60,7 +60,7 @@ export default function createOne(
6060
}),
6161
},
6262
resolve: (resolveParams: ExtendedResolveParams) => {
63-
const recordData = resolveParams.args && resolveParams.args.record || {};
63+
const recordData = (resolveParams.args && resolveParams.args.record) || {};
6464

6565
if (!(typeof recordData === 'object')
6666
|| Object.keys(recordData).length === 0
@@ -75,7 +75,7 @@ export default function createOne(
7575
.then(record => {
7676
if (record) {
7777
return {
78-
record: record.toObject(),
78+
record,
7979
recordId: typeComposer.getRecordIdFn()(record),
8080
};
8181
}

src/resolvers/findById.js

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
/* @flow */
22

3+
import { GraphQLNonNull } from 'graphql';
4+
import { Resolver, TypeComposer } from 'graphql-compose';
5+
import GraphQLMongoID from '../types/mongoid';
6+
import { projectionHelper } from './helpers/projection';
37
import type {
48
MongooseModelT,
59
ExtendedResolveParams,
610
genResolverOpts,
711
} from '../definition';
8-
import { Resolver, TypeComposer } from 'graphql-compose';
912

10-
import { GraphQLNonNull } from 'graphql';
11-
import GraphQLMongoID from '../types/mongoid';
12-
13-
import { projectionHelper } from './helpers/projection';
1413

1514
export default function findById(
1615
model: MongooseModelT,
@@ -43,9 +42,7 @@ export default function findById(
4342
if (args._id) {
4443
resolveParams.query = model.findById(args._id); // eslint-disable-line
4544
projectionHelper(resolveParams);
46-
return resolveParams.query.exec().then(res =>
47-
(res && !resolveParams.returnMongooseDoc ? res.toObject() : res)
48-
);
45+
return resolveParams.query.exec();
4946
}
5047
return Promise.resolve(null);
5148
},

src/resolvers/findOne.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,10 @@
22
/* eslint-disable no-param-reassign */
33

44
import { Resolver, TypeComposer } from 'graphql-compose';
5-
65
import { skipHelperArgs, skipHelper } from './helpers/skip';
76
import { filterHelperArgs, filterHelper } from './helpers/filter';
87
import { sortHelperArgs, sortHelper } from './helpers/sort';
98
import { projectionHelper } from './helpers/projection';
10-
119
import type {
1210
MongooseModelT,
1311
ExtendedResolveParams,
@@ -53,9 +51,7 @@ export default function findOne(
5351
sortHelper(resolveParams);
5452
projectionHelper(resolveParams);
5553

56-
return resolveParams.query.exec().then(res =>
57-
(res && !resolveParams.returnMongooseDoc ? res.toObject() : res)
58-
);
54+
return resolveParams.query.exec();
5955
},
6056
});
6157
}

src/resolvers/removeById.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
/* @flow */
22
/* eslint-disable no-param-reassign */
33

4-
import { projectionHelper } from './helpers/projection';
54
import {
65
GraphQLObjectType,
76
GraphQLNonNull,
87
} from 'graphql';
8+
import { Resolver, TypeComposer } from 'graphql-compose';
9+
import { projectionHelper } from './helpers/projection';
910
import GraphQLMongoID from '../types/mongoid';
1011
import typeStorage from '../typeStorage';
11-
1212
import type {
1313
MongooseModelT,
1414
ExtendedResolveParams,
1515
genResolverOpts,
1616
} from '../definition';
17-
import { Resolver, TypeComposer } from 'graphql-compose';
17+
1818

1919
export default function removeById(
2020
model: MongooseModelT,
@@ -77,11 +77,11 @@ export default function removeById(
7777
projectionHelper(resolveParams);
7878

7979
return resolveParams.query.exec()
80-
.then(res => {
81-
if (res) {
80+
.then(record => {
81+
if (record) {
8282
return {
83-
record: res.toObject(),
84-
recordId: typeComposer.getRecordIdFn()(res),
83+
record,
84+
recordId: typeComposer.getRecordIdFn()(record),
8585
};
8686
}
8787

src/resolvers/removeOne.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,17 @@
22
/* eslint-disable no-param-reassign */
33

44
import { GraphQLObjectType } from 'graphql';
5+
import { Resolver, TypeComposer } from 'graphql-compose';
56
import GraphQLMongoID from '../types/mongoid';
67
import typeStorage from '../typeStorage';
7-
88
import { filterHelperArgs, filterHelper } from './helpers/filter';
99
import { sortHelperArgs, sortHelper } from './helpers/sort';
1010
import { projectionHelper } from './helpers/projection';
11-
1211
import type {
1312
MongooseModelT,
1413
ExtendedResolveParams,
1514
genResolverOpts,
1615
} from '../definition';
17-
import { Resolver, TypeComposer } from 'graphql-compose';
1816

1917

2018
export default function removeOne(
@@ -78,11 +76,11 @@ export default function removeOne(
7876

7977
return resolveParams.query
8078
.exec()
81-
.then(res => {
82-
if (res) {
79+
.then(record => {
80+
if (record) {
8381
return {
84-
record: res.toObject(),
85-
recordId: typeComposer.getRecordIdFn()(res),
82+
record,
83+
recordId: typeComposer.getRecordIdFn()(record),
8684
};
8785
}
8886

src/resolvers/updateById.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
/* @flow */
22
/* eslint-disable no-param-reassign */
33

4+
import { GraphQLObjectType } from 'graphql';
5+
import { Resolver, TypeComposer } from 'graphql-compose';
46
import { recordHelperArgs } from './helpers/record';
57
import findById from './findById';
6-
import { GraphQLObjectType } from 'graphql';
78
import GraphQLMongoID from '../types/mongoid';
89
import typeStorage from '../typeStorage';
910

@@ -12,7 +13,7 @@ import type {
1213
ExtendedResolveParams,
1314
genResolverOpts,
1415
} from '../definition';
15-
import { Resolver, TypeComposer } from 'graphql-compose';
16+
1617

1718
export default function updateById(
1819
model: MongooseModelT,
@@ -69,7 +70,7 @@ export default function updateById(
6970
}),
7071
},
7172
resolve: (resolveParams: ExtendedResolveParams) => {
72-
const recordData = resolveParams.args && resolveParams.args.record || {};
73+
const recordData = (resolveParams.args && resolveParams.args.record) || {};
7374

7475
if (!(typeof recordData === 'object')) {
7576
return Promise.reject(
@@ -88,9 +89,7 @@ export default function updateById(
8889
resolveParams.args._id = recordData._id;
8990
delete recordData._id;
9091
resolveParams.projection =
91-
resolveParams.projection && resolveParams.projection.record || {};
92-
93-
resolveParams.returnMongooseDoc = true;
92+
(resolveParams.projection && resolveParams.projection.record) || {};
9493

9594
return findByIdResolver.resolve(resolveParams)
9695
// save changes to DB
@@ -108,7 +107,7 @@ export default function updateById(
108107
.then(record => {
109108
if (record) {
110109
return {
111-
record: record.toObject(),
110+
record,
112111
recordId: typeComposer.getRecordIdFn()(record),
113112
};
114113
}

src/resolvers/updateOne.js

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
/* @flow */
22
/* eslint-disable no-param-reassign */
3+
4+
import { GraphQLObjectType } from 'graphql';
5+
import { Resolver, TypeComposer } from 'graphql-compose';
36
import { skipHelperArgs } from './helpers/skip';
47
import { recordHelperArgs } from './helpers/record';
58
import { filterHelperArgs } from './helpers/filter';
69
import { sortHelperArgs } from './helpers/sort';
710
import findOne from './findOne';
8-
import { GraphQLObjectType } from 'graphql';
911
import GraphQLMongoID from '../types/mongoid';
1012
import typeStorage from '../typeStorage';
1113

@@ -14,7 +16,6 @@ import type {
1416
ExtendedResolveParams,
1517
genResolverOpts,
1618
} from '../definition';
17-
import { Resolver, TypeComposer } from 'graphql-compose';
1819

1920

2021
export default function updateOne(
@@ -81,8 +82,8 @@ export default function updateOne(
8182
...skipHelperArgs(),
8283
},
8384
resolve: (resolveParams: ExtendedResolveParams) => {
84-
const recordData = resolveParams.args && resolveParams.args.record || null;
85-
const filterData = resolveParams.args && resolveParams.args.filter || {};
85+
const recordData = (resolveParams.args && resolveParams.args.record) || null;
86+
const filterData = (resolveParams.args && resolveParams.args.filter) || {};
8687

8788
if (!(typeof filterData === 'object')
8889
|| Object.keys(filterData).length === 0
@@ -94,9 +95,7 @@ export default function updateOne(
9495
}
9596

9697
resolveParams.projection =
97-
resolveParams.projection && resolveParams.projection.record || {};
98-
99-
resolveParams.returnMongooseDoc = true;
98+
(resolveParams.projection && resolveParams.projection.record) || {};
10099

101100
return findOneResolver.resolve(resolveParams)
102101
// save changes to DB
@@ -111,7 +110,7 @@ export default function updateOne(
111110
.then(record => {
112111
if (record) {
113112
return {
114-
record: record.toObject(),
113+
record,
115114
recordId: typeComposer.getRecordIdFn()(record),
116115
};
117116
}

0 commit comments

Comments
 (0)