@crowdin/app-project-module
Version:
Module that generates for you all common endpoints for serving standalone Crowdin App
29 lines (28 loc) • 1.63 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 json_response_1 = __importDefault(require("../../middlewares/json-response"));
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 compile_1 = __importDefault(require("./handlers/compile"));
function register({ config, app }) {
if (!config.aiPromptProvider) {
return;
}
app.post('/prompt-provider/compile', json_response_1.default, (0, crowdin_client_1.default)({
config,
optional: false,
checkSubscriptionExpiration: true,
moduleKey: config.aiPromptProvider.key,
}), (0, compile_1.default)(config.aiPromptProvider));
if (config.aiPromptProvider.formSchema || config.aiPromptProvider.uiPath) {
app.use('/prompt-provider/settings', (0, ui_module_1.default)({ config, allowUnauthorized: true, moduleType: config.aiPromptProvider.key }), (0, render_ui_module_1.default)(config.aiPromptProvider));
}
app.get((0, util_1.getLogoUrl)(config.aiPromptProvider, '/ai-prompt-provider'), (req, res) => { var _a; return res.sendFile(((_a = config.aiPromptProvider) === null || _a === void 0 ? void 0 : _a.imagePath) || config.imagePath); });
}
exports.register = register;