from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker, declarative_base from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from dotenv import load_dotenv import os load_dotenv() DATABASE_URL = ( f"postgresql://{os.getenv('USERNAME_DB')}:" f"{os.getenv('PASSWORD_DB')}@" f"{os.getenv('HOST_DB')}:" f"{os.getenv('PORT_DB')}/" f"{os.getenv('NAME_DB')}" ) engine = create_engine(DATABASE_URL) SessionLocal = sessionmaker(bind=engine) Base = declarative_base() from .auth.models import * from .items.models import * Base.metadata.create_all(bind=engine) def get_db(): db = SessionLocal() try: yield db finally: db.close() origins = [ "http://localhost", "http://localhost:8080", "http://localhost:3000", "http://localhost:8000", ] app = FastAPI() app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], )