Add ability to save and edit queries, still need to add ability to edit queries

This commit is contained in:
Peter Stockings
2024-11-08 23:09:19 +11:00
parent 90cb1c1451
commit 23def088bb
4 changed files with 175 additions and 10 deletions

46
app.py
View File

@@ -471,17 +471,53 @@ def delete_exercise(exercise_id):
@app.route("/sql_explorer", methods=['GET'])
def sql_explorer():
saved_queries = db.sql_explorer.list_saved_queries()
if htmx:
return render_block(app.jinja_env, 'sql_explorer.html', 'content')
return render_template('sql_explorer.html')
return render_block(app.jinja_env, 'sql_explorer.html', 'content', saved_queries=saved_queries)
return render_template('sql_explorer.html', saved_queries=saved_queries)
@app.route("/sql_query", methods=['POST'])
def sql_query():
query = request.form.get('query')
(results, columns, error) = db.sql_explorer.execute_sql(query)
return render_template('partials/sql_explorer/sql_query.html', query=query, results=results, columns=columns, error=error)
action = request.form.get('action')
title = request.form.get('title')
if action == 'execute':
(results, columns, error) = db.sql_explorer.execute_sql(query)
saved_queries = db.sql_explorer.list_saved_queries()
return render_template('partials/sql_explorer/sql_query.html',
title=title,
query=query,
results=results,
columns=columns,
error=error,
saved_queries=saved_queries)
else:
error = db.sql_explorer.save_query(title, query)
saved_queries = db.sql_explorer.list_saved_queries()
return render_template('partials/sql_explorer/sql_query.html',
title=title,
query=query,
error=error,
saved_queries=saved_queries)
@app.route('/load_sql_query/<int:query_id>', methods=['GET'])
def load_sql_query(query_id):
(title, query) = db.sql_explorer.get_saved_query(query_id)
saved_queries = db.sql_explorer.list_saved_queries()
return render_template('partials/sql_explorer/sql_query.html',
title=title,
query=query,
saved_queries=saved_queries)
@app.route('/delete_sql_query/<int:query_id>', methods=['DELETE'])
def delete_sql_query(query_id):
db.sql_explorer.delete_saved_query(query_id)
saved_queries = db.sql_explorer.list_saved_queries()
return render_template('partials/sql_explorer/sql_query.html',
title="",
query="",
saved_queries=saved_queries)
@ app.route("/sql_schema", methods=['GET'])