Изменение эндпоинтов и БД для работы с длинными telegram_id(сменил тип данных с инт на стринг)

This commit is contained in:
Disledg
2025-01-18 15:48:02 +03:00
parent 1aabe8f88e
commit 6d6b8832cf
6 changed files with 23 additions and 19 deletions

View File

@@ -26,14 +26,14 @@ class DatabaseManager:
Получает активные подписки пользователя
"""
return await self.postgres_repo.list_active_tickets(user_id)
async def create_user(self, telegram_id: int):
async def create_user(self, telegram_id: str, referrer_id: str):
"""
Создаёт пользователя.
"""
username = self.generate_string(6)
return await self.postgres_repo.create_user(telegram_id, username)
return await self.postgres_repo.create_user(telegram_id, username, str)
async def get_user_by_telegram_id(self, telegram_id: int):
async def get_user_by_telegram_id(self, telegram_id: str):
"""
Возвращает пользователя по Telegram ID.
"""
@@ -56,7 +56,7 @@ class DatabaseManager:
"""
return await self.postgres_repo.get_last_transactions(user_id, limit)
async def update_balance(self, telegram_id: int, amount: float):
async def update_balance(self, telegram_id: str, amount: float):
"""
Обновляет баланс пользователя и добавляет транзакцию.
"""
@@ -76,7 +76,7 @@ class DatabaseManager:
return "OK"
async def get_active_subscription(self, telegram_id: int):
async def get_active_subscription(self, telegram_id: str):
"""
Проверяет наличие активной подписки.
"""
@@ -170,7 +170,7 @@ class DatabaseManager:
return new_subscription, server
async def generate_uri(self, telegram_id: int):
async def generate_uri(self, telegram_id: str):
"""
Генерация URI для пользователя.

View File

@@ -12,13 +12,13 @@ class PostgresRepository:
self.session_generator = session_generator
self.logger = logger
async def create_user(self, telegram_id: int, username: str):
async def create_user(self, telegram_id: str, username: str, referrer_id: str):
"""
Создаёт нового пользователя в PostgreSQL.
"""
async for session in self.session_generator():
try:
new_user = User(telegram_id=telegram_id, username=username)
new_user = User(telegram_id=telegram_id, username=username, referrer_id=referrer_id)
session.add(new_user)
await session.commit()
return new_user
@@ -27,7 +27,7 @@ class PostgresRepository:
await session.rollback()
return None
async def get_active_subscription(self, telegram_id: int):
async def get_active_subscription(self, telegram_id: str):
"""
Проверяет наличие активной подписки у пользователя.
"""
@@ -45,7 +45,7 @@ class PostgresRepository:
self.logger.error(f"Ошибка проверки активной подписки для пользователя {telegram_id}: {e}")
return None
async def get_user_by_telegram_id(self, telegram_id: int):
async def get_user_by_telegram_id(self, telegram_id: str):
"""
Возвращает пользователя по Telegram ID.
"""