from sqlalchemy import create_engine, MetaData
from sqlalchemy.orm import sessionmaker
from app.config.application import settings

# Database connection configuration
DATABASE_URL = "mysql+mysqlconnector://"+settings.DB_USERNAME+":"+settings.DB_PASSWORD+"@"+settings.DB_HOST+":3306/"+settings.DB_NAME
# DATABASE_URL = "mysql+mysqlconnector://root:root@localhost:3306/hotel"

# Create the engine
engine = create_engine(DATABASE_URL)

# Create a session factory
Session = sessionmaker(bind=engine)

# Function to get a session
def get_session():
    return Session()

# Function to get metadata (for reflecting tables)
def get_metadata():
    metadata = MetaData(bind=engine)
    metadata.reflect()
    return metadata