feat: убираем денормализацию (антипреждевременная оптимизация)
This commit is contained in:
@@ -34,19 +34,13 @@ async def handle_unsubscription(self: 'Usecase', user_telegram_id: int, channel_
|
||||
return
|
||||
|
||||
for subscription in subscriptions:
|
||||
async with self.database.transaction():
|
||||
subscription.status = domain.SubscriptionStatus.UNSUBSCRIBED
|
||||
subscription.unsubscribed_at = timezone.now()
|
||||
await self.database.update_subscription(subscription)
|
||||
subscription.status = domain.SubscriptionStatus.UNSUBSCRIBED
|
||||
subscription.unsubscribed_at = timezone.now()
|
||||
await self.database.update_subscription(subscription)
|
||||
|
||||
placement = subscription.placement
|
||||
if placement.subscriptions_count > 0:
|
||||
placement.subscriptions_count -= 1
|
||||
await self.database.update_placement(placement)
|
||||
|
||||
log.info(
|
||||
'Subscription marked as unsubscribed: subscriber %s (telegram_id: %s) unsubscribed from placement %s',
|
||||
subscriber.id,
|
||||
user_telegram_id,
|
||||
placement.id,
|
||||
)
|
||||
log.info(
|
||||
'Subscription marked as unsubscribed: subscriber %s (telegram_id: %s) unsubscribed from placement %s',
|
||||
subscriber.id,
|
||||
user_telegram_id,
|
||||
subscription.placement_id,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user