Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/graphql / dist / preview.js
Size: Mime:
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = __importDefault(require("express"));
const body_parser_1 = __importDefault(require("body-parser"));
const fs_extra_1 = __importDefault(require("fs-extra"));
const cors_1 = __importDefault(require("cors"));
const node_fetch_1 = __importDefault(require("node-fetch"));
const log_1 = require("./log");
const endpoints_1 = require("./graphql-modules/studio/stream/endpoints");
const config_1 = require("./bootstrapper/config");
const preview = express_1.default.Router();
exports.preview = preview;
preview.use(body_parser_1.default.urlencoded({ extended: false }));
// @@nrf
/* @TODO resolve this endpoint dynamically through env */
// const appBaseUrl = 'https://nrf.skavacommerce.com'
// const appBaseUrl = 'http://localhost:3000'
preview.post('/', cors_1.default(), async (req, res) => {
    const file = '.tmp/preview.json';
    fs_extra_1.default.ensureFileSync(file);
    const { pageurl } = req.query;
    const { viewId, pageId, catalogData } = req.body;
    const { pages } = JSON.parse(catalogData);
    const page = endpoints_1.transformPreview(viewId, pages[pageId]);
    fs_extra_1.default.writeJsonSync(file, page);
    const previewUrl = `${config_1.appBaseUrl}/${pageurl}?preview=true&nocache=true`;
    log_1.logger.info('[StudioPreview] rendering', previewUrl);
    const response = await node_fetch_1.default(previewUrl);
    const previewText = await response.text();
    res.send(previewText);
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcmV2aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0RBQTZCO0FBQzdCLDhEQUFvQztBQUNwQyx3REFBeUI7QUFDekIsZ0RBQXVCO0FBQ3ZCLDREQUE4QjtBQUU5QiwrQkFBOEI7QUFFOUIseUVBQTRFO0FBQzVFLGtEQUFrRDtBQUVsRCxNQUFNLE9BQU8sR0FBRyxpQkFBTyxDQUFDLE1BQU0sRUFBRSxDQUFBO0FBZ0N2QiwwQkFBTztBQTlCaEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFdkQsUUFBUTtBQUNSLHlEQUF5RDtBQUN6RCxxREFBcUQ7QUFDckQsNkNBQTZDO0FBRTdDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLGNBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFtQixFQUFFLEdBQW9CLEVBQUUsRUFBRTtJQUM1RSxNQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FBQTtJQUNoQyxrQkFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUV2QixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQTtJQUM3QixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFBO0lBQ2hELE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBRXpDLE1BQU0sSUFBSSxHQUFHLDRCQUFnQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUVwRCxrQkFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFFNUIsTUFBTSxVQUFVLEdBQUcsR0FBRyxtQkFBVSxJQUFJLE9BQU8sNEJBQTRCLENBQUE7SUFFdkUsWUFBTSxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxVQUFVLENBQUMsQ0FBQTtJQUVwRCxNQUFNLFFBQVEsR0FBRyxNQUFNLG9CQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7SUFFeEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUE7SUFFekMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtBQUN2QixDQUFDLENBQUMsQ0FBQSJ9