16 email = email.replace(
"@",
"_").replace(
".",
"_")
22 connection = SQLC.SQLConAdmin()
26 query = SQLQ.SQLQueries.use_database(
"db_" + email)
27 connection.execute_query(query)
30 show_tables_query = SQLQ.SQLQueries.show_tables()
31 all_tables = connection.execute_query(show_tables_query)
34 for table
in all_tables:
36 current_table = table[0]
39 table_description = connection.execute_query(SQLQ.SQLQueries.getTableDescription(current_table))
42 table_description = {col[0]: str(col[1])
if isinstance(col[1], (datetime, date, time, timedelta, Decimal))
else col[1]
for col
in table_description}
45 result_dict[current_table] = table_description
48 except Exception
as e:
50 connection.cnx.close()
52 return {
"Error":
"Error when extracting table description from the database for table: " + current_table}
56 connection.cnx.close()
58 return {
"Tables": result_dict}
65 email = email.replace(
"@",
"_").replace(
".",
"_")
71 connection = SQLC.SQLConAdmin()
75 query = SQLQ.SQLQueries.use_database(
"db_" + email)
76 connection.execute_query(query)
79 show_tables_query = SQLQ.SQLQueries.show_tables()
80 all_tables = connection.execute_query(show_tables_query)
83 for table
in all_tables:
85 current_table = table[0]
88 table_description = connection.execute_query(SQLQ.SQLQueries.getTableDescription(current_table))
91 table_description = {col[0]: str(col[1])
if isinstance(col[1], (datetime, date, time, timedelta, Decimal))
else col[1]
for col
in table_description}
94 data_in_tables = connection.execute_query(SQLQ.SQLQueries.getAllFromTable(current_table))
97 data_in_tables = [dict(zip(table_description.keys(), (str(value)
if isinstance(value, (datetime, date, time, timedelta, Decimal))
else value
for value
in row)))
for row
in data_in_tables]
100 result_dict[current_table] = {
"Table_description": table_description,
"Data": data_in_tables}
103 except Exception
as e:
105 connection.cnx.close()
107 return {
"Error":
"Error when extracting data from the database for table: " + current_table}
111 connection.cnx.close()
113 return {
"Tables": result_dict}
124 dbName= email.replace(
"@",
"_").replace(
".",
"_")
127 userDatabaseLogin = get_jwt_identity()
130 connection = SQLC.SQLConAdmin(
None, userDatabaseLogin[
'email'], userDatabaseLogin[
'password'], userDatabaseLogin[
'db_name'])
132 print(
"Connected to the database")
135 use_database_query = SQLQ.SQLQueries.use_database(self.
getDatabaseName(email))
136 connection.execute_query(use_database_query)
139 query = SQLQ.SQLQueries.getAllFromTable(table_name)
140 if start_date
and stop_date:
142 start_datetime = datetime.strptime(start_date,
'%Y-%m-%d')
143 stop_datetime = datetime.strptime(stop_date,
'%Y-%m-%d')
144 query = SQLQ.SQLQueries.get_data_between_dates(table_name, start_datetime, stop_datetime)
147 query = SQLQ.SQLQueries.limit_query(table_name, num_rows)
150 data_in_table = connection.execute_query(query)
153 table_description = connection.execute_query(SQLQ.SQLQueries.getTableDescription(table_name))
154 table_description = {col[0]: str(col[1])
if isinstance(col[1], (datetime, date, time, timedelta, Decimal))
else col[1]
for col
in table_description}
157 data_in_table = [dict(zip(table_description.keys(), (str(value)
if isinstance(value, (datetime, date, time, timedelta, Decimal))
else value
for value
in row)))
for row
in data_in_table]
160 result_dict[table_name] = {
"Data": data_in_table}
162 except Exception
as e:
165 return {
"Error": f
"Error when extracting data from the database for table: {table_name}"}
170 print(
"Closing the connection")
171 connection.cnx.close()
174 return {
"requested_data": result_dict}
179 connection = SQLC.SQLConAdmin()
183 query = SQLQ.SQLQueries.use_users_database()
184 connection.execute_query(query)
187 query = SQLQ.SQLQueries.get_database_name(email)
188 dbName = connection.execute_query(query)
189 userDataBaseName = dbName[0][0]
190 connection.cnx.close()
193 except Exception
as e:
195 connection.cnx.close()
197 return {
"Error":
"Error when extracting database name from the database for user: " + email}
200 connection.cnx.close()
203 return userDataBaseName
207 current_user = get_jwt_identity()
208 email = current_user[
'email']
214 connection = SQLC.SQLConAdmin()
218 query = SQLQ.SQLQueries.use_users_database()
219 connection.execute_query(query)
222 query = SQLQ.SQLQueries.get_all_sub_users(email)
223 all_subusers = connection.execute_query(query)
226 result_dict[
"Subusers"] = all_subusers
228 except Exception
as e:
230 connection.cnx.close()
232 return {
"Error":
"Error when extracting subusers from the database for user: " + email}
235 connection.cnx.close()