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")
|