51 lines
1,015 B
Python
51 lines
1,015 B
Python
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=["*"],
|
|
)
|