Update modules/database/database.py
Browse files- modules/database/database.py +31 -1
modules/database/database.py
CHANGED
|
@@ -22,6 +22,7 @@ application_requests_container = None
|
|
| 22 |
cosmos_client = None
|
| 23 |
user_database = None
|
| 24 |
user_container = None
|
|
|
|
| 25 |
|
| 26 |
# Variables globales para Cosmos DB MongoDB API
|
| 27 |
mongo_client = None
|
|
@@ -55,7 +56,7 @@ def initialize_database_connections():
|
|
| 55 |
|
| 56 |
#####################################################################################33
|
| 57 |
def initialize_cosmos_sql_connection():
|
| 58 |
-
global cosmos_client, user_database, user_container, application_requests_container
|
| 59 |
logger.info("Initializing Cosmos DB SQL API connection")
|
| 60 |
try:
|
| 61 |
cosmos_endpoint = os.environ.get("COSMOS_ENDPOINT")
|
|
@@ -71,9 +72,11 @@ def initialize_cosmos_sql_connection():
|
|
| 71 |
user_database = cosmos_client.get_database_client("user_database")
|
| 72 |
user_container = user_database.get_container_client("users")
|
| 73 |
application_requests_container = user_database.get_container_client("application_requests")
|
|
|
|
| 74 |
|
| 75 |
logger.info(f"user_container initialized: {user_container is not None}")
|
| 76 |
logger.info(f"application_requests_container initialized: {application_requests_container is not None}")
|
|
|
|
| 77 |
|
| 78 |
logger.info("Conexi贸n a Cosmos DB SQL API exitosa")
|
| 79 |
return True
|
|
@@ -192,6 +195,33 @@ def store_application_request(name, email, institution, role, reason):
|
|
| 192 |
return False
|
| 193 |
|
| 194 |
#######################################################################################################
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 195 |
def store_morphosyntax_result(username, text, repeated_words, arc_diagrams, pos_analysis, morphological_analysis, sentence_structure):
|
| 196 |
if analysis_collection is None:
|
| 197 |
logger.error("La conexi贸n a MongoDB no est谩 inicializada")
|
|
|
|
| 22 |
cosmos_client = None
|
| 23 |
user_database = None
|
| 24 |
user_container = None
|
| 25 |
+
user_feedback_container = None
|
| 26 |
|
| 27 |
# Variables globales para Cosmos DB MongoDB API
|
| 28 |
mongo_client = None
|
|
|
|
| 56 |
|
| 57 |
#####################################################################################33
|
| 58 |
def initialize_cosmos_sql_connection():
|
| 59 |
+
global cosmos_client, user_database, user_container, application_requests_container, user_feedback_container
|
| 60 |
logger.info("Initializing Cosmos DB SQL API connection")
|
| 61 |
try:
|
| 62 |
cosmos_endpoint = os.environ.get("COSMOS_ENDPOINT")
|
|
|
|
| 72 |
user_database = cosmos_client.get_database_client("user_database")
|
| 73 |
user_container = user_database.get_container_client("users")
|
| 74 |
application_requests_container = user_database.get_container_client("application_requests")
|
| 75 |
+
user_feedback_container = user_database.get_container_client("user_feedback")
|
| 76 |
|
| 77 |
logger.info(f"user_container initialized: {user_container is not None}")
|
| 78 |
logger.info(f"application_requests_container initialized: {application_requests_container is not None}")
|
| 79 |
+
logger.info(f"user_feedback_container initialized: {user_feedback_container is not None}")
|
| 80 |
|
| 81 |
logger.info("Conexi贸n a Cosmos DB SQL API exitosa")
|
| 82 |
return True
|
|
|
|
| 195 |
return False
|
| 196 |
|
| 197 |
#######################################################################################################
|
| 198 |
+
def store_user_feedback(username, name, email, feedback):
|
| 199 |
+
global user_feedback_container
|
| 200 |
+
logger.info(f"Attempting to store user feedback for user: {username}")
|
| 201 |
+
try:
|
| 202 |
+
if user_feedback_container is None:
|
| 203 |
+
logger.error("user_feedback_container is not initialized")
|
| 204 |
+
return False
|
| 205 |
+
|
| 206 |
+
feedback_item = {
|
| 207 |
+
"id": str(uuid.uuid4()),
|
| 208 |
+
"username": username,
|
| 209 |
+
"name": name,
|
| 210 |
+
"email": email,
|
| 211 |
+
"feedback": feedback,
|
| 212 |
+
"timestamp": datetime.utcnow().isoformat()
|
| 213 |
+
}
|
| 214 |
+
|
| 215 |
+
result = user_feedback_container.create_item(body=feedback_item)
|
| 216 |
+
logger.info(f"User feedback stored with ID: {result['id']} for user: {username}")
|
| 217 |
+
return True
|
| 218 |
+
except Exception as e:
|
| 219 |
+
logger.error(f"Error storing user feedback for user {username}: {str(e)}")
|
| 220 |
+
return False
|
| 221 |
+
|
| 222 |
+
|
| 223 |
+
#######################################################################################################
|
| 224 |
+
|
| 225 |
def store_morphosyntax_result(username, text, repeated_words, arc_diagrams, pos_analysis, morphological_analysis, sentence_structure):
|
| 226 |
if analysis_collection is None:
|
| 227 |
logger.error("La conexi贸n a MongoDB no est谩 inicializada")
|