import { databaseConfig } from "~/config/database.config";
export default defineNuxtPlugin(async () => {
try {
console.log("Starting database connections...");
await connectToMongoDB({
uri: databaseConfig.mongodb.uri,
});
await connectToRedis({
host: databaseConfig.redis.host,
port: databaseConfig.redis.port,
password: databaseConfig.redis.password,
db: databaseConfig.redis.db,
});
await connectToElasticsearch({
node: databaseConfig.elasticsearch.node,
auth: databaseConfig.elasticsearch.auth,
ssl: databaseConfig.elasticsearch.ssl,
});
const mongoStatus = getMongoConnectionStatus();
const redisHealthy = await checkRedisHealth();
const esHealthy = await checkElasticsearchHealth();
console.log("Database connections started:", {
mongodb: mongoStatus,
redis: redisHealthy,
elasticsearch: esHealthy,
});
} catch (error) {
console.error("Failed to start database connections:", error);
}
});
import { databaseConfig } from "~/config/database.config";
export default defineNuxtPlugin(async () => {
try {
console.log("Starting database connections...");
await connectToMongoDB({
uri: databaseConfig.mongodb.uri,
});
await connectToRedis({
host: databaseConfig.redis.host,
port: databaseConfig.redis.port,
password: databaseConfig.redis.password,
db: databaseConfig.redis.db,
});
await connectToElasticsearch({
node: databaseConfig.elasticsearch.node,
auth: databaseConfig.elasticsearch.auth,
ssl: databaseConfig.elasticsearch.ssl,
});
const mongoStatus = getMongoConnectionStatus();
const redisHealthy = await checkRedisHealth();
const esHealthy = await checkElasticsearchHealth();
console.log("Database connections started:", {
mongodb: mongoStatus,
redis: redisHealthy,
elasticsearch: esHealthy,
});
} catch (error) {
console.error("Failed to start database connections:", error);
}
});