ref: рефакторинг usecases
This commit is contained in:
@@ -22,34 +22,31 @@ async def update_target_chan_permissions(self: 'Usecase', input: dto.UpdateTarge
|
||||
log.warning(f'User with telegram_id {input.user_telegram_id} not found when updating channel permissions')
|
||||
return
|
||||
|
||||
async with self.database.transaction():
|
||||
channel = await self.database.get_target_channel(user.id, telegram_id=input.telegram_id)
|
||||
if not channel:
|
||||
log.warning(f'Target channel {input.telegram_id} not found when permissions changed')
|
||||
raise domain.TargetChannelNotFound()
|
||||
channel = await self.database.get_target_channel(user.id, telegram_id=input.telegram_id)
|
||||
if not channel:
|
||||
log.warning(f'Target channel {input.telegram_id} not found when permissions changed')
|
||||
raise domain.TargetChannelNotFound()
|
||||
|
||||
if not missing_permissions:
|
||||
if channel.status != domain.TargetChannelStatus.ACTIVE:
|
||||
channel.status = domain.TargetChannelStatus.ACTIVE
|
||||
await self.database.update_target_channel(channel)
|
||||
|
||||
await self.telegram_bot.send_message(
|
||||
f'✅ Канал "{input.chat_title}" был активирован.\n\nВсе необходимые права боту предоставлены!',
|
||||
chat_id=input.user_telegram_id,
|
||||
)
|
||||
log.info(f'Target channel {input.telegram_id} reactivated - all permissions granted')
|
||||
return
|
||||
|
||||
if channel.status == domain.TargetChannelStatus.ACTIVE:
|
||||
channel.status = domain.TargetChannelStatus.INACTIVE
|
||||
if not missing_permissions:
|
||||
if channel.status != domain.TargetChannelStatus.ACTIVE:
|
||||
channel.status = domain.TargetChannelStatus.ACTIVE
|
||||
await self.database.update_target_channel(channel)
|
||||
|
||||
missed_permissions = '\n'.join(f'• {p}' for p in missing_permissions)
|
||||
await self.telegram_bot.send_message(
|
||||
f'⚠️ Канал "{input.chat_title}" был деактивирован.\
|
||||
\n\nБоту убрали необходимые права:\n{missed_permissions}',
|
||||
chat_id=input.user_telegram_id,
|
||||
)
|
||||
log.warning(
|
||||
f'Target channel {input.telegram_id} deactivated due to missing permissions: {missing_permissions}'
|
||||
f'✅ Канал "{input.chat_title}" был активирован.\n\nВсе необходимые права боту предоставлены!',
|
||||
input.user_telegram_id,
|
||||
)
|
||||
log.info(f'Target channel {input.telegram_id} reactivated - all permissions granted')
|
||||
return
|
||||
|
||||
if channel.status == domain.TargetChannelStatus.ACTIVE:
|
||||
channel.status = domain.TargetChannelStatus.INACTIVE
|
||||
await self.database.update_target_channel(channel)
|
||||
|
||||
missed_permissions = '\n'.join(f'• {p}' for p in missing_permissions)
|
||||
await self.telegram_bot.send_message(
|
||||
f'⚠️ Канал "{input.chat_title}" был деактивирован.\
|
||||
\n\nБоту убрали необходимые права:\n{missed_permissions}',
|
||||
input.user_telegram_id,
|
||||
)
|
||||
log.warning(f'Target channel {input.telegram_id} deactivated due to missing permissions: {missing_permissions}')
|
||||
|
||||
Reference in New Issue
Block a user