UNPKG

@crowdin/app-project-module

Version:

Module that generates for you all common endpoints for serving standalone Crowdin App

35 lines (34 loc) 1.86 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.register = register; const render_ui_module_1 = __importDefault(require("../../middlewares/render-ui-module")); const ui_module_1 = __importDefault(require("../../middlewares/ui-module")); const util_1 = require("../../util"); const util_2 = require("../../util"); const normalize_module_1 = require("../../util/normalize-module"); function register({ config, app }) { var _a; if (!config.organizationMenu) { return; } const items = (0, normalize_module_1.normalizeToArray)(config.organizationMenu); const isSingle = items.length === 1; const allowUnauthorized = !(0, util_1.isAuthorizedConfig)(config); for (const [index, item] of items.entries()) { const key = (_a = item.key) !== null && _a !== void 0 ? _a : (0, normalize_module_1.resolveInstanceKey)({ identifier: config.identifier, suffix: 'resources', item, index, isSingle }); const basePath = isSingle ? '/organization-menu' : `/organization-menu-${key}`; const logoPath = isSingle ? '/logo/organization-menu' : `/logo/organization-menu-${key}`; app.use(logoPath, (0, util_2.serveLogo)(config, item)); app.use(basePath, (0, ui_module_1.default)({ config, allowUnauthorized, moduleType: key }), (0, render_ui_module_1.default)(item, config)); } if (isSingle) { const item = items[0]; // TEMPORARY CODE: it needs to support old path app.use('/logo/resources', (0, util_2.serveLogo)(config, item)); app.use('/resources', (0, ui_module_1.default)({ config, allowUnauthorized }), (0, render_ui_module_1.default)(item, config)); // END TEMPORARY CODE } }