import { DataSource } from "typeorm";
import { User } from "../entities/User";
import * as dotenv from "dotenv";

dotenv.config();

const isMongoDb = process.env.DB_TYPE === "mongodb";

export const AppDataSource = new DataSource({
  type: process.env.DB_TYPE as any,
  url: isMongoDb ? process.env.MONGO_URL : process.env.SQL_URL,
  synchronize: false,
  logging: false,
  entities: [User],
  ...(isMongoDb && { useUnifiedTopology: true }),
});

// Initialize the data source
AppDataSource.initialize()
  .then(() => {
    console.log("Database connection established successfully.");
  })
  .catch((error) => {
    console.error("Error during Data Source initialization:", error);
  });
