Вроде пофиксил всё
This commit is contained in:
@@ -4,6 +4,7 @@ from app.services.db_manager import DatabaseManager
|
||||
from sqlalchemy.exc import SQLAlchemyError
|
||||
from instance.configdb import get_database_manager
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
from uuid import UUID
|
||||
import logging
|
||||
|
||||
@@ -15,13 +16,14 @@ router = APIRouter()
|
||||
# Модели запросов и ответов
|
||||
class CreateUserRequest(BaseModel):
|
||||
telegram_id: str
|
||||
referrer_id: str
|
||||
referrer_id: Optional[str] = None
|
||||
|
||||
class UserResponse(BaseModel):
|
||||
id: UUID
|
||||
telegram_id: str
|
||||
username: str
|
||||
username: Optional[str]
|
||||
balance: float
|
||||
referrer_id: Optional[str]
|
||||
created_at: str
|
||||
updated_at: str
|
||||
|
||||
@@ -44,7 +46,7 @@ async def create_user(
|
||||
telegram_id=user.telegram_id,
|
||||
username=user.username,
|
||||
balance=user.balance,
|
||||
referrer_id = user.referrer_id,
|
||||
referrer_id=user.referrer_id if user.referrer_id is not None else None,
|
||||
created_at=user.created_at.isoformat(),
|
||||
updated_at=user.updated_at.isoformat()
|
||||
)
|
||||
@@ -70,11 +72,12 @@ async def get_user(
|
||||
|
||||
logger.info(f"Пользователь найден: ID={user.id}, Username={user.username}")
|
||||
|
||||
user_response = UserResponse(
|
||||
return UserResponse(
|
||||
id=user.id,
|
||||
telegram_id=user.telegram_id,
|
||||
username=user.username,
|
||||
balance=user.balance,
|
||||
referrer_id=user.referrer_id if user.referrer_id is not None else None,
|
||||
created_at=user.created_at.isoformat(),
|
||||
updated_at=user.updated_at.isoformat()
|
||||
)
|
||||
|
||||
@@ -9,6 +9,7 @@ from dateutil.relativedelta import relativedelta
|
||||
from datetime import datetime
|
||||
import random
|
||||
import string
|
||||
from typing import Optional
|
||||
import logging
|
||||
from uuid import UUID
|
||||
|
||||
@@ -26,12 +27,16 @@ class DatabaseManager:
|
||||
Получает активные подписки пользователя
|
||||
"""
|
||||
return await self.postgres_repo.list_active_tickets(user_id)
|
||||
async def create_user(self, telegram_id: str, referrer_id: str):
|
||||
|
||||
async def create_user(self, telegram_id: str, referrer_id: Optional[str]= None):
|
||||
"""
|
||||
Создаёт пользователя.
|
||||
"""
|
||||
username = self.generate_string(6)
|
||||
return await self.postgres_repo.create_user(telegram_id, username, str)
|
||||
try:
|
||||
username = self.generate_string(6)
|
||||
return await self.postgres_repo.create_user(telegram_id, username, referrer_id)
|
||||
except Exception as e:
|
||||
self.logger.error(f"Ошибка при создании пользователя:{e}")
|
||||
|
||||
async def get_user_by_telegram_id(self, telegram_id: str):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user