Переделаны часть обработчиков и роутов для работы с тикетами.
This commit is contained in:
@@ -21,7 +21,11 @@ class DatabaseManager:
|
||||
self.logger = logging.getLogger(__name__)
|
||||
self.mongo_repo = MongoDBRepository()
|
||||
self.postgres_repo = PostgresRepository(session_generator, self.logger)
|
||||
|
||||
async def get_active_tickets(self, user_id: UUID):
|
||||
"""
|
||||
Получает активные подписки пользователя
|
||||
"""
|
||||
return await self.postgres_repo.list_active_tickets(user_id)
|
||||
async def create_user(self, telegram_id: int):
|
||||
"""
|
||||
Создаёт пользователя.
|
||||
@@ -245,7 +249,11 @@ class DatabaseManager:
|
||||
self.logger.error(f"Ошибка при генерации URI для пользователя {telegram_id}: {e}")
|
||||
return None
|
||||
|
||||
|
||||
async def get_ticket(self,ticket_id: int):
|
||||
"""
|
||||
Ищет тикет по айди
|
||||
"""
|
||||
return await self.postgres_repo.get_ticket(ticket_id)
|
||||
|
||||
async def create_ticket(self, user_id: UUID, subject: str, message: str):
|
||||
"""
|
||||
@@ -253,6 +261,38 @@ class DatabaseManager:
|
||||
"""
|
||||
ticket = SupportTicket(user_id=user_id,subject=subject,message=message)
|
||||
return await self.postgres_repo.add_record(ticket)
|
||||
|
||||
async def add_message_to_ticket(self,ticket_id : int,sender: str,message: str):
|
||||
"""
|
||||
Добавляет сообщения к тикету
|
||||
"""
|
||||
message = TicketMessage(ticket_id=ticket_id, sender=sender, message=message)
|
||||
result = await self.postgres_repo.add_record(message)
|
||||
if result == None:
|
||||
return "ERROR"
|
||||
return "OK"
|
||||
|
||||
async def get_ticket_messages(self,ticket_id: int):
|
||||
"""
|
||||
Получает сообщения тикета
|
||||
"""
|
||||
return await self.postgres_repo.get_ticket_messages(ticket_id)
|
||||
|
||||
async def update_ticket_status(self, ticket_id: int, new_status: str):
|
||||
"""
|
||||
Обновляет статус тикета.
|
||||
|
||||
Args:
|
||||
ticket_id (int): ID тикета, статус которого нужно обновить.
|
||||
new_status (str): Новый статус тикета.
|
||||
|
||||
Returns:
|
||||
dict: Словарь с ID тикета и обновлённым статусом.
|
||||
|
||||
Raises:
|
||||
ValueError: Если тикет не найден.
|
||||
"""
|
||||
return await self.postgres_repo.set_new_status(ticket_id,new_status)
|
||||
|
||||
@staticmethod
|
||||
def generate_string(length):
|
||||
|
||||
Reference in New Issue
Block a user