habulaj commited on
Commit
55416c9
·
verified ·
1 Parent(s): 5aac306

Update routes/support.py

Browse files
Files changed (1) hide show
  1. routes/support.py +39 -2
routes/support.py CHANGED
@@ -97,7 +97,7 @@ async def get_user_tickets(user_id: str):
97
  @router.get("/ticket/detail")
98
  async def get_ticket_details(ticket_id: int):
99
  async with aiohttp.ClientSession() as session:
100
- # 1. Buscar ticket
101
  async with session.get(
102
  f"{SUPABASE_URL}/rest/v1/Tickets?id=eq.{ticket_id}",
103
  headers=SUPABASE_ROLE_HEADERS
@@ -121,9 +121,46 @@ async def get_ticket_details(ticket_id: int):
121
 
122
  messages = await msg_resp.json()
123
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  return {
125
  "ticket": ticket,
126
- "messages": messages
127
  }
128
 
129
  @router.post("/ticket/create")
 
97
  @router.get("/ticket/detail")
98
  async def get_ticket_details(ticket_id: int):
99
  async with aiohttp.ClientSession() as session:
100
+ # 1. Buscar o ticket
101
  async with session.get(
102
  f"{SUPABASE_URL}/rest/v1/Tickets?id=eq.{ticket_id}",
103
  headers=SUPABASE_ROLE_HEADERS
 
121
 
122
  messages = await msg_resp.json()
123
 
124
+ # 3. Enriquecer as mensagens com dados dos usuários
125
+ unique_user_ids = list(set(msg["user"] for msg in messages))
126
+
127
+ # Buscar dados dos usuários únicos
128
+ user_data_map = {}
129
+ for user_id in unique_user_ids:
130
+ async with session.get(
131
+ f"{SUPABASE_URL}/rest/v1/User?id=eq.{user_id}",
132
+ headers=SUPABASE_ROLE_HEADERS
133
+ ) as user_resp:
134
+ if user_resp.status != 200:
135
+ continue
136
+
137
+ user_data = await user_resp.json()
138
+ if not user_data:
139
+ continue
140
+
141
+ user_info = user_data[0]
142
+ user_data_map[user_id] = {
143
+ "name": user_info.get("name"),
144
+ "avatar": user_info.get("avatar_url"),
145
+ "type": user_info.get("type", "cliente") # 'cliente' ou 'suporte'
146
+ }
147
+
148
+ # Substituir campo "user" nas mensagens pelo objeto enriquecido
149
+ enriched_messages = []
150
+ for msg in messages:
151
+ user_info = user_data_map.get(msg["user"], {
152
+ "name": None,
153
+ "avatar": None,
154
+ "type": "desconhecido"
155
+ })
156
+ enriched_messages.append({
157
+ **msg,
158
+ "user": user_info
159
+ })
160
+
161
  return {
162
  "ticket": ticket,
163
+ "messages": enriched_messages
164
  }
165
 
166
  @router.post("/ticket/create")