AIdeaText commited on
Commit
e9c9e38
·
verified ·
1 Parent(s): a13119d

Create sql_db.py

Browse files
Files changed (1) hide show
  1. modules/database/sql_db.py +42 -0
modules/database/sql_db.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # modules/database/sql_db.py
2
+
3
+ from modules.database.database_init import get_database_client
4
+ import logging
5
+
6
+ logger = logging.getLogger(__name__)
7
+
8
+ # Nombre de la base de datos y contenedor
9
+ DATABASE_NAME = "user_database"
10
+ USER_CONTAINER_NAME = "users"
11
+
12
+ def get_user_container():
13
+ """Obtiene el contenedor de usuarios."""
14
+ db_client = get_database_client(DATABASE_NAME)
15
+ return db_client.get_container_client(USER_CONTAINER_NAME)
16
+
17
+ def create_user(username, password, role):
18
+ """Crea un nuevo usuario."""
19
+ try:
20
+ container = get_user_container()
21
+ user_data = {
22
+ "id": username,
23
+ "password": password,
24
+ "role": role
25
+ }
26
+ container.create_item(body=user_data)
27
+ logger.info(f"Usuario creado: {username}")
28
+ return True
29
+ except Exception as e:
30
+ logger.error(f"Error creando usuario: {e}")
31
+ return False
32
+
33
+ def get_user(username):
34
+ """Obtiene un usuario por su username."""
35
+ try:
36
+ container = get_user_container()
37
+ query = f"SELECT * FROM c WHERE c.id = '{username}'"
38
+ items = list(container.query_items(query=query, enable_cross_partition_query=True))
39
+ return items[0] if items else None
40
+ except Exception as e:
41
+ logger.error(f"Error obteniendo usuario: {e}")
42
+ return None