Spaces:
Sleeping
Sleeping
Update modules/database/sql_db.py
Browse files
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")
|
| 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,
|
| 286 |
"institution": institution,
|
| 287 |
"current_role": current_role,
|
| 288 |
"desired_role": desired_role,
|
| 289 |
"reason": reason,
|
| 290 |
"requestDate": datetime.utcnow().isoformat(),
|
| 291 |
-
|
| 292 |
-
"partitionKey": email
|
| 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)}")
|
| 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 |
#########################################################
|