AIdeaText commited on
Commit
d68957d
verified
1 Parent(s): 1471b74

Update modules/database/sql_db.py

Browse files
Files changed (1) hide show
  1. modules/database/sql_db.py +9 -8
modules/database/sql_db.py CHANGED
@@ -268,41 +268,42 @@ def delete_student_user(username):
268
 
269
 
270
  ############################################
 
271
  def store_application_request(name, lastname, email, institution, current_role, desired_role, reason):
272
  """Almacena una solicitud de aplicaci贸n"""
273
  try:
274
  # Obtener el contenedor usando get_container() que s铆 funciona
275
- container = get_container("application_requests") # Asegurarse que este nombre coincida exactamente
276
  if not container:
277
  logger.error("No se pudo obtener el contenedor de solicitudes")
278
  return False
279
 
280
  # Crear documento con la solicitud
 
281
  application_request = {
282
  "id": str(uuid.uuid4()),
283
  "name": name,
284
  "lastname": lastname,
285
- "email": email, # Este ser谩 el partition key
286
  "institution": institution,
287
  "current_role": current_role,
288
  "desired_role": desired_role,
289
  "reason": reason,
290
  "requestDate": datetime.utcnow().isoformat(),
291
- "username": email, # Aunque no lo usemos, por consistencia
292
- "partitionKey": email # Debe coincidir con /email en CosmosDB
293
  }
294
 
295
- # Crear el item en el contenedor
296
  container.create_item(
297
- body=application_request,
298
- enable_cross_partition_query=True
299
  )
300
  logger.info(f"Solicitud de aplicaci贸n almacenada para: {email}")
301
  return True
302
 
303
  except Exception as e:
304
  logger.error(f"Error al almacenar la solicitud de aplicaci贸n: {str(e)}")
305
- logger.error(f"Detalles del error: {str(e)}") # M谩s detalles del error
306
  return False
307
 
308
  #########################################################
 
268
 
269
 
270
  ############################################
271
+
272
  def store_application_request(name, lastname, email, institution, current_role, desired_role, reason):
273
  """Almacena una solicitud de aplicaci贸n"""
274
  try:
275
  # Obtener el contenedor usando get_container() que s铆 funciona
276
+ container = get_container("application_requests")
277
  if not container:
278
  logger.error("No se pudo obtener el contenedor de solicitudes")
279
  return False
280
 
281
  # Crear documento con la solicitud
282
+ # N贸tese que incluimos email como partition key en el cuerpo del documento
283
  application_request = {
284
  "id": str(uuid.uuid4()),
285
  "name": name,
286
  "lastname": lastname,
287
+ "email": email,
288
  "institution": institution,
289
  "current_role": current_role,
290
  "desired_role": desired_role,
291
  "reason": reason,
292
  "requestDate": datetime.utcnow().isoformat(),
293
+ # El campo para partition key debe estar en el documento
294
+ "partitionKey": email
295
  }
296
 
297
+ # Crear el item en el contenedor - sin el par谩metro enable_cross_partition_query
298
  container.create_item(
299
+ body=application_request # Solo pasamos el body
 
300
  )
301
  logger.info(f"Solicitud de aplicaci贸n almacenada para: {email}")
302
  return True
303
 
304
  except Exception as e:
305
  logger.error(f"Error al almacenar la solicitud de aplicaci贸n: {str(e)}")
306
+ logger.error(f"Detalles del error: {str(e)}")
307
  return False
308
 
309
  #########################################################