"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.GraphQLRouter = void 0; var _node = _interopRequireDefault(require("parse/node")); var _PromiseRouter = _interopRequireDefault(require("../PromiseRouter")); var middleware = _interopRequireWildcard(require("../middlewares")); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const GraphQLConfigPath = '/graphql-config'; class GraphQLRouter extends _PromiseRouter.default { async getGraphQLConfig(req) { const result = await req.config.parseGraphQLController.getGraphQLConfig(); return { response: result }; } async updateGraphQLConfig(req) { if (req.auth.isReadOnly) { throw new _node.default.Error(_node.default.Error.OPERATION_FORBIDDEN, "read-only masterKey isn't allowed to update the GraphQL config."); } const data = await req.config.parseGraphQLController.updateGraphQLConfig(req.body.params); return { response: data }; } mountRoutes() { this.route('GET', GraphQLConfigPath, middleware.promiseEnforceMasterKeyAccess, req => { return this.getGraphQLConfig(req); }); this.route('PUT', GraphQLConfigPath, middleware.promiseEnforceMasterKeyAccess, req => { return this.updateGraphQLConfig(req); }); } } exports.GraphQLRouter = GraphQLRouter; var _default = exports.default = GraphQLRouter; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX1Byb21pc2VSb3V0ZXIiLCJtaWRkbGV3YXJlIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJHcmFwaFFMQ29uZmlnUGF0aCIsIkdyYXBoUUxSb3V0ZXIiLCJQcm9taXNlUm91dGVyIiwiZ2V0R3JhcGhRTENvbmZpZyIsInJlcSIsInJlc3VsdCIsImNvbmZpZyIsInBhcnNlR3JhcGhRTENvbnRyb2xsZXIiLCJyZXNwb25zZSIsInVwZGF0ZUdyYXBoUUxDb25maWciLCJhdXRoIiwiaXNSZWFkT25seSIsIlBhcnNlIiwiRXJyb3IiLCJPUEVSQVRJT05fRk9SQklEREVOIiwiZGF0YSIsImJvZHkiLCJwYXJhbXMiLCJtb3VudFJvdXRlcyIsInJvdXRlIiwicHJvbWlzZUVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MiLCJleHBvcnRzIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvUm91dGVycy9HcmFwaFFMUm91dGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcbmltcG9ydCBQcm9taXNlUm91dGVyIGZyb20gJy4uL1Byb21pc2VSb3V0ZXInO1xuaW1wb3J0ICogYXMgbWlkZGxld2FyZSBmcm9tICcuLi9taWRkbGV3YXJlcyc7XG5cbmNvbnN0IEdyYXBoUUxDb25maWdQYXRoID0gJy9ncmFwaHFsLWNvbmZpZyc7XG5cbmV4cG9ydCBjbGFzcyBHcmFwaFFMUm91dGVyIGV4dGVuZHMgUHJvbWlzZVJvdXRlciB7XG4gIGFzeW5jIGdldEdyYXBoUUxDb25maWcocmVxKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVxLmNvbmZpZy5wYXJzZUdyYXBoUUxDb250cm9sbGVyLmdldEdyYXBoUUxDb25maWcoKTtcbiAgICByZXR1cm4ge1xuICAgICAgcmVzcG9uc2U6IHJlc3VsdCxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlR3JhcGhRTENvbmZpZyhyZXEpIHtcbiAgICBpZiAocmVxLmF1dGguaXNSZWFkT25seSkge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICBQYXJzZS5FcnJvci5PUEVSQVRJT05fRk9SQklEREVOLFxuICAgICAgICBcInJlYWQtb25seSBtYXN0ZXJLZXkgaXNuJ3QgYWxsb3dlZCB0byB1cGRhdGUgdGhlIEdyYXBoUUwgY29uZmlnLlwiXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVxLmNvbmZpZy5wYXJzZUdyYXBoUUxDb250cm9sbGVyLnVwZGF0ZUdyYXBoUUxDb25maWcocmVxLmJvZHkucGFyYW1zKTtcbiAgICByZXR1cm4ge1xuICAgICAgcmVzcG9uc2U6IGRhdGEsXG4gICAgfTtcbiAgfVxuXG4gIG1vdW50Um91dGVzKCkge1xuICAgIHRoaXMucm91dGUoJ0dFVCcsIEdyYXBoUUxDb25maWdQYXRoLCBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLCByZXEgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0R3JhcGhRTENvbmZpZyhyZXEpO1xuICAgIH0pO1xuICAgIHRoaXMucm91dGUoJ1BVVCcsIEdyYXBoUUxDb25maWdQYXRoLCBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLCByZXEgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMudXBkYXRlR3JhcGhRTENvbmZpZyhyZXEpO1xuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBk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