"use strict"; const fs = require("fs"); const path = require("path"); const Sequelize = require("sequelize"); const { User } = require("./models"); const process = require("process"); const basename = path.basename(__filename); const env = process.env.NODE_ENV || "development"; const config = require(__dirname + "/../config/config.json")[env]; const db = {}; let sequelize; if (config.use_env_variable) { sequelize = new Sequelize(process.env[config.use_env_variable], config); } else { sequelize = new Sequelize( config.database, config.username, config.password, config ); } // Wrap the asynchronous code inside an async function async function initialize() { try { const newUser = await User.create({ firstName: "John", lastName: "Doe", email: "john.doe@example.com", }); const user = await User.findOne({ where: { email: "john.doe@example.com" } }); console.log(user); } catch (error) { console.error("Error creating user:", error); } } // Call the async function to execute the code initialize(); fs.readdirSync(__dirname) .filter((file) => { return ( file.indexOf(".") !== 0 && file !== basename && file.slice(-3) === ".js" && file.indexOf(".test.js") === -1 ); }) .forEach((file) => { const model = require(path.join(__dirname, file))( sequelize, Sequelize.DataTypes ); db[model.name] = model; }); Object.keys(db).forEach((modelName) => { if (db[modelName].associate) { db[modelName].associate(db); } }); db.sequelize = sequelize; db.Sequelize = Sequelize; module.exports = db;