@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
JavaScript
"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;