From c8e1863ee694354fafcb0cbfe8d7eee9828bffc2 Mon Sep 17 00:00:00 2001 From: IluaAir Date: Thu, 7 Aug 2025 00:20:05 +0300 Subject: [PATCH] ruff format --- src/api/v1/tasks.py | 11 ++++- src/core/database.py | 5 +-- ...97b195208e8_add_cascade_delete_to_tasks.py | 42 ++++++++----------- ...4b0f3ea2fd26_fix_duplicate_foreign_keys.py | 36 +++++++--------- src/models/users.py | 4 +- src/services/tasks.py | 4 ++ 6 files changed, 51 insertions(+), 51 deletions(-) create mode 100644 src/services/tasks.py diff --git a/src/api/v1/tasks.py b/src/api/v1/tasks.py index 88369ab..35c51dd 100644 --- a/src/api/v1/tasks.py +++ b/src/api/v1/tasks.py @@ -1,10 +1,19 @@ from fastapi import APIRouter +from sqlalchemy import select + +from src.api.dependacies.db_dep import sessionDep +from src.api.dependacies.user_dep import ActiveUser +from src.models.tasks import TasksORM router = APIRouter(prefix="/tasks", tags=["Tasks"]) @router.get("/") -async def get_tasks(): ... +async def get_tasks(db: sessionDep, user: ActiveUser): + query = select(TasksORM.id, TasksORM.description).where(TasksORM.user_id == user.id) + tasks = await db.session.execute(query) + result = tasks.scalars().all() + return result @router.get("/{task_id}") diff --git a/src/core/database.py b/src/core/database.py index 901bc1a..87fdd37 100644 --- a/src/core/database.py +++ b/src/core/database.py @@ -6,10 +6,7 @@ from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column from src.core.settings import settings -engine = create_async_engine( - settings.db.url, - echo=True -) +engine = create_async_engine(settings.db.url, echo=True) @event.listens_for(engine.sync_engine, "connect") diff --git a/src/migrations/versions/2025_08_06_2341-197b195208e8_add_cascade_delete_to_tasks.py b/src/migrations/versions/2025_08_06_2341-197b195208e8_add_cascade_delete_to_tasks.py index a64aa6b..7ae6d46 100644 --- a/src/migrations/versions/2025_08_06_2341-197b195208e8_add_cascade_delete_to_tasks.py +++ b/src/migrations/versions/2025_08_06_2341-197b195208e8_add_cascade_delete_to_tasks.py @@ -5,6 +5,7 @@ Revises: a2fdd0ec4a96 Create Date: 2025-08-06 23:41:56.778423 """ + from typing import Sequence, Union from alembic import op @@ -12,8 +13,8 @@ import sqlalchemy as sa # revision identifiers, used by Alembic. -revision: str = '197b195208e8' -down_revision: Union[str, None] = 'a2fdd0ec4a96' +revision: str = "197b195208e8" +down_revision: Union[str, None] = "a2fdd0ec4a96" branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None @@ -21,45 +22,38 @@ depends_on: Union[str, Sequence[str], None] = None def upgrade(): """Upgrade schema.""" op.execute("PRAGMA foreign_keys=ON") - - with op.batch_alter_table('tasks', schema=None) as batch_op: + + with op.batch_alter_table("tasks", schema=None) as batch_op: connection = op.get_bind() inspector = sa.inspect(connection) - - foreign_keys = inspector.get_foreign_keys('tasks') + + foreign_keys = inspector.get_foreign_keys("tasks") constraint_name = None - + for fk in foreign_keys: - if 'user_id' in fk['constrained_columns']: - constraint_name = fk['name'] + if "user_id" in fk["constrained_columns"]: + constraint_name = fk["name"] break - + if constraint_name: try: - batch_op.drop_constraint(constraint_name, type_='foreignkey') + batch_op.drop_constraint(constraint_name, type_="foreignkey") except: pass - + batch_op.create_foreign_key( - 'fk_tasks_user_id_users', - 'users', - ['user_id'], - ['id'], - ondelete='CASCADE' + "fk_tasks_user_id_users", "users", ["user_id"], ["id"], ondelete="CASCADE" ) def downgrade(): """Downgrade schema.""" - with op.batch_alter_table('tasks', schema=None) as batch_op: + with op.batch_alter_table("tasks", schema=None) as batch_op: try: - batch_op.drop_constraint('fk_tasks_user_id_users', type_='foreignkey') + batch_op.drop_constraint("fk_tasks_user_id_users", type_="foreignkey") except: pass - + batch_op.create_foreign_key( - 'fk_tasks_user_id_users', - 'users', - ['user_id'], - ['id'] + "fk_tasks_user_id_users", "users", ["user_id"], ["id"] ) diff --git a/src/migrations/versions/2025_08_06_2354-4b0f3ea2fd26_fix_duplicate_foreign_keys.py b/src/migrations/versions/2025_08_06_2354-4b0f3ea2fd26_fix_duplicate_foreign_keys.py index 66d8110..5fe2d40 100644 --- a/src/migrations/versions/2025_08_06_2354-4b0f3ea2fd26_fix_duplicate_foreign_keys.py +++ b/src/migrations/versions/2025_08_06_2354-4b0f3ea2fd26_fix_duplicate_foreign_keys.py @@ -5,6 +5,7 @@ Revises: 197b195208e8 Create Date: 2025-08-06 23:54:24.308488 """ + from typing import Sequence, Union from alembic import op @@ -12,8 +13,8 @@ import sqlalchemy as sa # revision identifiers, used by Alembic. -revision: str = '4b0f3ea2fd26' -down_revision: Union[str, None] = '197b195208e8' +revision: str = "4b0f3ea2fd26" +down_revision: Union[str, None] = "197b195208e8" branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None @@ -21,39 +22,32 @@ depends_on: Union[str, Sequence[str], None] = None def upgrade(): """Upgrade schema.""" op.execute("PRAGMA foreign_keys=ON") - - with op.batch_alter_table('tasks', schema=None) as batch_op: + + with op.batch_alter_table("tasks", schema=None) as batch_op: connection = op.get_bind() inspector = sa.inspect(connection) - - foreign_keys = inspector.get_foreign_keys('tasks') - + + foreign_keys = inspector.get_foreign_keys("tasks") + for fk in foreign_keys: - if 'user_id' in fk['constrained_columns']: + if "user_id" in fk["constrained_columns"]: try: - batch_op.drop_constraint(fk['name'], type_='foreignkey') + batch_op.drop_constraint(fk["name"], type_="foreignkey") except: pass - + batch_op.create_foreign_key( - 'fk_tasks_user_id_users', - 'users', - ['user_id'], - ['id'], - ondelete='CASCADE' + "fk_tasks_user_id_users", "users", ["user_id"], ["id"], ondelete="CASCADE" ) def downgrade(): """Downgrade schema.""" - with op.batch_alter_table('tasks', schema=None) as batch_op: + with op.batch_alter_table("tasks", schema=None) as batch_op: try: - batch_op.drop_constraint('fk_tasks_user_id_users', type_='foreignkey') + batch_op.drop_constraint("fk_tasks_user_id_users", type_="foreignkey") except: pass batch_op.create_foreign_key( - 'fk_tasks_user_id_users', - 'users', - ['user_id'], - ['id'] + "fk_tasks_user_id_users", "users", ["user_id"], ["id"] ) diff --git a/src/models/users.py b/src/models/users.py index d11aa13..407c29b 100644 --- a/src/models/users.py +++ b/src/models/users.py @@ -23,4 +23,6 @@ class UsersORM(Base): avatar_path: Mapped[Optional[str]] = mapped_column(String(255), nullable=True) is_active: Mapped[bool] = mapped_column(Boolean, nullable=False, default=True) is_superuser: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False) - tasks: Mapped[list["TasksORM"]] = relationship(back_populates="user", cascade="all, delete-orphan") + tasks: Mapped[list["TasksORM"]] = relationship( + back_populates="user", cascade="all, delete-orphan" + ) diff --git a/src/services/tasks.py b/src/services/tasks.py new file mode 100644 index 0000000..5d19bf9 --- /dev/null +++ b/src/services/tasks.py @@ -0,0 +1,4 @@ +from services.base import BaseService + + +class TasksService(BaseService): ...