UNPKG

@crowdin/app-project-module

Version:

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

90 lines (89 loc) 4.78 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.registerFilePostExport = exports.registerFilePreExport = exports.registerFilePostImport = exports.registerFilePreImport = exports.registerCustomFileFormat = void 0; const crowdin_client_1 = __importDefault(require("../../middlewares/crowdin-client")); const custom_file_format_1 = __importDefault(require("./handlers/custom-file-format")); const file_download_1 = __importDefault(require("./handlers/file-download")); const pre_post_process_1 = __importDefault(require("./handlers/pre-post-process")); const types_1 = require("./types"); const defaults_1 = require("./util/defaults"); function registerCustomFileFormat({ config, app }) { if (!config.customFileFormat) { return; } (0, defaults_1.applyFileProcessorsModuleDefaults)(config, config.customFileFormat); app.post('/file/process', (0, crowdin_client_1.default)({ config, optional: false, checkSubscriptionExpiration: true, moduleKey: config.customFileFormat.key, }), (0, custom_file_format_1.default)(config.baseUrl, config.customFileFormat.filesFolder || config.dbFolder, config.customFileFormat)); // TEMPORARY CODE: it needs to support old path app.post('/process', (0, crowdin_client_1.default)({ config, optional: false, checkSubscriptionExpiration: true, }), (0, custom_file_format_1.default)(config.baseUrl, config.customFileFormat.filesFolder || config.dbFolder, config.customFileFormat)); // END TEMPORARY CODE app.get('/file/download', (0, file_download_1.default)(config, config.customFileFormat, 'custom-file-format')); } exports.registerCustomFileFormat = registerCustomFileFormat; function registerFilePreImport({ config, app }) { if (!config.filePreImport) { return; } (0, defaults_1.applyFileProcessorsModuleDefaults)(config, config.filePreImport); app.post('/pre-import', (0, crowdin_client_1.default)({ config, optional: false, checkSubscriptionExpiration: true, moduleKey: config.filePreImport.key, }), (0, pre_post_process_1.default)(config, config.filePreImport, types_1.ProcessFileJobType.PRE_IMPORT)); app.get(`/file/download/${types_1.ProcessFileJobType.PRE_IMPORT}`, (0, file_download_1.default)(config, config.filePreImport, types_1.ProcessFileJobType.PRE_IMPORT)); } exports.registerFilePreImport = registerFilePreImport; function registerFilePostImport({ config, app }) { if (!config.filePostImport) { return; } (0, defaults_1.applyFileProcessorsModuleDefaults)(config, config.filePostImport); app.post('/post-import', (0, crowdin_client_1.default)({ config, optional: false, checkSubscriptionExpiration: true, moduleKey: config.filePostImport.key, }), (0, pre_post_process_1.default)(config, config.filePostImport, types_1.ProcessFileJobType.POST_IMPORT)); app.get(`/file/download/${types_1.ProcessFileJobType.POST_IMPORT}`, (0, file_download_1.default)(config, config.filePostImport, types_1.ProcessFileJobType.POST_IMPORT)); } exports.registerFilePostImport = registerFilePostImport; function registerFilePreExport({ config, app }) { if (!config.filePreExport) { return; } (0, defaults_1.applyFileProcessorsModuleDefaults)(config, config.filePreExport); app.post('/pre-export', (0, crowdin_client_1.default)({ config, optional: false, checkSubscriptionExpiration: true, moduleKey: config.filePreExport.key, }), (0, pre_post_process_1.default)(config, config.filePreExport, types_1.ProcessFileJobType.PRE_EXPORT)); app.get(`/file/download/${types_1.ProcessFileJobType.PRE_EXPORT}`, (0, file_download_1.default)(config, config.filePreExport, types_1.ProcessFileJobType.PRE_EXPORT)); } exports.registerFilePreExport = registerFilePreExport; function registerFilePostExport({ config, app }) { if (!config.filePostExport) { return; } (0, defaults_1.applyFileProcessorsModuleDefaults)(config, config.filePostExport); app.post('/post-export', (0, crowdin_client_1.default)({ config, optional: false, checkSubscriptionExpiration: true, moduleKey: config.filePostExport.key, }), (0, pre_post_process_1.default)(config, config.filePostExport, types_1.ProcessFileJobType.POST_EXPORT)); app.get(`/file/download/${types_1.ProcessFileJobType.POST_EXPORT}`, (0, file_download_1.default)(config, config.filePostExport, types_1.ProcessFileJobType.POST_EXPORT)); } exports.registerFilePostExport = registerFilePostExport;