48 lines
1.7 KiB
Python
48 lines
1.7 KiB
Python
"""Script para verificar información del ticket"""
|
|
import asyncio
|
|
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
|
|
from sqlalchemy.orm import sessionmaker
|
|
from sqlalchemy import select
|
|
from app.models.ticket import Ticket
|
|
from app.models.user import User
|
|
import uuid
|
|
import os
|
|
|
|
async def check_ticket():
|
|
database_url = os.getenv('DATABASE_URL', 'postgresql+asyncpg://postgres:postgres@db:5432/servicemanager')
|
|
engine = create_async_engine(database_url)
|
|
async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False)
|
|
|
|
ticket_id = '2bd79718-440d-4144-b660-c0c6051fcf73'
|
|
|
|
async with async_session() as session:
|
|
result = await session.execute(
|
|
select(Ticket).where(Ticket.id == uuid.UUID(ticket_id))
|
|
)
|
|
ticket = result.scalar_one_or_none()
|
|
|
|
if ticket:
|
|
creator_result = await session.execute(
|
|
select(User).where(User.id == ticket.created_by)
|
|
)
|
|
creator = creator_result.scalar_one_or_none()
|
|
|
|
print(f'Ticket found:')
|
|
print(f' ID: {ticket.id}')
|
|
print(f' Number: {ticket.ticket_number}')
|
|
print(f' Subject: {ticket.subject}')
|
|
print(f' Status: {ticket.status}')
|
|
print(f' Tenant ID: {ticket.tenant_id}')
|
|
print(f' Created by ID: {ticket.created_by}')
|
|
if creator:
|
|
print(f' Creator email: {creator.email}')
|
|
print(f' Creator role: {creator.role}')
|
|
print(f' Assigned to: {ticket.assigned_to}')
|
|
else:
|
|
print('Ticket not found')
|
|
|
|
await engine.dispose()
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(check_ticket())
|