Update routes/support.py
Browse files- routes/support.py +22 -6
routes/support.py
CHANGED
@@ -61,7 +61,7 @@ class CreateTicketRequest(BaseModel):
|
|
61 |
|
62 |
def format_datetime(dt_str):
|
63 |
dt = parser.isoparse(dt_str)
|
64 |
-
return dt.strftime("%m/%d/%Y, %
|
65 |
|
66 |
@router.get("/ticket/user")
|
67 |
async def get_user_tickets(
|
@@ -84,7 +84,8 @@ async def get_user_tickets(
|
|
84 |
|
85 |
for ticket in tickets:
|
86 |
ticket_id = ticket["id"]
|
87 |
-
ticket_created =
|
|
|
88 |
|
89 |
# Buscar a primeira mensagem (ordem crescente)
|
90 |
async with session.get(
|
@@ -103,21 +104,36 @@ async def get_user_tickets(
|
|
103 |
) as all_msg_resp:
|
104 |
all_messages = await all_msg_resp.json() if all_msg_resp.status == 200 else []
|
105 |
|
106 |
-
history = [f"Ticket created on {ticket_created}"]
|
107 |
|
108 |
# Verifica se houve resposta do suporte
|
109 |
support_reply = next((m for m in all_messages if m["user"] != user_id), None)
|
110 |
if support_reply:
|
111 |
assigned_time = format_datetime(support_reply["created_at"])
|
112 |
-
history.append(f"Assigned to Fernando J. on {assigned_time}")
|
113 |
|
114 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
if not support_reply and all_messages:
|
116 |
last_msg_time = format_datetime(all_messages[-1]["created_at"])
|
117 |
history.append(f"Last updated on {last_msg_time}")
|
118 |
|
|
|
|
|
|
|
119 |
ticket_results.append({
|
120 |
-
"ticket":
|
121 |
"first_message": first_message,
|
122 |
"history": history
|
123 |
})
|
|
|
61 |
|
62 |
def format_datetime(dt_str):
|
63 |
dt = parser.isoparse(dt_str)
|
64 |
+
return dt.strftime("%m/%d/%Y, %I:%M %p") # Hora com AM/PM
|
65 |
|
66 |
@router.get("/ticket/user")
|
67 |
async def get_user_tickets(
|
|
|
84 |
|
85 |
for ticket in tickets:
|
86 |
ticket_id = ticket["id"]
|
87 |
+
ticket_created = parser.isoparse(ticket["created_at"])
|
88 |
+
formatted_ticket_date = ticket_created.strftime("%m/%d/%Y")
|
89 |
|
90 |
# Buscar a primeira mensagem (ordem crescente)
|
91 |
async with session.get(
|
|
|
104 |
) as all_msg_resp:
|
105 |
all_messages = await all_msg_resp.json() if all_msg_resp.status == 200 else []
|
106 |
|
107 |
+
history = [f"Ticket created on {ticket_created.strftime('%m/%d/%Y, %I:%M %p')}"]
|
108 |
|
109 |
# Verifica se houve resposta do suporte
|
110 |
support_reply = next((m for m in all_messages if m["user"] != user_id), None)
|
111 |
if support_reply:
|
112 |
assigned_time = format_datetime(support_reply["created_at"])
|
|
|
113 |
|
114 |
+
# Buscar nome do suporte
|
115 |
+
async with session.get(
|
116 |
+
f"{SUPABASE_URL}/rest/v1/users?id=eq.{support_reply['user']}",
|
117 |
+
headers=SUPABASE_ROLE_HEADERS
|
118 |
+
) as user_resp:
|
119 |
+
support_name = "Support"
|
120 |
+
if user_resp.status == 200:
|
121 |
+
user_data = await user_resp.json()
|
122 |
+
if user_data:
|
123 |
+
support_name = user_data[0].get("name", "Support")
|
124 |
+
|
125 |
+
history.append(f"Assigned to {support_name} on {assigned_time}")
|
126 |
+
|
127 |
+
# Última atualização (se não teve resposta de suporte)
|
128 |
if not support_reply and all_messages:
|
129 |
last_msg_time = format_datetime(all_messages[-1]["created_at"])
|
130 |
history.append(f"Last updated on {last_msg_time}")
|
131 |
|
132 |
+
ticket_data = dict(ticket) # cópia do ticket original
|
133 |
+
ticket_data["formatted_date"] = formatted_ticket_date
|
134 |
+
|
135 |
ticket_results.append({
|
136 |
+
"ticket": ticket_data,
|
137 |
"first_message": first_message,
|
138 |
"history": history
|
139 |
})
|