import mongoose from 'mongoose';
import { createLogger } from '../utils/logger';

const logger = createLogger('MongoDB');

export async function connectDB(): Promise<void> {
  const mongoUrl = process.env.MONGO_URL_STAGE;

  if (!mongoUrl) {
    logger.error('MONGO_URL_STAGE is not set — MongoDB connection skipped. Auth will not work.');
    return;
  }

  try {
    await mongoose.connect(mongoUrl);
    logger.info('Connected to MongoDB');
  } catch (error) {
    logger.error('MongoDB connection failed', {
      error: error instanceof Error ? error.message : String(error),
    });
    throw error;
  }
}
