From eb1005c995e042efd53d4a56bad8c3ad39e5d071 Mon Sep 17 00:00:00 2001 From: Artem Tsyrulnikov Date: Thu, 11 Dec 2025 18:16:21 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20target=20chan=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA?= =?UTF-8?q?=D0=BE=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20telegram?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 9 +++++++++ src/controller/http/target_channels.py | 14 ------------- src/dto/target_channel.py | 5 ----- src/usecase/__init__.py | 2 -- .../target_channel/disconnect_target_chan.py | 20 ------------------- 5 files changed, 9 insertions(+), 41 deletions(-) delete mode 100644 src/usecase/target_channel/disconnect_target_chan.py diff --git a/Makefile b/Makefile index 5dfe2ca..a06232b 100644 --- a/Makefile +++ b/Makefile @@ -11,6 +11,15 @@ up: migrate: docker exec -it tgex-backend-backend-1 .venv/bin/alembic upgrade head +migrate-init: + export $$(cat .env | xargs) && aerich init-db + +migrate-create: + export $$(cat .env | xargs) && aerich migrate + +migrate-up: + export $$(cat .env | xargs) && aerich upgrade + down: docker compose down diff --git a/src/controller/http/target_channels.py b/src/controller/http/target_channels.py index 0cb3a25..d6a1473 100644 --- a/src/controller/http/target_channels.py +++ b/src/controller/http/target_channels.py @@ -1,4 +1,3 @@ -import uuid from typing import Annotated from fastapi import Depends @@ -19,16 +18,3 @@ async def get_user_target_chans( ) return await deps.get_usecase().get_user_target_chans(input=input) - - -@target_channels_router.delete('/{channel_id}') -async def disconnect_target_chan( - channel_id: uuid.UUID, - current_user: Annotated[JWTPayload, Depends(deps.get_current_user)], -) -> None: - input = dto.DisconnectTargetChanInput( - channel_id=channel_id, - user_id=current_user.user_id, - ) - - await deps.get_usecase().disconnect_target_chan(input=input) diff --git a/src/dto/target_channel.py b/src/dto/target_channel.py index 5979672..58abe8d 100644 --- a/src/dto/target_channel.py +++ b/src/dto/target_channel.py @@ -43,11 +43,6 @@ class GetUserTargetChansOutput(pydantic.BaseModel): target_channels: list[ConnectTargetChanOutput] -class DisconnectTargetChanInput(pydantic.BaseModel): - channel_id: uuid.UUID - user_id: uuid.UUID - - class DisconnectTargetChanByTgIdInput(pydantic.BaseModel): telegram_id: int user_telegram_id: int diff --git a/src/usecase/__init__.py b/src/usecase/__init__.py index 456ba11..d56b69c 100644 --- a/src/usecase/__init__.py +++ b/src/usecase/__init__.py @@ -37,7 +37,6 @@ from .placement.update_placement import update_placement from .subscription.handle_subscription import handle_subscription from .subscription.handle_unsubscription import handle_unsubscription from .target_channel.connect_target_chan import connect_target_chan -from .target_channel.disconnect_target_chan import disconnect_target_chan from .target_channel.disconnect_target_chan_by_tg_id import disconnect_target_chan_by_tg_id from .target_channel.get_user_target_chans import get_user_target_chans from .target_channel.update_target_chan_permissions import update_target_chan_permissions @@ -188,7 +187,6 @@ class Usecase: get_me = get_me connect_target_chan = connect_target_chan get_user_target_chans = get_user_target_chans - disconnect_target_chan = disconnect_target_chan disconnect_target_chan_by_tg_id = disconnect_target_chan_by_tg_id update_target_chan_permissions = update_target_chan_permissions get_external_channels = get_external_channels diff --git a/src/usecase/target_channel/disconnect_target_chan.py b/src/usecase/target_channel/disconnect_target_chan.py deleted file mode 100644 index 50c88fe..0000000 --- a/src/usecase/target_channel/disconnect_target_chan.py +++ /dev/null @@ -1,20 +0,0 @@ -import logging -from typing import TYPE_CHECKING - -from src import domain, dto - -if TYPE_CHECKING: - from .. import Usecase - -log = logging.getLogger(__name__) - - -async def disconnect_target_chan(self: 'Usecase', input: dto.DisconnectTargetChanInput) -> None: - channel = await self.database.get_target_channel(channel_id=input.channel_id, user_id=input.user_id) - if not channel: - raise domain.TargetChannelNotFound(input.channel_id) - - channel.status = domain.TargetChannelStatus.INACTIVE - await self.database.update_target_channel(channel) - - log.info(f'Target channel {input.channel_id} deactivated')