UNPKG

@clipwhisperer/common

Version:

ClipWhisperer Common - Shared library providing core utilities, database schemas, authentication, bucket management, and common functionality across all ClipWhisperer microservices

50 lines (49 loc) 1.84 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.startServer = void 0; const dotenv_1 = require("dotenv"); (0, dotenv_1.config)(); const vault_js_1 = require("./vault.js"); const util_js_1 = require("./util.js"); // Conditional vault import to avoid configuration errors let vault = null; try { // Use require for conditional import vault = (0, vault_js_1.createVaultClient)(); } catch (error) { // Vault not configured, continue without it console.warn("Vault not configured, continuing without vault support"); } (0, util_js_1.setOptionsProvider)(async () => ({ vault })); const express_1 = __importDefault(require("express")); const express_zod_api_1 = require("express-zod-api"); const logger_js_1 = require("../middleware/logger/logger.js"); const cookie_parser_1 = __importDefault(require("cookie-parser")); const routing = (params) => { return params.routes; }; const startServer = async (params) => { // Configure express-zod-api const config = (0, express_zod_api_1.createConfig)({ http: { listen: params.port, }, cors: true, logger: logger_js_1.logger, startupLogo: false, beforeRouting: ({ app }) => { app.use((0, cookie_parser_1.default)()); app.use(express_1.default.json()); app.use(logger_js_1.loggerMiddleware); }, }); // Create and start the server const { app, servers } = await (0, express_zod_api_1.createServer)(config, routing(params)); logger_js_1.logger.info(`App running on port ${params.port}`); return { app, servers, logger: logger_js_1.logger }; }; exports.startServer = startServer;