@crowdin/app-project-module
Version:
Module that generates for you all common endpoints for serving standalone Crowdin App
53 lines (52 loc) • 2.75 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.register = void 0;
const ui_module_1 = __importDefault(require("../../middlewares/ui-module"));
const render_ui_module_1 = __importDefault(require("../../middlewares/render-ui-module"));
const util_1 = require("./util");
const crowdin_client_1 = __importDefault(require("../../middlewares/crowdin-client"));
const step_settings_save_1 = __importDefault(require("./handlers/step-settings-save"));
const delete_step_1 = __importDefault(require("./handlers/delete-step"));
const util_2 = require("../../util");
function register({ config, app }) {
if (!config.workflowStepType) {
return;
}
const workflowSteps = Array.isArray(config.workflowStepType) ? config.workflowStepType : [config.workflowStepType];
for (const workflowStep of workflowSteps) {
app.post((0, util_1.getWorkflowStepUrl)('/workflow-step/settings', workflowStep), (0, crowdin_client_1.default)({
config,
optional: true,
checkSubscriptionExpiration: false,
moduleKey: workflowStep.key,
}), (0, step_settings_save_1.default)(workflowStep));
app.delete((0, util_1.getWorkflowStepUrl)('/workflow-step/delete', workflowStep), (0, crowdin_client_1.default)({
config,
optional: true,
checkSubscriptionExpiration: false,
moduleKey: workflowStep.key,
}), (0, delete_step_1.default)(workflowStep));
// TEMPORARY CODE: it needs to support old path
app.post((0, util_1.getWorkflowStepUrl)('/settings', workflowStep), (0, crowdin_client_1.default)({
config,
optional: true,
checkSubscriptionExpiration: false,
}), (0, step_settings_save_1.default)(workflowStep));
app.delete((0, util_1.getWorkflowStepUrl)('/delete', workflowStep), (0, crowdin_client_1.default)({
config,
optional: true,
checkSubscriptionExpiration: false,
}), (0, delete_step_1.default)(workflowStep));
// END TEMPORARY CODE
if (workflowStep.imagePath) {
app.get((0, util_2.getLogoUrl)(workflowStep, `-${workflowStep.key}`), (req, res) => res.sendFile(workflowStep.imagePath || config.imagePath));
}
if (workflowStep.settingsUiModule) {
app.use((0, util_1.getWorkflowStepUrl)('/workflow-step', workflowStep), (0, ui_module_1.default)({ config, moduleType: workflowStep.key }), (0, render_ui_module_1.default)(workflowStep.settingsUiModule));
}
}
}
exports.register = register;