Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
export default options => {
return buildDataProvider(merge({}, defaultOptions, options)).then(defaultDataProvider => {
return (fetchType, resource, params) => {
// Graphcool does not support multiple deletions so instead we send multiple DELETE requests
// This can be optimized using the apollo-link-batch-http link
if (fetchType === DELETE_MANY) {
const { ids, ...otherParams } = params;
return Promise.all(
params.ids.map(id =>
defaultDataProvider(DELETE, resource, {
id,
...otherParams
})
)
).then(results => {
const data = results.reduce((acc, { data }) => [...acc, data.id], []);
return { data };
export default (options: {
client?: ApolloClient;
clientOptions?: ApolloClientOptions;
}) => {
return buildDataProvider(merge({}, defaultOptions, options)).then(
graphQLDataProvider => {
return (
fetchType: string,
resource: string,
params: { [key: string]: any }
): Promise => {
// Temporary work-around until we make use of updateMany and deleteMany mutations
if (fetchType === DELETE_MANY) {
const { ids, ...otherParams } = params;
return Promise.all(
params.ids.map((id: string) =>
graphQLDataProvider(DELETE, resource, {
id,
...otherParams
})
)
export default options => {
return buildDataProvider(merge({}, defaultOptions, options)).then(
defaultDataProvider => {
return (fetchType, resource, params) => {
// Graphcool does not support multiple deletions so instead we send multiple DELETE requests
// This can be optimized using the apollo-link-batch-http link
if (fetchType === DELETE_MANY) {
const { ids, ...otherParams } = params;
return Promise.all(
params.ids.map(id =>
defaultDataProvider(DELETE, resource, {
id,
...otherParams,
})
)
).then(results => {
const data = results.reduce(
(acc, { data }) => [...acc, data.id],
args,
null,
gqlTypes.selectionSet([
gqlTypes.field(gqlTypes.name('id')),
])
),
]),
gqlTypes.name(queryType.name),
apolloArgs
),
]);
}
return gqlTypes.document([
gqlTypes.operationDefinition(
QUERY_TYPES.includes(aorFetchType) ? 'query' : 'mutation',
gqlTypes.selectionSet([
gqlTypes.field(
gqlTypes.name(queryType.name),
gqlTypes.name('data'),
args,
null,
gqlTypes.selectionSet(fields)
),
]),
gqlTypes.name(queryType.name),
apolloArgs
),
]);
};
},
});
}
const query = {
params: apolloArgs,
fields: {
data: {
field: queryType.name,
params: args,
fields,
},
},
};
const result = QUERY_TYPES.includes(aorFetchType)
? encodeQuery(queryType.name, query)
: encodeMutation(queryType.name, query);
return result;
};
args,
null,
gqlTypes.selectionSet([
gqlTypes.field(gqlTypes.name('id')),
])
),
]),
gqlTypes.name(queryType.name),
apolloArgs
),
]);
}
return gqlTypes.document([
gqlTypes.operationDefinition(
QUERY_TYPES.includes(aorFetchType) ? 'query' : 'mutation',
gqlTypes.selectionSet([
gqlTypes.field(
gqlTypes.name(queryType.name),
gqlTypes.name('data'),
args,
null,
gqlTypes.selectionSet(fields)
),
]),
gqlTypes.name(queryType.name),
apolloArgs
),
]);
};
alias: gqlTypes.name('data'),
arguments: args,
selectionSet: gqlTypes.selectionSet([
gqlTypes.field(gqlTypes.name('id'))
])
})
]),
gqlTypes.name(queryType.name!),
apolloArgs
)
]);
}
return gqlTypes.document([
gqlTypes.operationDefinition(
QUERY_TYPES.includes(aorFetchType) ? 'query' : 'mutation',
gqlTypes.selectionSet([
gqlTypes.field(gqlTypes.name(queryType.name!), {
alias: gqlTypes.name('data'),
arguments: args,
selectionSet: gqlTypes.selectionSet(fields)
})
]),
gqlTypes.name(queryType.name!),
apolloArgs
)
]);
};
},
});
}
const query = {
params: apolloArgs,
fields: {
data: {
field: queryType.name,
params: args,
fields,
},
},
};
const result = QUERY_TYPES.includes(aorFetchType)
? encodeQuery(queryType.name, query)
: encodeMutation(queryType.name, query);
return result;
};
export default options => {
return buildDataProvider(merge({}, defaultOptions, options)).then(
dataProvider => {
return (fetchType, resource, params) => {
return dataProvider(fetchType, resource, params);
};
}
);
};