diff --git a/datasette/stored_queries.py b/datasette/stored_queries.py index 5b005c07..a28b71bf 100644 --- a/datasette/stored_queries.py +++ b/datasette/stored_queries.py @@ -55,7 +55,6 @@ def query_row_to_dict(row): return None parameters = json.loads(row["parameters"] or "[]") options = json.loads(row["options"] or "{}") - is_write = bool(row["is_write"]) return { "database": row["database_name"], "name": row["name"], @@ -67,8 +66,7 @@ def query_row_to_dict(row): "fragment": options.get("fragment"), "params": parameters, "parameters": parameters, - "is_write": is_write, - "write": is_write, + "is_write": bool(row["is_write"]), "is_private": bool(row["is_private"]), "is_trusted": bool(row["is_trusted"]), "source": row["source"], diff --git a/datasette/views/database.py b/datasette/views/database.py index f11a7d16..98ca989c 100644 --- a/datasette/views/database.py +++ b/datasette/views/database.py @@ -562,7 +562,7 @@ class QueryView(View): ) if stored_query is None: raise - stored_query_write = bool(stored_query.get("write")) + stored_query_write = bool(stored_query.get("is_write")) private = False if stored_query: diff --git a/datasette/views/query_helpers.py b/datasette/views/query_helpers.py index d8763a6d..9906ac67 100644 --- a/datasette/views/query_helpers.py +++ b/datasette/views/query_helpers.py @@ -287,7 +287,7 @@ async def _prepare_execute_write(datasette, db, sql, params, actor): async def _ensure_stored_query_execution_permissions(datasette, db, query, actor): if query.get("is_trusted"): return - if query.get("write"): + if query.get("is_write"): await datasette.ensure_permission( action="execute-write-sql", resource=DatabaseResource(db.name), diff --git a/tests/test_queries.py b/tests/test_queries.py index 6b2262e0..ff9057ef 100644 --- a/tests/test_queries.py +++ b/tests/test_queries.py @@ -99,7 +99,6 @@ async def test_add_get_and_remove_query(): "params": ["region"], "parameters": ["region"], "is_write": False, - "write": False, "is_private": False, "is_trusted": True, "source": "user", @@ -209,7 +208,6 @@ async def test_config_queries_imported_to_internal_table(): "params": ["name"], "parameters": ["name"], "is_write": False, - "write": False, "is_private": False, "is_trusted": True, "source": "config",