UNPKG

@crowdin/app-project-module

Version:

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

48 lines (47 loc) 2.46 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 = void 0; const json_response_1 = __importDefault(require("../../middlewares/json-response")); const get_model_list_1 = __importDefault(require("./handlers/get-model-list")); const chat_completions_1 = __importDefault(require("./handlers/chat-completions")); 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")); function register({ config, app }) { if (!config.aiProvider) { return; } if (config.aiProvider.settingsUiModule) { app.use('/settings', (0, ui_module_1.default)({ config, allowUnauthorized: true, moduleType: config.aiProvider.key }), (0, render_ui_module_1.default)(config.aiProvider.settingsUiModule)); } app.get((0, util_1.getLogoUrl)(config.aiProvider, '/aiprovider'), (req, res) => { var _a; return res.sendFile(((_a = config.aiProvider) === null || _a === void 0 ? void 0 : _a.imagePath) || config.imagePath); }); app.get('/ai-provider/models', json_response_1.default, (0, crowdin_client_1.default)({ config, optional: false, checkSubscriptionExpiration: true, moduleKey: config.aiProvider.key, }), (0, get_model_list_1.default)(config.aiProvider)); app.post('/ai-provider/completions', json_response_1.default, (0, crowdin_client_1.default)({ config, optional: false, checkSubscriptionExpiration: true, moduleKey: config.aiProvider.key, }), (0, chat_completions_1.default)(config.aiProvider)); // TEMPORARY CODE: it needs to support old path app.get('/models', json_response_1.default, (0, crowdin_client_1.default)({ config, optional: false, checkSubscriptionExpiration: true, }), (0, get_model_list_1.default)(config.aiProvider)); app.post('/completions', json_response_1.default, (0, crowdin_client_1.default)({ config, optional: false, checkSubscriptionExpiration: true, }), (0, chat_completions_1.default)(config.aiProvider)); // END TEMPORARY CODE } exports.register = register;