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/1896#issuecomment-1317757112,https://api.github.com/repos/simonw/datasette/issues/1896,1317757112,IC_kwDOBm6k_c5Oi2C4,9599,2022-11-16T22:26:52Z,2022-11-16T22:33:13Z,OWNER,"Some ideas from walking the dog:
Challenge: standard URL routing of request to database/table/row
Standardize on the named components of the URL patterns - `database`, `table`, `pks`
Async function that takes the request and the Datasette instance and returns a Resolved instance with:
```
.level - database or table or row (better name?)
.database - the name of the database
.db - the database object
.table - the name of the table (or view)
.is_view perhaps?
.pk_values if it's a row
```
Should this attempt to resolve names queries too?
```
.where_sql - the where fragment you use
.where_params - accompanying dictionary
await datasette.resolve_request(request)
```
Or even better three methods:
```python
datasette.resolve_database(request)
datasette.resolve_table(request)
datasette.resolve_row(request)
```
These can be typed correctly
Methods raise `NotFound` if not found","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",1452364777,