github
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/1636#issuecomment-1334666806 | https://api.github.com/repos/simonw/datasette/issues/1636 | 1334666806 | IC_kwDOBm6k_c5PjWY2 | 9599 | 2022-12-02T01:58:40Z | 2022-12-02T02:00:53Z | OWNER | Current design: ```json { "databases": { "private": { "allow": { "id": "*" } } } } ``` This can be applied at the instance, database, table or query level within the nested JSON. https://docs.datasette.io/en/stable/authentication.html#controlling-access-to-specific-databases It's actually controlling the following permissions: - `view-instance` - `view-database` - `view-table` - `view-query` There's also a special case for allowing SQL queries,at the instance and database level: ```json { "databases": { "mydatabase": { "allow_sql": { "id": "root" } } } } ``` | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1138008042 | |
https://github.com/simonw/datasette/issues/1636#issuecomment-1334673179 | https://api.github.com/repos/simonw/datasette/issues/1636 | 1334673179 | IC_kwDOBm6k_c5PjX8b | 9599 | 2022-12-02T02:07:20Z | 2022-12-02T04:27:07Z | OWNER | So the new mechanism needs to extend that to handle all of the other permissions as well. The simplest design I can think of is this (here illustrated using YAML): ```yaml # instance-level permissions - give every logged in user the debug menu: permissions: debug-menu: id: * databases: content: # Allow bob to create-table in the content database permissions: create-table: id: bob ``` | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1138008042 | |
https://github.com/simonw/datasette/issues/1636#issuecomment-1334757597 | https://api.github.com/repos/simonw/datasette/issues/1636 | 1334757597 | IC_kwDOBm6k_c5Pjsjd | 9599 | 2022-12-02T04:42:35Z | 2022-12-02T04:42:35Z | OWNER | Should I call this key `permissions` or something else? Some options: - `permissions` - `perms` - shorter to type - `allow` - I like the word, but might be confusing to change its meaning since we use it already | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1138008042 | |
https://github.com/simonw/datasette/issues/1636#issuecomment-1334758766 | https://api.github.com/repos/simonw/datasette/issues/1636 | 1334758766 | IC_kwDOBm6k_c5Pjs1u | 9599 | 2022-12-02T04:45:16Z | 2022-12-02T04:45:16Z | OWNER | Also, this is another thing which should live in `config.yml` rather than being crammed into `metadata.yml` - but I can fix that when I address: - #493 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1138008042 | |
https://github.com/simonw/datasette/issues/1636#issuecomment-1334759315 | https://api.github.com/repos/simonw/datasette/issues/1636 | 1334759315 | IC_kwDOBm6k_c5Pjs-T | 9599 | 2022-12-02T04:46:32Z | 2022-12-02T04:46:32Z | OWNER | Thankfully all of the logic for this already lives in just one place: https://github.com/simonw/datasette/blob/d7e5e3c9f98d194fdfb12f1ecc60ed5b3afbc464/datasette/default_permissions.py#L23-L59 | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1138008042 | |
https://github.com/simonw/datasette/issues/1928#issuecomment-1335870877 | https://api.github.com/repos/simonw/datasette/issues/1928 | 1335870877 | IC_kwDOBm6k_c5Pn8Wd | 9599 | 2022-12-02T21:17:50Z | 2022-12-02T21:17:50Z | OWNER | https://simon.datasette.cloud/data/hacker_news_posts_atom.atom is working now. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1473481262 | |
https://github.com/simonw/datasette/issues/1928#issuecomment-1335870879 | https://api.github.com/repos/simonw/datasette/issues/1928 | 1335870879 | IC_kwDOBm6k_c5Pn8Wf | 9599 | 2022-12-02T21:18:25Z | 2022-12-02T21:18:25Z | OWNER | This is the SQL view for the atom feed: ```sql CREATE VIEW hacker_news_posts_atom as select id as atom_id, title as atom_title, url, commentsUrl as atom_link, dt || 'Z' as atom_updated, 'Submitter: ' || submitter || ' - ' || points || ' points, ' || numComments || ' comments' as atom_content from hacker_news_posts order by dt desc limit 100; ``` | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1473481262 | |
https://github.com/simonw/datasette/issues/1928#issuecomment-1335870883 | https://api.github.com/repos/simonw/datasette/issues/1928 | 1335870883 | IC_kwDOBm6k_c5Pn8Wj | 9599 | 2022-12-02T21:19:10Z | 2022-12-02T21:19:10Z | OWNER | I created the `hacker_news_posts` table like this: ```bash export ROWS=$( jq -n --argjson rows "$(cat simonwillison-net.json)" \ '{ "table": "hacker_news_posts", "rows": $rows, "pk": "id", "replace": true }' ) # Use curl to POST some JSON to a URL curl -X POST \ https://simon.datasette.cloud/data/-/create \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DS_TOKEN" \ -d $ROWS ``` | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1473481262 | |
https://github.com/simonw/datasette/issues/1928#issuecomment-1335870884 | https://api.github.com/repos/simonw/datasette/issues/1928 | 1335870884 | IC_kwDOBm6k_c5Pn8Wk | 9599 | 2022-12-02T21:19:58Z | 2022-12-02T21:19:58Z | OWNER | But until I fix this issue: - https://github.com/simonw/datasette/issues/1927 I need to insert freshly scraped data like this: ```bash export ROWS=$( jq -n --argjson rows "$(cat simonwillison-net.json)" \ '{ "rows": $rows, "replace": true }' ) curl -X POST \ https://simon.datasette.cloud/data/hacker_news_posts/-/insert \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DS_TOKEN" \ -d $ROWS ``` | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1473481262 | |
https://github.com/simonw/datasette/issues/1928#issuecomment-1335870887 | https://api.github.com/repos/simonw/datasette/issues/1928 | 1335870887 | IC_kwDOBm6k_c5Pn8Wn | 9599 | 2022-12-02T21:25:16Z | 2022-12-02T21:25:16Z | OWNER | Here's the change that should submit data to Datasette Cloud: https://github.com/simonw/scrape-hacker-news-by-domain/commit/848bb7e835a9fb87cd656362591835179cd1dc1b I ran `delete from hacker_news_posts` against my instance so https://simon.datasette.cloud/data/hacker_news_posts is now empty. | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1473481262 | |
https://github.com/simonw/datasette/issues/1928#issuecomment-1335870889 | https://api.github.com/repos/simonw/datasette/issues/1928 | 1335870889 | IC_kwDOBm6k_c5Pn8Wp | 9599 | 2022-12-02T21:41:09Z | 2022-12-02T21:41:09Z | OWNER | Got it working! https://simon.datasette.cloud/data/hacker_news_posts https://github.com/simonw/scrape-hacker-news-by-domain/blob/main/submit-to-datasette-cloud.sh | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1473481262 | |
https://github.com/simonw/datasette/issues/1928#issuecomment-1335966329 | https://api.github.com/repos/simonw/datasette/issues/1928 | 1335966329 | IC_kwDOBm6k_c5PoTp5 | 9599 | 2022-12-02T23:47:11Z | 2022-12-02T23:47:11Z | OWNER | Wrote about this extensively here: https://simonwillison.net/2022/Dec/2/datasette-write-api/ | {"total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0} | 1473481262 |