habulaj commited on
Commit
8ff2562
·
verified ·
1 Parent(s): deecdce

Update routes/users.py

Browse files
Files changed (1) hide show
  1. 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
- # Usando SUPABASE_ROLE_HEADERS para ter permissões de serviço completas
262
- async with session.patch(update_url, json=update_fields, headers=SUPABASE_ROLE_HEADERS) as update_response:
263
- if update_response.status != 204:
 
 
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
- # Registrar a operação bem-sucedida
 
 
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
- "user_id": user_id,
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