feat(autorenewal): implement automatic subscription renewal system
This commit is contained in:
@@ -166,9 +166,6 @@ async def toggle_autorenewal(
|
||||
cb: CallbackQuery, state: FSMContext, session: AsyncSession, deps: DependenciesDTO
|
||||
):
|
||||
await state.clear()
|
||||
await cb.answer(NOTHING_PLACEHOLDER + " В разработке.")
|
||||
return
|
||||
|
||||
await cb.message.edit_text(GENERAL_PROCESSING)
|
||||
sub = await deps.subscriptions_repository.get_subscription_by_user_id(session, cb.from_user.id)
|
||||
|
||||
@@ -186,7 +183,24 @@ async def toggle_autorenewal(
|
||||
session, cb.from_user.id, deps.rw_sdk
|
||||
)
|
||||
|
||||
await cb.answer(GENERAL_SUCCESS)
|
||||
status_text = "включено" if new_autorenew else "отключено"
|
||||
await cb.answer(f"Автопродление {status_text}")
|
||||
await cb.message.edit_text(
|
||||
deps.user_service.format_subscription_message(
|
||||
rw_user, link=user.subscription_link, autorenew=sub.autorenew
|
||||
),
|
||||
reply_markup=subscription_controls(
|
||||
show_autorenew=bool(rw_user), current_autorenewal_status=sub.autorenew
|
||||
),
|
||||
)
|
||||
|
||||
rw_user = await get_user_by_telegram_id(deps.rw_sdk, cb.from_user.id)
|
||||
user: User | None = await deps.user_service.update_user_link(
|
||||
session, cb.from_user.id, deps.rw_sdk
|
||||
)
|
||||
|
||||
status_text = "включено" if new_autorenew else "отключено"
|
||||
await cb.answer(f"Автопродление {status_text}")
|
||||
await cb.message.edit_text(
|
||||
deps.user_service.format_subscription_message(
|
||||
rw_user, link=user.subscription_link, autorenew=sub.autorenew
|
||||
|
||||
Reference in New Issue
Block a user