UNPKG

streamby-core

Version:

StreamBy middleware framework for media storage management

40 lines (39 loc) 1.97 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createStreamByRouter = createStreamByRouter; const express_1 = __importDefault(require("express")); const manager_1 = require("../models/manager"); const storage_1 = require("../providers/storage"); const connectionManager_1 = require("../adapters/database/connectionManager"); const auth_1 = require("./routes/auth"); const database_1 = require("./routes/database"); const storage_2 = require("./routes/storage"); const project_1 = require("./routes/project"); const export_1 = require("./routes/export"); const auth_2 = require("../services/auth"); function createStreamByRouter(config) { const router = express_1.default.Router(); (0, connectionManager_1.initConnections)(config.databases || []); const adapter = config.adapter || (0, storage_1.createStorageProvider)(config.storageProviders); if (config.databases) { const allDbIds = config.databases.map(db => db.id); const sqlDbs = config.databases.filter(db => db.type === 'sql'); const streambySchema = sqlDbs.length > 0 ? 'streamby' : undefined; (0, manager_1.registerModel)('projects', allDbIds, 'projects', streambySchema); (0, manager_1.registerModel)('exports', allDbIds, 'exports', streambySchema); const mainDb = config.databases.find(db => db.main); if (mainDb) { (0, manager_1.registerModel)('users', [mainDb.id], 'users', streambySchema); } } router.use((0, auth_2.authenticate)(config)); router.use((0, auth_1.authRouter)(config)); router.use((0, database_1.databaseRouter)(config)); router.use((0, storage_2.storageRouter)(config)); router.use((0, project_1.projectRouter)(config)); router.use((0, export_1.exportRouter)(config)); return router; }