UNPKG

streamby-core

Version:

StreamBy middleware framework for media storage management

45 lines (44 loc) 2.21 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 credential_1 = require("./routes/credential"); const auth_2 = require("../services/auth"); const encryption_1 = require("../utils/encryption"); function createStreamByRouter(config) { const router = express_1.default.Router(); if (config.encrypt) (0, encryption_1.setEncryptionKey)(config.encrypt); (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', 'accounts'); } } 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)); router.use((0, credential_1.credentialRouter)(config)); return router; }