Implement buy flow and migrate DTOs to schemas

Move DTO definitions from dto/ to schemas/ and update imports.
Add buy handler with FSM state management for device selection,
whitelist toggling, and duration choice. Include pricing logic,
inline keyboards, and new configuration fields.
This commit is contained in:
2026-04-08 19:34:25 +07:00
parent fc45816eba
commit 930fabc028
17 changed files with 291 additions and 50 deletions

View File

@@ -6,8 +6,8 @@ from remnawave import RemnawaveSDK
from config import settings
from db.models.tickets import TicketStatus
from db.models.users import User
from dto.tickets import NewTicketDTO
from dto.users import NewUserDTO, TicketCreator
from schemas.tickets import NewTicketDTO
from schemas.users import NewUserDTO, TicketCreator
from repositories import UserRepository
from repositories.tickets import TicketRepository
from services.rw import RWUserInfo, get_user_by_telegram_id
@@ -107,7 +107,6 @@ class UserService:
if ticket:
try:
print(ticket.thread_id)
await msg.copy_to(
chat_id=settings.admin_group_id, message_thread_id=ticket.thread_id
)