issue_comments: 1320563197
This data as json
html_url | issue_url | id | node_id | user | created_at | updated_at | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
https://github.com/simonw/datasette/issues/1863#issuecomment-1320563197 | https://api.github.com/repos/simonw/datasette/issues/1863 | 1320563197 | IC_kwDOBm6k_c5OtjH9 | 9599 | 2022-11-18T21:47:35Z | 2022-11-18T21:48:07Z | OWNER | Incomplete implementation of this view: ```python class RowUpdateView(BaseView): name = "row-update" def __init__(self, datasette): self.ds = datasette async def post(self, request): database_route = tilde_decode(request.url_vars["database"]) table = tilde_decode(request.url_vars["table"]) try: db = self.ds.get_database(route=database_route) except KeyError: return _error(["Database not found: {}".format(database_route)], 404) database_name = db.name if not await db.table_exists(table): return _error(["Table not found: {}".format(table)], 404) pk_values = urlsafe_components(request.url_vars["pks"]) sql, params, pks = await row_sql_params_pks(db, table, pk_values) results = await db.execute(sql, params, truncate=True) rows = list(results.rows) if not rows: return _error([f"Record not found: {pk_values}"], 404) # Ensure user has permission to update this row if not await self.ds.permission_allowed( request.actor, "update-row", resource=(database_name, table) ): return _error(["Permission denied"], 403) body = await request.post_body() try: data = json.loads(body) except json.JSONDecodeError as e: return _error(["Invalid JSON: {}".format(e)]) if not isinstance(data, dict): return _error(["JSON must be a dictionary"]) def update_row(conn): sqlite_utils.Database(conn)[table].update(pk_values, updates) await db.execute_write_fn(update_row) result = {"ok": True} if data.get("return"): result["row"] = {"row-here": "TODO"} return Response.json(result, status=200) ``` This is before the refactor in: - #1896 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1425029242 |