import dotenv from 'dotenv'; import path from 'path'; import { StorageInterface } from "./StorageInterface"; import JsonStorage from "./json"; import RedisStorage from "./redis"; const ENVIRONMENT = process.env.NODE_ENV || 'production'; dotenv.config({ path: path.resolve(__dirname, `../.env.${ENVIRONMENT}`) }); const JSON_KEY = 'json'; const REDIS_KEY = 'redis'; let storage: StorageInterface; if (!process.env.STORAGE || process.env.STORAGE?.toLowerCase() === JSON_KEY) { storage = new JsonStorage(); } else if (process.env.STORAGE?.toLowerCase() === REDIS_KEY) { storage = new RedisStorage(); } else { throw Error("Nepodporovaná hodnota proměnné STORAGE: " + process.env.STORAGE + ", podporované jsou 'json' nebo 'redis'"); } export default function getStorage(): StorageInterface { return storage; }