Make queryOne support any selector

This commit is contained in:
SachaG 2019-03-17 10:40:13 +09:00
parent 66fd1aedaf
commit 86f919e54a

View file

@ -93,9 +93,10 @@ Meteor.startup(() => {
Collections.forEach(collection => {
const typeName = collection.options.typeName;
collection.queryOne = async (documentId, { fragmentName, fragmentText, context }) => {
collection.queryOne = async (documentIdOrSelector, { fragmentName, fragmentText, context }) => {
const selector = typeof documentIdOrSelector === 'string' ? { documentId: documentIdOrSelector } : documentIdOrSelector;
const query = buildQuery(collection, { fragmentName, fragmentText });
const result = await runQuery(query, { input: { selector: { documentId } } }, context);
const result = await runQuery(query, { input: { selector } }, context);
return result.data[Utils.camelCaseify(typeName)].result;
};
});