UNPKG

@vtex/api

Version:
30 lines (29 loc) 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createGraphQLRoute = exports.GRAPHQL_ROUTE = void 0; const tracingMiddlewares_1 = require("../../../tracing/tracingMiddlewares"); const http_1 = require("../http"); const context_1 = require("./middlewares/context"); const error_1 = require("./middlewares/error"); const query_1 = require("./middlewares/query"); const response_1 = require("./middlewares/response"); const run_1 = require("./middlewares/run"); const updateSchema_1 = require("./middlewares/updateSchema"); const upload_1 = require("./middlewares/upload"); const schema_1 = require("./schema"); exports.GRAPHQL_ROUTE = '__graphql'; const createGraphQLRoute = (graphql, clientsConfig, serviceRoute, routeId, globalLimiter) => { const executableSchema = (0, schema_1.makeSchema)(graphql); const pipeline = [ (0, tracingMiddlewares_1.nameSpanOperationMiddleware)('graphql-handler', exports.GRAPHQL_ROUTE), (0, updateSchema_1.updateSchema)(graphql, executableSchema), context_1.injectGraphqlContext, response_1.response, error_1.graphqlError, upload_1.upload, (0, query_1.extractQuery)(executableSchema), (0, run_1.run)(executableSchema), ]; return (0, http_1.createPrivateHttpRoute)(clientsConfig, pipeline, serviceRoute, routeId, globalLimiter); }; exports.createGraphQLRoute = createGraphQLRoute;