Update routes/users.py
Browse files- routes/users.py +10 -8
routes/users.py
CHANGED
@@ -258,20 +258,22 @@ async def update_user(
|
|
258 |
# Atualizar o usuário no Supabase usando a chave de serviço para bypassar RLS
|
259 |
update_url = f"{SUPABASE_URL}/rest/v1/User?id=eq.{user_id}"
|
260 |
|
261 |
-
|
262 |
-
|
263 |
-
|
|
|
|
|
264 |
logger.error(f"❌ Erro ao atualizar usuário: {update_response.status} - {await update_response.text()}")
|
265 |
raise HTTPException(status_code=update_response.status, detail="Erro ao atualizar usuário")
|
266 |
|
267 |
-
|
|
|
|
|
268 |
logger.info(f"✅ Usuário {user_id} atualizado com sucesso por {admin_id}: {update_fields}")
|
269 |
-
|
270 |
-
# Retornar resultado da operação
|
271 |
return {
|
272 |
"message": "Usuário atualizado com sucesso",
|
273 |
-
"
|
274 |
-
"updated_fields": update_fields,
|
275 |
"updated_by": admin_id
|
276 |
}
|
277 |
|
|
|
258 |
# Atualizar o usuário no Supabase usando a chave de serviço para bypassar RLS
|
259 |
update_url = f"{SUPABASE_URL}/rest/v1/User?id=eq.{user_id}"
|
260 |
|
261 |
+
headers_with_prefer = SUPABASE_ROLE_HEADERS.copy()
|
262 |
+
headers_with_prefer["Prefer"] = "return=representation"
|
263 |
+
|
264 |
+
async with session.patch(update_url, json=update_fields, headers=headers_with_prefer) as update_response:
|
265 |
+
if update_response.status != 200:
|
266 |
logger.error(f"❌ Erro ao atualizar usuário: {update_response.status} - {await update_response.text()}")
|
267 |
raise HTTPException(status_code=update_response.status, detail="Erro ao atualizar usuário")
|
268 |
|
269 |
+
updated_user_data = await update_response.json()
|
270 |
+
updated_user = updated_user_data[0] if updated_user_data else {}
|
271 |
+
|
272 |
logger.info(f"✅ Usuário {user_id} atualizado com sucesso por {admin_id}: {update_fields}")
|
273 |
+
|
|
|
274 |
return {
|
275 |
"message": "Usuário atualizado com sucesso",
|
276 |
+
"user": updated_user,
|
|
|
277 |
"updated_by": admin_id
|
278 |
}
|
279 |
|