home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

13 rows where "updated_at" is on date 2022-12-08 sorted by updated_at descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: issue_url, created_at (date), updated_at (date)

issue 7

  • "permissions" propery in metadata for configuring arbitrary permissions 3
  • /db/table/-/upsert 3
  • Fix /db/table/-/upsert in the API explorer 2
  • "permissions" blocks in metadata.json/yaml 2
  • /db/table/-/rename API (also allows atomic replace) 1
  • Typo in JSON API `Updating a row` documentation 1
  • /db/-/create API should require insert-rows permission to use row: or rows: option 1

user 2

  • simonw 11
  • codecov[bot] 2

author_association 2

  • OWNER 11
  • NONE 2
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
1343449918 https://github.com/simonw/datasette/pull/1938#issuecomment-1343449918 https://api.github.com/repos/simonw/datasette/issues/1938 IC_kwDOBm6k_c5QE2s- codecov[bot] 22429695 2022-12-08T22:20:10Z 2022-12-08T22:54:08Z NONE

Codecov Report

Base: 92.00% // Head: 92.01% // Increases project coverage by +0.01% :tada:

Coverage data is based on head (6e35a6b) compared to base (e539c1c). Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #1938 +/- ## ========================================== + Coverage 92.00% 92.01% +0.01% ========================================== Files 38 38 Lines 5378 5386 +8 ========================================== + Hits 4948 4956 +8 Misses 430 430 ``` | [Impacted Files](https://codecov.io/gh/simonw/datasette/pull/1938?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage Δ | | |---|---|---| | [datasette/default\_permissions.py](https://codecov.io/gh/simonw/datasette/pull/1938/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2RlZmF1bHRfcGVybWlzc2lvbnMucHk=) | `95.10% <100.00%> (+0.29%)` | :arrow_up: | Help us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
"permissions" blocks in metadata.json/yaml 1485488236  
1343446071 https://github.com/simonw/datasette/issues/1636#issuecomment-1343446071 https://api.github.com/repos/simonw/datasette/issues/1636 IC_kwDOBm6k_c5QE1w3 simonw 9599 2022-12-08T22:16:17Z 2022-12-08T22:16:17Z OWNER

First draft of documentation: https://datasette--1938.org.readthedocs.build/en/1938/authentication.html#other-permissions-in-metadata

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
"permissions" propery in metadata for configuring arbitrary permissions 1138008042  
1343445885 https://github.com/simonw/datasette/pull/1938#issuecomment-1343445885 https://api.github.com/repos/simonw/datasette/issues/1938 IC_kwDOBm6k_c5QE1t9 simonw 9599 2022-12-08T22:16:03Z 2022-12-08T22:16:03Z OWNER

Docs: https://datasette--1938.org.readthedocs.build/en/1938/authentication.html#other-permissions-in-metadata

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
"permissions" blocks in metadata.json/yaml 1485488236  
1343440504 https://github.com/simonw/datasette/issues/1636#issuecomment-1343440504 https://api.github.com/repos/simonw/datasette/issues/1636 IC_kwDOBm6k_c5QE0Z4 simonw 9599 2022-12-08T22:10:28Z 2022-12-08T22:10:48Z OWNER

What if you want to grant insert-row to a user for ALL tables in a database, or even for all tables in all databases?

You should be able to do that by putting that in the root permissions: block. Need to figure out how the implementation will handle that.

Also: there are some permissions like view-instance or debug-menu for which putting them at the database or table or query level doesn't actually make any sense.

Ideally the implementation would spot those on startup and refuse to start the server, with a helpful error message.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
"permissions" propery in metadata for configuring arbitrary permissions 1138008042  
1343360006 https://github.com/simonw/datasette/pull/1930#issuecomment-1343360006 https://api.github.com/repos/simonw/datasette/issues/1930 IC_kwDOBm6k_c5QEgwG simonw 9599 2022-12-08T21:12:28Z 2022-12-08T21:12:28Z OWNER

Thanks!

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Typo in JSON API `Updating a row` documentation 1473664029  
1341874378 https://github.com/simonw/datasette/issues/1867#issuecomment-1341874378 https://api.github.com/repos/simonw/datasette/issues/1867 IC_kwDOBm6k_c5P-2DK simonw 9599 2022-12-08T02:07:06Z 2022-12-08T02:28:02Z OWNER

Basic version of this allows you to rename a table:

POST /db/table/-/rename { "name": "new_table_name" } If a table with that new name already exists you will get an error - unless you pass "replace": true in which case that table will be dropped and replaced by the new one.

POST /db/table/-/rename { "name": "new_table_name", "replace": true }

This is useful because it allows for that atomic replacement operation: upload brand new data into a _tmp_name table, then atomic rename and replace after the upload has completed.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
/db/table/-/rename API (also allows atomic replace) 1426080014  
1341854373 https://github.com/simonw/datasette/issues/1636#issuecomment-1341854373 https://api.github.com/repos/simonw/datasette/issues/1636 IC_kwDOBm6k_c5P-xKl simonw 9599 2022-12-08T01:43:35Z 2022-12-08T01:43:35Z OWNER

I'm going to write the documentation for this first.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
"permissions" propery in metadata for configuring arbitrary permissions 1138008042  
1341849735 https://github.com/simonw/datasette/issues/1936#issuecomment-1341849735 https://api.github.com/repos/simonw/datasette/issues/1936 IC_kwDOBm6k_c5P-wCH simonw 9599 2022-12-08T01:35:54Z 2022-12-08T01:35:54Z OWNER

Running that twice produced this:

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Fix /db/table/-/upsert in the API explorer 1483250004  
1341849496 https://github.com/simonw/datasette/issues/1936#issuecomment-1341849496 https://api.github.com/repos/simonw/datasette/issues/1936 IC_kwDOBm6k_c5P-v-Y simonw 9599 2022-12-08T01:35:35Z 2022-12-08T01:35:35Z OWNER

Related bug: you can send "id": null and it works (it should throw an error):

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Fix /db/table/-/upsert in the API explorer 1483250004  
1341848525 https://github.com/simonw/datasette/issues/1937#issuecomment-1341848525 https://api.github.com/repos/simonw/datasette/issues/1937 IC_kwDOBm6k_c5P-vvN simonw 9599 2022-12-08T01:34:03Z 2022-12-08T01:34:03Z OWNER

Check should go somewhere around here: https://github.com/simonw/datasette/blob/dee18ed8ce7af2ab8699bcb5a51a99f48301bc42/datasette/views/database.py#L625-L631

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
/db/-/create API should require insert-rows permission to use row: or rows: option 1483320357  
1339906241 https://github.com/simonw/datasette/pull/1931#issuecomment-1339906241 https://api.github.com/repos/simonw/datasette/issues/1931 IC_kwDOBm6k_c5P3VjB codecov[bot] 22429695 2022-12-06T19:33:32Z 2022-12-08T01:04:56Z NONE

Codecov Report

Base: 90.42% // Head: 91.77% // Increases project coverage by +1.34% :tada:

Coverage data is based on head (645be0f) compared to base (cab5b60). Patch coverage: 95.55% of modified lines in pull request are covered.

:exclamation: Current head 645be0f differs from pull request most recent head 7cd6fd9. Consider uploading reports for the commit 7cd6fd9 to get more accurate results

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #1931 +/- ## ========================================== + Coverage 90.42% 91.77% +1.34% ========================================== Files 36 36 Lines 5057 5019 -38 ========================================== + Hits 4573 4606 +33 + Misses 484 413 -71 ``` | [Impacted Files](https://codecov.io/gh/simonw/datasette/pull/1931?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison) | Coverage Δ | | |---|---|---| | [datasette/views/special.py](https://codecov.io/gh/simonw/datasette/pull/1931/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL3ZpZXdzL3NwZWNpYWwucHk=) | `79.41% <0.00%> (ø)` | | | [datasette/views/table.py](https://codecov.io/gh/simonw/datasette/pull/1931/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL3ZpZXdzL3RhYmxlLnB5) | `92.44% <97.43%> (+0.20%)` | :arrow_up: | | [datasette/app.py](https://codecov.io/gh/simonw/datasette/pull/1931/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2FwcC5weQ==) | `94.42% <100.00%> (+<0.01%)` | :arrow_up: | | [datasette/default\_permissions.py](https://codecov.io/gh/simonw/datasette/pull/1931/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL2RlZmF1bHRfcGVybWlzc2lvbnMucHk=) | `94.81% <100.00%> (+0.07%)` | :arrow_up: | | [datasette/views/database.py](https://codecov.io/gh/simonw/datasette/pull/1931/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison#diff-ZGF0YXNldHRlL3ZpZXdzL2RhdGFiYXNlLnB5) | `95.83% <0.00%> (+17.01%)` | :arrow_up: | Help us with your feedback. Take ten seconds to tell us [how you rate us](https://about.codecov.io/nps?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison). Have a feature suggestion? [Share it here.](https://app.codecov.io/gh/feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Simon+Willison)

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
/db/table/-/upsert 1473814539  
1341825314 https://github.com/simonw/datasette/pull/1931#issuecomment-1341825314 https://api.github.com/repos/simonw/datasette/issues/1931 IC_kwDOBm6k_c5P-qEi simonw 9599 2022-12-08T01:03:18Z 2022-12-08T01:03:18Z OWNER

I broke this test: ``` ds_write = <datasette.app.Datasette object at 0x7f0965858700>

@pytest.mark.asyncio
async def test_insert_row(ds_write):
    token = write_token(ds_write)
    response = await ds_write.client.post(
        "/data/docs/-/insert",
        json={"row": {"title": "Test", "score": 1.2, "age": 5}},
        headers={
            "Authorization": "***".format(token),
            "Content-Type": "application/json",
        },
    )
    expected_row = {"id": 1, "title": "Test", "score": 1.2, "age": 5}
  assert response.status_code == 201

E assert 500 == 201 E + where 500 = <Response [500 Internal Server Error]>.status_code

/home/runner/work/datasette/datasette/tests/test_api_write.py:43: AssertionError ----------------------------- Captured stderr call ----------------------------- Traceback (most recent call last): File "/home/runner/work/datasette/datasette/datasette/app.py", line 1447, in route_path response = await view(request, send) File "/home/runner/work/datasette/datasette/datasette/views/base.py", line 151, in view return await self.dispatch_request(request) File "/home/runner/work/datasette/datasette/datasette/views/base.py", line 105, in dispatch_request response = await handler(request) File "/home/runner/work/datasette/datasette/datasette/views/table.py", line 1228, in post row_pk_values_for_later = [tuple(row[pk] for pk in pks) for row in rows] File "/home/runner/work/datasette/datasette/datasette/views/table.py", line 1228, in <listcomp> row_pk_values_for_later = [tuple(row[pk] for pk in pks) for row in rows] File "/home/runner/work/datasette/datasette/datasette/views/table.py", line 1228, in <genexpr> row_pk_values_for_later = [tuple(row[pk] for pk in pks) for row in rows] KeyError: 'id' ```

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
/db/table/-/upsert 1473814539  
1341821213 https://github.com/simonw/datasette/pull/1931#issuecomment-1341821213 https://api.github.com/repos/simonw/datasette/issues/1931 IC_kwDOBm6k_c5P-pEd simonw 9599 2022-12-08T00:58:21Z 2022-12-08T00:58:21Z OWNER

In the interests of shipping, I'm going to punt the API explorer to a later issue.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
/db/table/-/upsert 1473814539  

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE [issue_comments] (
   [html_url] TEXT,
   [issue_url] TEXT,
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [user] INTEGER REFERENCES [users]([id]),
   [created_at] TEXT,
   [updated_at] TEXT,
   [author_association] TEXT,
   [body] TEXT,
   [reactions] TEXT,
   [issue] INTEGER REFERENCES [issues]([id])
, [performed_via_github_app] TEXT);
CREATE INDEX [idx_issue_comments_issue]
                ON [issue_comments] ([issue]);
CREATE INDEX [idx_issue_comments_user]
                ON [issue_comments] ([user]);
Powered by Datasette · Queries took 712.773ms · About: github-to-sqlite