From 1d8d22d3035a66881be77f39938a6e779cc2269b Mon Sep 17 00:00:00 2001 From: Esteban Maya Cadavid Date: Fri, 1 Mar 2024 16:39:49 -0500 Subject: [PATCH 1/2] :recycle: [EDIT]: Refactor python folder tree --- src/backend/app/api/api_v1/endpoints/__init__.py | 0 src/backend/app/api/deps.py | 2 +- src/backend/app/api/{api_v1/api.py => main.py} | 2 +- src/backend/app/api/{api_v1 => routes}/__init__.py | 0 src/backend/app/api/{api_v1/endpoints => routes}/items.py | 0 src/backend/app/api/{api_v1/endpoints => routes}/login.py | 0 src/backend/app/api/{api_v1/endpoints => routes}/users.py | 0 src/backend/app/api/{api_v1/endpoints => routes}/utils.py | 0 src/backend/app/backend_pre_start.py | 2 +- src/backend/app/celeryworker_pre_start.py | 2 +- src/backend/app/{db => core}/engine.py | 0 src/backend/app/{db => core}/init_db.py | 2 +- src/backend/app/db/__init__.py | 0 src/backend/app/initial_data.py | 4 ++-- src/backend/app/main.py | 2 +- src/backend/app/tests/conftest.py | 4 ++-- src/backend/app/tests_pre_start.py | 2 +- 17 files changed, 11 insertions(+), 11 deletions(-) delete mode 100644 src/backend/app/api/api_v1/endpoints/__init__.py rename src/backend/app/api/{api_v1/api.py => main.py} (83%) rename src/backend/app/api/{api_v1 => routes}/__init__.py (100%) rename src/backend/app/api/{api_v1/endpoints => routes}/items.py (100%) rename src/backend/app/api/{api_v1/endpoints => routes}/login.py (100%) rename src/backend/app/api/{api_v1/endpoints => routes}/users.py (100%) rename src/backend/app/api/{api_v1/endpoints => routes}/utils.py (100%) rename src/backend/app/{db => core}/engine.py (100%) rename src/backend/app/{db => core}/init_db.py (96%) delete mode 100644 src/backend/app/db/__init__.py diff --git a/src/backend/app/api/api_v1/endpoints/__init__.py b/src/backend/app/api/api_v1/endpoints/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/backend/app/api/deps.py b/src/backend/app/api/deps.py index 1810ce0820..b10a4866ba 100644 --- a/src/backend/app/api/deps.py +++ b/src/backend/app/api/deps.py @@ -9,7 +9,7 @@ from app.core import security from app.core.config import settings -from app.db.engine import engine +from app.core.engine import engine from app.models import TokenPayload, User reusable_oauth2 = OAuth2PasswordBearer( diff --git a/src/backend/app/api/api_v1/api.py b/src/backend/app/api/main.py similarity index 83% rename from src/backend/app/api/api_v1/api.py rename to src/backend/app/api/main.py index 2163017268..09e0663fc3 100644 --- a/src/backend/app/api/api_v1/api.py +++ b/src/backend/app/api/main.py @@ -1,6 +1,6 @@ from fastapi import APIRouter -from app.api.api_v1.endpoints import items, login, users, utils +from app.api.routes import items, login, users, utils api_router = APIRouter() api_router.include_router(login.router, tags=["login"]) diff --git a/src/backend/app/api/api_v1/__init__.py b/src/backend/app/api/routes/__init__.py similarity index 100% rename from src/backend/app/api/api_v1/__init__.py rename to src/backend/app/api/routes/__init__.py diff --git a/src/backend/app/api/api_v1/endpoints/items.py b/src/backend/app/api/routes/items.py similarity index 100% rename from src/backend/app/api/api_v1/endpoints/items.py rename to src/backend/app/api/routes/items.py diff --git a/src/backend/app/api/api_v1/endpoints/login.py b/src/backend/app/api/routes/login.py similarity index 100% rename from src/backend/app/api/api_v1/endpoints/login.py rename to src/backend/app/api/routes/login.py diff --git a/src/backend/app/api/api_v1/endpoints/users.py b/src/backend/app/api/routes/users.py similarity index 100% rename from src/backend/app/api/api_v1/endpoints/users.py rename to src/backend/app/api/routes/users.py diff --git a/src/backend/app/api/api_v1/endpoints/utils.py b/src/backend/app/api/routes/utils.py similarity index 100% rename from src/backend/app/api/api_v1/endpoints/utils.py rename to src/backend/app/api/routes/utils.py diff --git a/src/backend/app/backend_pre_start.py b/src/backend/app/backend_pre_start.py index b7b0abeddb..2c177712eb 100644 --- a/src/backend/app/backend_pre_start.py +++ b/src/backend/app/backend_pre_start.py @@ -3,7 +3,7 @@ from sqlmodel import Session, select from tenacity import after_log, before_log, retry, stop_after_attempt, wait_fixed -from app.db.engine import engine +from app.core.engine import engine logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) diff --git a/src/backend/app/celeryworker_pre_start.py b/src/backend/app/celeryworker_pre_start.py index 3861908762..13e7eb7dfa 100644 --- a/src/backend/app/celeryworker_pre_start.py +++ b/src/backend/app/celeryworker_pre_start.py @@ -3,7 +3,7 @@ from sqlmodel import Session, select from tenacity import after_log, before_log, retry, stop_after_attempt, wait_fixed -from app.db.engine import engine +from app.core.engine import engine logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) diff --git a/src/backend/app/db/engine.py b/src/backend/app/core/engine.py similarity index 100% rename from src/backend/app/db/engine.py rename to src/backend/app/core/engine.py diff --git a/src/backend/app/db/init_db.py b/src/backend/app/core/init_db.py similarity index 96% rename from src/backend/app/db/init_db.py rename to src/backend/app/core/init_db.py index cb438d19b4..d799f8651c 100644 --- a/src/backend/app/db/init_db.py +++ b/src/backend/app/core/init_db.py @@ -15,7 +15,7 @@ def init_db(session: Session) -> None: # the tables un-commenting the next lines # from sqlmodel import SQLModel - # from app.db.engine import engine + # from app.core.engine import engine # This works because the models are already imported and registered from app.models # SQLModel.metadata.create_all(engine) diff --git a/src/backend/app/db/__init__.py b/src/backend/app/db/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/backend/app/initial_data.py b/src/backend/app/initial_data.py index dce56efe79..a89c15e32c 100644 --- a/src/backend/app/initial_data.py +++ b/src/backend/app/initial_data.py @@ -2,8 +2,8 @@ from sqlmodel import Session -from app.db.engine import engine -from app.db.init_db import init_db +from app.core.engine import engine +from app.core.init_db import init_db logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) diff --git a/src/backend/app/main.py b/src/backend/app/main.py index 9722c944f9..e68508b225 100644 --- a/src/backend/app/main.py +++ b/src/backend/app/main.py @@ -2,7 +2,7 @@ from fastapi.routing import APIRoute from starlette.middleware.cors import CORSMiddleware -from app.api.api_v1.api import api_router +from app.api.main import api_router from app.core.config import settings diff --git a/src/backend/app/tests/conftest.py b/src/backend/app/tests/conftest.py index 74a0fb0cca..74236b3a9e 100644 --- a/src/backend/app/tests/conftest.py +++ b/src/backend/app/tests/conftest.py @@ -5,8 +5,8 @@ from sqlmodel import Session, delete from app.core.config import settings -from app.db.engine import engine -from app.db.init_db import init_db +from app.core.engine import engine +from app.core.init_db import init_db from app.main import app from app.models import Item, User from app.tests.utils.user import authentication_token_from_email diff --git a/src/backend/app/tests_pre_start.py b/src/backend/app/tests_pre_start.py index 3861908762..13e7eb7dfa 100644 --- a/src/backend/app/tests_pre_start.py +++ b/src/backend/app/tests_pre_start.py @@ -3,7 +3,7 @@ from sqlmodel import Session, select from tenacity import after_log, before_log, retry, stop_after_attempt, wait_fixed -from app.db.engine import engine +from app.core.engine import engine logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) From 8d31898da276ff3cd828d9e4d8a1b2ec0bf66167 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Sat, 2 Mar 2024 10:57:37 +0100 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=9A=9A=20Move=20DB=20related=20things?= =?UTF-8?q?=20to=20core/db.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/app/api/deps.py | 2 +- src/backend/app/backend_pre_start.py | 2 +- src/backend/app/celeryworker_pre_start.py | 2 +- src/backend/app/core/{init_db.py => db.py} | 7 +++++-- src/backend/app/core/engine.py | 5 ----- src/backend/app/initial_data.py | 3 +-- src/backend/app/tests/conftest.py | 3 +-- src/backend/app/tests_pre_start.py | 2 +- 8 files changed, 11 insertions(+), 15 deletions(-) rename src/backend/app/core/{init_db.py => db.py} (87%) delete mode 100644 src/backend/app/core/engine.py diff --git a/src/backend/app/api/deps.py b/src/backend/app/api/deps.py index b10a4866ba..b6e05c1776 100644 --- a/src/backend/app/api/deps.py +++ b/src/backend/app/api/deps.py @@ -9,7 +9,7 @@ from app.core import security from app.core.config import settings -from app.core.engine import engine +from app.core.db import engine from app.models import TokenPayload, User reusable_oauth2 = OAuth2PasswordBearer( diff --git a/src/backend/app/backend_pre_start.py b/src/backend/app/backend_pre_start.py index 2c177712eb..1693d257d8 100644 --- a/src/backend/app/backend_pre_start.py +++ b/src/backend/app/backend_pre_start.py @@ -3,7 +3,7 @@ from sqlmodel import Session, select from tenacity import after_log, before_log, retry, stop_after_attempt, wait_fixed -from app.core.engine import engine +from app.core.db import engine logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) diff --git a/src/backend/app/celeryworker_pre_start.py b/src/backend/app/celeryworker_pre_start.py index 13e7eb7dfa..a9336023b3 100644 --- a/src/backend/app/celeryworker_pre_start.py +++ b/src/backend/app/celeryworker_pre_start.py @@ -3,7 +3,7 @@ from sqlmodel import Session, select from tenacity import after_log, before_log, retry, stop_after_attempt, wait_fixed -from app.core.engine import engine +from app.core.db import engine logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) diff --git a/src/backend/app/core/init_db.py b/src/backend/app/core/db.py similarity index 87% rename from src/backend/app/core/init_db.py rename to src/backend/app/core/db.py index d799f8651c..e1c5c22654 100644 --- a/src/backend/app/core/init_db.py +++ b/src/backend/app/core/db.py @@ -1,8 +1,11 @@ -from sqlmodel import Session, select +from sqlmodel import Session, create_engine, select from app import crud from app.core.config import settings -from app.models import User, UserCreate # noqa: F401 +from app.models import User, UserCreate + +engine = create_engine(str(settings.SQLALCHEMY_DATABASE_URI)) + # make sure all SQLModel models are imported (app.models) before initializing DB # otherwise, SQLModel might fail to initialize relationships properly diff --git a/src/backend/app/core/engine.py b/src/backend/app/core/engine.py deleted file mode 100644 index 0104294ce5..0000000000 --- a/src/backend/app/core/engine.py +++ /dev/null @@ -1,5 +0,0 @@ -from sqlmodel import create_engine - -from app.core.config import settings - -engine = create_engine(str(settings.SQLALCHEMY_DATABASE_URI)) diff --git a/src/backend/app/initial_data.py b/src/backend/app/initial_data.py index a89c15e32c..d806c3d381 100644 --- a/src/backend/app/initial_data.py +++ b/src/backend/app/initial_data.py @@ -2,8 +2,7 @@ from sqlmodel import Session -from app.core.engine import engine -from app.core.init_db import init_db +from app.core.db import engine, init_db logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) diff --git a/src/backend/app/tests/conftest.py b/src/backend/app/tests/conftest.py index 74236b3a9e..502a45049a 100644 --- a/src/backend/app/tests/conftest.py +++ b/src/backend/app/tests/conftest.py @@ -5,8 +5,7 @@ from sqlmodel import Session, delete from app.core.config import settings -from app.core.engine import engine -from app.core.init_db import init_db +from app.core.db import engine, init_db from app.main import app from app.models import Item, User from app.tests.utils.user import authentication_token_from_email diff --git a/src/backend/app/tests_pre_start.py b/src/backend/app/tests_pre_start.py index 13e7eb7dfa..a9336023b3 100644 --- a/src/backend/app/tests_pre_start.py +++ b/src/backend/app/tests_pre_start.py @@ -3,7 +3,7 @@ from sqlmodel import Session, select from tenacity import after_log, before_log, retry, stop_after_attempt, wait_fixed -from app.core.engine import engine +from app.core.db import engine logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__)