feat: переименование доменной области
This commit is contained in:
26
src/usecase/project/disconnect_project_by_tg_id.py
Normal file
26
src/usecase/project/disconnect_project_by_tg_id.py
Normal file
@@ -0,0 +1,26 @@
|
||||
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_project_by_tg_id(self: 'Usecase', input: dto.DisconnectProjectByTgIdInput) -> None:
|
||||
user = await self.database.get_user(telegram_id=input.user_telegram_id)
|
||||
if not user:
|
||||
log.warning(f'User with telegram_id {input.user_telegram_id} not found when disconnecting channel')
|
||||
return
|
||||
|
||||
project = await self.database.get_project_for_user_by_telegram(user.id, input.telegram_id)
|
||||
if not project:
|
||||
log.warning(f'Project channel {input.telegram_id} not found')
|
||||
raise domain.ProjectNotFound()
|
||||
|
||||
project.status = domain.ProjectStatus.ARCHIVED
|
||||
await self.database.update_project(project)
|
||||
|
||||
log.info('Project %s archived for channel %s', project.id, input.telegram_id)
|
||||
Reference in New Issue
Block a user