UNPKG

pawa-user

Version:

A user management service for Cosmo Pawa, handling authentication and authorization.

40 lines (28 loc) 959 B
const { Sequelize } = require("sequelize"); let sequelizeInstance; const initializeDatabase = (dbConfig) => { if (sequelizeInstance) { return { sequelize: sequelizeInstance }; } sequelizeInstance = new Sequelize(dbConfig.DB_NAME, dbConfig.DB_USER, dbConfig.DB_PASSWORD, { host: dbConfig.DB_HOST, port: dbConfig.DB_PORT || 5432, dialect: dbConfig.DB_DIALECT || "postgres", logging: false, }); return { sequelize: sequelizeInstance }; }; const connectDB = async () => { if (!sequelizeInstance) { throw new Error("Database not initialized. Call initializeDatabase first."); } try { await sequelizeInstance.authenticate(); await sequelizeInstance.sync({ alter: true }); console.log("Database connected and synchronized successfully."); } catch (error) { console.error("Unable to connect to the database:", error); process.exit(1); } }; module.exports = { initializeDatabase, connectDB };