Skip to content

Commit a136386

Browse files
committed
refactor: rename generateResolver to mongooseResolvers
If our app is using different data sources so visibility will be greatly improved for developers with `UserTC.mongooseResolvers.find()`, `UserTC.elasticResovers.find()`. see #263 (comment)
1 parent 1a54aaf commit a136386

File tree

3 files changed

+35
-35
lines changed

3 files changed

+35
-35
lines changed

src/__tests__/github_issues/141-test.ts

+28-28
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ const UserModel = mongoose.model<IUser>('User', UserSchema);
1919
const UserTC = composeMongoose(UserModel, { schemaComposer });
2020

2121
schemaComposer.Query.addFields({
22-
userById: UserTC.generateResolver.findById(),
23-
userFindOne: UserTC.generateResolver.findOne(),
22+
userById: UserTC.mongooseResolvers.findById(),
23+
userFindOne: UserTC.mongooseResolvers.findOne(),
2424
});
2525
schemaComposer.Mutation.addFields({
26-
userCreateOne: UserTC.generateResolver.createOne(),
27-
userUpdateById: UserTC.generateResolver.updateById(),
26+
userCreateOne: UserTC.mongooseResolvers.createOne(),
27+
userUpdateById: UserTC.mongooseResolvers.updateById(),
2828
});
2929

3030
// const schema = schemaComposer.buildSchema();
@@ -48,28 +48,28 @@ describe('issue #141 - createOne with custom id (not MongoId)', () => {
4848
});
4949

5050
it('Resolvers *ById should have Int type for args._id', () => {
51-
expect(UserTC.generateResolver.findById().getArgTypeName('_id')).toBe('Int!');
52-
expect(UserTC.generateResolver.findByIdLean().getArgTypeName('_id')).toBe('Int!');
53-
expect(UserTC.generateResolver.removeById().getArgTypeName('_id')).toBe('Int!');
54-
expect(UserTC.generateResolver.updateById().getArgTypeName('_id')).toBe('Int!');
51+
expect(UserTC.mongooseResolvers.findById().getArgTypeName('_id')).toBe('Int!');
52+
expect(UserTC.mongooseResolvers.findByIdLean().getArgTypeName('_id')).toBe('Int!');
53+
expect(UserTC.mongooseResolvers.removeById().getArgTypeName('_id')).toBe('Int!');
54+
expect(UserTC.mongooseResolvers.updateById().getArgTypeName('_id')).toBe('Int!');
5555

56-
expect(UserTC.generateResolver.findByIds().getArgTypeName('_ids')).toBe('[Int!]!');
57-
expect(UserTC.generateResolver.findByIdsLean().getArgTypeName('_ids')).toBe('[Int!]!');
56+
expect(UserTC.mongooseResolvers.findByIds().getArgTypeName('_ids')).toBe('[Int!]!');
57+
expect(UserTC.mongooseResolvers.findByIdsLean().getArgTypeName('_ids')).toBe('[Int!]!');
5858
});
5959

6060
it('Resolvers dataLoader* should have Int type for args._id', () => {
61-
expect(UserTC.generateResolver.dataLoader().getArgTypeName('_id')).toBe('Int!');
62-
expect(UserTC.generateResolver.dataLoaderLean().getArgTypeName('_id')).toBe('Int!');
63-
expect(UserTC.generateResolver.dataLoaderMany().getArgTypeName('_ids')).toBe('[Int!]!');
64-
expect(UserTC.generateResolver.dataLoaderManyLean().getArgTypeName('_ids')).toBe('[Int!]!');
61+
expect(UserTC.mongooseResolvers.dataLoader().getArgTypeName('_id')).toBe('Int!');
62+
expect(UserTC.mongooseResolvers.dataLoaderLean().getArgTypeName('_id')).toBe('Int!');
63+
expect(UserTC.mongooseResolvers.dataLoaderMany().getArgTypeName('_ids')).toBe('[Int!]!');
64+
expect(UserTC.mongooseResolvers.dataLoaderManyLean().getArgTypeName('_ids')).toBe('[Int!]!');
6565
});
6666

6767
it('Check createOne/findOne resolvers', async () => {
68-
UserTC.generateResolver.createOne();
68+
UserTC.mongooseResolvers.createOne();
6969

7070
expect(
7171
await testFieldConfig({
72-
field: UserTC.generateResolver.createOne({
72+
field: UserTC.mongooseResolvers.createOne({
7373
suffix: 'WithId',
7474
record: {
7575
removeFields: [], // <-- empty array allows to override removing _id arg
@@ -89,7 +89,7 @@ describe('issue #141 - createOne with custom id (not MongoId)', () => {
8989

9090
expect(
9191
await testFieldConfig({
92-
field: UserTC.generateResolver.findById(),
92+
field: UserTC.mongooseResolvers.findById(),
9393
args: {
9494
_id: 15,
9595
},
@@ -132,26 +132,26 @@ describe('issue #141 - createOne with custom id (not MongoId)', () => {
132132
zone: String
133133
}"
134134
`);
135-
expect(ComplexTC.generateResolver.findById().getArgTypeName('_id')).toBe('Complex_idInput!');
136-
expect(ComplexTC.generateResolver.findByIdLean().getArgTypeName('_id')).toBe(
135+
expect(ComplexTC.mongooseResolvers.findById().getArgTypeName('_id')).toBe('Complex_idInput!');
136+
expect(ComplexTC.mongooseResolvers.findByIdLean().getArgTypeName('_id')).toBe(
137137
'Complex_idInput!'
138138
);
139-
expect(ComplexTC.generateResolver.removeById().getArgTypeName('_id')).toBe('Complex_idInput!');
140-
expect(ComplexTC.generateResolver.updateById().getArgTypeName('_id')).toBe('Complex_idInput!');
141-
expect(ComplexTC.generateResolver.findByIds().getArgTypeName('_ids')).toBe(
139+
expect(ComplexTC.mongooseResolvers.removeById().getArgTypeName('_id')).toBe('Complex_idInput!');
140+
expect(ComplexTC.mongooseResolvers.updateById().getArgTypeName('_id')).toBe('Complex_idInput!');
141+
expect(ComplexTC.mongooseResolvers.findByIds().getArgTypeName('_ids')).toBe(
142142
'[Complex_idInput!]!'
143143
);
144-
expect(ComplexTC.generateResolver.findByIdsLean().getArgTypeName('_ids')).toBe(
144+
expect(ComplexTC.mongooseResolvers.findByIdsLean().getArgTypeName('_ids')).toBe(
145145
'[Complex_idInput!]!'
146146
);
147-
expect(ComplexTC.generateResolver.dataLoader().getArgTypeName('_id')).toBe('Complex_idInput!');
148-
expect(ComplexTC.generateResolver.dataLoaderLean().getArgTypeName('_id')).toBe(
147+
expect(ComplexTC.mongooseResolvers.dataLoader().getArgTypeName('_id')).toBe('Complex_idInput!');
148+
expect(ComplexTC.mongooseResolvers.dataLoaderLean().getArgTypeName('_id')).toBe(
149149
'Complex_idInput!'
150150
);
151-
expect(ComplexTC.generateResolver.dataLoaderMany().getArgTypeName('_ids')).toBe(
151+
expect(ComplexTC.mongooseResolvers.dataLoaderMany().getArgTypeName('_ids')).toBe(
152152
'[Complex_idInput!]!'
153153
);
154-
expect(ComplexTC.generateResolver.dataLoaderManyLean().getArgTypeName('_ids')).toBe(
154+
expect(ComplexTC.mongooseResolvers.dataLoaderManyLean().getArgTypeName('_ids')).toBe(
155155
'[Complex_idInput!]!'
156156
);
157157

@@ -161,7 +161,7 @@ describe('issue #141 - createOne with custom id (not MongoId)', () => {
161161
});
162162
expect(
163163
await testFieldConfig({
164-
field: ComplexTC.generateResolver.findById(),
164+
field: ComplexTC.mongooseResolvers.findById(),
165165
args: { _id: { region: 'us-west', zone: 'a' } },
166166
selection: `{
167167
_id {

src/__tests__/github_issues/263-test.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,23 @@ const UserTC = composeMongoose(UserModel);
3030
const PostTC = composeMongoose(PostModel);
3131

3232
PostTC.addRelation('author', {
33-
resolver: UserTC.generateResolver.dataLoaderLean(),
33+
resolver: UserTC.mongooseResolvers.dataLoaderLean(),
3434
prepareArgs: {
3535
_id: (s) => s.authorId,
3636
},
3737
projection: { authorId: true },
3838
});
3939

4040
PostTC.addRelation('reviewers', {
41-
resolver: UserTC.generateResolver.dataLoaderManyLean(),
41+
resolver: UserTC.mongooseResolvers.dataLoaderManyLean(),
4242
prepareArgs: {
4343
_ids: (s) => s.reviewerIds,
4444
},
4545
projection: { reviewerIds: true },
4646
});
4747

4848
schemaComposer.Query.addFields({
49-
posts: PostTC.generateResolver.findMany(),
49+
posts: PostTC.mongooseResolvers.findMany(),
5050
});
5151
const schema = schemaComposer.buildSchema();
5252

src/composeMongoose.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ export function composeMongoose<TDoc extends Document, TContext = any>(
4646
model: Model<TDoc>,
4747
opts: ComposeMongooseOpts<TContext> = {}
4848
): ObjectTypeComposer<TDoc, TContext> & {
49-
generateResolver: GenerateResolverType<TDoc, TContext>;
49+
mongooseResolvers: GenerateResolverType<TDoc, TContext>;
5050
} {
5151
const m: Model<any> = model;
5252
const name: string = (opts && opts.name) || m.modelName;
@@ -82,11 +82,11 @@ export function composeMongoose<TDoc extends Document, TContext = any>(
8282

8383
tc.makeFieldNonNull('_id');
8484

85-
const generateResolver = {} as any;
85+
const mongooseResolvers = {} as any;
8686
Object.keys(allResolvers).forEach((name) => {
87-
generateResolver[name] = (allResolvers as any)[name].bind(undefined, model, tc);
87+
mongooseResolvers[name] = (allResolvers as any)[name].bind(undefined, model, tc);
8888
});
89-
(tc as any).generateResolver = generateResolver;
89+
(tc as any).mongooseResolvers = mongooseResolvers;
9090

9191
return tc as any;
9292
}

0 commit comments

Comments
 (0)