Get rid of the write/is_write dual properties

This commit is contained in:
Simon Willison 2026-05-26 16:31:07 -07:00
commit ec438496a9
4 changed files with 3 additions and 7 deletions

View file

@ -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"],

View file

@ -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:

View file

@ -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),

View file

@ -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",