AIdeaText commited on
Commit
a608abf
·
1 Parent(s): df92425

update admin create user

Browse files
modules/admin/admin_ui.py CHANGED
@@ -14,7 +14,7 @@ from ..database.sql_db import (
14
  get_user_total_time
15
  )
16
 
17
- from ..database.morphosintax_mongo_db import get_student_morphosyntax_analysis
18
  from ..auth.auth import hash_password # Agregar esta importación al inicio
19
 
20
  #######################################################################################
 
14
  get_user_total_time
15
  )
16
 
17
+ #from ..database.morphosintax_mongo_db import get_student_morphosyntax_analysis
18
  from ..auth.auth import hash_password # Agregar esta importación al inicio
19
 
20
  #######################################################################################
modules/database/mongo_db.py CHANGED
@@ -3,6 +3,7 @@ import logging
3
 
4
  logger = logging.getLogger(__name__)
5
 
 
6
  def get_collection(collection_name):
7
  try:
8
  db = get_mongodb()
@@ -18,6 +19,7 @@ def get_collection(collection_name):
18
  logger.error(f"Error al obtener colección {collection_name}: {str(e)}")
19
  return None
20
 
 
21
  def insert_document(collection_name, document):
22
  collection = get_collection(collection_name)
23
  try:
@@ -28,6 +30,7 @@ def insert_document(collection_name, document):
28
  logger.error(f"Error al insertar documento en {collection_name}: {str(e)}")
29
  return None
30
 
 
31
  def find_documents(collection_name, query, sort=None, limit=None):
32
  collection = get_collection(collection_name)
33
  try:
@@ -41,6 +44,7 @@ def find_documents(collection_name, query, sort=None, limit=None):
41
  logger.error(f"Error al buscar documentos en {collection_name}: {str(e)}")
42
  return []
43
 
 
44
  def update_document(collection_name, query, update):
45
  collection = get_collection(collection_name)
46
  try:
@@ -51,6 +55,7 @@ def update_document(collection_name, query, update):
51
  logger.error(f"Error al actualizar documento en {collection_name}: {str(e)}")
52
  return 0
53
 
 
54
  def delete_document(collection_name, query):
55
  collection = get_collection(collection_name)
56
  try:
 
3
 
4
  logger = logging.getLogger(__name__)
5
 
6
+ ############################################################
7
  def get_collection(collection_name):
8
  try:
9
  db = get_mongodb()
 
19
  logger.error(f"Error al obtener colección {collection_name}: {str(e)}")
20
  return None
21
 
22
+ ############################################################
23
  def insert_document(collection_name, document):
24
  collection = get_collection(collection_name)
25
  try:
 
30
  logger.error(f"Error al insertar documento en {collection_name}: {str(e)}")
31
  return None
32
 
33
+ ############################################################
34
  def find_documents(collection_name, query, sort=None, limit=None):
35
  collection = get_collection(collection_name)
36
  try:
 
44
  logger.error(f"Error al buscar documentos en {collection_name}: {str(e)}")
45
  return []
46
 
47
+ ############################################################
48
  def update_document(collection_name, query, update):
49
  collection = get_collection(collection_name)
50
  try:
 
55
  logger.error(f"Error al actualizar documento en {collection_name}: {str(e)}")
56
  return 0
57
 
58
+ ############################################################
59
  def delete_document(collection_name, query):
60
  collection = get_collection(collection_name)
61
  try:
modules/database/sql_db.py CHANGED
@@ -4,6 +4,7 @@ from .database_init import get_container
4
  from datetime import datetime, timezone
5
  import logging
6
  import bcrypt
 
7
  import uuid
8
 
9
  logger = logging.getLogger(__name__)
@@ -47,13 +48,16 @@ def create_user(username, password, role, additional_info=None):
47
  'id': username,
48
  'password': password,
49
  'role': role,
50
- 'timestamp': datetime.now(timezone.utc), # Mejor práctica
51
  'additional_info': additional_info or {},
52
- 'partitionKey': username # Agregar partition key
53
  }
54
 
55
- # Crear item sin especificar partition_key en el método
56
- container.create_item(body=user_data)
 
 
 
57
  logger.info(f"Usuario {role} creado: {username}")
58
  return True
59
 
@@ -87,12 +91,15 @@ def record_login(username):
87
  "id": session_id,
88
  "type": "session",
89
  "username": username,
90
- "loginTime": datetime.now(timezone.utc),
91
  "additional_info": {},
92
  "partitionKey": username
93
  }
94
 
95
- result = container.create_item(body=session_doc)
 
 
 
96
  logger.info(f"Sesión {session_id} registrada para {username}")
97
  return session_id
98
  except Exception as e:
 
4
  from datetime import datetime, timezone
5
  import logging
6
  import bcrypt
7
+ import bson import json_util
8
  import uuid
9
 
10
  logger = logging.getLogger(__name__)
 
48
  'id': username,
49
  'password': password,
50
  'role': role,
51
+ 'timestamp': datetime.now(timezone.utc), # Se mantiene como datetime
52
  'additional_info': additional_info or {},
53
+ 'partitionKey': username
54
  }
55
 
56
+ # Convertir usando json_util antes de enviar a Cosmos DB
57
+ user_data_json = json.loads(json_util.dumps(user_data))
58
+
59
+ # Crear item con los datos convertidos
60
+ container.create_item(body=user_data_json)
61
  logger.info(f"Usuario {role} creado: {username}")
62
  return True
63
 
 
91
  "id": session_id,
92
  "type": "session",
93
  "username": username,
94
+ "loginTime": datetime.now(timezone.utc), # ← Se mantiene como datetime
95
  "additional_info": {},
96
  "partitionKey": username
97
  }
98
 
99
+ # Convertir usando json_util
100
+ session_json = json.loads(json_util.dumps(session_doc))
101
+
102
+ result = container.create_item(body=session_json)
103
  logger.info(f"Sesión {session_id} registrada para {username}")
104
  return session_id
105
  except Exception as e: