Skip to content

Commit 81f0821

Browse files
committed
fix(App): Error on ReferencesMany relationship
1 parent 7733f45 commit 81f0821

File tree

5 files changed

+13
-8
lines changed

5 files changed

+13
-8
lines changed

common/models/author.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@
3939
"foreignKey": ""
4040
},
4141
"friends": {
42-
"type": "hasMany",
42+
"type": "referencesMany",
4343
"model": "Author",
44-
"foreignKey": ""
44+
"foreignKey": "friendIds"
4545
}
4646
},
4747
"acls": [],

data.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
"4": "{\"first_name\":\"John\",\"last_name\":\"Steinback\",\"Genre\":\"HUMOR\",\"birth_date\":\"2016-10-12T00:00:00.000Z\",\"id\":4}",
2929
"5": "{\"first_name\":\"Tony\",\"last_name\":\"Morrison\",\"birth_date\":\"1943-12-31T22:00:00.000Z\",\"id\":5}",
3030
"6": "{\"first_name\":\"Virginia\",\"last_name\":\"Wolf\",\"birth_date\":\"2016-10-15T08:54:15.889Z\",\"id\":6}",
31-
"7": "{\"first_name\":\"Mark\",\"last_name\":\"Twain\",\"Genre\":\"HUMOR\",\"birth_date\":\"1789-10-15T00:00:00.000Z\",\"authorId\":4,\"id\":7}",
32-
"8": "{\"first_name\":\"Jane\",\"last_name\":\"Austin\",\"Genre\":\"ROMANCE\",\"birth_date\":\"1883-10-15T00:00:00.000Z\",\"authorId\":4,\"id\":8}"
31+
"7": "{\"first_name\":\"Mark\",\"last_name\":\"Twain\",\"Genre\":\"HUMOR\",\"birth_date\":\"1789-10-15T00:00:00.000Z\",\"id\":7,\"friendIds\":[8,6]}",
32+
"8": "{\"first_name\":\"Jane\",\"last_name\":\"Austin\",\"Genre\":\"ROMANCE\",\"birth_date\":\"1883-10-15T00:00:00.000Z\",\"id\":8,\"friendIds\":[5,7]}"
3333
}
3434
}
3535
}

lib/helper.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const typesMapping = {
1313

1414
function validProps(model) {
1515
return _.pickBy(model.definition.properties, p => {
16-
return !p.deprecated;
16+
return !p.deprecated && !_.isArray(p.type);
1717
});
1818
}
1919

lib/resolvers.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,13 @@ function generateModelResolvers(models) {
5151
_.forEach(helper.validRelations(m), r => {
5252
resolver[r.name] = (obj, args, context) => {
5353
if (r.multiple) {
54-
let query = {};
55-
query[r.keyTo] = obj[r.keyFrom];
56-
return r.modelTo.find({ where: query, skip: args.after, limit: args.first });
54+
if (_.isArray(obj[r.keyFrom])) {
55+
return r.modelTo.findByIds(obj[r.keyFrom]);
56+
} else {
57+
let query = {};
58+
query[r.keyTo] = obj[r.keyFrom];
59+
return r.modelTo.find({ where: query, skip: args.after, limit: args.first });
60+
}
5761
} else {
5862
return r.modelTo.findById(obj[r.keyFrom]);
5963
}

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"test": "mocha --reporter spec --timeout 10000",
1616
"start": "node server/server.js",
1717
"nodemon": "nodemon server/server.js",
18+
"debug": "nodemon server/server.js --debug-brk=5858",
1819
"mocha:coverage": "istanbul cover --root . --include-all-sources --dir ./coverage --report text --report text-summary --report lcov --print none _mocha -- test/**/*.spec.js --reporter spec --timeout 10000",
1920
"test:watch": "mocha -R nyan -w --timeout 10000",
2021
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",

0 commit comments

Comments
 (0)