Skip to content

Commit 2395d76

Browse files
committed
fix(track): get id when using dataloaders
1 parent 08d2d62 commit 2395d76

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/schema/track.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,15 @@ const trackQueries = gql`
3434
export const trackResolvers = {
3535
Track: {
3636
artist: ({artistId}: any, _args: any, {dataloaders}: Context, info: GraphQLResolveInfo) => {
37-
const topLevelFields = TopLevelFields(info).get();
37+
const topLevelFields = TopLevelFields(info)
38+
.getId()
39+
.get();
3840
return dataloaders.artistLoader.load({key: artistId, fields: topLevelFields});
3941
},
4042
album: ({albumId}: any, _args: any, {dataloaders}: Context, info: GraphQLResolveInfo) => {
41-
const topLevelFields = TopLevelFields(info).get();
43+
const topLevelFields = TopLevelFields(info)
44+
.getId()
45+
.get();
4246
return dataloaders.albumLoader.load({key: albumId, fields: topLevelFields});
4347
},
4448
},

src/schema/util.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@ export const TopLevelFields = (info: GraphQLResolveInfo) => {
1717
return methods;
1818
};
1919

20+
const getId = () => {
21+
fields = [...fields, 'id'];
22+
return methods;
23+
}
24+
2025
const getIdFor = (idFields: string[]) => {
2126
const existentIdFields = idFields.filter((field) => {
2227
return fields.indexOf(field) >= 0;
@@ -32,6 +37,7 @@ export const TopLevelFields = (info: GraphQLResolveInfo) => {
3237
const methods = {
3338
get: () => fields.filter((prop) => Object.keys(fieldsObj[prop] || {}).length === 0),
3439
pickIdsFrom,
40+
getId,
3541
getIdFor,
3642
};
3743

0 commit comments

Comments
 (0)