in src/pipelineResources.js [624:678]
async function attachResolvers(client, apiId, functionId) {
loggerInfo('Attaching resolvers');
const queries = await getSchemaFields("Query");
let mutations = [];
if (ADD_MUTATIONS)
mutations = await getSchemaFields("Mutation");
let response = null;
// Queries
let input = {
apiId: apiId,
typeName: "Query",
};
let command = new ListResolversCommand(input);
response = await client.send(command);
let existingQueries = [];
if (response != null) {
for (const resolver of response.resolvers) {
existingQueries.push(resolver.fieldName);
}
}
for (const query of queries) {
if (!existingQueries.includes(query)) {
await attachResolverToSchemaField(client, apiId, functionId, "Query", query);
}
}
// Mutations
if (ADD_MUTATIONS) {
input = {
apiId: apiId,
typeName: "Mutation",
};
command = new ListResolversCommand(input);
response = await client.send(command);
let existingMutations = [];
if (response != null) {
for (const resolver of response.resolvers) {
existingMutations.push(resolver.fieldName);
}
}
for (const mutation of mutations) {
if (!existingMutations.includes(mutation)) {
await attachResolverToSchemaField(client, apiId, functionId, "Mutation", mutation);
}
}
}
loggerInfo('Finished attaching resolvers');
}