From 883e1d4359f862ce6931541d95e50fa3c35e5420 Mon Sep 17 00:00:00 2001 From: matv864 Date: Thu, 13 Mar 2025 20:12:34 +1000 Subject: [PATCH] make more simple and ruff format --- src/adapters/database/models/__init__.py | 2 +- src/adapters/database/models/common.py | 19 ++++++----- src/adapters/database/models/db1/post.py | 1 - src/adapters/database/models/db2/base.py | 1 - src/adapters/database/models/db2/log.py | 4 ++- src/adapters/database/repositories.py | 21 ------------ src/adapters/database/repository_gateway.py | 20 ----------- src/api/__init__.py | 2 +- src/api/create_dataset.py | 8 ++--- src/app.py | 1 - src/service/dataset_comments.py | 10 ------ src/service/dataset_general.py | 10 ------ src/unit_of_work.py | 37 --------------------- src/utils/repository.py | 1 - 14 files changed, 20 insertions(+), 117 deletions(-) delete mode 100644 src/adapters/database/repositories.py delete mode 100644 src/adapters/database/repository_gateway.py delete mode 100644 src/service/dataset_comments.py delete mode 100644 src/service/dataset_general.py delete mode 100644 src/unit_of_work.py diff --git a/src/adapters/database/models/__init__.py b/src/adapters/database/models/__init__.py index 838e916..f823457 100644 --- a/src/adapters/database/models/__init__.py +++ b/src/adapters/database/models/__init__.py @@ -2,4 +2,4 @@ from .db1.user import User as User from .db1.blog import Blog as Blog from .db1.post import Post as Post -from .db2.log import Log as Log \ No newline at end of file +from .db2.log import Log as Log diff --git a/src/adapters/database/models/common.py b/src/adapters/database/models/common.py index d006a96..2c7eabc 100644 --- a/src/adapters/database/models/common.py +++ b/src/adapters/database/models/common.py @@ -1,17 +1,20 @@ from enum import Enum from datetime import datetime, timezone + def utc_signed_now(): return datetime.now(timezone.utc) + class SpaceType(Enum): - GLOBAL=0 - BLOG=1 - POST=2 + GLOBAL = 0 + BLOG = 1 + POST = 2 + class EventType(Enum): - LOGIN=0 - COMMENT=1 - CREATE_POST=2 - DELETE_POST=3 - LOGOUT=4 + LOGIN = 0 + COMMENT = 1 + CREATE_POST = 2 + DELETE_POST = 3 + LOGOUT = 4 diff --git a/src/adapters/database/models/db1/post.py b/src/adapters/database/models/db1/post.py index 5d0203b..d4b977b 100644 --- a/src/adapters/database/models/db1/post.py +++ b/src/adapters/database/models/db1/post.py @@ -12,4 +12,3 @@ class Post(Base): text: Mapped[str] = mapped_column(default="") author_id: Mapped[int] = mapped_column(ForeignKey(User.id)) # author: Mapped[User] = relationship(lazy="selectin") - diff --git a/src/adapters/database/models/db2/base.py b/src/adapters/database/models/db2/base.py index d5a4c0b..fa13a24 100644 --- a/src/adapters/database/models/db2/base.py +++ b/src/adapters/database/models/db2/base.py @@ -8,4 +8,3 @@ class Base(AsyncAttrs, DeclarativeBase): """ id: Mapped[int] = mapped_column(autoincrement=True, primary_key=True) - diff --git a/src/adapters/database/models/db2/log.py b/src/adapters/database/models/db2/log.py index e20cc09..a1aebc2 100644 --- a/src/adapters/database/models/db2/log.py +++ b/src/adapters/database/models/db2/log.py @@ -10,7 +10,9 @@ from ..common import utc_signed_now, SpaceType, EventType class Log(Base): __tablename__ = "log" id: Mapped[int] = mapped_column(INTEGER, primary_key=True, autoincrement=True) - date_time: Mapped[datetime] = mapped_column("datetime", TIMESTAMP(timezone=True), default=utc_signed_now) + date_time: Mapped[datetime] = mapped_column( + "datetime", TIMESTAMP(timezone=True), default=utc_signed_now + ) user_id: Mapped[int] space_type: Mapped[SpaceType] event_type: Mapped[EventType] diff --git a/src/adapters/database/repositories.py b/src/adapters/database/repositories.py deleted file mode 100644 index 75cbb59..0000000 --- a/src/adapters/database/repositories.py +++ /dev/null @@ -1,21 +0,0 @@ -from src.utils.repository import SQLAlchemyRepository - -from .models import ( - User, - Blog, - Post, - Log -) - -class userRepository(SQLAlchemyRepository): - # here I can write methods only for this repository - model = User - -class BlogRepository(SQLAlchemyRepository): - model = Blog - -class PostRepository(SQLAlchemyRepository): - model = Post - -class LogRepository(SQLAlchemyRepository): - model = Log diff --git a/src/adapters/database/repository_gateway.py b/src/adapters/database/repository_gateway.py deleted file mode 100644 index 2382066..0000000 --- a/src/adapters/database/repository_gateway.py +++ /dev/null @@ -1,20 +0,0 @@ -from sqlalchemy.ext.asyncio import AsyncSession - -from src.adapters.database.repositories import ( - userRepository, - BlogRepository, - PostRepository, - LogRepository -) - - -class RepositoriesGatewayDB1: - def __init__(self, session: AsyncSession): - self.user = userRepository(session) - self.blog = BlogRepository(session) - self.post = PostRepository(session) - - -class RepositoriesGatewayDB2: - def __init__(self, session: AsyncSession): - self.log = LogRepository(session) diff --git a/src/api/__init__.py b/src/api/__init__.py index 6ba29b9..bced696 100644 --- a/src/api/__init__.py +++ b/src/api/__init__.py @@ -1 +1 @@ -from .healthcheck import healthcheck_router as healthcheck_router \ No newline at end of file +from .healthcheck import healthcheck_router as healthcheck_router diff --git a/src/api/create_dataset.py b/src/api/create_dataset.py index 82390c8..8fe9ddc 100644 --- a/src/api/create_dataset.py +++ b/src/api/create_dataset.py @@ -2,19 +2,19 @@ from typing import Annotated from fastapi import APIRouter, Depends -from src.unit_of_work import UnitOfWork dataset_router = APIRouter() @dataset_router.get("/comments", response_model=None) -async def get_database_comments(uow: Annotated[UnitOfWork, Depends(UnitOfWork)]): +async def get_database_comments(): pass # async with uow: # return await FavouriteService(uow, jwt_token).get_favourites( # page=page, limit=limit # ) + @dataset_router.get("/general", response_model=None) -async def get_database_general(uow: Annotated[UnitOfWork, Depends(UnitOfWork)]): - pass \ No newline at end of file +async def get_database_general(): + pass diff --git a/src/app.py b/src/app.py index edac3dc..41cf69e 100644 --- a/src/app.py +++ b/src/app.py @@ -20,4 +20,3 @@ app.include_router(healthcheck_router) main_app_router = APIRouter(prefix="/api") app.include_router(main_app_router) - diff --git a/src/service/dataset_comments.py b/src/service/dataset_comments.py deleted file mode 100644 index 23109eb..0000000 --- a/src/service/dataset_comments.py +++ /dev/null @@ -1,10 +0,0 @@ -from src.unit_of_work import UnitOfWork - - -class DatasetCommentsService: - def __init__(self, uow: UnitOfWork): - self.uow = uow - - async def get_dataset(self): - # data = await self.uow.repositories - pass \ No newline at end of file diff --git a/src/service/dataset_general.py b/src/service/dataset_general.py deleted file mode 100644 index b4af07d..0000000 --- a/src/service/dataset_general.py +++ /dev/null @@ -1,10 +0,0 @@ -from src.unit_of_work import UnitOfWork - - -class DatasetGeneralService: - def __init__(self, uow: UnitOfWork): - self.uow = uow - - async def get_dataset(self): - # data = await self.uow.repositories - pass diff --git a/src/unit_of_work.py b/src/unit_of_work.py deleted file mode 100644 index 1981375..0000000 --- a/src/unit_of_work.py +++ /dev/null @@ -1,37 +0,0 @@ -from asyncio import shield - -from src.adapters.database.repository_gateway import RepositoriesGatewayDB1, RepositoriesGatewayDB2 -from src.adapters.database.session import async_session_maker_db1, async_session_maker_db2 - -from src.utils.repository import _sentinel - - -class UnitOfWork: - repositories = _sentinel - - - def __init__(self): - self.db1_session_factory = async_session_maker_db1 - self.db2_session_factory = async_session_maker_db2 - - async def __aenter__(self): - self.db1_session = self.db1_session_factory() - self.db2_session = self.db2_session_factory() - - self.repositories_db1 = RepositoriesGatewayDB1(self.db1_session) - self.repositories_db2 = RepositoriesGatewayDB2(self.db2_session) - - return self - - async def __aexit__(self, *args): - await self.rollback() - await shield(self.db1_session.close()) - await shield(self.db2_session.close()) - - async def commit(self): - await self.db1_session.commit() - await self.db2_session.commit() - - async def rollback(self): - await self.db1_session.rollback() - await self.db2_session.rollback() diff --git a/src/utils/repository.py b/src/utils/repository.py index acb3f6d..9608831 100644 --- a/src/utils/repository.py +++ b/src/utils/repository.py @@ -140,4 +140,3 @@ class SQLAlchemyRepository(AbstractRepository): res = await self.session.execute(stmt) return res.scalars() -