mirror of
https://github.com/vale981/Vulcan
synced 2025-03-06 01:51:40 -05:00
Make runParameters callbacks support async
This commit is contained in:
parent
e50f8effa8
commit
c52e53afbe
4 changed files with 14 additions and 14 deletions
|
@ -15,8 +15,8 @@ const resolvers = {
|
|||
|
||||
name: 'moviesList',
|
||||
|
||||
resolver(root, {terms = {}}, context, info) {
|
||||
let {selector, options} = context.Movies.getParameters(terms, {}, context.currentUser);
|
||||
async resolver(root, {terms = {}}, context, info) {
|
||||
let {selector, options} = await context.Movies.getParameters(terms, {}, context.currentUser);
|
||||
return context.Movies.find(selector, options).fetch();
|
||||
},
|
||||
|
||||
|
@ -37,8 +37,8 @@ const resolvers = {
|
|||
|
||||
name: 'moviesTotal',
|
||||
|
||||
resolver(root, {terms = {}}, context) {
|
||||
const {selector, options} = context.Movies.getParameters(terms, {}, context.currentUser);
|
||||
async resolver(root, {terms = {}}, context) {
|
||||
const {selector, options} = await context.Movies.getParameters(terms, {}, context.currentUser);
|
||||
return context.Movies.find(selector, options).count();
|
||||
},
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ export const getDefaultResolvers = collectionName => ({
|
|||
|
||||
name: `${collectionName}List`,
|
||||
|
||||
resolver(root, {terms = {}}, context, info) {
|
||||
async resolver(root, {terms = {}}, context, info) {
|
||||
|
||||
debug(`//--------------- start ${collectionName} list resolver ---------------//`);
|
||||
debug(terms);
|
||||
|
@ -26,7 +26,7 @@ export const getDefaultResolvers = collectionName => ({
|
|||
const collection = context[collectionName];
|
||||
|
||||
// get selector and options from terms and perform Mongo query
|
||||
let {selector, options} = collection.getParameters(terms, {}, context);
|
||||
let {selector, options} = await collection.getParameters(terms, {}, context);
|
||||
options.skip = terms.offset;
|
||||
|
||||
debug({ selector, options });
|
||||
|
@ -88,11 +88,11 @@ export const getDefaultResolvers = collectionName => ({
|
|||
|
||||
name: `${collectionName}Total`,
|
||||
|
||||
resolver(root, {terms}, context) {
|
||||
async resolver(root, {terms}, context) {
|
||||
|
||||
const collection = context[collectionName];
|
||||
|
||||
const {selector} = collection.getParameters(terms, {}, context);
|
||||
const {selector} = await collection.getParameters(terms, {}, context);
|
||||
|
||||
return collection.find(selector).count();
|
||||
},
|
||||
|
|
|
@ -180,7 +180,7 @@ export const createCollection = options => {
|
|||
|
||||
// ------------------------------------- Parameters -------------------------------- //
|
||||
|
||||
collection.getParameters = (terms = {}, apolloClient, context) => {
|
||||
collection.getParameters = async (terms = {}, apolloClient, context) => {
|
||||
|
||||
// debug(terms);
|
||||
|
||||
|
@ -200,7 +200,7 @@ export const createCollection = options => {
|
|||
}
|
||||
|
||||
// iterate over posts.parameters callbacks
|
||||
parameters = runCallbacks(`${collectionName.toLowerCase()}.parameters`, parameters, _.clone(terms), apolloClient, context);
|
||||
parameters = await runCallbacks(`${collectionName.toLowerCase()}.parameters`, parameters, _.clone(terms), apolloClient, context);
|
||||
|
||||
// extend sort to sort posts by _id to break ties, unless there's already an id sort
|
||||
// NOTE: always do this last to avoid overriding another sort
|
||||
|
|
|
@ -27,10 +27,10 @@ const resolvers = {
|
|||
|
||||
name: 'UsersList',
|
||||
|
||||
resolver(root, {terms}, {currentUser, Users}, info) {
|
||||
async resolver(root, {terms}, {currentUser, Users}, info) {
|
||||
|
||||
// get selector and options from terms and perform Mongo query
|
||||
let {selector, options} = Users.getParameters(terms);
|
||||
let {selector, options} = await Users.getParameters(terms);
|
||||
options.limit = (terms.limit < 1 || terms.limit > 100) ? 100 : terms.limit;
|
||||
options.skip = terms.offset;
|
||||
const users = Users.find(selector, options).fetch();
|
||||
|
@ -62,8 +62,8 @@ const resolvers = {
|
|||
|
||||
name: 'UsersTotal',
|
||||
|
||||
resolver(root, {terms}, context) {
|
||||
const {selector} = context.Users.getParameters(terms);
|
||||
async resolver(root, {terms}, context) {
|
||||
const {selector} = await context.Users.getParameters(terms);
|
||||
return context.Users.find(selector).count();
|
||||
},
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue