From 06bb3afca155c0b1ace3484dd16016ebb042e455 Mon Sep 17 00:00:00 2001 From: OpenGovCanDevops Date: Tue, 10 Dec 2024 16:58:33 +0000 Subject: [PATCH] bot(release): commit release files; --- .../change_logs/2024.12.09.json | 212 + .../differences/2024.12.09.json | 63 + .../_release_builds/github/2024.12.09.json | 81920 ++++++++++++++++ .../_release_builds/releases/2024.12.09.json | 104 + 4 files changed, 82299 insertions(+) create mode 100644 docs/source/_release_builds/change_logs/2024.12.09.json create mode 100644 docs/source/_release_builds/differences/2024.12.09.json create mode 100644 docs/source/_release_builds/github/2024.12.09.json create mode 100644 docs/source/_release_builds/releases/2024.12.09.json diff --git a/docs/source/_release_builds/change_logs/2024.12.09.json b/docs/source/_release_builds/change_logs/2024.12.09.json new file mode 100644 index 0000000..2dbdb71 --- /dev/null +++ b/docs/source/_release_builds/change_logs/2024.12.09.json @@ -0,0 +1,212 @@ +{ + "ckan": { + "ckan": { + "Changes": [ + { + "canada_only": true, + "backport": false, + "change_log": "Change the log level in `default_authenticate` from `debug` to `info` for the canada fork only. Related to https://github.com/open-data/ckanext-security/pull/8\n", + "hash": "d8bc438d116312ac91684fd6d60ae714c244dbd1" + } + ], + "Features": [ + { + "canada_only": true, + "backport": false, + "change_log": "Added UI for search index rebuilding. Added background jobs for search index rebuilding.\n", + "hash": "ca4db8ddc336fb12e1c839db447049c8bf020556" + }, + { + "canada_only": false, + "backport": false, + "change_log": "Enabled saving of activities on private datasets.\n\nAdded `permission_labels` column to `Activity` table.\n\nAdded filtering of dataset activities based on user permission labels.", + "hash": "64c0f337560ed1527f7bd3015eaa2b19883bc230" + }, + { + "canada_only": false, + "backport": false, + "change_log": "Added pages to confirm User delete and Dataset Collaborator delete.\nFixed cancellation of Group Member delete.\n", + "hash": "8cc8d2799b0c69a2b99a3e30df3a6ecbcd85c2f6" + }, + { + "canada_only": false, + "backport": false, + "change_log": "datastore_create: Add a delete_fields flag that must be set to True to delete\nany existing fields not passed in the fields list\n", + "hash": "a2b4f2b8804aef3eb2a0e4590ef790299795aaf5" + }, + { + "canada_only": false, + "backport": false, + "change_log": "Activity plugin now tracks new, changed, and deleted resource views.\n", + "hash": "cfd27299f012e7ad288776525b04f294b667979c" + }, + { + "canada_only": false, + "backport": false, + "change_log": "`datastore_records_delete` action now calls the `datastore_delete` action\nvia the toolkit for better frameworking.\n", + "hash": "946afa2069ffbfb464dfaed14fb22ff066dce5fe" + }, + { + "canada_only": false, + "backport": false, + "change_log": "Resource view list items now have an additional `view-item` class.\n", + "hash": "31f54b9be1d1e8d1718c663f971457b19cad3d71" + }, + { + "canada_only": false, + "backport": false, + "change_log": "Add `--max-idle-time` to the `ckan jobs worker` command.\n", + "hash": "013f0a198da4c7d0ff1e1dbdff7c489c39ab4450" + } + ], + "Bugfixes": [ + { + "canada_only": false, + "backport": false, + "change_log": "Fix 500 error caused from passing null to a field using the \n`ckanext.datastore.logic.schema.json_validator` in its schema", + "hash": "d78b8e4e6f736c2579cfc1f33faa5e702accb60a" + }, + { + "canada_only": false, + "backport": false, + "change_log": "Fixed context in `set_datastore_active_flag` to\nsolve possible solr errors during `index_package`", + "hash": "8542c8d0c00ab81793bc1be030b7f8503bf3a000" + }, + { + "canada_only": false, + "backport": false, + "change_log": "Aligned `member_create` with `group_member_save` to prevent possible member duplication.\n", + "hash": "23e12414616b030421a07f69ce5813dbea801d62" + }, + { + "canada_only": false, + "backport": false, + "change_log": "Fixed issues with the `ckan views create` CLI sub-command.\n", + "hash": "04b3bc57c62c4524c2c7110da2e65b4aba870324" + } + ], + "Releases": [ + { + "canada_only": true, + "backport": false, + "change_log": "Released CKAN 2.10 compatible code.\n", + "hash": "97aedbead1834ae66aeccb4069648ba90658172b" + } + ] + }, + "ckanext-canada": { + "Changes": [ + { + "canada_only": false, + "backport": false, + "change_log": "Code changes to handle the additions from [open-data/ckan:185](https://github.com/open-data/ckan/pull/185)\n", + "hash": "817c3a6f8f0277dbd6fa5c1fb3629fc54209b88e" + } + ], + "Releases": [ + { + "canada_only": false, + "backport": false, + "change_log": "Released CKAN 2.10 compatible code.\n", + "hash": "97aedbead1834ae66aeccb4069648ba90658172b" + } + ] + }, + "ckanext-cloudstorage": { + "Releases": [ + { + "canada_only": true, + "backport": false, + "change_log": "Released CKAN 2.10 compatible code.\n", + "hash": "97aedbead1834ae66aeccb4069648ba90658172b" + } + ] + }, + "ckanext-dcat": { + "Releases": [ + { + "canada_only": true, + "backport": false, + "change_log": "Released CKAN 2.10 compatible code.\n", + "hash": "97aedbead1834ae66aeccb4069648ba90658172b" + } + ] + }, + "ckanext-power-bi": { + "Bugfixes": [ + { + "canada_only": false, + "backport": false, + "change_log": "Catch request errors when retrieving an embed token.\n", + "hash": "aa4224d54f02af47530d673c45bc2a5ffbbba0b8" + } + ] + }, + "ckanext-recombinant": { + "Releases": [ + { + "canada_only": false, + "backport": false, + "change_log": "Released CKAN 2.10 compatible code.\n", + "hash": "97aedbead1834ae66aeccb4069648ba90658172b" + } + ] + }, + "ckanext-security": { + "Features": [ + { + "canada_only": true, + "backport": false, + "change_log": "Added the capability to enforce strong passwords at login.\n", + "hash": "1016abde3add75220946e3a804958d01d5387ecf" + }, + { + "canada_only": true, + "backport": false, + "change_log": "Log failed and successful login authentications\n", + "hash": "c648e22c76ac8980b8a2897e6834183b42e69075" + } + ], + "Releases": [ + { + "canada_only": true, + "backport": false, + "change_log": "Released CKAN 2.10 compatible code.\n", + "hash": "97aedbead1834ae66aeccb4069648ba90658172b" + } + ] + }, + "ckanext-validation": { + "Releases": [ + { + "canada_only": true, + "backport": false, + "change_log": "Released CKAN 2.10 compatible code.\n", + "hash": "97aedbead1834ae66aeccb4069648ba90658172b" + } + ] + }, + "ckanext-xloader": { + "Releases": [ + { + "canada_only": true, + "backport": false, + "change_log": "Released CKAN 2.10 compatible code.\n", + "hash": "97aedbead1834ae66aeccb4069648ba90658172b" + } + ] + }, + "frictionless-py": { + "Releases": [ + { + "canada_only": true, + "backport": false, + "change_log": "Released CKAN 2.10 compatible code.\n", + "hash": "97aedbead1834ae66aeccb4069648ba90658172b" + } + ] + } + }, + "django": {}, + "drupal": {} +} \ No newline at end of file diff --git a/docs/source/_release_builds/differences/2024.12.09.json b/docs/source/_release_builds/differences/2024.12.09.json new file mode 100644 index 0000000..9a23785 --- /dev/null +++ b/docs/source/_release_builds/differences/2024.12.09.json @@ -0,0 +1,63 @@ +{ + "ckan": { + "ckan": { + "uri": "https://github.com/open-data/ckan", + "prev": "d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "head": "1055e3c70d9a17a6cca31295c9bb5df332a2a0f8" + }, + "ckanext-canada": { + "uri": "https://github.com/open-data/ckanext-canada", + "prev": "f5e312fc3f4343285db630a580f02863c1630952", + "head": "aa54fe2e3ed4fbb6ef5be23474a6e5494130bc7f" + }, + "ckanext-cloudstorage": { + "uri": "https://github.com/open-data/ckanext-cloudstorage", + "prev": "3799984c733559064b32a2eedd27308c6d16bf0e", + "head": "f525f0286cf014329e9754944ae5f6045f21a5bf" + }, + "ckanext-dcat": { + "uri": "https://github.com/open-data/ckanext-dcat", + "prev": "c71562611ed584459149f6a62413c83fd5729824", + "head": "65be4ae51aa566d65e0db2fd41ee608bac9233c9" + }, + "ckanext-power-bi": { + "uri": "https://github.com/open-data/ckanext-power-bi", + "prev": "4b6b81f5262c4b7b8c469ed67f392b52611dd95f", + "head": "1154558cd7f40e8d945e7217bf32d2d37ff6dd71" + }, + "ckanext-recombinant": { + "uri": "https://github.com/open-data/ckanext-recombinant", + "prev": "37bcb33ddd2d9d04f30085467a9fb79bf9dfb441", + "head": "7074987aa4a207a565b55bde94bc0819ff3acbd8" + }, + "ckanext-security": { + "uri": "https://github.com/open-data/ckanext-security", + "prev": "2acf49226665515cbe01a2f5a889cb0b38ef1d6f", + "head": "ffdf2e33aecc508eec6f353983da0311efa9fb39" + }, + "ckanext-validation": { + "uri": "https://github.com/open-data/ckanext-validation", + "prev": "c944c9b9b08cd4dd4925b52aca66351afab2d6ac", + "head": "852f9bdb0876ad9a37777586e55786eec87240e9" + }, + "ckanext-xloader": { + "uri": "https://github.com/open-data/ckanext-xloader", + "prev": "a3ea5b26614b3056e5dc3555f029970424f97957", + "head": "26e9bdbb15de3c9e90ff053ebaeb7c542709795a" + }, + "frictionless-py": { + "message": "Repository added", + "uri": "https://github.com/open-data/frictionless-py", + "prev": null, + "head": "81be82a29da9a409f0ea8b4cec7f1baa3c85174c" + } + }, + "django": { + "oc_search": { + "uri": "https://github.com/open-data/oc_search", + "prev": "9685a3c7a2e72af0913e4bdd464f43160f2227e7", + "head": "f8073edf080b1cbcfa8ef8f3cb1ffffb8cfcea3c" + } + }, + "drupal": {} +} \ No newline at end of file diff --git a/docs/source/_release_builds/github/2024.12.09.json b/docs/source/_release_builds/github/2024.12.09.json new file mode 100644 index 0000000..c910c10 --- /dev/null +++ b/docs/source/_release_builds/github/2024.12.09.json @@ -0,0 +1,81920 @@ +{ + "ckan": { + "ckan": { + "url": "https://api.github.com/repos/open-data/ckan/compare/d8d0e9647c9a34757106a0151c26d8b5442bcee3...1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "html_url": "https://github.com/open-data/ckan/compare/d8d0e9647c9a34757106a0151c26d8b5442bcee3...1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "permalink_url": "https://github.com/open-data/ckan/compare/open-data:d8d0e96...open-data:1055e3c", + "diff_url": "https://github.com/open-data/ckan/compare/d8d0e9647c9a34757106a0151c26d8b5442bcee3...1055e3c70d9a17a6cca31295c9bb5df332a2a0f8.diff", + "patch_url": "https://github.com/open-data/ckan/compare/d8d0e9647c9a34757106a0151c26d8b5442bcee3...1055e3c70d9a17a6cca31295c9bb5df332a2a0f8.patch", + "base_commit": { + "sha": "d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "node_id": "C_kwDOAHlEatoAKGQ4ZDBlOTY0N2M5YTM0NzU3MTA2YTAxNTFjMjZkOGI1NDQyYmNlZTM", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "97247789+JVickery-TBS@users.noreply.github.com", + "date": "2024-10-15T13:28:10Z" + }, + "committer": { + "name": "GitHub", + "email": "noreply@github.com", + "date": "2024-10-15T13:28:10Z" + }, + "message": "Merge pull request #184 from open-data/change/markdown-helper-popup\n\nMarkdown Help Changes and Translating", + "tree": { + "sha": "bc3f9eae94f82790c7b240fb40a5326a3588537d", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/bc3f9eae94f82790c7b240fb40a5326a3588537d" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "comment_count": 0, + "verification": { + "verified": true, + "reason": "valid", + "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJnDm3qCRC1aQ7uu5UhlAAAxf0QADbC7WvkRcxaxdxivpEWGl/S\n6pAb83x6gjkeQBspHWU7QuKGda9I95A2e32gQQ8e3mjRDP5FA+ntGBzPpGKJs0De\n6LB4oUr+mIMI8h/N1sYA1IkIGXkt+7cJ584SzwvGv1SwqlMXseQfecOpu1B2MK8x\nLIUYk88FDRprG37GSGtEloJoHWA0NnnbwSLzLRJrsULJn8Q6eyErfkg856UF3CbW\nmaf8E0zGPS94Ya1jJRFVRi3iArfndhXemr3cyu1xUhtBynr3vQUXeQfIYVcWbcrX\njQTufuVM3bjkAkZMfiJ71priIuPmmnIDlPzDVfea7AhT/7SBde1qnWMwa4tp6wfE\nlHXMuytUGfPvTLndgcMafjo0y3e5mW/ZJ1D9NcaMLOr7LodwffgsGVR47nF4HfU7\njdhtPyuNBlATx6St9C72sFbh74zng4chutZDEJrhVj3mtnu8Cd8aS/sTmJK/OUfr\nSjGhtiV6/CSrtGkza23/uDN328AHReH4puSPTgl8SoKnBnpzmRV9vLwOzmIJGI2Y\nalGirUCtWJUxWVxt6EocJNHBTfXX7VVTqn4zG1/GEyWRwSFxFuoKu1NCB8WrtFRq\nI6MQL5a3YGniW+lLOhbhB/2kDnP2c23K/51q1WVAJlhUdHgGS9qEgzTiyWrxXQm3\nMfySfb746poOIRn/f0wL\n=HZiT\n-----END PGP SIGNATURE-----\n", + "payload": "tree bc3f9eae94f82790c7b240fb40a5326a3588537d\nparent 9b04562f148e0bb31d764bc2164cc9fbd2317f72\nparent 8d9a612db271cf6c952f90e6b1081a284f2e99c8\nauthor Jesse Vickery <97247789+JVickery-TBS@users.noreply.github.com> 1728998890 -0400\ncommitter GitHub 1728998890 -0400\n\nMerge pull request #184 from open-data/change/markdown-helper-popup\n\nMarkdown Help Changes and Translating", + "verified_at": "2024-11-27T21:53:53Z" + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "html_url": "https://github.com/open-data/ckan/commit/d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/d8d0e9647c9a34757106a0151c26d8b5442bcee3/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "web-flow", + "id": 19864447, + "node_id": "MDQ6VXNlcjE5ODY0NDQ3", + "avatar_url": "https://avatars.githubusercontent.com/u/19864447?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/web-flow", + "html_url": "https://github.com/web-flow", + "followers_url": "https://api.github.com/users/web-flow/followers", + "following_url": "https://api.github.com/users/web-flow/following{/other_user}", + "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", + "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", + "organizations_url": "https://api.github.com/users/web-flow/orgs", + "repos_url": "https://api.github.com/users/web-flow/repos", + "events_url": "https://api.github.com/users/web-flow/events{/privacy}", + "received_events_url": "https://api.github.com/users/web-flow/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "9b04562f148e0bb31d764bc2164cc9fbd2317f72", + "url": "https://api.github.com/repos/open-data/ckan/commits/9b04562f148e0bb31d764bc2164cc9fbd2317f72", + "html_url": "https://github.com/open-data/ckan/commit/9b04562f148e0bb31d764bc2164cc9fbd2317f72" + }, + { + "sha": "8d9a612db271cf6c952f90e6b1081a284f2e99c8", + "url": "https://api.github.com/repos/open-data/ckan/commits/8d9a612db271cf6c952f90e6b1081a284f2e99c8", + "html_url": "https://github.com/open-data/ckan/commit/8d9a612db271cf6c952f90e6b1081a284f2e99c8" + } + ] + }, + "merge_base_commit": { + "sha": "d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "node_id": "C_kwDOAHlEatoAKGQ4ZDBlOTY0N2M5YTM0NzU3MTA2YTAxNTFjMjZkOGI1NDQyYmNlZTM", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "97247789+JVickery-TBS@users.noreply.github.com", + "date": "2024-10-15T13:28:10Z" + }, + "committer": { + "name": "GitHub", + "email": "noreply@github.com", + "date": "2024-10-15T13:28:10Z" + }, + "message": "Merge pull request #184 from open-data/change/markdown-helper-popup\n\nMarkdown Help Changes and Translating", + "tree": { + "sha": "bc3f9eae94f82790c7b240fb40a5326a3588537d", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/bc3f9eae94f82790c7b240fb40a5326a3588537d" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "comment_count": 0, + "verification": { + "verified": true, + "reason": "valid", + "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJnDm3qCRC1aQ7uu5UhlAAAxf0QADbC7WvkRcxaxdxivpEWGl/S\n6pAb83x6gjkeQBspHWU7QuKGda9I95A2e32gQQ8e3mjRDP5FA+ntGBzPpGKJs0De\n6LB4oUr+mIMI8h/N1sYA1IkIGXkt+7cJ584SzwvGv1SwqlMXseQfecOpu1B2MK8x\nLIUYk88FDRprG37GSGtEloJoHWA0NnnbwSLzLRJrsULJn8Q6eyErfkg856UF3CbW\nmaf8E0zGPS94Ya1jJRFVRi3iArfndhXemr3cyu1xUhtBynr3vQUXeQfIYVcWbcrX\njQTufuVM3bjkAkZMfiJ71priIuPmmnIDlPzDVfea7AhT/7SBde1qnWMwa4tp6wfE\nlHXMuytUGfPvTLndgcMafjo0y3e5mW/ZJ1D9NcaMLOr7LodwffgsGVR47nF4HfU7\njdhtPyuNBlATx6St9C72sFbh74zng4chutZDEJrhVj3mtnu8Cd8aS/sTmJK/OUfr\nSjGhtiV6/CSrtGkza23/uDN328AHReH4puSPTgl8SoKnBnpzmRV9vLwOzmIJGI2Y\nalGirUCtWJUxWVxt6EocJNHBTfXX7VVTqn4zG1/GEyWRwSFxFuoKu1NCB8WrtFRq\nI6MQL5a3YGniW+lLOhbhB/2kDnP2c23K/51q1WVAJlhUdHgGS9qEgzTiyWrxXQm3\nMfySfb746poOIRn/f0wL\n=HZiT\n-----END PGP SIGNATURE-----\n", + "payload": "tree bc3f9eae94f82790c7b240fb40a5326a3588537d\nparent 9b04562f148e0bb31d764bc2164cc9fbd2317f72\nparent 8d9a612db271cf6c952f90e6b1081a284f2e99c8\nauthor Jesse Vickery <97247789+JVickery-TBS@users.noreply.github.com> 1728998890 -0400\ncommitter GitHub 1728998890 -0400\n\nMerge pull request #184 from open-data/change/markdown-helper-popup\n\nMarkdown Help Changes and Translating", + "verified_at": "2024-11-27T21:53:53Z" + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "html_url": "https://github.com/open-data/ckan/commit/d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/d8d0e9647c9a34757106a0151c26d8b5442bcee3/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "web-flow", + "id": 19864447, + "node_id": "MDQ6VXNlcjE5ODY0NDQ3", + "avatar_url": "https://avatars.githubusercontent.com/u/19864447?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/web-flow", + "html_url": "https://github.com/web-flow", + "followers_url": "https://api.github.com/users/web-flow/followers", + "following_url": "https://api.github.com/users/web-flow/following{/other_user}", + "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", + "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", + "organizations_url": "https://api.github.com/users/web-flow/orgs", + "repos_url": "https://api.github.com/users/web-flow/repos", + "events_url": "https://api.github.com/users/web-flow/events{/privacy}", + "received_events_url": "https://api.github.com/users/web-flow/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "9b04562f148e0bb31d764bc2164cc9fbd2317f72", + "url": "https://api.github.com/repos/open-data/ckan/commits/9b04562f148e0bb31d764bc2164cc9fbd2317f72", + "html_url": "https://github.com/open-data/ckan/commit/9b04562f148e0bb31d764bc2164cc9fbd2317f72" + }, + { + "sha": "8d9a612db271cf6c952f90e6b1081a284f2e99c8", + "url": "https://api.github.com/repos/open-data/ckan/commits/8d9a612db271cf6c952f90e6b1081a284f2e99c8", + "html_url": "https://github.com/open-data/ckan/commit/8d9a612db271cf6c952f90e6b1081a284f2e99c8" + } + ] + }, + "status": "ahead", + "ahead_by": 3520, + "behind_by": 0, + "total_commits": 3520, + "commits": [ + { + "sha": "7b1fafbb1bc35c6b9dc196ae5e8a0df2bcb3471a", + "node_id": "C_kwDOAHlEatoAKDdiMWZhZmJiMWJjMzVjNmI5ZGMxOTZhZTVlOGEwZGYyYmNiMzQ3MWE", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-04-18T19:02:15Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-06-16T16:35:39Z" + }, + "message": "[#6713] fix other column types + test", + "tree": { + "sha": "698fe9d198bf56c7062b94d5b76ef727ce8cdfa5", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/698fe9d198bf56c7062b94d5b76ef727ce8cdfa5" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/7b1fafbb1bc35c6b9dc196ae5e8a0df2bcb3471a", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/7b1fafbb1bc35c6b9dc196ae5e8a0df2bcb3471a", + "html_url": "https://github.com/open-data/ckan/commit/7b1fafbb1bc35c6b9dc196ae5e8a0df2bcb3471a", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/7b1fafbb1bc35c6b9dc196ae5e8a0df2bcb3471a/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "fc966a61a200b3ade38800cb2b86fd4d4960e66a", + "url": "https://api.github.com/repos/open-data/ckan/commits/fc966a61a200b3ade38800cb2b86fd4d4960e66a", + "html_url": "https://github.com/open-data/ckan/commit/fc966a61a200b3ade38800cb2b86fd4d4960e66a" + } + ] + }, + { + "sha": "ea1f6044a74c5d817f8cff8f81d21530b0c2e0e6", + "node_id": "C_kwDOAHlEatoAKGVhMWY2MDQ0YTc0YzVkODE3ZjhjZmY4ZjgxZDIxNTMwYjBjMmUwZTY", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-04-18T19:16:53Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-06-16T16:35:39Z" + }, + "message": "[#6713] lint and changes file", + "tree": { + "sha": "1693d54e4cbcc501b17eb21b95e2241ae084da8e", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/1693d54e4cbcc501b17eb21b95e2241ae084da8e" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/ea1f6044a74c5d817f8cff8f81d21530b0c2e0e6", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/ea1f6044a74c5d817f8cff8f81d21530b0c2e0e6", + "html_url": "https://github.com/open-data/ckan/commit/ea1f6044a74c5d817f8cff8f81d21530b0c2e0e6", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/ea1f6044a74c5d817f8cff8f81d21530b0c2e0e6/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "7b1fafbb1bc35c6b9dc196ae5e8a0df2bcb3471a", + "url": "https://api.github.com/repos/open-data/ckan/commits/7b1fafbb1bc35c6b9dc196ae5e8a0df2bcb3471a", + "html_url": "https://github.com/open-data/ckan/commit/7b1fafbb1bc35c6b9dc196ae5e8a0df2bcb3471a" + } + ] + }, + { + "sha": "601c58d687994067eb80d88369bdf126453a4fc8", + "node_id": "C_kwDOAHlEatoAKDYwMWM1OGQ2ODc5OTQwNjdlYjgwZDg4MzY5YmRmMTI2NDUzYTRmYzg", + "commit": { + "author": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-06-20T11:47:51Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-06-20T11:47:51Z" + }, + "message": "fix: add missing part to _parse_sort_clause(#7545)", + "tree": { + "sha": "28c2009f60e0c6ad2d2f4c0453478e0de5afb60e", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/28c2009f60e0c6ad2d2f4c0453478e0de5afb60e" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/601c58d687994067eb80d88369bdf126453a4fc8", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/601c58d687994067eb80d88369bdf126453a4fc8", + "html_url": "https://github.com/open-data/ckan/commit/601c58d687994067eb80d88369bdf126453a4fc8", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/601c58d687994067eb80d88369bdf126453a4fc8/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "ea1f6044a74c5d817f8cff8f81d21530b0c2e0e6", + "url": "https://api.github.com/repos/open-data/ckan/commits/ea1f6044a74c5d817f8cff8f81d21530b0c2e0e6", + "html_url": "https://github.com/open-data/ckan/commit/ea1f6044a74c5d817f8cff8f81d21530b0c2e0e6" + } + ] + }, + { + "sha": "8139e604dd761fca41ba1d3525659b7d40fa7575", + "node_id": "C_kwDOAHlEatoAKDgxMzllNjA0ZGQ3NjFmY2E0MWJhMWQzNTI1NjU5YjdkNDBmYTc1NzU", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-07-11T12:57:09Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-07-11T12:57:45Z" + }, + "message": "[#7525] Fix errors in create views command", + "tree": { + "sha": "22b2ff09dc15a4eb594b6028dc2a813122ee2d82", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/22b2ff09dc15a4eb594b6028dc2a813122ee2d82" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/8139e604dd761fca41ba1d3525659b7d40fa7575", + "comment_count": 0, + "verification": { + "verified": true, + "reason": "valid", + "signature": "-----BEGIN PGP SIGNATURE-----\n\niQIzBAABCgAdFiEE5+u2GMZJ+0VAnMzCAV0I3SGpOLQFAmStUckACgkQAV0I3SGp\nOLR6ug/8CRH/PxKAmkg+t48zeIlZ/wTtXKHoRXyD4zESbUp31+EJCEqEM+ZiVyUK\n3Poi+7PK0YzPEa4ir8mp8kEkqrPA8OxmCR78O11G/cDFCMOuGhQAPzkunw+f0RNS\n8maUWx6SZGio0s6G3td6yb+EdKPJkEsSBHEjeNAX/nwQOWeuhYFvttlWZnKks8Ij\nuCUzd18gF/3RZNn2LAZIWXqtRVYUPHzJk3XE7ELap5hCF2AnxVAIU68MQz5sTd2U\nejKmAej6nH/xcMMQrAHrkq0nJP1TM5A2lefZKpTaB8Ufx6idpSJGgdBaGDQG9L2k\n0uScdV4Nm38VaxZFTeqnFW5v1te6z5VmO6nXrUYsAyWADw5F36HhOiscITjGeQBs\nz9X4tt+QfR4v6r1M5JIsitYRVSAe2RO8uRw5o3953/N1CtsrOZEi5dGrFv8FG0P+\nF5SXMf23kpemz3mbbhk8/qW8zDZtrnHp7++ukBD06vzd02wAeEG3QNVmVn1tvBuL\nCCB8/41y9iH0TLRWNN7Z5Zog6HZdU1or+Yo0iXKYsbpMBcLo8OPLvo2gZFzrsUQj\nGTCKGDeeR1+Ocy4i9mt3xO9pU1Hgf21fAPep7h8ZAUqzOpymGSY10PGa1KHphIhw\n6jKJ30RA3QN2B83Cq2MgimfeCEyd+E3j2MdOlW7Ctc03RAbM3Vk=\n=CehV\n-----END PGP SIGNATURE-----", + "payload": "tree 22b2ff09dc15a4eb594b6028dc2a813122ee2d82\nparent 601c58d687994067eb80d88369bdf126453a4fc8\nauthor amercader 1689080229 +0200\ncommitter amercader 1689080265 +0200\n\n[#7525] Fix errors in create views command\n", + "verified_at": "2024-11-11T08:19:45Z" + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/8139e604dd761fca41ba1d3525659b7d40fa7575", + "html_url": "https://github.com/open-data/ckan/commit/8139e604dd761fca41ba1d3525659b7d40fa7575", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/8139e604dd761fca41ba1d3525659b7d40fa7575/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "601c58d687994067eb80d88369bdf126453a4fc8", + "url": "https://api.github.com/repos/open-data/ckan/commits/601c58d687994067eb80d88369bdf126453a4fc8", + "html_url": "https://github.com/open-data/ckan/commit/601c58d687994067eb80d88369bdf126453a4fc8" + } + ] + }, + { + "sha": "2333629e5e57e541bfed2dc399d5eb0c9937b9cf", + "node_id": "C_kwDOAHlEatoAKDIzMzM2MjllNWU1N2U1NDFiZmVkMmRjMzk5ZDVlYjBjOTkzN2I5Y2Y", + "commit": { + "author": { + "name": "Oleksandr Cherniavskyi", + "email": "cherniavskyi.alexandr@linkdigital.com.au", + "date": "2023-08-28T09:24:58Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-10-02T11:11:38Z" + }, + "message": "[#7710] add datastore and datapusher templates-bs3", + "tree": { + "sha": "20742122c70b3787c307132e422a9c9ae7e209ec", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/20742122c70b3787c307132e422a9c9ae7e209ec" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/2333629e5e57e541bfed2dc399d5eb0c9937b9cf", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/2333629e5e57e541bfed2dc399d5eb0c9937b9cf", + "html_url": "https://github.com/open-data/ckan/commit/2333629e5e57e541bfed2dc399d5eb0c9937b9cf", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/2333629e5e57e541bfed2dc399d5eb0c9937b9cf/comments", + "author": { + "login": "mutantsan", + "id": 55234934, + "node_id": "MDQ6VXNlcjU1MjM0OTM0", + "avatar_url": "https://avatars.githubusercontent.com/u/55234934?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mutantsan", + "html_url": "https://github.com/mutantsan", + "followers_url": "https://api.github.com/users/mutantsan/followers", + "following_url": "https://api.github.com/users/mutantsan/following{/other_user}", + "gists_url": "https://api.github.com/users/mutantsan/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mutantsan/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mutantsan/subscriptions", + "organizations_url": "https://api.github.com/users/mutantsan/orgs", + "repos_url": "https://api.github.com/users/mutantsan/repos", + "events_url": "https://api.github.com/users/mutantsan/events{/privacy}", + "received_events_url": "https://api.github.com/users/mutantsan/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "8139e604dd761fca41ba1d3525659b7d40fa7575", + "url": "https://api.github.com/repos/open-data/ckan/commits/8139e604dd761fca41ba1d3525659b7d40fa7575", + "html_url": "https://github.com/open-data/ckan/commit/8139e604dd761fca41ba1d3525659b7d40fa7575" + } + ] + }, + { + "sha": "5f5abd24e1b00fd3e7f21e0681e984031a26d22b", + "node_id": "C_kwDOAHlEatoAKDVmNWFiZDI0ZTFiMDBmZDNlN2YyMWUwNjgxZTk4NDAzMWEyNmQyMmI", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-09-25T20:04:55Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-10-02T11:23:49Z" + }, + "message": "[#7832] update resource datastore_active with a single statement", + "tree": { + "sha": "538332187f5ba044de59610d608554d3280923af", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/538332187f5ba044de59610d608554d3280923af" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/5f5abd24e1b00fd3e7f21e0681e984031a26d22b", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/5f5abd24e1b00fd3e7f21e0681e984031a26d22b", + "html_url": "https://github.com/open-data/ckan/commit/5f5abd24e1b00fd3e7f21e0681e984031a26d22b", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/5f5abd24e1b00fd3e7f21e0681e984031a26d22b/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "2333629e5e57e541bfed2dc399d5eb0c9937b9cf", + "url": "https://api.github.com/repos/open-data/ckan/commits/2333629e5e57e541bfed2dc399d5eb0c9937b9cf", + "html_url": "https://github.com/open-data/ckan/commit/2333629e5e57e541bfed2dc399d5eb0c9937b9cf" + } + ] + }, + { + "sha": "5a4864de18b85e7492fbf720b8398fdd539536d7", + "node_id": "C_kwDOAHlEatoAKDVhNDg2NGRlMThiODVlNzQ5MmZiZjcyMGI4Mzk4ZmRkNTM5NTM2ZDc", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-09-25T20:55:48Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-10-02T11:24:36Z" + }, + "message": "[#7832] types and changes file", + "tree": { + "sha": "a15f583cd02edb8cf49283918d7b27aa9f8b1d44", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/a15f583cd02edb8cf49283918d7b27aa9f8b1d44" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/5a4864de18b85e7492fbf720b8398fdd539536d7", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/5a4864de18b85e7492fbf720b8398fdd539536d7", + "html_url": "https://github.com/open-data/ckan/commit/5a4864de18b85e7492fbf720b8398fdd539536d7", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/5a4864de18b85e7492fbf720b8398fdd539536d7/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "5f5abd24e1b00fd3e7f21e0681e984031a26d22b", + "url": "https://api.github.com/repos/open-data/ckan/commits/5f5abd24e1b00fd3e7f21e0681e984031a26d22b", + "html_url": "https://github.com/open-data/ckan/commit/5f5abd24e1b00fd3e7f21e0681e984031a26d22b" + } + ] + }, + { + "sha": "6c61d46e6cab2024dbbb99cace273ece8094b2cf", + "node_id": "C_kwDOAHlEatoAKDZjNjFkNDZlNmNhYjIwMjRkYmJiOTljYWNlMjczZWNlODA5NGIyY2Y", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-09-25T21:42:50Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-10-02T11:24:38Z" + }, + "message": "[#7832] expire resource extras", + "tree": { + "sha": "4c2431e401a8e63f1d0efe0294f8818456eb7a94", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/4c2431e401a8e63f1d0efe0294f8818456eb7a94" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/6c61d46e6cab2024dbbb99cace273ece8094b2cf", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/6c61d46e6cab2024dbbb99cace273ece8094b2cf", + "html_url": "https://github.com/open-data/ckan/commit/6c61d46e6cab2024dbbb99cace273ece8094b2cf", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/6c61d46e6cab2024dbbb99cace273ece8094b2cf/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "5a4864de18b85e7492fbf720b8398fdd539536d7", + "url": "https://api.github.com/repos/open-data/ckan/commits/5a4864de18b85e7492fbf720b8398fdd539536d7", + "html_url": "https://github.com/open-data/ckan/commit/5a4864de18b85e7492fbf720b8398fdd539536d7" + } + ] + }, + { + "sha": "52370b06987c55abd2c3831e17a2c6f515c12a88", + "node_id": "C_kwDOAHlEatoAKDUyMzcwYjA2OTg3YzU1YWJkMmMzODMxZTE3YTJjNmY1MTVjMTJhODg", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-09-26T00:01:35Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-10-02T11:24:38Z" + }, + "message": "[#7832] handle null extras", + "tree": { + "sha": "5b5b2122acc09b294585391ed511c8e5461c233d", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/5b5b2122acc09b294585391ed511c8e5461c233d" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/52370b06987c55abd2c3831e17a2c6f515c12a88", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/52370b06987c55abd2c3831e17a2c6f515c12a88", + "html_url": "https://github.com/open-data/ckan/commit/52370b06987c55abd2c3831e17a2c6f515c12a88", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/52370b06987c55abd2c3831e17a2c6f515c12a88/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "6c61d46e6cab2024dbbb99cace273ece8094b2cf", + "url": "https://api.github.com/repos/open-data/ckan/commits/6c61d46e6cab2024dbbb99cace273ece8094b2cf", + "html_url": "https://github.com/open-data/ckan/commit/6c61d46e6cab2024dbbb99cace273ece8094b2cf" + } + ] + }, + { + "sha": "6d7a16eb9bf23df7462c85f7b5502a0596982505", + "node_id": "C_kwDOAHlEatoAKDZkN2ExNmViOWJmMjNkZjc0NjJjODVmN2I1NTAyYTA1OTY5ODI1MDU", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-09-26T21:26:48Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-10-02T11:24:38Z" + }, + "message": "[#7832] regression test", + "tree": { + "sha": "ba153ecc6ee802e34b16cf4ace51a12cfcb023b9", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/ba153ecc6ee802e34b16cf4ace51a12cfcb023b9" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/6d7a16eb9bf23df7462c85f7b5502a0596982505", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/6d7a16eb9bf23df7462c85f7b5502a0596982505", + "html_url": "https://github.com/open-data/ckan/commit/6d7a16eb9bf23df7462c85f7b5502a0596982505", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/6d7a16eb9bf23df7462c85f7b5502a0596982505/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "52370b06987c55abd2c3831e17a2c6f515c12a88", + "url": "https://api.github.com/repos/open-data/ckan/commits/52370b06987c55abd2c3831e17a2c6f515c12a88", + "html_url": "https://github.com/open-data/ckan/commit/52370b06987c55abd2c3831e17a2c6f515c12a88" + } + ] + }, + { + "sha": "b41fe193a930d971ccc99a57c4561a0227fa8ec5", + "node_id": "C_kwDOAHlEatoAKGI0MWZlMTkzYTkzMGQ5NzFjY2M5OWE1N2M0NTYxYTAyMjdmYThlYzU", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-09-26T21:42:04Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-10-02T11:24:38Z" + }, + "message": "[#7832] lint", + "tree": { + "sha": "6b96aa01c9d1df97fadc251ffdba2b2582c78387", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/6b96aa01c9d1df97fadc251ffdba2b2582c78387" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/b41fe193a930d971ccc99a57c4561a0227fa8ec5", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/b41fe193a930d971ccc99a57c4561a0227fa8ec5", + "html_url": "https://github.com/open-data/ckan/commit/b41fe193a930d971ccc99a57c4561a0227fa8ec5", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/b41fe193a930d971ccc99a57c4561a0227fa8ec5/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "6d7a16eb9bf23df7462c85f7b5502a0596982505", + "url": "https://api.github.com/repos/open-data/ckan/commits/6d7a16eb9bf23df7462c85f7b5502a0596982505", + "html_url": "https://github.com/open-data/ckan/commit/6d7a16eb9bf23df7462c85f7b5502a0596982505" + } + ] + }, + { + "sha": "c95662173ce68d8ba048f4e67fef2f2f97c8171b", + "node_id": "C_kwDOAHlEatoAKGM5NTY2MjE3M2NlNjhkOGJhMDQ4ZjRlNjdmZWYyZjJmOTdjODE3MWI", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-17T08:27:16Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-17T08:27:16Z" + }, + "message": "Bump pyyaml to 6.0.1\n\nTo fix an installation error caused by pyyaml cython requirement:\n\n AttributeError: cython_sources\n\nhttps://github.com/yaml/pyyaml/blob/c42fa3bff1eabdb64763bb1526d9ea1ccb708479/CHANGES#L9\nhttps://github.com/yaml/pyyaml/pull/702", + "tree": { + "sha": "3d6e4bf7ea4922bf2062c5cb456486b82038d158", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/3d6e4bf7ea4922bf2062c5cb456486b82038d158" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/c95662173ce68d8ba048f4e67fef2f2f97c8171b", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/c95662173ce68d8ba048f4e67fef2f2f97c8171b", + "html_url": "https://github.com/open-data/ckan/commit/c95662173ce68d8ba048f4e67fef2f2f97c8171b", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/c95662173ce68d8ba048f4e67fef2f2f97c8171b/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "b41fe193a930d971ccc99a57c4561a0227fa8ec5", + "url": "https://api.github.com/repos/open-data/ckan/commits/b41fe193a930d971ccc99a57c4561a0227fa8ec5", + "html_url": "https://github.com/open-data/ckan/commit/b41fe193a930d971ccc99a57c4561a0227fa8ec5" + } + ] + }, + { + "sha": "e494adbbcabcce0adb46323b3a005dce56dcb83b", + "node_id": "C_kwDOAHlEatoAKGU0OTRhZGJiY2FiY2NlMGFkYjQ2MzIzYjNhMDA1ZGNlNTZkY2I4M2I", + "commit": { + "author": { + "name": "MZhiyenbayev", + "email": "meiran1991@gmail.com", + "date": "2023-03-04T06:19:00Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-17T12:52:48Z" + }, + "message": "[ckan_doc_version][xs]: fixed broken doc api url", + "tree": { + "sha": "0075a3ec922baaf18bf611ce5d0e6df617f53222", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/0075a3ec922baaf18bf611ce5d0e6df617f53222" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/e494adbbcabcce0adb46323b3a005dce56dcb83b", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/e494adbbcabcce0adb46323b3a005dce56dcb83b", + "html_url": "https://github.com/open-data/ckan/commit/e494adbbcabcce0adb46323b3a005dce56dcb83b", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/e494adbbcabcce0adb46323b3a005dce56dcb83b/comments", + "author": { + "login": "Mikanebu", + "id": 19908588, + "node_id": "MDQ6VXNlcjE5OTA4NTg4", + "avatar_url": "https://avatars.githubusercontent.com/u/19908588?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Mikanebu", + "html_url": "https://github.com/Mikanebu", + "followers_url": "https://api.github.com/users/Mikanebu/followers", + "following_url": "https://api.github.com/users/Mikanebu/following{/other_user}", + "gists_url": "https://api.github.com/users/Mikanebu/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Mikanebu/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Mikanebu/subscriptions", + "organizations_url": "https://api.github.com/users/Mikanebu/orgs", + "repos_url": "https://api.github.com/users/Mikanebu/repos", + "events_url": "https://api.github.com/users/Mikanebu/events{/privacy}", + "received_events_url": "https://api.github.com/users/Mikanebu/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "b41fe193a930d971ccc99a57c4561a0227fa8ec5", + "url": "https://api.github.com/repos/open-data/ckan/commits/b41fe193a930d971ccc99a57c4561a0227fa8ec5", + "html_url": "https://github.com/open-data/ckan/commit/b41fe193a930d971ccc99a57c4561a0227fa8ec5" + } + ] + }, + { + "sha": "0cb896169f996413c369aa010b3cf7a61e7c8f1e", + "node_id": "C_kwDOAHlEatoAKDBjYjg5NjE2OWY5OTY0MTNjMzY5YWEwMTBiM2NmN2E2MWU3YzhmMWU", + "commit": { + "author": { + "name": "MZhiyenbayev", + "email": "meiran1991@gmail.com", + "date": "2023-04-11T11:44:59Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-17T12:52:52Z" + }, + "message": "[ckan_doc_version][xs]: fixed broken doc api url using parse lib", + "tree": { + "sha": "5d0cc6b486ec681d7159007ef7341465ece806f9", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/5d0cc6b486ec681d7159007ef7341465ece806f9" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/0cb896169f996413c369aa010b3cf7a61e7c8f1e", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/0cb896169f996413c369aa010b3cf7a61e7c8f1e", + "html_url": "https://github.com/open-data/ckan/commit/0cb896169f996413c369aa010b3cf7a61e7c8f1e", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/0cb896169f996413c369aa010b3cf7a61e7c8f1e/comments", + "author": { + "login": "Mikanebu", + "id": 19908588, + "node_id": "MDQ6VXNlcjE5OTA4NTg4", + "avatar_url": "https://avatars.githubusercontent.com/u/19908588?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Mikanebu", + "html_url": "https://github.com/Mikanebu", + "followers_url": "https://api.github.com/users/Mikanebu/followers", + "following_url": "https://api.github.com/users/Mikanebu/following{/other_user}", + "gists_url": "https://api.github.com/users/Mikanebu/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Mikanebu/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Mikanebu/subscriptions", + "organizations_url": "https://api.github.com/users/Mikanebu/orgs", + "repos_url": "https://api.github.com/users/Mikanebu/repos", + "events_url": "https://api.github.com/users/Mikanebu/events{/privacy}", + "received_events_url": "https://api.github.com/users/Mikanebu/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "e494adbbcabcce0adb46323b3a005dce56dcb83b", + "url": "https://api.github.com/repos/open-data/ckan/commits/e494adbbcabcce0adb46323b3a005dce56dcb83b", + "html_url": "https://github.com/open-data/ckan/commit/e494adbbcabcce0adb46323b3a005dce56dcb83b" + } + ] + }, + { + "sha": "06318c77bdb9d3360966cfbd3c92fc11589971ce", + "node_id": "C_kwDOAHlEatoAKDA2MzE4Yzc3YmRiOWQzMzYwOTY2Y2ZiZDNjOTJmYzExNTg5OTcxY2U", + "commit": { + "author": { + "name": "mutantsan", + "email": "kvaqich@gmail.com", + "date": "2023-03-20T11:34:13Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-17T12:53:04Z" + }, + "message": "Fix button icon/text gap", + "tree": { + "sha": "66eb31f3186f9b447adbd1525af51b4110441878", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/66eb31f3186f9b447adbd1525af51b4110441878" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/06318c77bdb9d3360966cfbd3c92fc11589971ce", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/06318c77bdb9d3360966cfbd3c92fc11589971ce", + "html_url": "https://github.com/open-data/ckan/commit/06318c77bdb9d3360966cfbd3c92fc11589971ce", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/06318c77bdb9d3360966cfbd3c92fc11589971ce/comments", + "author": { + "login": "mutantsan", + "id": 55234934, + "node_id": "MDQ6VXNlcjU1MjM0OTM0", + "avatar_url": "https://avatars.githubusercontent.com/u/55234934?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/mutantsan", + "html_url": "https://github.com/mutantsan", + "followers_url": "https://api.github.com/users/mutantsan/followers", + "following_url": "https://api.github.com/users/mutantsan/following{/other_user}", + "gists_url": "https://api.github.com/users/mutantsan/gists{/gist_id}", + "starred_url": "https://api.github.com/users/mutantsan/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/mutantsan/subscriptions", + "organizations_url": "https://api.github.com/users/mutantsan/orgs", + "repos_url": "https://api.github.com/users/mutantsan/repos", + "events_url": "https://api.github.com/users/mutantsan/events{/privacy}", + "received_events_url": "https://api.github.com/users/mutantsan/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "0cb896169f996413c369aa010b3cf7a61e7c8f1e", + "url": "https://api.github.com/repos/open-data/ckan/commits/0cb896169f996413c369aa010b3cf7a61e7c8f1e", + "html_url": "https://github.com/open-data/ckan/commit/0cb896169f996413c369aa010b3cf7a61e7c8f1e" + } + ] + }, + { + "sha": "d5ab7ee7a80c27ab3ddf7c36b71699c71df37ffc", + "node_id": "C_kwDOAHlEatoAKGQ1YWI3ZWU3YTgwYzI3YWIzZGRmN2MzNmI3MTY5OWM3MWRmMzdmZmM", + "commit": { + "author": { + "name": "pdelboca", + "email": "patriciodelboca@gmail.com", + "date": "2023-06-20T09:09:36Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-17T12:53:59Z" + }, + "message": "Fix bootstrap 5 classes for badge", + "tree": { + "sha": "52828eaf09ef13e3a48511c2f9cff3054d7819cd", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/52828eaf09ef13e3a48511c2f9cff3054d7819cd" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/d5ab7ee7a80c27ab3ddf7c36b71699c71df37ffc", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/d5ab7ee7a80c27ab3ddf7c36b71699c71df37ffc", + "html_url": "https://github.com/open-data/ckan/commit/d5ab7ee7a80c27ab3ddf7c36b71699c71df37ffc", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/d5ab7ee7a80c27ab3ddf7c36b71699c71df37ffc/comments", + "author": { + "login": "pdelboca", + "id": 6672339, + "node_id": "MDQ6VXNlcjY2NzIzMzk=", + "avatar_url": "https://avatars.githubusercontent.com/u/6672339?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/pdelboca", + "html_url": "https://github.com/pdelboca", + "followers_url": "https://api.github.com/users/pdelboca/followers", + "following_url": "https://api.github.com/users/pdelboca/following{/other_user}", + "gists_url": "https://api.github.com/users/pdelboca/gists{/gist_id}", + "starred_url": "https://api.github.com/users/pdelboca/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pdelboca/subscriptions", + "organizations_url": "https://api.github.com/users/pdelboca/orgs", + "repos_url": "https://api.github.com/users/pdelboca/repos", + "events_url": "https://api.github.com/users/pdelboca/events{/privacy}", + "received_events_url": "https://api.github.com/users/pdelboca/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "06318c77bdb9d3360966cfbd3c92fc11589971ce", + "url": "https://api.github.com/repos/open-data/ckan/commits/06318c77bdb9d3360966cfbd3c92fc11589971ce", + "html_url": "https://github.com/open-data/ckan/commit/06318c77bdb9d3360966cfbd3c92fc11589971ce" + } + ] + }, + { + "sha": "adf26d7ced2e8f347c6b849f7d784c0317fdfef8", + "node_id": "C_kwDOAHlEatoAKGFkZjI2ZDdjZWQyZThmMzQ3YzZiODQ5ZjdkNzg0YzAzMTdmZGZlZjg", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-06-29T11:22:23Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-17T12:58:31Z" + }, + "message": "Ensure activity plugin is loaded before migrating old revisions\n\nOtherwise you get an `package_activity_list` action not found error", + "tree": { + "sha": "20115e406ac849d97781ae8e54b5555ad3096112", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/20115e406ac849d97781ae8e54b5555ad3096112" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/adf26d7ced2e8f347c6b849f7d784c0317fdfef8", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/adf26d7ced2e8f347c6b849f7d784c0317fdfef8", + "html_url": "https://github.com/open-data/ckan/commit/adf26d7ced2e8f347c6b849f7d784c0317fdfef8", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/adf26d7ced2e8f347c6b849f7d784c0317fdfef8/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "d5ab7ee7a80c27ab3ddf7c36b71699c71df37ffc", + "url": "https://api.github.com/repos/open-data/ckan/commits/d5ab7ee7a80c27ab3ddf7c36b71699c71df37ffc", + "html_url": "https://github.com/open-data/ckan/commit/d5ab7ee7a80c27ab3ddf7c36b71699c71df37ffc" + } + ] + }, + { + "sha": "54504e6f90b51755dec6c66b5aee375950db832f", + "node_id": "C_kwDOAHlEatoAKDU0NTA0ZTZmOTBiNTE3NTVkZWM2YzY2YjVhZWUzNzU5NTBkYjgzMmY", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-06-29T11:23:39Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-17T12:58:40Z" + }, + "message": "Support new plugin_data field in revision migrate script", + "tree": { + "sha": "26bb911c32a3a2b807c5fc70b0059db7c61a3306", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/26bb911c32a3a2b807c5fc70b0059db7c61a3306" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/54504e6f90b51755dec6c66b5aee375950db832f", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/54504e6f90b51755dec6c66b5aee375950db832f", + "html_url": "https://github.com/open-data/ckan/commit/54504e6f90b51755dec6c66b5aee375950db832f", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/54504e6f90b51755dec6c66b5aee375950db832f/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "adf26d7ced2e8f347c6b849f7d784c0317fdfef8", + "url": "https://api.github.com/repos/open-data/ckan/commits/adf26d7ced2e8f347c6b849f7d784c0317fdfef8", + "html_url": "https://github.com/open-data/ckan/commit/adf26d7ced2e8f347c6b849f7d784c0317fdfef8" + } + ] + }, + { + "sha": "e96f7159b0e31bdbc9bce1056297d7c452562f8c", + "node_id": "C_kwDOAHlEatoAKGU5NmY3MTU5YjBlMzFiZGJjOWJjZTEwNTYyOTdkN2M0NTI1NjJmOGM", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-06-29T11:24:17Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-17T12:58:51Z" + }, + "message": "Remove no longer supported key in revision migrate script\n\nThe ordering changes doesn't seem to affect the actual migration from\nrevisions to activities, it was just copied verbatim from the old VDM\ncode", + "tree": { + "sha": "67eef4c4eeb34d5c118fa29d96c5b09ef2f4509a", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/67eef4c4eeb34d5c118fa29d96c5b09ef2f4509a" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/e96f7159b0e31bdbc9bce1056297d7c452562f8c", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/e96f7159b0e31bdbc9bce1056297d7c452562f8c", + "html_url": "https://github.com/open-data/ckan/commit/e96f7159b0e31bdbc9bce1056297d7c452562f8c", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/e96f7159b0e31bdbc9bce1056297d7c452562f8c/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "54504e6f90b51755dec6c66b5aee375950db832f", + "url": "https://api.github.com/repos/open-data/ckan/commits/54504e6f90b51755dec6c66b5aee375950db832f", + "html_url": "https://github.com/open-data/ckan/commit/54504e6f90b51755dec6c66b5aee375950db832f" + } + ] + }, + { + "sha": "aa5aa843158a2e7fcb8ab759e229159fb8aeaea2", + "node_id": "C_kwDOAHlEatoAKGFhNWFhODQzMTU4YTJlN2ZjYjhhYjc1OWUyMjkxNTlmYjhhZWFlYTI", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-06-29T11:58:38Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-17T12:59:00Z" + }, + "message": "lint and changelog", + "tree": { + "sha": "aa76277266816371a35cfad0c2df4f7afc30a590", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/aa76277266816371a35cfad0c2df4f7afc30a590" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/aa5aa843158a2e7fcb8ab759e229159fb8aeaea2", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/aa5aa843158a2e7fcb8ab759e229159fb8aeaea2", + "html_url": "https://github.com/open-data/ckan/commit/aa5aa843158a2e7fcb8ab759e229159fb8aeaea2", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/aa5aa843158a2e7fcb8ab759e229159fb8aeaea2/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "e96f7159b0e31bdbc9bce1056297d7c452562f8c", + "url": "https://api.github.com/repos/open-data/ckan/commits/e96f7159b0e31bdbc9bce1056297d7c452562f8c", + "html_url": "https://github.com/open-data/ckan/commit/e96f7159b0e31bdbc9bce1056297d7c452562f8c" + } + ] + }, + { + "sha": "815dce2cc449a456c90784dc79951fda85a41e4d", + "node_id": "C_kwDOAHlEatoAKDgxNWRjZTJjYzQ0OWE0NTZjOTA3ODRkYzc5OTUxZmRhODVhNDFlNGQ", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-10-17T13:04:21Z" + }, + "committer": { + "name": "GitHub", + "email": "noreply@github.com", + "date": "2023-10-17T13:04:21Z" + }, + "message": "Merge pull request #7864 from ckan/bump-pyyaml\n\n[2.10] Bump pyyaml to 6.0.1", + "tree": { + "sha": "3d6e4bf7ea4922bf2062c5cb456486b82038d158", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/3d6e4bf7ea4922bf2062c5cb456486b82038d158" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/815dce2cc449a456c90784dc79951fda85a41e4d", + "comment_count": 0, + "verification": { + "verified": true, + "reason": "valid", + "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsBcBAABCAAQBQJlLoZVCRBK7hj4Ov3rIwAAL74IAG+yPVWP7Z/MuygGRFG3JbU4\nBbFyhQxd0RjEW1K1YuXixhZ6NYZNdcq84wTwBa9LznYDRXMccc4dv4jE90FKyc6o\nD0mehc/R6z4t8ET5v2CH8owgVQJ3lLOk9r/VqORyIyMElw9NbsRIv2wasdJnFq5L\niIJTSzi5XnP+6ZFffKymKmcLGRS73p76qW6Rs6rB5nTG4SlmR8JRRW44WxlkrcE7\nNHy4Ifev4THc58RjiK4knLdfxb9Ju9SfF9Hxwd9830HOzdw8W5q1jcW2pf2WWE6O\n6fs3zXeOoZKVzZahB5qiG3lEIEy4xdd7kFkPURo6Nv50qwkKrHHxFBBafs4k9a4=\n=iedR\n-----END PGP SIGNATURE-----\n", + "payload": "tree 3d6e4bf7ea4922bf2062c5cb456486b82038d158\nparent b41fe193a930d971ccc99a57c4561a0227fa8ec5\nparent c95662173ce68d8ba048f4e67fef2f2f97c8171b\nauthor Ian Ward 1697547861 -0400\ncommitter GitHub 1697547861 -0400\n\nMerge pull request #7864 from ckan/bump-pyyaml\n\n[2.10] Bump pyyaml to 6.0.1 ", + "verified_at": "2024-01-16T19:59:59Z" + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/815dce2cc449a456c90784dc79951fda85a41e4d", + "html_url": "https://github.com/open-data/ckan/commit/815dce2cc449a456c90784dc79951fda85a41e4d", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/815dce2cc449a456c90784dc79951fda85a41e4d/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "web-flow", + "id": 19864447, + "node_id": "MDQ6VXNlcjE5ODY0NDQ3", + "avatar_url": "https://avatars.githubusercontent.com/u/19864447?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/web-flow", + "html_url": "https://github.com/web-flow", + "followers_url": "https://api.github.com/users/web-flow/followers", + "following_url": "https://api.github.com/users/web-flow/following{/other_user}", + "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", + "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", + "organizations_url": "https://api.github.com/users/web-flow/orgs", + "repos_url": "https://api.github.com/users/web-flow/repos", + "events_url": "https://api.github.com/users/web-flow/events{/privacy}", + "received_events_url": "https://api.github.com/users/web-flow/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "b41fe193a930d971ccc99a57c4561a0227fa8ec5", + "url": "https://api.github.com/repos/open-data/ckan/commits/b41fe193a930d971ccc99a57c4561a0227fa8ec5", + "html_url": "https://github.com/open-data/ckan/commit/b41fe193a930d971ccc99a57c4561a0227fa8ec5" + }, + { + "sha": "c95662173ce68d8ba048f4e67fef2f2f97c8171b", + "url": "https://api.github.com/repos/open-data/ckan/commits/c95662173ce68d8ba048f4e67fef2f2f97c8171b", + "html_url": "https://github.com/open-data/ckan/commit/c95662173ce68d8ba048f4e67fef2f2f97c8171b" + } + ] + }, + { + "sha": "83e37e095f54c0b4888039e7103ef0179dab12e1", + "node_id": "C_kwDOAHlEatoAKDgzZTM3ZTA5NWY1NGMwYjQ4ODgwMzllNzEwM2VmMDE3OWRhYjEyZTE", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-07-05T13:11:10Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T13:39:42Z" + }, + "message": "Fix package_revise test\n\nIt started failing when we introduced the requirement for unique\nresource ids:\n\n ckan.logic.ValidationError: None - {'resources': [{'id': ['Resource\n id already exists.']}]}\n\nThe reason is clear, two tests were using the same resource on a\n`non_clean_db` test class. This was masked in Circle CI because these\ntwo tests were split across containers, but it surfaced when running all\ntests sequentially:\n\nhttps://github.com/ckan/ckan-solr/actions/runs/5463080559/jobs/9943315203", + "tree": { + "sha": "a0f06d4c53f61231254e6a32d41875a30f2b011f", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/a0f06d4c53f61231254e6a32d41875a30f2b011f" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/83e37e095f54c0b4888039e7103ef0179dab12e1", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/83e37e095f54c0b4888039e7103ef0179dab12e1", + "html_url": "https://github.com/open-data/ckan/commit/83e37e095f54c0b4888039e7103ef0179dab12e1", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/83e37e095f54c0b4888039e7103ef0179dab12e1/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "aa5aa843158a2e7fcb8ab759e229159fb8aeaea2", + "url": "https://api.github.com/repos/open-data/ckan/commits/aa5aa843158a2e7fcb8ab759e229159fb8aeaea2", + "html_url": "https://github.com/open-data/ckan/commit/aa5aa843158a2e7fcb8ab759e229159fb8aeaea2" + } + ] + }, + { + "sha": "8d0cfd7315393ed75f7d05041d30750be6d40665", + "node_id": "C_kwDOAHlEatoAKDhkMGNmZDczMTUzOTNlZDc1ZjdkMDUwNDFkMzA3NTBiZTZkNDA2NjU", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-07-05T14:06:09Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T13:40:07Z" + }, + "message": "[#7407] Documentation changes to use Solr 9 as default version\n\nThere are no code or schema changes needed to support Solr 9. I reviewed\nthe upgrade notes and didn't see anything that stood out for a standard\nCKAN install:\n\nhttps://github.com/apache/solr/blob/main/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-9.adoc\n\nThere are pre-configured images for CKAN + Solr 9 ready to go:\n\nhttps://github.com/ckan/ckan-solr/pull/6", + "tree": { + "sha": "da6e147b8832aba6d90323a80214e46748e08a0d", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/da6e147b8832aba6d90323a80214e46748e08a0d" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/8d0cfd7315393ed75f7d05041d30750be6d40665", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/8d0cfd7315393ed75f7d05041d30750be6d40665", + "html_url": "https://github.com/open-data/ckan/commit/8d0cfd7315393ed75f7d05041d30750be6d40665", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/8d0cfd7315393ed75f7d05041d30750be6d40665/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "83e37e095f54c0b4888039e7103ef0179dab12e1", + "url": "https://api.github.com/repos/open-data/ckan/commits/83e37e095f54c0b4888039e7103ef0179dab12e1", + "html_url": "https://github.com/open-data/ckan/commit/83e37e095f54c0b4888039e7103ef0179dab12e1" + } + ] + }, + { + "sha": "b9925bac9cc35e5a906eb484b42f9a3da45a4d93", + "node_id": "C_kwDOAHlEatoAKGI5OTI1YmFjOWNjMzVlNWE5MDZlYjQ4NGI0MmY5YTNkYTQ1YTRkOTM", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-07-06T10:48:35Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T13:40:13Z" + }, + "message": "[#7407] Add changelog entry", + "tree": { + "sha": "f38f5ef00633b22a0a56345c0e96f688b93493eb", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/f38f5ef00633b22a0a56345c0e96f688b93493eb" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/b9925bac9cc35e5a906eb484b42f9a3da45a4d93", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/b9925bac9cc35e5a906eb484b42f9a3da45a4d93", + "html_url": "https://github.com/open-data/ckan/commit/b9925bac9cc35e5a906eb484b42f9a3da45a4d93", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/b9925bac9cc35e5a906eb484b42f9a3da45a4d93/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "8d0cfd7315393ed75f7d05041d30750be6d40665", + "url": "https://api.github.com/repos/open-data/ckan/commits/8d0cfd7315393ed75f7d05041d30750be6d40665", + "html_url": "https://github.com/open-data/ckan/commit/8d0cfd7315393ed75f7d05041d30750be6d40665" + } + ] + }, + { + "sha": "bc20babb69f7e7c9c42713411df57f94c8d7a381", + "node_id": "C_kwDOAHlEatoAKGJjMjBiYWJiNjlmN2U3YzljNDI3MTM0MTFkZjU3Zjk0YzhkN2EzODE", + "commit": { + "author": { + "name": "Brett", + "email": "brett@kowh.ai", + "date": "2023-07-18T07:19:03Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T13:40:35Z" + }, + "message": "Update solr.rst\n\nNeeds to be openjdk-11 for Solr 9", + "tree": { + "sha": "aa73d68be8f20f692334f06eb73da02eb3af54d9", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/aa73d68be8f20f692334f06eb73da02eb3af54d9" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/bc20babb69f7e7c9c42713411df57f94c8d7a381", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/bc20babb69f7e7c9c42713411df57f94c8d7a381", + "html_url": "https://github.com/open-data/ckan/commit/bc20babb69f7e7c9c42713411df57f94c8d7a381", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/bc20babb69f7e7c9c42713411df57f94c8d7a381/comments", + "author": { + "login": "kowh-ai", + "id": 54408245, + "node_id": "MDQ6VXNlcjU0NDA4MjQ1", + "avatar_url": "https://avatars.githubusercontent.com/u/54408245?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/kowh-ai", + "html_url": "https://github.com/kowh-ai", + "followers_url": "https://api.github.com/users/kowh-ai/followers", + "following_url": "https://api.github.com/users/kowh-ai/following{/other_user}", + "gists_url": "https://api.github.com/users/kowh-ai/gists{/gist_id}", + "starred_url": "https://api.github.com/users/kowh-ai/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/kowh-ai/subscriptions", + "organizations_url": "https://api.github.com/users/kowh-ai/orgs", + "repos_url": "https://api.github.com/users/kowh-ai/repos", + "events_url": "https://api.github.com/users/kowh-ai/events{/privacy}", + "received_events_url": "https://api.github.com/users/kowh-ai/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "b9925bac9cc35e5a906eb484b42f9a3da45a4d93", + "url": "https://api.github.com/repos/open-data/ckan/commits/b9925bac9cc35e5a906eb484b42f9a3da45a4d93", + "html_url": "https://github.com/open-data/ckan/commit/b9925bac9cc35e5a906eb484b42f9a3da45a4d93" + } + ] + }, + { + "sha": "4bd065e3f2e7eadd11ac8fd625286f780d7fbf94", + "node_id": "C_kwDOAHlEatoAKDRiZDA2NWUzZjJlN2VhZGQxMWFjOGZkNjI1Mjg2Zjc4MGQ3ZmJmOTQ", + "commit": { + "author": { + "name": "Emanuel", + "email": "emanuel.dinardo@gmail.com", + "date": "2023-08-23T14:59:28Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T13:48:32Z" + }, + "message": "Update server.py\n\nModified ssl_context in order to use configuration file parameters", + "tree": { + "sha": "6e78b7a005ac82a2380ef962e30b8ba6c339e5b0", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/6e78b7a005ac82a2380ef962e30b8ba6c339e5b0" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/4bd065e3f2e7eadd11ac8fd625286f780d7fbf94", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/4bd065e3f2e7eadd11ac8fd625286f780d7fbf94", + "html_url": "https://github.com/open-data/ckan/commit/4bd065e3f2e7eadd11ac8fd625286f780d7fbf94", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/4bd065e3f2e7eadd11ac8fd625286f780d7fbf94/comments", + "author": { + "login": "EmanuelOverflow", + "id": 1050834, + "node_id": "MDQ6VXNlcjEwNTA4MzQ=", + "avatar_url": "https://avatars.githubusercontent.com/u/1050834?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/EmanuelOverflow", + "html_url": "https://github.com/EmanuelOverflow", + "followers_url": "https://api.github.com/users/EmanuelOverflow/followers", + "following_url": "https://api.github.com/users/EmanuelOverflow/following{/other_user}", + "gists_url": "https://api.github.com/users/EmanuelOverflow/gists{/gist_id}", + "starred_url": "https://api.github.com/users/EmanuelOverflow/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/EmanuelOverflow/subscriptions", + "organizations_url": "https://api.github.com/users/EmanuelOverflow/orgs", + "repos_url": "https://api.github.com/users/EmanuelOverflow/repos", + "events_url": "https://api.github.com/users/EmanuelOverflow/events{/privacy}", + "received_events_url": "https://api.github.com/users/EmanuelOverflow/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "bc20babb69f7e7c9c42713411df57f94c8d7a381", + "url": "https://api.github.com/repos/open-data/ckan/commits/bc20babb69f7e7c9c42713411df57f94c8d7a381", + "html_url": "https://github.com/open-data/ckan/commit/bc20babb69f7e7c9c42713411df57f94c8d7a381" + } + ] + }, + { + "sha": "a1904b0834761eb4f0c638f248a9db0ab4e8e368", + "node_id": "C_kwDOAHlEatoAKGExOTA0YjA4MzQ3NjFlYjRmMGM2MzhmMjQ4YTlkYjBhYjRlOGUzNjg", + "commit": { + "author": { + "name": "Emanuel", + "email": "emanuel.dinardo@gmail.com", + "date": "2023-08-28T12:52:32Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T13:48:39Z" + }, + "message": "Create 7758.bugfix", + "tree": { + "sha": "431bb6918c3d2dedad56bc0f63ceaa0f5cb480ac", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/431bb6918c3d2dedad56bc0f63ceaa0f5cb480ac" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/a1904b0834761eb4f0c638f248a9db0ab4e8e368", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/a1904b0834761eb4f0c638f248a9db0ab4e8e368", + "html_url": "https://github.com/open-data/ckan/commit/a1904b0834761eb4f0c638f248a9db0ab4e8e368", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/a1904b0834761eb4f0c638f248a9db0ab4e8e368/comments", + "author": { + "login": "EmanuelOverflow", + "id": 1050834, + "node_id": "MDQ6VXNlcjEwNTA4MzQ=", + "avatar_url": "https://avatars.githubusercontent.com/u/1050834?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/EmanuelOverflow", + "html_url": "https://github.com/EmanuelOverflow", + "followers_url": "https://api.github.com/users/EmanuelOverflow/followers", + "following_url": "https://api.github.com/users/EmanuelOverflow/following{/other_user}", + "gists_url": "https://api.github.com/users/EmanuelOverflow/gists{/gist_id}", + "starred_url": "https://api.github.com/users/EmanuelOverflow/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/EmanuelOverflow/subscriptions", + "organizations_url": "https://api.github.com/users/EmanuelOverflow/orgs", + "repos_url": "https://api.github.com/users/EmanuelOverflow/repos", + "events_url": "https://api.github.com/users/EmanuelOverflow/events{/privacy}", + "received_events_url": "https://api.github.com/users/EmanuelOverflow/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "4bd065e3f2e7eadd11ac8fd625286f780d7fbf94", + "url": "https://api.github.com/repos/open-data/ckan/commits/4bd065e3f2e7eadd11ac8fd625286f780d7fbf94", + "html_url": "https://github.com/open-data/ckan/commit/4bd065e3f2e7eadd11ac8fd625286f780d7fbf94" + } + ] + }, + { + "sha": "6fa0b04a9fddbb713681e5676584c9eeb46c57af", + "node_id": "C_kwDOAHlEatoAKDZmYTBiMDRhOWZkZGJiNzEzNjgxZTU2NzY1ODRjOWVlYjQ2YzU3YWY", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-09-05T15:33:28Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T13:48:57Z" + }, + "message": "Don't add timezone info to Solr dates if already there\n\nFixes #7664\n\nCheck before appending the \"Z\" bit otherwise we get a wrong date string", + "tree": { + "sha": "12335b6c079fd3f24319a8bb3040e64faf0110d4", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/12335b6c079fd3f24319a8bb3040e64faf0110d4" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/6fa0b04a9fddbb713681e5676584c9eeb46c57af", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/6fa0b04a9fddbb713681e5676584c9eeb46c57af", + "html_url": "https://github.com/open-data/ckan/commit/6fa0b04a9fddbb713681e5676584c9eeb46c57af", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/6fa0b04a9fddbb713681e5676584c9eeb46c57af/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "a1904b0834761eb4f0c638f248a9db0ab4e8e368", + "url": "https://api.github.com/repos/open-data/ckan/commits/a1904b0834761eb4f0c638f248a9db0ab4e8e368", + "html_url": "https://github.com/open-data/ckan/commit/a1904b0834761eb4f0c638f248a9db0ab4e8e368" + } + ] + }, + { + "sha": "cee31e41f47a46b56c196878b7ef0c52b6598b3c", + "node_id": "C_kwDOAHlEatoAKGNlZTMxZTQxZjQ3YTQ2YjU2YzE5Njg3OGI3ZWYwYzUyYjY1OThiM2M", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-09-05T15:48:13Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T13:49:01Z" + }, + "message": "Don't log an error if a date field is empty when indexing\n\nJust set it to None\n`", + "tree": { + "sha": "24147670b233954137f4ffea505a9e350ea1d56d", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/24147670b233954137f4ffea505a9e350ea1d56d" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/cee31e41f47a46b56c196878b7ef0c52b6598b3c", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/cee31e41f47a46b56c196878b7ef0c52b6598b3c", + "html_url": "https://github.com/open-data/ckan/commit/cee31e41f47a46b56c196878b7ef0c52b6598b3c", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/cee31e41f47a46b56c196878b7ef0c52b6598b3c/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "6fa0b04a9fddbb713681e5676584c9eeb46c57af", + "url": "https://api.github.com/repos/open-data/ckan/commits/6fa0b04a9fddbb713681e5676584c9eeb46c57af", + "html_url": "https://github.com/open-data/ckan/commit/6fa0b04a9fddbb713681e5676584c9eeb46c57af" + } + ] + }, + { + "sha": "d475b77ef28cde7167460876c3b6ffa55f97199b", + "node_id": "C_kwDOAHlEatoAKGQ0NzViNzdlZjI4Y2RlNzE2NzQ2MDg3NmMzYjZmZmE1NWY5NzE5OWI", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-09-06T10:34:22Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T13:50:03Z" + }, + "message": "Simplify Solr date fields handling\n\nAges ago dateutil use to create wrong dates when being passed an empty\nvalue that's why there was this weird logic in place. Now we can just\ncapture dateutil's own ParserError exception and emit a warning (rather\nthan an error)", + "tree": { + "sha": "dd1dcb557208b8e46a684dccb03613085471207d", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/dd1dcb557208b8e46a684dccb03613085471207d" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/d475b77ef28cde7167460876c3b6ffa55f97199b", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/d475b77ef28cde7167460876c3b6ffa55f97199b", + "html_url": "https://github.com/open-data/ckan/commit/d475b77ef28cde7167460876c3b6ffa55f97199b", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/d475b77ef28cde7167460876c3b6ffa55f97199b/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "cee31e41f47a46b56c196878b7ef0c52b6598b3c", + "url": "https://api.github.com/repos/open-data/ckan/commits/cee31e41f47a46b56c196878b7ef0c52b6598b3c", + "html_url": "https://github.com/open-data/ckan/commit/cee31e41f47a46b56c196878b7ef0c52b6598b3c" + } + ] + }, + { + "sha": "3d3ff94b2ff06183db25eed7c357d2395ebfccf2", + "node_id": "C_kwDOAHlEatoAKDNkM2ZmOTRiMmZmMDYxODNkYjI1ZWVkN2MzNTdkMjM5NWViZmNjZjI", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-09-06T10:42:55Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T13:50:12Z" + }, + "message": "Add changelog entry", + "tree": { + "sha": "ed5f5338bc44e8094d2ee8fa704ef717c3beccf6", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/ed5f5338bc44e8094d2ee8fa704ef717c3beccf6" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/3d3ff94b2ff06183db25eed7c357d2395ebfccf2", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/3d3ff94b2ff06183db25eed7c357d2395ebfccf2", + "html_url": "https://github.com/open-data/ckan/commit/3d3ff94b2ff06183db25eed7c357d2395ebfccf2", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/3d3ff94b2ff06183db25eed7c357d2395ebfccf2/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "d475b77ef28cde7167460876c3b6ffa55f97199b", + "url": "https://api.github.com/repos/open-data/ckan/commits/d475b77ef28cde7167460876c3b6ffa55f97199b", + "html_url": "https://github.com/open-data/ckan/commit/d475b77ef28cde7167460876c3b6ffa55f97199b" + } + ] + }, + { + "sha": "71b3914c2d04f6f262716b83fc1b9704e4f56913", + "node_id": "C_kwDOAHlEatoAKDcxYjM5MTRjMmQwNGY2ZjI2MjcxNmI4M2ZjMWI5NzA0ZTRmNTY5MTM", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-09-06T10:46:17Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T13:50:17Z" + }, + "message": "Fix typing errors", + "tree": { + "sha": "e538b5fd7bc9d32924a0043a87d9db89fc334936", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/e538b5fd7bc9d32924a0043a87d9db89fc334936" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/71b3914c2d04f6f262716b83fc1b9704e4f56913", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/71b3914c2d04f6f262716b83fc1b9704e4f56913", + "html_url": "https://github.com/open-data/ckan/commit/71b3914c2d04f6f262716b83fc1b9704e4f56913", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/71b3914c2d04f6f262716b83fc1b9704e4f56913/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "3d3ff94b2ff06183db25eed7c357d2395ebfccf2", + "url": "https://api.github.com/repos/open-data/ckan/commits/3d3ff94b2ff06183db25eed7c357d2395ebfccf2", + "html_url": "https://github.com/open-data/ckan/commit/3d3ff94b2ff06183db25eed7c357d2395ebfccf2" + } + ] + }, + { + "sha": "55e570a15f7a52a6f357775ae9c5f0cade93f60a", + "node_id": "C_kwDOAHlEatoAKDU1ZTU3MGExNWY3YTUyYTZmMzU3Nzc1YWU5YzVmMGNhZGU5M2Y2MGE", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-09-12T18:26:07Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T13:50:36Z" + }, + "message": "no get request for activity_create", + "tree": { + "sha": "59e3987a5cd85829b38e94ca8333412e80204dac", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/59e3987a5cd85829b38e94ca8333412e80204dac" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/55e570a15f7a52a6f357775ae9c5f0cade93f60a", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/55e570a15f7a52a6f357775ae9c5f0cade93f60a", + "html_url": "https://github.com/open-data/ckan/commit/55e570a15f7a52a6f357775ae9c5f0cade93f60a", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/55e570a15f7a52a6f357775ae9c5f0cade93f60a/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "71b3914c2d04f6f262716b83fc1b9704e4f56913", + "url": "https://api.github.com/repos/open-data/ckan/commits/71b3914c2d04f6f262716b83fc1b9704e4f56913", + "html_url": "https://github.com/open-data/ckan/commit/71b3914c2d04f6f262716b83fc1b9704e4f56913" + } + ] + }, + { + "sha": "e7f2180075117d28a4109cb740c751e88cdf223a", + "node_id": "C_kwDOAHlEatoAKGU3ZjIxODAwNzUxMTdkMjhhNDEwOWNiNzQwYzc1MWU4OGNkZjIyM2E", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2023-09-22T13:52:10Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T13:51:18Z" + }, + "message": "feat(templates): added missing confirm delete views;\n\n- Added GET view to delete package collaborator.\n- Added GET view to delete user.\n- Fixes to canceling group member delete confirmation.", + "tree": { + "sha": "05d6f2d8fe10e4dd007c49caae43eaf30419b495", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/05d6f2d8fe10e4dd007c49caae43eaf30419b495" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/e7f2180075117d28a4109cb740c751e88cdf223a", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/e7f2180075117d28a4109cb740c751e88cdf223a", + "html_url": "https://github.com/open-data/ckan/commit/e7f2180075117d28a4109cb740c751e88cdf223a", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/e7f2180075117d28a4109cb740c751e88cdf223a/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "55e570a15f7a52a6f357775ae9c5f0cade93f60a", + "url": "https://api.github.com/repos/open-data/ckan/commits/55e570a15f7a52a6f357775ae9c5f0cade93f60a", + "html_url": "https://github.com/open-data/ckan/commit/55e570a15f7a52a6f357775ae9c5f0cade93f60a" + } + ] + }, + { + "sha": "939e5c72dd0e2c9475f162a5795add93dd5368b2", + "node_id": "C_kwDOAHlEatoAKDkzOWU1YzcyZGQwZTJjOTQ3NWYxNjJhNTc5NWFkZDkzZGQ1MzY4YjI", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2023-09-22T13:59:57Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T13:53:02Z" + }, + "message": "feat(views): changelog file, collab delete typing;\n\n- Added changelog file.\n- Added `str` type return for dataset collaborator delete.", + "tree": { + "sha": "375afc14138481a28897d6b656039c0df227f668", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/375afc14138481a28897d6b656039c0df227f668" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/939e5c72dd0e2c9475f162a5795add93dd5368b2", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/939e5c72dd0e2c9475f162a5795add93dd5368b2", + "html_url": "https://github.com/open-data/ckan/commit/939e5c72dd0e2c9475f162a5795add93dd5368b2", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/939e5c72dd0e2c9475f162a5795add93dd5368b2/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "e7f2180075117d28a4109cb740c751e88cdf223a", + "url": "https://api.github.com/repos/open-data/ckan/commits/e7f2180075117d28a4109cb740c751e88cdf223a", + "html_url": "https://github.com/open-data/ckan/commit/e7f2180075117d28a4109cb740c751e88cdf223a" + } + ] + }, + { + "sha": "869fa04da9e2ad7d88627db9a2c6723f54d47442", + "node_id": "C_kwDOAHlEatoAKDg2OWZhMDRkYTllMmFkN2Q4ODYyN2RiOWEyYzY3MjNmNTRkNDc0NDI", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "97247789+JVickery-TBS@users.noreply.github.com", + "date": "2023-10-04T13:29:02Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T13:53:24Z" + }, + "message": "Update confirm_delete.html\n\nAdded csrf field", + "tree": { + "sha": "59501e1e450e23543c1dac23a1d19997ea7c05cf", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/59501e1e450e23543c1dac23a1d19997ea7c05cf" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/869fa04da9e2ad7d88627db9a2c6723f54d47442", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/869fa04da9e2ad7d88627db9a2c6723f54d47442", + "html_url": "https://github.com/open-data/ckan/commit/869fa04da9e2ad7d88627db9a2c6723f54d47442", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/869fa04da9e2ad7d88627db9a2c6723f54d47442/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "939e5c72dd0e2c9475f162a5795add93dd5368b2", + "url": "https://api.github.com/repos/open-data/ckan/commits/939e5c72dd0e2c9475f162a5795add93dd5368b2", + "html_url": "https://github.com/open-data/ckan/commit/939e5c72dd0e2c9475f162a5795add93dd5368b2" + } + ] + }, + { + "sha": "5f11073acce8db7b2f47827605cfad97525ba51c", + "node_id": "C_kwDOAHlEatoAKDVmMTEwNzNhY2NlOGRiN2IyZjQ3ODI3NjA1Y2ZhZDk3NTI1YmE1MWM", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "97247789+JVickery-TBS@users.noreply.github.com", + "date": "2023-10-04T13:29:31Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T13:53:29Z" + }, + "message": "Update confirm_delete.html\n\nAdded csrf field", + "tree": { + "sha": "975df7fbb9e19da50eeb9a72e47330c62d7034b7", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/975df7fbb9e19da50eeb9a72e47330c62d7034b7" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/5f11073acce8db7b2f47827605cfad97525ba51c", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/5f11073acce8db7b2f47827605cfad97525ba51c", + "html_url": "https://github.com/open-data/ckan/commit/5f11073acce8db7b2f47827605cfad97525ba51c", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/5f11073acce8db7b2f47827605cfad97525ba51c/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "869fa04da9e2ad7d88627db9a2c6723f54d47442", + "url": "https://api.github.com/repos/open-data/ckan/commits/869fa04da9e2ad7d88627db9a2c6723f54d47442", + "html_url": "https://github.com/open-data/ckan/commit/869fa04da9e2ad7d88627db9a2c6723f54d47442" + } + ] + }, + { + "sha": "443baa308241bbc3b3dedc9472c0053ff8f4cd28", + "node_id": "C_kwDOAHlEatoAKDQ0M2JhYTMwODI0MWJiYzNiM2RlZGM5NDcyYzAwNTNmZjhmNGNkMjg", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T14:07:25Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-18T14:07:25Z" + }, + "message": "Merge branch 'dev-v2.10' of github.com:ckan/ckan into dev-v2.10", + "tree": { + "sha": "7d837fa67d2159de8caac94d5ecc7cdc9a660b2d", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/7d837fa67d2159de8caac94d5ecc7cdc9a660b2d" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/443baa308241bbc3b3dedc9472c0053ff8f4cd28", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/443baa308241bbc3b3dedc9472c0053ff8f4cd28", + "html_url": "https://github.com/open-data/ckan/commit/443baa308241bbc3b3dedc9472c0053ff8f4cd28", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/443baa308241bbc3b3dedc9472c0053ff8f4cd28/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "5f11073acce8db7b2f47827605cfad97525ba51c", + "url": "https://api.github.com/repos/open-data/ckan/commits/5f11073acce8db7b2f47827605cfad97525ba51c", + "html_url": "https://github.com/open-data/ckan/commit/5f11073acce8db7b2f47827605cfad97525ba51c" + }, + { + "sha": "815dce2cc449a456c90784dc79951fda85a41e4d", + "url": "https://api.github.com/repos/open-data/ckan/commits/815dce2cc449a456c90784dc79951fda85a41e4d", + "html_url": "https://github.com/open-data/ckan/commit/815dce2cc449a456c90784dc79951fda85a41e4d" + } + ] + }, + { + "sha": "9cc5012f059639c15e0e34afd85901d071c81a8e", + "node_id": "C_kwDOAHlEatoAKDljYzUwMTJmMDU5NjM5YzE1ZTBlMzRhZmQ4NTkwMWQwNzFjODFhOGU", + "commit": { + "author": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2023-10-20T06:30:11Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-10-31T16:03:13Z" + }, + "message": "Add tests", + "tree": { + "sha": "0ef01ec0616f3d4dad1fe4fb7c1ddfa8437dba7f", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/0ef01ec0616f3d4dad1fe4fb7c1ddfa8437dba7f" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/9cc5012f059639c15e0e34afd85901d071c81a8e", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/9cc5012f059639c15e0e34afd85901d071c81a8e", + "html_url": "https://github.com/open-data/ckan/commit/9cc5012f059639c15e0e34afd85901d071c81a8e", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/9cc5012f059639c15e0e34afd85901d071c81a8e/comments", + "author": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "443baa308241bbc3b3dedc9472c0053ff8f4cd28", + "url": "https://api.github.com/repos/open-data/ckan/commits/443baa308241bbc3b3dedc9472c0053ff8f4cd28", + "html_url": "https://github.com/open-data/ckan/commit/443baa308241bbc3b3dedc9472c0053ff8f4cd28" + } + ] + }, + { + "sha": "80baaa4deb204712ecdd3e3def2b974efe493c92", + "node_id": "C_kwDOAHlEatoAKDgwYmFhYTRkZWIyMDQ3MTJlY2RkM2UzZGVmMmI5NzRlZmU0OTNjOTI", + "commit": { + "author": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2023-10-20T06:45:10Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-10-31T16:03:13Z" + }, + "message": "[#7869]: authz.auth_is_anon_user should be used in actions", + "tree": { + "sha": "80504cac3ae14e5898e6240e5ae7159d4240935c", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/80504cac3ae14e5898e6240e5ae7159d4240935c" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/80baaa4deb204712ecdd3e3def2b974efe493c92", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/80baaa4deb204712ecdd3e3def2b974efe493c92", + "html_url": "https://github.com/open-data/ckan/commit/80baaa4deb204712ecdd3e3def2b974efe493c92", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/80baaa4deb204712ecdd3e3def2b974efe493c92/comments", + "author": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "9cc5012f059639c15e0e34afd85901d071c81a8e", + "url": "https://api.github.com/repos/open-data/ckan/commits/9cc5012f059639c15e0e34afd85901d071c81a8e", + "html_url": "https://github.com/open-data/ckan/commit/9cc5012f059639c15e0e34afd85901d071c81a8e" + } + ] + }, + { + "sha": "6f9d906d4c2776b6fb295d1dd9ab37d4d9e56a75", + "node_id": "C_kwDOAHlEatoAKDZmOWQ5MDZkNGMyNzc2YjZmYjI5NWQxZGQ5YWIzN2Q0ZDllNTZhNzU", + "commit": { + "author": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2023-10-20T07:16:12Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-10-31T16:03:13Z" + }, + "message": "lint", + "tree": { + "sha": "bec5c6ce02cfa3b6ac7c867982560b9bf2d60805", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/bec5c6ce02cfa3b6ac7c867982560b9bf2d60805" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/6f9d906d4c2776b6fb295d1dd9ab37d4d9e56a75", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/6f9d906d4c2776b6fb295d1dd9ab37d4d9e56a75", + "html_url": "https://github.com/open-data/ckan/commit/6f9d906d4c2776b6fb295d1dd9ab37d4d9e56a75", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/6f9d906d4c2776b6fb295d1dd9ab37d4d9e56a75/comments", + "author": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "80baaa4deb204712ecdd3e3def2b974efe493c92", + "url": "https://api.github.com/repos/open-data/ckan/commits/80baaa4deb204712ecdd3e3def2b974efe493c92", + "html_url": "https://github.com/open-data/ckan/commit/80baaa4deb204712ecdd3e3def2b974efe493c92" + } + ] + }, + { + "sha": "2c3b1fc25142ebbe6aaae86a5f41532ac03284c9", + "node_id": "C_kwDOAHlEatoAKDJjM2IxZmMyNTE0MmViYmU2YWFhZTg2YTVmNDE1MzJhYzAzMjg0Yzk", + "commit": { + "author": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2023-10-20T07:18:30Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-10-31T16:03:13Z" + }, + "message": "Add changelog entry", + "tree": { + "sha": "62192f7f85eedd307201d0e8103e89c8667f789e", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/62192f7f85eedd307201d0e8103e89c8667f789e" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/2c3b1fc25142ebbe6aaae86a5f41532ac03284c9", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/2c3b1fc25142ebbe6aaae86a5f41532ac03284c9", + "html_url": "https://github.com/open-data/ckan/commit/2c3b1fc25142ebbe6aaae86a5f41532ac03284c9", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/2c3b1fc25142ebbe6aaae86a5f41532ac03284c9/comments", + "author": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "6f9d906d4c2776b6fb295d1dd9ab37d4d9e56a75", + "url": "https://api.github.com/repos/open-data/ckan/commits/6f9d906d4c2776b6fb295d1dd9ab37d4d9e56a75", + "html_url": "https://github.com/open-data/ckan/commit/6f9d906d4c2776b6fb295d1dd9ab37d4d9e56a75" + } + ] + }, + { + "sha": "aea1325c688e95bd8042fd96a0dd1eb65c25174f", + "node_id": "C_kwDOAHlEatoAKGFlYTEzMjVjNjg4ZTk1YmQ4MDQyZmQ5NmEwZGQxZWI2NWMyNTE3NGY", + "commit": { + "author": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-10-30T15:23:55Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-11-06T11:32:44Z" + }, + "message": "fix: Allow `None` for `beaker.session.timeout`", + "tree": { + "sha": "c78df2c9f8dd8b287b888b9d0bd3345c0b8680fa", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/c78df2c9f8dd8b287b888b9d0bd3345c0b8680fa" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/aea1325c688e95bd8042fd96a0dd1eb65c25174f", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/aea1325c688e95bd8042fd96a0dd1eb65c25174f", + "html_url": "https://github.com/open-data/ckan/commit/aea1325c688e95bd8042fd96a0dd1eb65c25174f", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/aea1325c688e95bd8042fd96a0dd1eb65c25174f/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "2c3b1fc25142ebbe6aaae86a5f41532ac03284c9", + "url": "https://api.github.com/repos/open-data/ckan/commits/2c3b1fc25142ebbe6aaae86a5f41532ac03284c9", + "html_url": "https://github.com/open-data/ckan/commit/2c3b1fc25142ebbe6aaae86a5f41532ac03284c9" + } + ] + }, + { + "sha": "2d4a48d87f790b1339dd954464d50a0d82689614", + "node_id": "C_kwDOAHlEatoAKDJkNGE0OGQ4N2Y3OTBiMTMzOWRkOTU0NDY0ZDUwYTBkODI2ODk2MTQ", + "commit": { + "author": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-10-30T15:40:04Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-11-06T11:32:44Z" + }, + "message": "chore: add changelog entry", + "tree": { + "sha": "28b072ea36bbd9ae79f6e79fc7c74e76e5861c02", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/28b072ea36bbd9ae79f6e79fc7c74e76e5861c02" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/2d4a48d87f790b1339dd954464d50a0d82689614", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/2d4a48d87f790b1339dd954464d50a0d82689614", + "html_url": "https://github.com/open-data/ckan/commit/2d4a48d87f790b1339dd954464d50a0d82689614", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/2d4a48d87f790b1339dd954464d50a0d82689614/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "aea1325c688e95bd8042fd96a0dd1eb65c25174f", + "url": "https://api.github.com/repos/open-data/ckan/commits/aea1325c688e95bd8042fd96a0dd1eb65c25174f", + "html_url": "https://github.com/open-data/ckan/commit/aea1325c688e95bd8042fd96a0dd1eb65c25174f" + } + ] + }, + { + "sha": "80ec744c2d19984a3e5821827288867d7f5b9861", + "node_id": "C_kwDOAHlEatoAKDgwZWM3NDRjMmQxOTk4NGEzZTU4MjE4MjcyODg4NjdkN2Y1Yjk4NjE", + "commit": { + "author": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-10-30T15:46:33Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-11-06T11:32:44Z" + }, + "message": "fix: types and lint", + "tree": { + "sha": "be4f7ce4d4ed473c275d9c00c827462544a707af", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/be4f7ce4d4ed473c275d9c00c827462544a707af" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/80ec744c2d19984a3e5821827288867d7f5b9861", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/80ec744c2d19984a3e5821827288867d7f5b9861", + "html_url": "https://github.com/open-data/ckan/commit/80ec744c2d19984a3e5821827288867d7f5b9861", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/80ec744c2d19984a3e5821827288867d7f5b9861/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "2d4a48d87f790b1339dd954464d50a0d82689614", + "url": "https://api.github.com/repos/open-data/ckan/commits/2d4a48d87f790b1339dd954464d50a0d82689614", + "html_url": "https://github.com/open-data/ckan/commit/2d4a48d87f790b1339dd954464d50a0d82689614" + } + ] + }, + { + "sha": "7d3a4d40574b33ae3faec0cff133c882c3691f7f", + "node_id": "C_kwDOAHlEatoAKDdkM2E0ZDQwNTc0YjMzYWUzZmFlYzBjZmYxMzNjODgyYzM2OTFmN2Y", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2023-09-18T15:17:24Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-11-06T11:35:45Z" + }, + "message": "fix(logic): member create behave like member save;\n\n- Made `member_create` action method behave like `group_member_save` dictize method.", + "tree": { + "sha": "2d8558f29ed761c4dcee2631e9cd9a29f0bfe0aa", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/2d8558f29ed761c4dcee2631e9cd9a29f0bfe0aa" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/7d3a4d40574b33ae3faec0cff133c882c3691f7f", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/7d3a4d40574b33ae3faec0cff133c882c3691f7f", + "html_url": "https://github.com/open-data/ckan/commit/7d3a4d40574b33ae3faec0cff133c882c3691f7f", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/7d3a4d40574b33ae3faec0cff133c882c3691f7f/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "80ec744c2d19984a3e5821827288867d7f5b9861", + "url": "https://api.github.com/repos/open-data/ckan/commits/80ec744c2d19984a3e5821827288867d7f5b9861", + "html_url": "https://github.com/open-data/ckan/commit/80ec744c2d19984a3e5821827288867d7f5b9861" + } + ] + }, + { + "sha": "2b0ba5421204c1799af1c689ae3bc2a038d2d418", + "node_id": "C_kwDOAHlEatoAKDJiMGJhNTQyMTIwNGMxNzk5YWYxYzY4OWFlM2JjMmEwMzhkMmQ0MTg", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2023-09-18T17:32:10Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-11-06T11:35:45Z" + }, + "message": "fix(logic): change log, type ignore;\n\n- Added change log file.\n- Added type ignore for incomplete SQLAlchemy types.", + "tree": { + "sha": "9720f08b7a1d9c4457480fc48ef75dc5600cb5ff", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/9720f08b7a1d9c4457480fc48ef75dc5600cb5ff" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/2b0ba5421204c1799af1c689ae3bc2a038d2d418", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/2b0ba5421204c1799af1c689ae3bc2a038d2d418", + "html_url": "https://github.com/open-data/ckan/commit/2b0ba5421204c1799af1c689ae3bc2a038d2d418", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/2b0ba5421204c1799af1c689ae3bc2a038d2d418/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "7d3a4d40574b33ae3faec0cff133c882c3691f7f", + "url": "https://api.github.com/repos/open-data/ckan/commits/7d3a4d40574b33ae3faec0cff133c882c3691f7f", + "html_url": "https://github.com/open-data/ckan/commit/7d3a4d40574b33ae3faec0cff133c882c3691f7f" + } + ] + }, + { + "sha": "32966cdfaf47ade348fc43dba9defd51830fe16f", + "node_id": "C_kwDOAHlEatoAKDMyOTY2Y2RmYWY0N2FkZTM0OGZjNDNkYmE5ZGVmZDUxODMwZmUxNmY", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "97247789+JVickery-TBS@users.noreply.github.com", + "date": "2023-09-21T17:37:00Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-11-06T11:35:45Z" + }, + "message": "Update ckan/logic/action/create.py\n\nCo-authored-by: Adrià Mercader ", + "tree": { + "sha": "9dde8d9f0b62ff6c5106fe54c8014b131a4c2d55", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/9dde8d9f0b62ff6c5106fe54c8014b131a4c2d55" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/32966cdfaf47ade348fc43dba9defd51830fe16f", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/32966cdfaf47ade348fc43dba9defd51830fe16f", + "html_url": "https://github.com/open-data/ckan/commit/32966cdfaf47ade348fc43dba9defd51830fe16f", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/32966cdfaf47ade348fc43dba9defd51830fe16f/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "2b0ba5421204c1799af1c689ae3bc2a038d2d418", + "url": "https://api.github.com/repos/open-data/ckan/commits/2b0ba5421204c1799af1c689ae3bc2a038d2d418", + "html_url": "https://github.com/open-data/ckan/commit/2b0ba5421204c1799af1c689ae3bc2a038d2d418" + } + ] + }, + { + "sha": "10f266d82456c4cff75df76959303df906956d94", + "node_id": "C_kwDOAHlEatoAKDEwZjI2NmQ4MjQ1NmM0Y2ZmNzVkZjc2OTU5MzAzZGY5MDY5NTZkOTQ", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2023-11-08T15:48:55Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2023-11-08T15:48:55Z" + }, + "message": "backport(datastore): 7839 for 2.10;\n\n- Backport code from PR 7839 for v2.10.", + "tree": { + "sha": "b356d23ed40d6e9a54678aac1d08213513665da3", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/b356d23ed40d6e9a54678aac1d08213513665da3" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/10f266d82456c4cff75df76959303df906956d94", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/10f266d82456c4cff75df76959303df906956d94", + "html_url": "https://github.com/open-data/ckan/commit/10f266d82456c4cff75df76959303df906956d94", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/10f266d82456c4cff75df76959303df906956d94/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "32966cdfaf47ade348fc43dba9defd51830fe16f", + "url": "https://api.github.com/repos/open-data/ckan/commits/32966cdfaf47ade348fc43dba9defd51830fe16f", + "html_url": "https://github.com/open-data/ckan/commit/32966cdfaf47ade348fc43dba9defd51830fe16f" + } + ] + }, + { + "sha": "fd7e69e452844a4831392384ffffdf6d2a562f1d", + "node_id": "C_kwDOAHlEatoAKGZkN2U2OWU0NTI4NDRhNDgzMTM5MjM4NGZmZmZkZjZkMmE1NjJmMWQ", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2023-11-08T16:14:52Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2023-11-08T16:14:52Z" + }, + "message": "fix(typing): typing fixes;\n\n- Pyright fixes.", + "tree": { + "sha": "c97201723728c36863eca4db9d7e5742c7df5383", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/c97201723728c36863eca4db9d7e5742c7df5383" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/fd7e69e452844a4831392384ffffdf6d2a562f1d", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/fd7e69e452844a4831392384ffffdf6d2a562f1d", + "html_url": "https://github.com/open-data/ckan/commit/fd7e69e452844a4831392384ffffdf6d2a562f1d", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/fd7e69e452844a4831392384ffffdf6d2a562f1d/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "10f266d82456c4cff75df76959303df906956d94", + "url": "https://api.github.com/repos/open-data/ckan/commits/10f266d82456c4cff75df76959303df906956d94", + "html_url": "https://github.com/open-data/ckan/commit/10f266d82456c4cff75df76959303df906956d94" + } + ] + }, + { + "sha": "7a0adf87810adeabd895939978e8ba105c078681", + "node_id": "C_kwDOAHlEatoAKDdhMGFkZjg3ODEwYWRlYWJkODk1OTM5OTc4ZThiYTEwNWMwNzg2ODE", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-15T11:48:21Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-15T11:48:21Z" + }, + "message": "Fix typing", + "tree": { + "sha": "f43d162effe057f8aa2a343c9ff3090afa78035b", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/f43d162effe057f8aa2a343c9ff3090afa78035b" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/7a0adf87810adeabd895939978e8ba105c078681", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/7a0adf87810adeabd895939978e8ba105c078681", + "html_url": "https://github.com/open-data/ckan/commit/7a0adf87810adeabd895939978e8ba105c078681", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/7a0adf87810adeabd895939978e8ba105c078681/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "fd7e69e452844a4831392384ffffdf6d2a562f1d", + "url": "https://api.github.com/repos/open-data/ckan/commits/fd7e69e452844a4831392384ffffdf6d2a562f1d", + "html_url": "https://github.com/open-data/ckan/commit/fd7e69e452844a4831392384ffffdf6d2a562f1d" + } + ] + }, + { + "sha": "4d38ccc6ef71d29371babefc4db3c22d7f5f163a", + "node_id": "C_kwDOAHlEatoAKDRkMzhjY2M2ZWY3MWQyOTM3MWJhYmVmYzRkYjNjMjJkN2Y1ZjE2M2E", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-15T11:48:37Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-15T11:48:37Z" + }, + "message": "Merge branch 'JVickery-TBS-backport/2.10/7839-datastore-dump-streaming' into dev-v2.10", + "tree": { + "sha": "f43d162effe057f8aa2a343c9ff3090afa78035b", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/f43d162effe057f8aa2a343c9ff3090afa78035b" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/4d38ccc6ef71d29371babefc4db3c22d7f5f163a", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/4d38ccc6ef71d29371babefc4db3c22d7f5f163a", + "html_url": "https://github.com/open-data/ckan/commit/4d38ccc6ef71d29371babefc4db3c22d7f5f163a", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/4d38ccc6ef71d29371babefc4db3c22d7f5f163a/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "fd7e69e452844a4831392384ffffdf6d2a562f1d", + "url": "https://api.github.com/repos/open-data/ckan/commits/fd7e69e452844a4831392384ffffdf6d2a562f1d", + "html_url": "https://github.com/open-data/ckan/commit/fd7e69e452844a4831392384ffffdf6d2a562f1d" + }, + { + "sha": "7a0adf87810adeabd895939978e8ba105c078681", + "url": "https://api.github.com/repos/open-data/ckan/commits/7a0adf87810adeabd895939978e8ba105c078681", + "html_url": "https://github.com/open-data/ckan/commit/7a0adf87810adeabd895939978e8ba105c078681" + } + ] + }, + { + "sha": "c7091b9fd321b606307821a62272e5d0c286a415", + "node_id": "C_kwDOAHlEatoAKGM3MDkxYjlmZDMyMWI2MDYzMDc4MjFhNjIyNzJlNWQwYzI4NmE0MTU", + "commit": { + "author": { + "name": "Mark Stuart", + "email": "mstuart_is@me.com", + "date": "2023-11-01T19:13:13Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-15T11:50:14Z" + }, + "message": "Fix user_show for ckan.auth.public_user_details\n\nFixes ckan#7838", + "tree": { + "sha": "3ee339c23cae45b77aaa7aa35e04318c88a64157", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/3ee339c23cae45b77aaa7aa35e04318c88a64157" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/c7091b9fd321b606307821a62272e5d0c286a415", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/c7091b9fd321b606307821a62272e5d0c286a415", + "html_url": "https://github.com/open-data/ckan/commit/c7091b9fd321b606307821a62272e5d0c286a415", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/c7091b9fd321b606307821a62272e5d0c286a415/comments", + "author": { + "login": "markstuart", + "id": 1121256, + "node_id": "MDQ6VXNlcjExMjEyNTY=", + "avatar_url": "https://avatars.githubusercontent.com/u/1121256?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/markstuart", + "html_url": "https://github.com/markstuart", + "followers_url": "https://api.github.com/users/markstuart/followers", + "following_url": "https://api.github.com/users/markstuart/following{/other_user}", + "gists_url": "https://api.github.com/users/markstuart/gists{/gist_id}", + "starred_url": "https://api.github.com/users/markstuart/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/markstuart/subscriptions", + "organizations_url": "https://api.github.com/users/markstuart/orgs", + "repos_url": "https://api.github.com/users/markstuart/repos", + "events_url": "https://api.github.com/users/markstuart/events{/privacy}", + "received_events_url": "https://api.github.com/users/markstuart/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "4d38ccc6ef71d29371babefc4db3c22d7f5f163a", + "url": "https://api.github.com/repos/open-data/ckan/commits/4d38ccc6ef71d29371babefc4db3c22d7f5f163a", + "html_url": "https://github.com/open-data/ckan/commit/4d38ccc6ef71d29371babefc4db3c22d7f5f163a" + } + ] + }, + { + "sha": "11e056a1e070d7e4e66644d9c31db4e8d8cfaec4", + "node_id": "C_kwDOAHlEatoAKDExZTA1NmExZTA3MGQ3ZTRlNjY2NDRkOWMzMWRiNGU4ZDhjZmFlYzQ", + "commit": { + "author": { + "name": "cirun", + "email": "cirun@live.com", + "date": "2023-11-02T19:32:39Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-15T11:50:35Z" + }, + "message": "update URL validation logic", + "tree": { + "sha": "8d89e6f22db4ed34238bb231595958f268fef07d", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/8d89e6f22db4ed34238bb231595958f268fef07d" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/11e056a1e070d7e4e66644d9c31db4e8d8cfaec4", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/11e056a1e070d7e4e66644d9c31db4e8d8cfaec4", + "html_url": "https://github.com/open-data/ckan/commit/11e056a1e070d7e4e66644d9c31db4e8d8cfaec4", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/11e056a1e070d7e4e66644d9c31db4e8d8cfaec4/comments", + "author": { + "login": "TomeCirun", + "id": 72216462, + "node_id": "MDQ6VXNlcjcyMjE2NDYy", + "avatar_url": "https://avatars.githubusercontent.com/u/72216462?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TomeCirun", + "html_url": "https://github.com/TomeCirun", + "followers_url": "https://api.github.com/users/TomeCirun/followers", + "following_url": "https://api.github.com/users/TomeCirun/following{/other_user}", + "gists_url": "https://api.github.com/users/TomeCirun/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TomeCirun/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TomeCirun/subscriptions", + "organizations_url": "https://api.github.com/users/TomeCirun/orgs", + "repos_url": "https://api.github.com/users/TomeCirun/repos", + "events_url": "https://api.github.com/users/TomeCirun/events{/privacy}", + "received_events_url": "https://api.github.com/users/TomeCirun/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "c7091b9fd321b606307821a62272e5d0c286a415", + "url": "https://api.github.com/repos/open-data/ckan/commits/c7091b9fd321b606307821a62272e5d0c286a415", + "html_url": "https://github.com/open-data/ckan/commit/c7091b9fd321b606307821a62272e5d0c286a415" + } + ] + }, + { + "sha": "57dc1b41c324c71ee81544bed76adc04559d9ab9", + "node_id": "C_kwDOAHlEatoAKDU3ZGMxYjQxYzMyNGM3MWVlODE1NDRiZWQ3NmFkYzA0NTU5ZDlhYjk", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-15T11:54:56Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-15T11:54:56Z" + }, + "message": "Bootstrap v3+ Danger Alerts", + "tree": { + "sha": "25801c9a8e3eb0eda02694789ae68e3b01bc29c1", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/25801c9a8e3eb0eda02694789ae68e3b01bc29c1" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/57dc1b41c324c71ee81544bed76adc04559d9ab9", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/57dc1b41c324c71ee81544bed76adc04559d9ab9", + "html_url": "https://github.com/open-data/ckan/commit/57dc1b41c324c71ee81544bed76adc04559d9ab9", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/57dc1b41c324c71ee81544bed76adc04559d9ab9/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "11e056a1e070d7e4e66644d9c31db4e8d8cfaec4", + "url": "https://api.github.com/repos/open-data/ckan/commits/11e056a1e070d7e4e66644d9c31db4e8d8cfaec4", + "html_url": "https://github.com/open-data/ckan/commit/11e056a1e070d7e4e66644d9c31db4e8d8cfaec4" + } + ] + }, + { + "sha": "922ad0ae869140ea2e1187fd30ffb4f1353068fe", + "node_id": "C_kwDOAHlEatoAKDkyMmFkMGFlODY5MTQwZWEyZTExODdmZDMwZmZiNGYxMzUzMDY4ZmU", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-23T14:43:27Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-23T14:43:27Z" + }, + "message": "Update requirements to support more Python versions\n\nBackports-zoneinfo only is needed in Python < 3.9, greenlet needs to be\nat least 2.0.2 to support Python >= 3.11", + "tree": { + "sha": "09e16eec469e725a7e5eae9ee3fdf9d66aab3135", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/09e16eec469e725a7e5eae9ee3fdf9d66aab3135" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/922ad0ae869140ea2e1187fd30ffb4f1353068fe", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/922ad0ae869140ea2e1187fd30ffb4f1353068fe", + "html_url": "https://github.com/open-data/ckan/commit/922ad0ae869140ea2e1187fd30ffb4f1353068fe", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/922ad0ae869140ea2e1187fd30ffb4f1353068fe/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "57dc1b41c324c71ee81544bed76adc04559d9ab9", + "url": "https://api.github.com/repos/open-data/ckan/commits/57dc1b41c324c71ee81544bed76adc04559d9ab9", + "html_url": "https://github.com/open-data/ckan/commit/57dc1b41c324c71ee81544bed76adc04559d9ab9" + } + ] + }, + { + "sha": "7eb1c4f3be89270025495168e870274eb5109092", + "node_id": "C_kwDOAHlEatoAKDdlYjFjNGYzYmU4OTI3MDAyNTQ5NTE2OGU4NzAyNzRlYjUxMDkwOTI", + "commit": { + "author": { + "name": "ThrawnCA", + "email": "shell_layer-github@yahoo.com.au", + "date": "2023-08-10T04:42:56Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-23T14:53:27Z" + }, + "message": "When text is truncated, add a tooltip with the full text, #7742", + "tree": { + "sha": "ac0ff76796c60e70924e3ae60769b46566278dd0", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/ac0ff76796c60e70924e3ae60769b46566278dd0" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/7eb1c4f3be89270025495168e870274eb5109092", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/7eb1c4f3be89270025495168e870274eb5109092", + "html_url": "https://github.com/open-data/ckan/commit/7eb1c4f3be89270025495168e870274eb5109092", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/7eb1c4f3be89270025495168e870274eb5109092/comments", + "author": { + "login": "ThrawnCA", + "id": 3080440, + "node_id": "MDQ6VXNlcjMwODA0NDA=", + "avatar_url": "https://avatars.githubusercontent.com/u/3080440?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ThrawnCA", + "html_url": "https://github.com/ThrawnCA", + "followers_url": "https://api.github.com/users/ThrawnCA/followers", + "following_url": "https://api.github.com/users/ThrawnCA/following{/other_user}", + "gists_url": "https://api.github.com/users/ThrawnCA/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ThrawnCA/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ThrawnCA/subscriptions", + "organizations_url": "https://api.github.com/users/ThrawnCA/orgs", + "repos_url": "https://api.github.com/users/ThrawnCA/repos", + "events_url": "https://api.github.com/users/ThrawnCA/events{/privacy}", + "received_events_url": "https://api.github.com/users/ThrawnCA/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "922ad0ae869140ea2e1187fd30ffb4f1353068fe", + "url": "https://api.github.com/repos/open-data/ckan/commits/922ad0ae869140ea2e1187fd30ffb4f1353068fe", + "html_url": "https://github.com/open-data/ckan/commit/922ad0ae869140ea2e1187fd30ffb4f1353068fe" + } + ] + }, + { + "sha": "cd054be663478136696d198ebf6d76a448be581c", + "node_id": "C_kwDOAHlEatoAKGNkMDU0YmU2NjM0NzgxMzY2OTZkMTk4ZWJmNmQ3NmE0NDhiZTU4MWM", + "commit": { + "author": { + "name": "ThrawnCA", + "email": "shell_layer-github@yahoo.com.au", + "date": "2023-08-10T04:44:53Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-23T14:53:37Z" + }, + "message": "add changelog for #7742", + "tree": { + "sha": "66a2245f1c4c1f45b88ad3e547e308d218931d17", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/66a2245f1c4c1f45b88ad3e547e308d218931d17" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/cd054be663478136696d198ebf6d76a448be581c", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/cd054be663478136696d198ebf6d76a448be581c", + "html_url": "https://github.com/open-data/ckan/commit/cd054be663478136696d198ebf6d76a448be581c", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/cd054be663478136696d198ebf6d76a448be581c/comments", + "author": { + "login": "ThrawnCA", + "id": 3080440, + "node_id": "MDQ6VXNlcjMwODA0NDA=", + "avatar_url": "https://avatars.githubusercontent.com/u/3080440?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ThrawnCA", + "html_url": "https://github.com/ThrawnCA", + "followers_url": "https://api.github.com/users/ThrawnCA/followers", + "following_url": "https://api.github.com/users/ThrawnCA/following{/other_user}", + "gists_url": "https://api.github.com/users/ThrawnCA/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ThrawnCA/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ThrawnCA/subscriptions", + "organizations_url": "https://api.github.com/users/ThrawnCA/orgs", + "repos_url": "https://api.github.com/users/ThrawnCA/repos", + "events_url": "https://api.github.com/users/ThrawnCA/events{/privacy}", + "received_events_url": "https://api.github.com/users/ThrawnCA/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "7eb1c4f3be89270025495168e870274eb5109092", + "url": "https://api.github.com/repos/open-data/ckan/commits/7eb1c4f3be89270025495168e870274eb5109092", + "html_url": "https://github.com/open-data/ckan/commit/7eb1c4f3be89270025495168e870274eb5109092" + } + ] + }, + { + "sha": "934e45036602137a382274cff36fb8587be17d6d", + "node_id": "C_kwDOAHlEatoAKDkzNGU0NTAzNjYwMjEzN2EzODIyNzRjZmYzNmZiODU4N2JlMTdkNmQ", + "commit": { + "author": { + "name": "antuarc", + "email": "carl.antuar@smartservice.qld.gov.au", + "date": "2023-08-11T05:22:45Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-23T14:53:42Z" + }, + "message": "fix misspelled variable, #7742", + "tree": { + "sha": "b4d06a3c44fbe4367513f309e8e69d9de6db8628", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/b4d06a3c44fbe4367513f309e8e69d9de6db8628" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/934e45036602137a382274cff36fb8587be17d6d", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/934e45036602137a382274cff36fb8587be17d6d", + "html_url": "https://github.com/open-data/ckan/commit/934e45036602137a382274cff36fb8587be17d6d", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/934e45036602137a382274cff36fb8587be17d6d/comments", + "author": { + "login": "ThrawnCA", + "id": 3080440, + "node_id": "MDQ6VXNlcjMwODA0NDA=", + "avatar_url": "https://avatars.githubusercontent.com/u/3080440?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ThrawnCA", + "html_url": "https://github.com/ThrawnCA", + "followers_url": "https://api.github.com/users/ThrawnCA/followers", + "following_url": "https://api.github.com/users/ThrawnCA/following{/other_user}", + "gists_url": "https://api.github.com/users/ThrawnCA/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ThrawnCA/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ThrawnCA/subscriptions", + "organizations_url": "https://api.github.com/users/ThrawnCA/orgs", + "repos_url": "https://api.github.com/users/ThrawnCA/repos", + "events_url": "https://api.github.com/users/ThrawnCA/events{/privacy}", + "received_events_url": "https://api.github.com/users/ThrawnCA/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "cd054be663478136696d198ebf6d76a448be581c", + "url": "https://api.github.com/repos/open-data/ckan/commits/cd054be663478136696d198ebf6d76a448be581c", + "html_url": "https://github.com/open-data/ckan/commit/cd054be663478136696d198ebf6d76a448be581c" + } + ] + }, + { + "sha": "bd4f0415ba2025e8498c4695cf9e390738cc9d59", + "node_id": "C_kwDOAHlEatoAKGJkNGYwNDE1YmEyMDI1ZTg0OThjNDY5NWNmOWUzOTA3MzhjYzlkNTk", + "commit": { + "author": { + "name": "antuarc", + "email": "carl.antuar@smartservice.qld.gov.au", + "date": "2023-08-11T05:34:19Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-23T14:53:48Z" + }, + "message": "make Flake8 happy, #7742", + "tree": { + "sha": "4558657f43cd7135bd3963a71046065b1dba14a7", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/4558657f43cd7135bd3963a71046065b1dba14a7" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/bd4f0415ba2025e8498c4695cf9e390738cc9d59", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/bd4f0415ba2025e8498c4695cf9e390738cc9d59", + "html_url": "https://github.com/open-data/ckan/commit/bd4f0415ba2025e8498c4695cf9e390738cc9d59", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/bd4f0415ba2025e8498c4695cf9e390738cc9d59/comments", + "author": { + "login": "ThrawnCA", + "id": 3080440, + "node_id": "MDQ6VXNlcjMwODA0NDA=", + "avatar_url": "https://avatars.githubusercontent.com/u/3080440?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ThrawnCA", + "html_url": "https://github.com/ThrawnCA", + "followers_url": "https://api.github.com/users/ThrawnCA/followers", + "following_url": "https://api.github.com/users/ThrawnCA/following{/other_user}", + "gists_url": "https://api.github.com/users/ThrawnCA/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ThrawnCA/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ThrawnCA/subscriptions", + "organizations_url": "https://api.github.com/users/ThrawnCA/orgs", + "repos_url": "https://api.github.com/users/ThrawnCA/repos", + "events_url": "https://api.github.com/users/ThrawnCA/events{/privacy}", + "received_events_url": "https://api.github.com/users/ThrawnCA/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "934e45036602137a382274cff36fb8587be17d6d", + "url": "https://api.github.com/repos/open-data/ckan/commits/934e45036602137a382274cff36fb8587be17d6d", + "html_url": "https://github.com/open-data/ckan/commit/934e45036602137a382274cff36fb8587be17d6d" + } + ] + }, + { + "sha": "b6c733267bfa4552b887ebfb750db541a24d197e", + "node_id": "C_kwDOAHlEatoAKGI2YzczMzI2N2JmYTQ1NTJiODg3ZWJmYjc1MGRiNTQxYTI0ZDE5N2U", + "commit": { + "author": { + "name": "ThrawnCA", + "email": "shell_layer-github@yahoo.com.au", + "date": "2023-08-13T22:59:05Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-23T14:56:34Z" + }, + "message": "Include tooltip in the ckanext-activity version of the resources nav sidebar, #7742", + "tree": { + "sha": "2add959e9b9458ff76a2efa15e0d69751ad085fb", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/2add959e9b9458ff76a2efa15e0d69751ad085fb" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/b6c733267bfa4552b887ebfb750db541a24d197e", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/b6c733267bfa4552b887ebfb750db541a24d197e", + "html_url": "https://github.com/open-data/ckan/commit/b6c733267bfa4552b887ebfb750db541a24d197e", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/b6c733267bfa4552b887ebfb750db541a24d197e/comments", + "author": { + "login": "ThrawnCA", + "id": 3080440, + "node_id": "MDQ6VXNlcjMwODA0NDA=", + "avatar_url": "https://avatars.githubusercontent.com/u/3080440?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ThrawnCA", + "html_url": "https://github.com/ThrawnCA", + "followers_url": "https://api.github.com/users/ThrawnCA/followers", + "following_url": "https://api.github.com/users/ThrawnCA/following{/other_user}", + "gists_url": "https://api.github.com/users/ThrawnCA/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ThrawnCA/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ThrawnCA/subscriptions", + "organizations_url": "https://api.github.com/users/ThrawnCA/orgs", + "repos_url": "https://api.github.com/users/ThrawnCA/repos", + "events_url": "https://api.github.com/users/ThrawnCA/events{/privacy}", + "received_events_url": "https://api.github.com/users/ThrawnCA/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "bd4f0415ba2025e8498c4695cf9e390738cc9d59", + "url": "https://api.github.com/repos/open-data/ckan/commits/bd4f0415ba2025e8498c4695cf9e390738cc9d59", + "html_url": "https://github.com/open-data/ckan/commit/bd4f0415ba2025e8498c4695cf9e390738cc9d59" + } + ] + }, + { + "sha": "b94327a642eaf98c730b1545d4a973b763873364", + "node_id": "C_kwDOAHlEatoAKGI5NDMyN2E2NDJlYWY5OGM3MzBiMTU0NWQ0YTk3M2I3NjM4NzMzNjQ", + "commit": { + "author": { + "name": "ThrawnCA", + "email": "shell_layer-github@yahoo.com.au", + "date": "2023-08-23T03:57:43Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-23T14:56:46Z" + }, + "message": "Update unit test to account for org link tooltip, #7742", + "tree": { + "sha": "407912964d66b768361e5eece2f0338adeb3ffa8", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/407912964d66b768361e5eece2f0338adeb3ffa8" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/b94327a642eaf98c730b1545d4a973b763873364", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/b94327a642eaf98c730b1545d4a973b763873364", + "html_url": "https://github.com/open-data/ckan/commit/b94327a642eaf98c730b1545d4a973b763873364", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/b94327a642eaf98c730b1545d4a973b763873364/comments", + "author": { + "login": "ThrawnCA", + "id": 3080440, + "node_id": "MDQ6VXNlcjMwODA0NDA=", + "avatar_url": "https://avatars.githubusercontent.com/u/3080440?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ThrawnCA", + "html_url": "https://github.com/ThrawnCA", + "followers_url": "https://api.github.com/users/ThrawnCA/followers", + "following_url": "https://api.github.com/users/ThrawnCA/following{/other_user}", + "gists_url": "https://api.github.com/users/ThrawnCA/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ThrawnCA/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ThrawnCA/subscriptions", + "organizations_url": "https://api.github.com/users/ThrawnCA/orgs", + "repos_url": "https://api.github.com/users/ThrawnCA/repos", + "events_url": "https://api.github.com/users/ThrawnCA/events{/privacy}", + "received_events_url": "https://api.github.com/users/ThrawnCA/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "b6c733267bfa4552b887ebfb750db541a24d197e", + "url": "https://api.github.com/repos/open-data/ckan/commits/b6c733267bfa4552b887ebfb750db541a24d197e", + "html_url": "https://github.com/open-data/ckan/commit/b6c733267bfa4552b887ebfb750db541a24d197e" + } + ] + }, + { + "sha": "d467f10aef18f7b7ba88ebebe0474bfd95f3a466", + "node_id": "C_kwDOAHlEatoAKGQ0NjdmMTBhZWYxOGY3YjdiYTg4ZWJlYmUwNDc0YmZkOTVmM2E0NjY", + "commit": { + "author": { + "name": "antuarc", + "email": "carl.antuar@smartservice.qld.gov.au", + "date": "2023-11-17T03:20:47Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-23T15:00:21Z" + }, + "message": "update unit tests to handle extra link title attributes\n\n- Store un-truncated names in link titles so they can be seen on hover if the link is truncated, #7742", + "tree": { + "sha": "89cc327b778b4319dfe14c5ddf086e4e0061fd37", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/89cc327b778b4319dfe14c5ddf086e4e0061fd37" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/d467f10aef18f7b7ba88ebebe0474bfd95f3a466", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/d467f10aef18f7b7ba88ebebe0474bfd95f3a466", + "html_url": "https://github.com/open-data/ckan/commit/d467f10aef18f7b7ba88ebebe0474bfd95f3a466", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/d467f10aef18f7b7ba88ebebe0474bfd95f3a466/comments", + "author": { + "login": "ThrawnCA", + "id": 3080440, + "node_id": "MDQ6VXNlcjMwODA0NDA=", + "avatar_url": "https://avatars.githubusercontent.com/u/3080440?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ThrawnCA", + "html_url": "https://github.com/ThrawnCA", + "followers_url": "https://api.github.com/users/ThrawnCA/followers", + "following_url": "https://api.github.com/users/ThrawnCA/following{/other_user}", + "gists_url": "https://api.github.com/users/ThrawnCA/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ThrawnCA/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ThrawnCA/subscriptions", + "organizations_url": "https://api.github.com/users/ThrawnCA/orgs", + "repos_url": "https://api.github.com/users/ThrawnCA/repos", + "events_url": "https://api.github.com/users/ThrawnCA/events{/privacy}", + "received_events_url": "https://api.github.com/users/ThrawnCA/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "b94327a642eaf98c730b1545d4a973b763873364", + "url": "https://api.github.com/repos/open-data/ckan/commits/b94327a642eaf98c730b1545d4a973b763873364", + "html_url": "https://github.com/open-data/ckan/commit/b94327a642eaf98c730b1545d4a973b763873364" + } + ] + }, + { + "sha": "2d60c7f0624caaff660a682b9fecc7b53116127d", + "node_id": "C_kwDOAHlEatoAKDJkNjBjN2YwNjI0Y2FhZmY2NjBhNjgyYjlmZWNjN2I1MzExNjEyN2Q", + "commit": { + "author": { + "name": "cirun", + "email": "cirun@live.com", + "date": "2023-11-21T15:55:45Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-24T11:21:20Z" + }, + "message": "change url input type to text if Upload is selected", + "tree": { + "sha": "4cf9a531b2c15a7adc42098479f7f89beb5ca80d", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/4cf9a531b2c15a7adc42098479f7f89beb5ca80d" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/2d60c7f0624caaff660a682b9fecc7b53116127d", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/2d60c7f0624caaff660a682b9fecc7b53116127d", + "html_url": "https://github.com/open-data/ckan/commit/2d60c7f0624caaff660a682b9fecc7b53116127d", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/2d60c7f0624caaff660a682b9fecc7b53116127d/comments", + "author": { + "login": "TomeCirun", + "id": 72216462, + "node_id": "MDQ6VXNlcjcyMjE2NDYy", + "avatar_url": "https://avatars.githubusercontent.com/u/72216462?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TomeCirun", + "html_url": "https://github.com/TomeCirun", + "followers_url": "https://api.github.com/users/TomeCirun/followers", + "following_url": "https://api.github.com/users/TomeCirun/following{/other_user}", + "gists_url": "https://api.github.com/users/TomeCirun/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TomeCirun/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TomeCirun/subscriptions", + "organizations_url": "https://api.github.com/users/TomeCirun/orgs", + "repos_url": "https://api.github.com/users/TomeCirun/repos", + "events_url": "https://api.github.com/users/TomeCirun/events{/privacy}", + "received_events_url": "https://api.github.com/users/TomeCirun/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "d467f10aef18f7b7ba88ebebe0474bfd95f3a466", + "url": "https://api.github.com/repos/open-data/ckan/commits/d467f10aef18f7b7ba88ebebe0474bfd95f3a466", + "html_url": "https://github.com/open-data/ckan/commit/d467f10aef18f7b7ba88ebebe0474bfd95f3a466" + } + ] + }, + { + "sha": "0bbed76971c5139514811eb654dce767837a98b5", + "node_id": "C_kwDOAHlEatoAKDBiYmVkNzY5NzFjNTEzOTUxNDgxMWViNjU0ZGNlNzY3ODM3YTk4YjU", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-24T11:20:44Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-24T11:21:35Z" + }, + "message": "changelog", + "tree": { + "sha": "381d07e7ed178a5a622d6a95e3c4e765a605db58", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/381d07e7ed178a5a622d6a95e3c4e765a605db58" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/0bbed76971c5139514811eb654dce767837a98b5", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/0bbed76971c5139514811eb654dce767837a98b5", + "html_url": "https://github.com/open-data/ckan/commit/0bbed76971c5139514811eb654dce767837a98b5", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/0bbed76971c5139514811eb654dce767837a98b5/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "2d60c7f0624caaff660a682b9fecc7b53116127d", + "url": "https://api.github.com/repos/open-data/ckan/commits/2d60c7f0624caaff660a682b9fecc7b53116127d", + "html_url": "https://github.com/open-data/ckan/commit/2d60c7f0624caaff660a682b9fecc7b53116127d" + } + ] + }, + { + "sha": "d7f5cadc0be2817bb30276772a2fc75c2e64e453", + "node_id": "C_kwDOAHlEatoAKGQ3ZjVjYWRjMGJlMjgxN2JiMzAyNzY3NzJhMmZjNzVjMmU2NGU0NTM", + "commit": { + "author": { + "name": "cormachallinanderilinx", + "email": "cormachallinan@derilinx.com", + "date": "2023-10-05T13:10:09Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-24T11:23:29Z" + }, + "message": "add state to query", + "tree": { + "sha": "1b4ac62201fd70279bc5d1eb47c194574a2e93b7", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/1b4ac62201fd70279bc5d1eb47c194574a2e93b7" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/d7f5cadc0be2817bb30276772a2fc75c2e64e453", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/d7f5cadc0be2817bb30276772a2fc75c2e64e453", + "html_url": "https://github.com/open-data/ckan/commit/d7f5cadc0be2817bb30276772a2fc75c2e64e453", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/d7f5cadc0be2817bb30276772a2fc75c2e64e453/comments", + "author": { + "login": "cormachallinanderilinx", + "id": 106073237, + "node_id": "U_kgDOBlKMlQ", + "avatar_url": "https://avatars.githubusercontent.com/u/106073237?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/cormachallinanderilinx", + "html_url": "https://github.com/cormachallinanderilinx", + "followers_url": "https://api.github.com/users/cormachallinanderilinx/followers", + "following_url": "https://api.github.com/users/cormachallinanderilinx/following{/other_user}", + "gists_url": "https://api.github.com/users/cormachallinanderilinx/gists{/gist_id}", + "starred_url": "https://api.github.com/users/cormachallinanderilinx/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/cormachallinanderilinx/subscriptions", + "organizations_url": "https://api.github.com/users/cormachallinanderilinx/orgs", + "repos_url": "https://api.github.com/users/cormachallinanderilinx/repos", + "events_url": "https://api.github.com/users/cormachallinanderilinx/events{/privacy}", + "received_events_url": "https://api.github.com/users/cormachallinanderilinx/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "0bbed76971c5139514811eb654dce767837a98b5", + "url": "https://api.github.com/repos/open-data/ckan/commits/0bbed76971c5139514811eb654dce767837a98b5", + "html_url": "https://github.com/open-data/ckan/commit/0bbed76971c5139514811eb654dce767837a98b5" + } + ] + }, + { + "sha": "49f00db455f6dd5098358130f37e3502c8d9f817", + "node_id": "C_kwDOAHlEatoAKDQ5ZjAwZGI0NTVmNmRkNTA5ODM1ODEzMGYzN2UzNTAyYzhkOWY4MTc", + "commit": { + "author": { + "name": "Eric Soroos", + "email": "eric@derilinx.com", + "date": "2023-11-09T16:48:50Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-24T11:23:34Z" + }, + "message": "Changlog added", + "tree": { + "sha": "4240cc52df2419a6645a011b23ee7d2506460419", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/4240cc52df2419a6645a011b23ee7d2506460419" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/49f00db455f6dd5098358130f37e3502c8d9f817", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/49f00db455f6dd5098358130f37e3502c8d9f817", + "html_url": "https://github.com/open-data/ckan/commit/49f00db455f6dd5098358130f37e3502c8d9f817", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/49f00db455f6dd5098358130f37e3502c8d9f817/comments", + "author": { + "login": "EricSoroos", + "id": 36156267, + "node_id": "MDQ6VXNlcjM2MTU2MjY3", + "avatar_url": "https://avatars.githubusercontent.com/u/36156267?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/EricSoroos", + "html_url": "https://github.com/EricSoroos", + "followers_url": "https://api.github.com/users/EricSoroos/followers", + "following_url": "https://api.github.com/users/EricSoroos/following{/other_user}", + "gists_url": "https://api.github.com/users/EricSoroos/gists{/gist_id}", + "starred_url": "https://api.github.com/users/EricSoroos/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/EricSoroos/subscriptions", + "organizations_url": "https://api.github.com/users/EricSoroos/orgs", + "repos_url": "https://api.github.com/users/EricSoroos/repos", + "events_url": "https://api.github.com/users/EricSoroos/events{/privacy}", + "received_events_url": "https://api.github.com/users/EricSoroos/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "d7f5cadc0be2817bb30276772a2fc75c2e64e453", + "url": "https://api.github.com/repos/open-data/ckan/commits/d7f5cadc0be2817bb30276772a2fc75c2e64e453", + "html_url": "https://github.com/open-data/ckan/commit/d7f5cadc0be2817bb30276772a2fc75c2e64e453" + } + ] + }, + { + "sha": "6eb007778c0bc70163a076ffe45ed98218086bb4", + "node_id": "C_kwDOAHlEatoAKDZlYjAwNzc3OGMwYmM3MDE2M2EwNzZmZmU0NWVkOTgyMTgwODZiYjQ", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-28T11:58:45Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-28T11:58:45Z" + }, + "message": "[#7923] Use Pluggable Helpers for Views\n\nOriginal patch by @JVickery-TBS", + "tree": { + "sha": "0cbb81872c04ebf7130ddfb5e076cce7aa8f9fd3", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/0cbb81872c04ebf7130ddfb5e076cce7aa8f9fd3" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/6eb007778c0bc70163a076ffe45ed98218086bb4", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/6eb007778c0bc70163a076ffe45ed98218086bb4", + "html_url": "https://github.com/open-data/ckan/commit/6eb007778c0bc70163a076ffe45ed98218086bb4", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/6eb007778c0bc70163a076ffe45ed98218086bb4/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "49f00db455f6dd5098358130f37e3502c8d9f817", + "url": "https://api.github.com/repos/open-data/ckan/commits/49f00db455f6dd5098358130f37e3502c8d9f817", + "html_url": "https://github.com/open-data/ckan/commit/49f00db455f6dd5098358130f37e3502c8d9f817" + } + ] + }, + { + "sha": "c4b7f695a854dd6be287e7ea692b6dddbd65ff97", + "node_id": "C_kwDOAHlEatoAKGM0YjdmNjk1YTg1NGRkNmJlMjg3ZTdlYTY5MmI2ZGRkYmQ2NWZmOTc", + "commit": { + "author": { + "name": "cirun", + "email": "cirun@live.com", + "date": "2023-11-22T21:09:44Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-28T11:59:49Z" + }, + "message": "use fresh_context", + "tree": { + "sha": "6f633ae820198ec37576a2114906d5662aa465b4", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/6f633ae820198ec37576a2114906d5662aa465b4" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/c4b7f695a854dd6be287e7ea692b6dddbd65ff97", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/c4b7f695a854dd6be287e7ea692b6dddbd65ff97", + "html_url": "https://github.com/open-data/ckan/commit/c4b7f695a854dd6be287e7ea692b6dddbd65ff97", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/c4b7f695a854dd6be287e7ea692b6dddbd65ff97/comments", + "author": { + "login": "TomeCirun", + "id": 72216462, + "node_id": "MDQ6VXNlcjcyMjE2NDYy", + "avatar_url": "https://avatars.githubusercontent.com/u/72216462?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TomeCirun", + "html_url": "https://github.com/TomeCirun", + "followers_url": "https://api.github.com/users/TomeCirun/followers", + "following_url": "https://api.github.com/users/TomeCirun/following{/other_user}", + "gists_url": "https://api.github.com/users/TomeCirun/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TomeCirun/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TomeCirun/subscriptions", + "organizations_url": "https://api.github.com/users/TomeCirun/orgs", + "repos_url": "https://api.github.com/users/TomeCirun/repos", + "events_url": "https://api.github.com/users/TomeCirun/events{/privacy}", + "received_events_url": "https://api.github.com/users/TomeCirun/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "6eb007778c0bc70163a076ffe45ed98218086bb4", + "url": "https://api.github.com/repos/open-data/ckan/commits/6eb007778c0bc70163a076ffe45ed98218086bb4", + "html_url": "https://github.com/open-data/ckan/commit/6eb007778c0bc70163a076ffe45ed98218086bb4" + } + ] + }, + { + "sha": "d5a61c502b750f5aa4212113f891bfac30838bd2", + "node_id": "C_kwDOAHlEatoAKGQ1YTYxYzUwMmI3NTBmNWFhNDIxMjExM2Y4OTFiZmFjMzA4MzhiZDI", + "commit": { + "author": { + "name": "cirun", + "email": "cirun@live.com", + "date": "2023-11-24T13:09:26Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-28T14:32:03Z" + }, + "message": "apply functools.wraps(fn) to preserve original func metadata", + "tree": { + "sha": "0a2ae7f7864eaff00974154dfca6d2629486c492", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/0a2ae7f7864eaff00974154dfca6d2629486c492" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/d5a61c502b750f5aa4212113f891bfac30838bd2", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/d5a61c502b750f5aa4212113f891bfac30838bd2", + "html_url": "https://github.com/open-data/ckan/commit/d5a61c502b750f5aa4212113f891bfac30838bd2", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/d5a61c502b750f5aa4212113f891bfac30838bd2/comments", + "author": { + "login": "TomeCirun", + "id": 72216462, + "node_id": "MDQ6VXNlcjcyMjE2NDYy", + "avatar_url": "https://avatars.githubusercontent.com/u/72216462?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/TomeCirun", + "html_url": "https://github.com/TomeCirun", + "followers_url": "https://api.github.com/users/TomeCirun/followers", + "following_url": "https://api.github.com/users/TomeCirun/following{/other_user}", + "gists_url": "https://api.github.com/users/TomeCirun/gists{/gist_id}", + "starred_url": "https://api.github.com/users/TomeCirun/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/TomeCirun/subscriptions", + "organizations_url": "https://api.github.com/users/TomeCirun/orgs", + "repos_url": "https://api.github.com/users/TomeCirun/repos", + "events_url": "https://api.github.com/users/TomeCirun/events{/privacy}", + "received_events_url": "https://api.github.com/users/TomeCirun/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "c4b7f695a854dd6be287e7ea692b6dddbd65ff97", + "url": "https://api.github.com/repos/open-data/ckan/commits/c4b7f695a854dd6be287e7ea692b6dddbd65ff97", + "html_url": "https://github.com/open-data/ckan/commit/c4b7f695a854dd6be287e7ea692b6dddbd65ff97" + } + ] + }, + { + "sha": "20abe10f12169b7617411f0f13466bb6adc7041e", + "node_id": "C_kwDOAHlEatoAKDIwYWJlMTBmMTIxNjliNzYxNzQxMWYwZjEzNDY2YmI2YWRjNzA0MWU", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-29T11:00:20Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-29T11:00:20Z" + }, + "message": "Fix bad merge in 6eb007778", + "tree": { + "sha": "885b553a6af723521f613d7177f32a21bb2f2f84", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/885b553a6af723521f613d7177f32a21bb2f2f84" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/20abe10f12169b7617411f0f13466bb6adc7041e", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/20abe10f12169b7617411f0f13466bb6adc7041e", + "html_url": "https://github.com/open-data/ckan/commit/20abe10f12169b7617411f0f13466bb6adc7041e", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/20abe10f12169b7617411f0f13466bb6adc7041e/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "d5a61c502b750f5aa4212113f891bfac30838bd2", + "url": "https://api.github.com/repos/open-data/ckan/commits/d5a61c502b750f5aa4212113f891bfac30838bd2", + "html_url": "https://github.com/open-data/ckan/commit/d5a61c502b750f5aa4212113f891bfac30838bd2" + } + ] + }, + { + "sha": "a0017940f10f0dc2039cfee219ffd6004368a6da", + "node_id": "C_kwDOAHlEatoAKGEwMDE3OTQwZjEwZjBkYzIwMzljZmVlMjE5ZmZkNjAwNDM2OGE2ZGE", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-09-18T21:39:26Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-29T11:13:21Z" + }, + "message": "[#7806] download button for datastore-only resources", + "tree": { + "sha": "95ec77b2ed1f61fb24a6d93dbfede28f44dfd021", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/95ec77b2ed1f61fb24a6d93dbfede28f44dfd021" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/a0017940f10f0dc2039cfee219ffd6004368a6da", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/a0017940f10f0dc2039cfee219ffd6004368a6da", + "html_url": "https://github.com/open-data/ckan/commit/a0017940f10f0dc2039cfee219ffd6004368a6da", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/a0017940f10f0dc2039cfee219ffd6004368a6da/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "20abe10f12169b7617411f0f13466bb6adc7041e", + "url": "https://api.github.com/repos/open-data/ckan/commits/20abe10f12169b7617411f0f13466bb6adc7041e", + "html_url": "https://github.com/open-data/ckan/commit/20abe10f12169b7617411f0f13466bb6adc7041e" + } + ] + }, + { + "sha": "f3453d41ce1eaae21e91fa9ccaa9127f69b0ef2c", + "node_id": "C_kwDOAHlEatoAKGYzNDUzZDQxY2UxZWFhZTIxZTkxZmE5Y2NhYTkxMjdmNjliMGVmMmM", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-09-18T22:19:54Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-29T11:13:26Z" + }, + "message": "[#7806] changelog", + "tree": { + "sha": "8ace1c53ea50ed5e7ff63dfaa3667e4290f80a90", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/8ace1c53ea50ed5e7ff63dfaa3667e4290f80a90" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/f3453d41ce1eaae21e91fa9ccaa9127f69b0ef2c", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/f3453d41ce1eaae21e91fa9ccaa9127f69b0ef2c", + "html_url": "https://github.com/open-data/ckan/commit/f3453d41ce1eaae21e91fa9ccaa9127f69b0ef2c", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/f3453d41ce1eaae21e91fa9ccaa9127f69b0ef2c/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "a0017940f10f0dc2039cfee219ffd6004368a6da", + "url": "https://api.github.com/repos/open-data/ckan/commits/a0017940f10f0dc2039cfee219ffd6004368a6da", + "html_url": "https://github.com/open-data/ckan/commit/a0017940f10f0dc2039cfee219ffd6004368a6da" + } + ] + }, + { + "sha": "4260dafa5b0945aea2ae37bbfe06949021c201d5", + "node_id": "C_kwDOAHlEatoAKDQyNjBkYWZhNWIwOTQ1YWVhMmFlMzdiYmZlMDY5NDkwMjFjMjAxZDU", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-24T11:51:44Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-29T11:26:24Z" + }, + "message": "Use current CKAN version in cookiecutter tests runner template\n\nReplace the hardcoded Docker tags with the actual current version\nnumber, so when generated they point to the correct version.\n\nTODO: create major.minor tags for the ckan images", + "tree": { + "sha": "42605c70bfaf5a0886041935a61ffa876a13e416", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/42605c70bfaf5a0886041935a61ffa876a13e416" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/4260dafa5b0945aea2ae37bbfe06949021c201d5", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/4260dafa5b0945aea2ae37bbfe06949021c201d5", + "html_url": "https://github.com/open-data/ckan/commit/4260dafa5b0945aea2ae37bbfe06949021c201d5", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/4260dafa5b0945aea2ae37bbfe06949021c201d5/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "f3453d41ce1eaae21e91fa9ccaa9127f69b0ef2c", + "url": "https://api.github.com/repos/open-data/ckan/commits/f3453d41ce1eaae21e91fa9ccaa9127f69b0ef2c", + "html_url": "https://github.com/open-data/ckan/commit/f3453d41ce1eaae21e91fa9ccaa9127f69b0ef2c" + } + ] + }, + { + "sha": "19085690df07e6d183f74cdfce677665438bf4c5", + "node_id": "C_kwDOAHlEatoAKDE5MDg1NjkwZGYwN2U2ZDE4M2Y3NGNkZmNlNjc3NjY1NDM4YmY0YzU", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-24T11:58:02Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-29T11:26:28Z" + }, + "message": "lint, changelog", + "tree": { + "sha": "ee1404e830071ebaa5e04519ebd87c07a49f1b35", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/ee1404e830071ebaa5e04519ebd87c07a49f1b35" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/19085690df07e6d183f74cdfce677665438bf4c5", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/19085690df07e6d183f74cdfce677665438bf4c5", + "html_url": "https://github.com/open-data/ckan/commit/19085690df07e6d183f74cdfce677665438bf4c5", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/19085690df07e6d183f74cdfce677665438bf4c5/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "4260dafa5b0945aea2ae37bbfe06949021c201d5", + "url": "https://api.github.com/repos/open-data/ckan/commits/4260dafa5b0945aea2ae37bbfe06949021c201d5", + "html_url": "https://github.com/open-data/ckan/commit/4260dafa5b0945aea2ae37bbfe06949021c201d5" + } + ] + }, + { + "sha": "9658be37cadc206a2e238ed425a82457d41c8581", + "node_id": "C_kwDOAHlEatoAKDk2NThiZTM3Y2FkYzIwNmEyZTIzOGVkNDI1YTgyNDU3ZDQxYzg1ODE", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-28T09:18:19Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-29T11:26:32Z" + }, + "message": "Use major.minor tag in ckan image", + "tree": { + "sha": "5f1d58d25c99f3cccda8148e148aed962d7812ad", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/5f1d58d25c99f3cccda8148e148aed962d7812ad" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/9658be37cadc206a2e238ed425a82457d41c8581", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/9658be37cadc206a2e238ed425a82457d41c8581", + "html_url": "https://github.com/open-data/ckan/commit/9658be37cadc206a2e238ed425a82457d41c8581", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/9658be37cadc206a2e238ed425a82457d41c8581/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "19085690df07e6d183f74cdfce677665438bf4c5", + "url": "https://api.github.com/repos/open-data/ckan/commits/19085690df07e6d183f74cdfce677665438bf4c5", + "html_url": "https://github.com/open-data/ckan/commit/19085690df07e6d183f74cdfce677665438bf4c5" + } + ] + }, + { + "sha": "6836d075a1624c1c1cf30c16c54f7c1c32822c6e", + "node_id": "C_kwDOAHlEatoAKDY4MzZkMDc1YTE2MjRjMWMxY2YzMGMxNmM1NGY3YzFjMzI4MjJjNmU", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2023-11-27T15:35:29Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-29T11:38:30Z" + }, + "message": "fix(cli): minor fixes to views create;\n\n- Fixed no context in `package_search`.\n- Fixed return set for default filters.", + "tree": { + "sha": "8627604492fc220e62452accef871c6ac8b7f8ca", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/8627604492fc220e62452accef871c6ac8b7f8ca" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/6836d075a1624c1c1cf30c16c54f7c1c32822c6e", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/6836d075a1624c1c1cf30c16c54f7c1c32822c6e", + "html_url": "https://github.com/open-data/ckan/commit/6836d075a1624c1c1cf30c16c54f7c1c32822c6e", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/6836d075a1624c1c1cf30c16c54f7c1c32822c6e/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "9658be37cadc206a2e238ed425a82457d41c8581", + "url": "https://api.github.com/repos/open-data/ckan/commits/9658be37cadc206a2e238ed425a82457d41c8581", + "html_url": "https://github.com/open-data/ckan/commit/9658be37cadc206a2e238ed425a82457d41c8581" + } + ] + }, + { + "sha": "5ac7019c8e5284043f35bf6369d923c3c013df68", + "node_id": "C_kwDOAHlEatoAKDVhYzcwMTljOGU1Mjg0MDQzZjM1YmY2MzY5ZDkyM2MzYzAxM2RmNjg", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2023-11-27T15:50:08Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-29T11:38:33Z" + }, + "message": "fix(dev): changelog and typing;\n\n- Added change log file.\n- Fixed typing issue.", + "tree": { + "sha": "60364783498ee0143425b2913b6bb5d341f22e97", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/60364783498ee0143425b2913b6bb5d341f22e97" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/5ac7019c8e5284043f35bf6369d923c3c013df68", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/5ac7019c8e5284043f35bf6369d923c3c013df68", + "html_url": "https://github.com/open-data/ckan/commit/5ac7019c8e5284043f35bf6369d923c3c013df68", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/5ac7019c8e5284043f35bf6369d923c3c013df68/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "6836d075a1624c1c1cf30c16c54f7c1c32822c6e", + "url": "https://api.github.com/repos/open-data/ckan/commits/6836d075a1624c1c1cf30c16c54f7c1c32822c6e", + "html_url": "https://github.com/open-data/ckan/commit/6836d075a1624c1c1cf30c16c54f7c1c32822c6e" + } + ] + }, + { + "sha": "06d72d2d8cfb61e4773097cd80f768a323b1ffef", + "node_id": "C_kwDOAHlEatoAKDA2ZDcyZDJkOGNmYjYxZTQ3NzMwOTdjZDgwZjc2OGEzMjNiMWZmZWY", + "commit": { + "author": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-06-16T12:28:06Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T12:05:47Z" + }, + "message": "feat: `required` flag adds `not_empty` validator to option", + "tree": { + "sha": "1881d1901d1938ccdca33f3b7e0de696ff1d2f06", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/1881d1901d1938ccdca33f3b7e0de696ff1d2f06" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/06d72d2d8cfb61e4773097cd80f768a323b1ffef", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/06d72d2d8cfb61e4773097cd80f768a323b1ffef", + "html_url": "https://github.com/open-data/ckan/commit/06d72d2d8cfb61e4773097cd80f768a323b1ffef", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/06d72d2d8cfb61e4773097cd80f768a323b1ffef/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "5ac7019c8e5284043f35bf6369d923c3c013df68", + "url": "https://api.github.com/repos/open-data/ckan/commits/5ac7019c8e5284043f35bf6369d923c3c013df68", + "html_url": "https://github.com/open-data/ckan/commit/5ac7019c8e5284043f35bf6369d923c3c013df68" + } + ] + }, + { + "sha": "b19bc3a3f465f69d062ec89f41a0559b1299d6af", + "node_id": "C_kwDOAHlEatoAKGIxOWJjM2EzZjQ2NWY2OWQwNjJlYzg5ZjQxYTA1NTliMTI5OWQ2YWY", + "commit": { + "author": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-06-16T12:30:30Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T12:05:57Z" + }, + "message": "chore: add changelog entry", + "tree": { + "sha": "959c82876f5526db4f63d9899760d84749dc05df", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/959c82876f5526db4f63d9899760d84749dc05df" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/b19bc3a3f465f69d062ec89f41a0559b1299d6af", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/b19bc3a3f465f69d062ec89f41a0559b1299d6af", + "html_url": "https://github.com/open-data/ckan/commit/b19bc3a3f465f69d062ec89f41a0559b1299d6af", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/b19bc3a3f465f69d062ec89f41a0559b1299d6af/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "06d72d2d8cfb61e4773097cd80f768a323b1ffef", + "url": "https://api.github.com/repos/open-data/ckan/commits/06d72d2d8cfb61e4773097cd80f768a323b1ffef", + "html_url": "https://github.com/open-data/ckan/commit/06d72d2d8cfb61e4773097cd80f768a323b1ffef" + } + ] + }, + { + "sha": "87db72476b631a33fea2ba0acc9c04dc724c8d56", + "node_id": "C_kwDOAHlEatoAKDg3ZGI3MjQ3NmI2MzFhMzNmZWEyYmEwYWNjOWMwNGRjNzI0YzhkNTY", + "commit": { + "author": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-06-16T12:37:11Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T12:06:03Z" + }, + "message": "fix: do not log undeclared ckan.plugins", + "tree": { + "sha": "7a73628b18d04ba5c6020d0a5df472ac6d4f9973", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/7a73628b18d04ba5c6020d0a5df472ac6d4f9973" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/87db72476b631a33fea2ba0acc9c04dc724c8d56", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/87db72476b631a33fea2ba0acc9c04dc724c8d56", + "html_url": "https://github.com/open-data/ckan/commit/87db72476b631a33fea2ba0acc9c04dc724c8d56", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/87db72476b631a33fea2ba0acc9c04dc724c8d56/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "b19bc3a3f465f69d062ec89f41a0559b1299d6af", + "url": "https://api.github.com/repos/open-data/ckan/commits/b19bc3a3f465f69d062ec89f41a0559b1299d6af", + "html_url": "https://github.com/open-data/ckan/commit/b19bc3a3f465f69d062ec89f41a0559b1299d6af" + } + ] + }, + { + "sha": "d42ba411d9b3d11e5cbdeb42a0b72ee78983388f", + "node_id": "C_kwDOAHlEatoAKGQ0MmJhNDExZDliM2QxMWU1Y2JkZWI0MmEwYjcyZWU3ODk4MzM4OGY", + "commit": { + "author": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-06-16T13:48:20Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T12:06:08Z" + }, + "message": "fix: fix token-revoke test for tokens that start with hyphen", + "tree": { + "sha": "1a62d3c7507c043edb31f6b790022bb65959461e", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/1a62d3c7507c043edb31f6b790022bb65959461e" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/d42ba411d9b3d11e5cbdeb42a0b72ee78983388f", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/d42ba411d9b3d11e5cbdeb42a0b72ee78983388f", + "html_url": "https://github.com/open-data/ckan/commit/d42ba411d9b3d11e5cbdeb42a0b72ee78983388f", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/d42ba411d9b3d11e5cbdeb42a0b72ee78983388f/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "87db72476b631a33fea2ba0acc9c04dc724c8d56", + "url": "https://api.github.com/repos/open-data/ckan/commits/87db72476b631a33fea2ba0acc9c04dc724c8d56", + "html_url": "https://github.com/open-data/ckan/commit/87db72476b631a33fea2ba0acc9c04dc724c8d56" + } + ] + }, + { + "sha": "eef260eb00bb01d075bd374c390d1758523f7e8e", + "node_id": "C_kwDOAHlEatoAKGVlZjI2MGViMDBiYjAxZDA3NWJkMzc0YzM5MGQxNzU4NTIzZjdlOGU", + "commit": { + "author": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-06-16T13:56:43Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T12:06:14Z" + }, + "message": "chore: remove redundant `not_empty` from core declaretions", + "tree": { + "sha": "0403011422310ae8e54e407707d31ba2557a3b96", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/0403011422310ae8e54e407707d31ba2557a3b96" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/eef260eb00bb01d075bd374c390d1758523f7e8e", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/eef260eb00bb01d075bd374c390d1758523f7e8e", + "html_url": "https://github.com/open-data/ckan/commit/eef260eb00bb01d075bd374c390d1758523f7e8e", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/eef260eb00bb01d075bd374c390d1758523f7e8e/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "d42ba411d9b3d11e5cbdeb42a0b72ee78983388f", + "url": "https://api.github.com/repos/open-data/ckan/commits/d42ba411d9b3d11e5cbdeb42a0b72ee78983388f", + "html_url": "https://github.com/open-data/ckan/commit/d42ba411d9b3d11e5cbdeb42a0b72ee78983388f" + } + ] + }, + { + "sha": "88e6eac9114a3450775526f7449573d608cfb13e", + "node_id": "C_kwDOAHlEatoAKDg4ZTZlYWM5MTE0YTM0NTA3NzU1MjZmNzQ0OTU3M2Q2MDhjZmIxM2U", + "commit": { + "author": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-06-17T17:45:12Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T12:06:18Z" + }, + "message": "chore: fix description of `type`/`validators` combination", + "tree": { + "sha": "e3afdcbc98f97a7bc1ae27c2e3578608df421ad9", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/e3afdcbc98f97a7bc1ae27c2e3578608df421ad9" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/88e6eac9114a3450775526f7449573d608cfb13e", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/88e6eac9114a3450775526f7449573d608cfb13e", + "html_url": "https://github.com/open-data/ckan/commit/88e6eac9114a3450775526f7449573d608cfb13e", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/88e6eac9114a3450775526f7449573d608cfb13e/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "eef260eb00bb01d075bd374c390d1758523f7e8e", + "url": "https://api.github.com/repos/open-data/ckan/commits/eef260eb00bb01d075bd374c390d1758523f7e8e", + "html_url": "https://github.com/open-data/ckan/commit/eef260eb00bb01d075bd374c390d1758523f7e8e" + } + ] + }, + { + "sha": "00095428e12cd4be557e8976a8c4f2cbb6c76537", + "node_id": "C_kwDOAHlEatoAKDAwMDk1NDI4ZTEyY2Q0YmU1NTdlODk3NmE4YzRmMmNiYjZjNzY1Mzc", + "commit": { + "author": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2023-06-18T14:17:20Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T12:06:25Z" + }, + "message": "feat: Option.str_value accepts custom value", + "tree": { + "sha": "3d8b2fb4bf4a7bd36cdff4ee3481f77aceb8fc0d", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/3d8b2fb4bf4a7bd36cdff4ee3481f77aceb8fc0d" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/00095428e12cd4be557e8976a8c4f2cbb6c76537", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/00095428e12cd4be557e8976a8c4f2cbb6c76537", + "html_url": "https://github.com/open-data/ckan/commit/00095428e12cd4be557e8976a8c4f2cbb6c76537", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/00095428e12cd4be557e8976a8c4f2cbb6c76537/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "88e6eac9114a3450775526f7449573d608cfb13e", + "url": "https://api.github.com/repos/open-data/ckan/commits/88e6eac9114a3450775526f7449573d608cfb13e", + "html_url": "https://github.com/open-data/ckan/commit/88e6eac9114a3450775526f7449573d608cfb13e" + } + ] + }, + { + "sha": "c83cf2e222e94bb611acc14a616e666749382134", + "node_id": "C_kwDOAHlEatoAKGM4M2NmMmUyMjJlOTRiYjYxMWFjYzE0YTYxNmU2NjY3NDkzODIxMzQ", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T12:20:41Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T12:20:41Z" + }, + "message": "Remove old changelog entries", + "tree": { + "sha": "0b22fd8ae3964a936adf768192ba06e96db70a95", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/0b22fd8ae3964a936adf768192ba06e96db70a95" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/c83cf2e222e94bb611acc14a616e666749382134", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/c83cf2e222e94bb611acc14a616e666749382134", + "html_url": "https://github.com/open-data/ckan/commit/c83cf2e222e94bb611acc14a616e666749382134", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/c83cf2e222e94bb611acc14a616e666749382134/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "00095428e12cd4be557e8976a8c4f2cbb6c76537", + "url": "https://api.github.com/repos/open-data/ckan/commits/00095428e12cd4be557e8976a8c4f2cbb6c76537", + "html_url": "https://github.com/open-data/ckan/commit/00095428e12cd4be557e8976a8c4f2cbb6c76537" + } + ] + }, + { + "sha": "757a217864c77d98effebf0c30c0dd20726f7a4e", + "node_id": "C_kwDOAHlEatoAKDc1N2EyMTc4NjRjNzdkOThlZmZlYmYwYzMwYzBkZDIwNzI2ZjdhNGU", + "commit": { + "author": { + "name": "avdata99", + "email": "andres@data99.com.ar", + "date": "2023-11-27T15:13:56Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T14:50:44Z" + }, + "message": "Allow custom org types for activities", + "tree": { + "sha": "5508f5ee1481966b76e014f375aa15adf1f5a773", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/5508f5ee1481966b76e014f375aa15adf1f5a773" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/757a217864c77d98effebf0c30c0dd20726f7a4e", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/757a217864c77d98effebf0c30c0dd20726f7a4e", + "html_url": "https://github.com/open-data/ckan/commit/757a217864c77d98effebf0c30c0dd20726f7a4e", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/757a217864c77d98effebf0c30c0dd20726f7a4e/comments", + "author": { + "login": "avdata99", + "id": 3237309, + "node_id": "MDQ6VXNlcjMyMzczMDk=", + "avatar_url": "https://avatars.githubusercontent.com/u/3237309?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/avdata99", + "html_url": "https://github.com/avdata99", + "followers_url": "https://api.github.com/users/avdata99/followers", + "following_url": "https://api.github.com/users/avdata99/following{/other_user}", + "gists_url": "https://api.github.com/users/avdata99/gists{/gist_id}", + "starred_url": "https://api.github.com/users/avdata99/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/avdata99/subscriptions", + "organizations_url": "https://api.github.com/users/avdata99/orgs", + "repos_url": "https://api.github.com/users/avdata99/repos", + "events_url": "https://api.github.com/users/avdata99/events{/privacy}", + "received_events_url": "https://api.github.com/users/avdata99/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "c83cf2e222e94bb611acc14a616e666749382134", + "url": "https://api.github.com/repos/open-data/ckan/commits/c83cf2e222e94bb611acc14a616e666749382134", + "html_url": "https://github.com/open-data/ckan/commit/c83cf2e222e94bb611acc14a616e666749382134" + } + ] + }, + { + "sha": "6da5441f8b265471f402a645d2e3307421a5c3a6", + "node_id": "C_kwDOAHlEatoAKDZkYTU0NDFmOGIyNjU0NzFmNDAyYTY0NWQyZTMzMDc0MjFhNWMzYTY", + "commit": { + "author": { + "name": "avdata99", + "email": "andres@data99.com.ar", + "date": "2023-11-27T15:16:12Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T14:50:49Z" + }, + "message": "Changelog", + "tree": { + "sha": "82df36981fcde5da78855f525721fc104495a0eb", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/82df36981fcde5da78855f525721fc104495a0eb" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/6da5441f8b265471f402a645d2e3307421a5c3a6", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/6da5441f8b265471f402a645d2e3307421a5c3a6", + "html_url": "https://github.com/open-data/ckan/commit/6da5441f8b265471f402a645d2e3307421a5c3a6", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/6da5441f8b265471f402a645d2e3307421a5c3a6/comments", + "author": { + "login": "avdata99", + "id": 3237309, + "node_id": "MDQ6VXNlcjMyMzczMDk=", + "avatar_url": "https://avatars.githubusercontent.com/u/3237309?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/avdata99", + "html_url": "https://github.com/avdata99", + "followers_url": "https://api.github.com/users/avdata99/followers", + "following_url": "https://api.github.com/users/avdata99/following{/other_user}", + "gists_url": "https://api.github.com/users/avdata99/gists{/gist_id}", + "starred_url": "https://api.github.com/users/avdata99/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/avdata99/subscriptions", + "organizations_url": "https://api.github.com/users/avdata99/orgs", + "repos_url": "https://api.github.com/users/avdata99/repos", + "events_url": "https://api.github.com/users/avdata99/events{/privacy}", + "received_events_url": "https://api.github.com/users/avdata99/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "757a217864c77d98effebf0c30c0dd20726f7a4e", + "url": "https://api.github.com/repos/open-data/ckan/commits/757a217864c77d98effebf0c30c0dd20726f7a4e", + "html_url": "https://github.com/open-data/ckan/commit/757a217864c77d98effebf0c30c0dd20726f7a4e" + } + ] + }, + { + "sha": "51463c995c3b80b6a12b6acf6d3cfdb019b51c9a", + "node_id": "C_kwDOAHlEatoAKDUxNDYzYzk5NWMzYjgwYjZhMTJiNmFjZjZkM2NmZGIwMTliNTFjOWE", + "commit": { + "author": { + "name": "avdata99", + "email": "andres@data99.com.ar", + "date": "2023-11-27T17:02:29Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T14:50:54Z" + }, + "message": "Test custom org URLs", + "tree": { + "sha": "75c5da19bfed87264962a715e92f731fe42a1d47", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/75c5da19bfed87264962a715e92f731fe42a1d47" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/51463c995c3b80b6a12b6acf6d3cfdb019b51c9a", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/51463c995c3b80b6a12b6acf6d3cfdb019b51c9a", + "html_url": "https://github.com/open-data/ckan/commit/51463c995c3b80b6a12b6acf6d3cfdb019b51c9a", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/51463c995c3b80b6a12b6acf6d3cfdb019b51c9a/comments", + "author": { + "login": "avdata99", + "id": 3237309, + "node_id": "MDQ6VXNlcjMyMzczMDk=", + "avatar_url": "https://avatars.githubusercontent.com/u/3237309?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/avdata99", + "html_url": "https://github.com/avdata99", + "followers_url": "https://api.github.com/users/avdata99/followers", + "following_url": "https://api.github.com/users/avdata99/following{/other_user}", + "gists_url": "https://api.github.com/users/avdata99/gists{/gist_id}", + "starred_url": "https://api.github.com/users/avdata99/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/avdata99/subscriptions", + "organizations_url": "https://api.github.com/users/avdata99/orgs", + "repos_url": "https://api.github.com/users/avdata99/repos", + "events_url": "https://api.github.com/users/avdata99/events{/privacy}", + "received_events_url": "https://api.github.com/users/avdata99/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "6da5441f8b265471f402a645d2e3307421a5c3a6", + "url": "https://api.github.com/repos/open-data/ckan/commits/6da5441f8b265471f402a645d2e3307421a5c3a6", + "html_url": "https://github.com/open-data/ckan/commit/6da5441f8b265471f402a645d2e3307421a5c3a6" + } + ] + }, + { + "sha": "4d146a40ebf7a3d2b54050addb2ca8f26782ed9f", + "node_id": "C_kwDOAHlEatoAKDRkMTQ2YTQwZWJmN2EzZDJiNTQwNTBhZGRiMmNhOGYyNjc4MmVkOWY", + "commit": { + "author": { + "name": "avdata99", + "email": "andres@data99.com.ar", + "date": "2023-11-29T15:39:54Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T14:52:02Z" + }, + "message": "Test custom group_type for activities", + "tree": { + "sha": "ce3823d8c5919708253f301663340aa2f02831b1", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/ce3823d8c5919708253f301663340aa2f02831b1" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/4d146a40ebf7a3d2b54050addb2ca8f26782ed9f", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/4d146a40ebf7a3d2b54050addb2ca8f26782ed9f", + "html_url": "https://github.com/open-data/ckan/commit/4d146a40ebf7a3d2b54050addb2ca8f26782ed9f", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/4d146a40ebf7a3d2b54050addb2ca8f26782ed9f/comments", + "author": { + "login": "avdata99", + "id": 3237309, + "node_id": "MDQ6VXNlcjMyMzczMDk=", + "avatar_url": "https://avatars.githubusercontent.com/u/3237309?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/avdata99", + "html_url": "https://github.com/avdata99", + "followers_url": "https://api.github.com/users/avdata99/followers", + "following_url": "https://api.github.com/users/avdata99/following{/other_user}", + "gists_url": "https://api.github.com/users/avdata99/gists{/gist_id}", + "starred_url": "https://api.github.com/users/avdata99/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/avdata99/subscriptions", + "organizations_url": "https://api.github.com/users/avdata99/orgs", + "repos_url": "https://api.github.com/users/avdata99/repos", + "events_url": "https://api.github.com/users/avdata99/events{/privacy}", + "received_events_url": "https://api.github.com/users/avdata99/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "51463c995c3b80b6a12b6acf6d3cfdb019b51c9a", + "url": "https://api.github.com/repos/open-data/ckan/commits/51463c995c3b80b6a12b6acf6d3cfdb019b51c9a", + "html_url": "https://github.com/open-data/ckan/commit/51463c995c3b80b6a12b6acf6d3cfdb019b51c9a" + } + ] + }, + { + "sha": "29a151b676623395eb54545398ba0ba72beb35ca", + "node_id": "C_kwDOAHlEatoAKDI5YTE1MWI2NzY2MjMzOTVlYjU0NTQ1Mzk4YmEwYmE3MmJlYjM1Y2E", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-28T14:26:25Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T14:54:46Z" + }, + "message": "[#7945] Translate aria-label attributes\n\nFixes #7945\n\nFor HTML templates we just wrap the value in the `{{ _() }}` function so\nthey get extracted. For markup that is generated from JS modules, we\nneed to find the attribute and replace the value with the translated\nstring. \"Close\" was not extracted up until now, so one this is merged\nwe'll need to run `extract_messages` so it goes to the pot file >\nTransifex > po files (in 2.10.2 and 2.11.0)", + "tree": { + "sha": "8cd33c729c41bf726d6e2dccdd51c4f1ddd10570", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/8cd33c729c41bf726d6e2dccdd51c4f1ddd10570" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/29a151b676623395eb54545398ba0ba72beb35ca", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/29a151b676623395eb54545398ba0ba72beb35ca", + "html_url": "https://github.com/open-data/ckan/commit/29a151b676623395eb54545398ba0ba72beb35ca", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/29a151b676623395eb54545398ba0ba72beb35ca/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "4d146a40ebf7a3d2b54050addb2ca8f26782ed9f", + "url": "https://api.github.com/repos/open-data/ckan/commits/4d146a40ebf7a3d2b54050addb2ca8f26782ed9f", + "html_url": "https://github.com/open-data/ckan/commit/4d146a40ebf7a3d2b54050addb2ca8f26782ed9f" + } + ] + }, + { + "sha": "27317f506eb241d6989d00d4304e8b1136a3c56a", + "node_id": "C_kwDOAHlEatoAKDI3MzE3ZjUwNmViMjQxZDY5ODlkMDBkNDMwNGU4YjExMzZhM2M1NmE", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-28T14:37:58Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T14:54:53Z" + }, + "message": "[#7945] Changelog", + "tree": { + "sha": "95be23c4f56fb4620c3eddd195586157735ed71e", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/95be23c4f56fb4620c3eddd195586157735ed71e" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/27317f506eb241d6989d00d4304e8b1136a3c56a", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/27317f506eb241d6989d00d4304e8b1136a3c56a", + "html_url": "https://github.com/open-data/ckan/commit/27317f506eb241d6989d00d4304e8b1136a3c56a", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/27317f506eb241d6989d00d4304e8b1136a3c56a/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "29a151b676623395eb54545398ba0ba72beb35ca", + "url": "https://api.github.com/repos/open-data/ckan/commits/29a151b676623395eb54545398ba0ba72beb35ca", + "html_url": "https://github.com/open-data/ckan/commit/29a151b676623395eb54545398ba0ba72beb35ca" + } + ] + }, + { + "sha": "0e0a53344354fecb75beaf284b0030dbebb575a6", + "node_id": "C_kwDOAHlEatoAKDBlMGE1MzM0NDM1NGZlY2I3NWJlYWYyODRiMDAzMGRiZWJiNTc1YTY", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-28T14:44:28Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T14:55:43Z" + }, + "message": "[#7945] Fix _ function reference in notify.js", + "tree": { + "sha": "0eba22c51fd8991f1b259722778ef9bcaec9de9a", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/0eba22c51fd8991f1b259722778ef9bcaec9de9a" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/0e0a53344354fecb75beaf284b0030dbebb575a6", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/0e0a53344354fecb75beaf284b0030dbebb575a6", + "html_url": "https://github.com/open-data/ckan/commit/0e0a53344354fecb75beaf284b0030dbebb575a6", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/0e0a53344354fecb75beaf284b0030dbebb575a6/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "27317f506eb241d6989d00d4304e8b1136a3c56a", + "url": "https://api.github.com/repos/open-data/ckan/commits/27317f506eb241d6989d00d4304e8b1136a3c56a", + "html_url": "https://github.com/open-data/ckan/commit/27317f506eb241d6989d00d4304e8b1136a3c56a" + } + ] + }, + { + "sha": "66e9bbc9395f588ed29df44731ac43fb7b5e1c6c", + "node_id": "C_kwDOAHlEatoAKDY2ZTliYmM5Mzk1ZjU4OGVkMjlkZjQ0NzMxYWM0M2ZiN2I1ZTFjNmM", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T11:34:20Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T14:55:46Z" + }, + "message": "[#7945] Fix _ function reference in api-info.js", + "tree": { + "sha": "40200e49c28eb0cce28319678a34e8e158a6a2f0", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/40200e49c28eb0cce28319678a34e8e158a6a2f0" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/66e9bbc9395f588ed29df44731ac43fb7b5e1c6c", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/66e9bbc9395f588ed29df44731ac43fb7b5e1c6c", + "html_url": "https://github.com/open-data/ckan/commit/66e9bbc9395f588ed29df44731ac43fb7b5e1c6c", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/66e9bbc9395f588ed29df44731ac43fb7b5e1c6c/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "0e0a53344354fecb75beaf284b0030dbebb575a6", + "url": "https://api.github.com/repos/open-data/ckan/commits/0e0a53344354fecb75beaf284b0030dbebb575a6", + "html_url": "https://github.com/open-data/ckan/commit/0e0a53344354fecb75beaf284b0030dbebb575a6" + } + ] + }, + { + "sha": "2dfc28969785e6ffd87e8c6f59edfa9baa54b297", + "node_id": "C_kwDOAHlEatoAKDJkZmMyODk2OTc4NWU2ZmZkODdlOGM2ZjU5ZWRmYTliYWE1NGIyOTc", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T11:57:32Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T14:55:53Z" + }, + "message": "[#7945] Fix typing error in version parsing", + "tree": { + "sha": "f28226e3b0e7143c7a931076a00c16d183df0152", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/f28226e3b0e7143c7a931076a00c16d183df0152" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/2dfc28969785e6ffd87e8c6f59edfa9baa54b297", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/2dfc28969785e6ffd87e8c6f59edfa9baa54b297", + "html_url": "https://github.com/open-data/ckan/commit/2dfc28969785e6ffd87e8c6f59edfa9baa54b297", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/2dfc28969785e6ffd87e8c6f59edfa9baa54b297/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "66e9bbc9395f588ed29df44731ac43fb7b5e1c6c", + "url": "https://api.github.com/repos/open-data/ckan/commits/66e9bbc9395f588ed29df44731ac43fb7b5e1c6c", + "html_url": "https://github.com/open-data/ckan/commit/66e9bbc9395f588ed29df44731ac43fb7b5e1c6c" + } + ] + }, + { + "sha": "cdbf775a9e2597345eb159ef283f80d40d57612a", + "node_id": "C_kwDOAHlEatoAKGNkYmY3NzVhOWUyNTk3MzQ1ZWIxNTllZjI4M2Y4MGQ0MGQ1NzYxMmE", + "commit": { + "author": { + "name": "GauravPandey-NECI", + "email": "66116382+Gauravp-NEC@users.noreply.github.com", + "date": "2023-11-29T06:15:30Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T14:56:13Z" + }, + "message": "Update resource.py", + "tree": { + "sha": "8d06e2ca45fe4ac59e679b0556968c0578d96a45", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/8d06e2ca45fe4ac59e679b0556968c0578d96a45" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/cdbf775a9e2597345eb159ef283f80d40d57612a", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/cdbf775a9e2597345eb159ef283f80d40d57612a", + "html_url": "https://github.com/open-data/ckan/commit/cdbf775a9e2597345eb159ef283f80d40d57612a", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/cdbf775a9e2597345eb159ef283f80d40d57612a/comments", + "author": { + "login": "Gauravp-NEC", + "id": 66116382, + "node_id": "MDQ6VXNlcjY2MTE2Mzgy", + "avatar_url": "https://avatars.githubusercontent.com/u/66116382?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Gauravp-NEC", + "html_url": "https://github.com/Gauravp-NEC", + "followers_url": "https://api.github.com/users/Gauravp-NEC/followers", + "following_url": "https://api.github.com/users/Gauravp-NEC/following{/other_user}", + "gists_url": "https://api.github.com/users/Gauravp-NEC/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Gauravp-NEC/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Gauravp-NEC/subscriptions", + "organizations_url": "https://api.github.com/users/Gauravp-NEC/orgs", + "repos_url": "https://api.github.com/users/Gauravp-NEC/repos", + "events_url": "https://api.github.com/users/Gauravp-NEC/events{/privacy}", + "received_events_url": "https://api.github.com/users/Gauravp-NEC/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "2dfc28969785e6ffd87e8c6f59edfa9baa54b297", + "url": "https://api.github.com/repos/open-data/ckan/commits/2dfc28969785e6ffd87e8c6f59edfa9baa54b297", + "html_url": "https://github.com/open-data/ckan/commit/2dfc28969785e6ffd87e8c6f59edfa9baa54b297" + } + ] + }, + { + "sha": "18c3227ece4451b234d454bd26c38543a9b7307f", + "node_id": "C_kwDOAHlEatoAKDE4YzMyMjdlY2U0NDUxYjIzNGQ0NTRiZDI2YzM4NTQzYTliNzMwN2Y", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T14:59:14Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T14:59:14Z" + }, + "message": "Update changelog ahead of 2.10.2", + "tree": { + "sha": "2629980da9c3cb86ca58796ec901375ee6789c54", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/2629980da9c3cb86ca58796ec901375ee6789c54" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/18c3227ece4451b234d454bd26c38543a9b7307f", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/18c3227ece4451b234d454bd26c38543a9b7307f", + "html_url": "https://github.com/open-data/ckan/commit/18c3227ece4451b234d454bd26c38543a9b7307f", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/18c3227ece4451b234d454bd26c38543a9b7307f/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "cdbf775a9e2597345eb159ef283f80d40d57612a", + "url": "https://api.github.com/repos/open-data/ckan/commits/cdbf775a9e2597345eb159ef283f80d40d57612a", + "html_url": "https://github.com/open-data/ckan/commit/cdbf775a9e2597345eb159ef283f80d40d57612a" + } + ] + }, + { + "sha": "2cdc582e7d6b0d70c2ba9d22232cdb13035866e5", + "node_id": "C_kwDOAHlEatoAKDJjZGM1ODJlN2Q2YjBkNzBjMmJhOWQyMjIzMmNkYjEzMDM1ODY2ZTU", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T15:00:05Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T15:00:05Z" + }, + "message": "Remove changelog fragments", + "tree": { + "sha": "655b1accf8f2858d0cf08c37cdf537528896c5ac", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/655b1accf8f2858d0cf08c37cdf537528896c5ac" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/2cdc582e7d6b0d70c2ba9d22232cdb13035866e5", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/2cdc582e7d6b0d70c2ba9d22232cdb13035866e5", + "html_url": "https://github.com/open-data/ckan/commit/2cdc582e7d6b0d70c2ba9d22232cdb13035866e5", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/2cdc582e7d6b0d70c2ba9d22232cdb13035866e5/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "18c3227ece4451b234d454bd26c38543a9b7307f", + "url": "https://api.github.com/repos/open-data/ckan/commits/18c3227ece4451b234d454bd26c38543a9b7307f", + "html_url": "https://github.com/open-data/ckan/commit/18c3227ece4451b234d454bd26c38543a9b7307f" + } + ] + }, + { + "sha": "e3ad0fff55b6122b4aed40305de9d97f52b6729e", + "node_id": "C_kwDOAHlEatoAKGUzYWQwZmZmNTViNjEyMmI0YWVkNDAzMDVkZTlkOTdmNTJiNjcyOWU", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T15:01:40Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-11-30T15:01:40Z" + }, + "message": "[i18n] Update pot file with new strings", + "tree": { + "sha": "a574588cc2c8db12526d38deea1eda81a5699e0f", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/a574588cc2c8db12526d38deea1eda81a5699e0f" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/e3ad0fff55b6122b4aed40305de9d97f52b6729e", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/e3ad0fff55b6122b4aed40305de9d97f52b6729e", + "html_url": "https://github.com/open-data/ckan/commit/e3ad0fff55b6122b4aed40305de9d97f52b6729e", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/e3ad0fff55b6122b4aed40305de9d97f52b6729e/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "2cdc582e7d6b0d70c2ba9d22232cdb13035866e5", + "url": "https://api.github.com/repos/open-data/ckan/commits/2cdc582e7d6b0d70c2ba9d22232cdb13035866e5", + "html_url": "https://github.com/open-data/ckan/commit/2cdc582e7d6b0d70c2ba9d22232cdb13035866e5" + } + ] + }, + { + "sha": "182e2500041355561e49ec8e3cc08625ae879859", + "node_id": "C_kwDOAHlEatoAKDE4MmUyNTAwMDQxMzU1NTYxZTQ5ZWM4ZTNjYzA4NjI1YWU4Nzk4NTk", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-01T10:54:42Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-01T10:54:42Z" + }, + "message": "[#7406] Backport the rest of #7464 (default to cookie session)", + "tree": { + "sha": "d75bf6434924d6135f98edd0e1b92b04b89a0580", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/d75bf6434924d6135f98edd0e1b92b04b89a0580" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/182e2500041355561e49ec8e3cc08625ae879859", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/182e2500041355561e49ec8e3cc08625ae879859", + "html_url": "https://github.com/open-data/ckan/commit/182e2500041355561e49ec8e3cc08625ae879859", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/182e2500041355561e49ec8e3cc08625ae879859/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "e3ad0fff55b6122b4aed40305de9d97f52b6729e", + "url": "https://api.github.com/repos/open-data/ckan/commits/e3ad0fff55b6122b4aed40305de9d97f52b6729e", + "html_url": "https://github.com/open-data/ckan/commit/e3ad0fff55b6122b4aed40305de9d97f52b6729e" + } + ] + }, + { + "sha": "133211ce54b0a2c62193501c3b3963669d079705", + "node_id": "C_kwDOAHlEatoAKDEzMzIxMWNlNTRiMGEyYzYyMTkzNTAxYzNiMzk2MzY2OWQwNzk3MDU", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-01T10:57:01Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-01T10:57:01Z" + }, + "message": "[i18n] Pull latest po files from Transifex", + "tree": { + "sha": "b7dbeeba31b284bb818f00bf249dde3291b9174f", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/b7dbeeba31b284bb818f00bf249dde3291b9174f" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/133211ce54b0a2c62193501c3b3963669d079705", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/133211ce54b0a2c62193501c3b3963669d079705", + "html_url": "https://github.com/open-data/ckan/commit/133211ce54b0a2c62193501c3b3963669d079705", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/133211ce54b0a2c62193501c3b3963669d079705/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "182e2500041355561e49ec8e3cc08625ae879859", + "url": "https://api.github.com/repos/open-data/ckan/commits/182e2500041355561e49ec8e3cc08625ae879859", + "html_url": "https://github.com/open-data/ckan/commit/182e2500041355561e49ec8e3cc08625ae879859" + } + ] + }, + { + "sha": "04127181a4d93b39bdf479304517960e10ea85db", + "node_id": "C_kwDOAHlEatoAKDA0MTI3MTgxYTRkOTNiMzliZGY0NzkzMDQ1MTc5NjBlMTBlYTg1ZGI", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-01T10:57:15Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-01T10:57:15Z" + }, + "message": "[i18n] Compile mo files", + "tree": { + "sha": "e3c8e5c2636185afe82f5d6cad40b6de5cde545f", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/e3c8e5c2636185afe82f5d6cad40b6de5cde545f" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/04127181a4d93b39bdf479304517960e10ea85db", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/04127181a4d93b39bdf479304517960e10ea85db", + "html_url": "https://github.com/open-data/ckan/commit/04127181a4d93b39bdf479304517960e10ea85db", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/04127181a4d93b39bdf479304517960e10ea85db/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "133211ce54b0a2c62193501c3b3963669d079705", + "url": "https://api.github.com/repos/open-data/ckan/commits/133211ce54b0a2c62193501c3b3963669d079705", + "html_url": "https://github.com/open-data/ckan/commit/133211ce54b0a2c62193501c3b3963669d079705" + } + ] + }, + { + "sha": "04f9fb9189439055ea3b5332c031ff2b5eba443d", + "node_id": "C_kwDOAHlEatoAKDA0ZjlmYjkxODk0MzkwNTVlYTNiNTMzMmMwMzFmZjJiNWViYTQ0M2Q", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-10-12T09:39:13Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-11T11:22:13Z" + }, + "message": "Sanitize indexes in tuple keys when flattening dicts\n\nWhen we \"flatten\" data dicts in the dictization layer we transform keys like\n `extras__0__key` and `extras__0__value` to `('extras', 0, 'key')`\nand `('extras', 0, 'key')`. As these keys are external inputs (generally sent\nby the UI dataset form, but can be also sent directly with a crafted POST\nrequest) we need to perform some validation. More specifically:\n\n* They are all ints\n* They are all sequential, starting from 0\n\nWe keep the original order whenever possible, even if the input keys are not\nsequential.\n\nAdded missing tests.", + "tree": { + "sha": "8d55a7dc95d8735b10b7b718376e2eb7450102fa", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/8d55a7dc95d8735b10b7b718376e2eb7450102fa" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/04f9fb9189439055ea3b5332c031ff2b5eba443d", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/04f9fb9189439055ea3b5332c031ff2b5eba443d", + "html_url": "https://github.com/open-data/ckan/commit/04f9fb9189439055ea3b5332c031ff2b5eba443d", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/04f9fb9189439055ea3b5332c031ff2b5eba443d/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "04127181a4d93b39bdf479304517960e10ea85db", + "url": "https://api.github.com/repos/open-data/ckan/commits/04127181a4d93b39bdf479304517960e10ea85db", + "html_url": "https://github.com/open-data/ckan/commit/04127181a4d93b39bdf479304517960e10ea85db" + } + ] + }, + { + "sha": "e79b14ee065d5c5f31a6c129284110c84746226e", + "node_id": "C_kwDOAHlEatoAKGU3OWIxNGVlMDY1ZDVjNWYzMWE2YzEyOTI4NDExMGM4NDc0NjIyNmU", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-11T10:38:53Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-11T11:22:19Z" + }, + "message": "Use alternative implementation to support nested keys\n\nCo-authored-by: Sergey ", + "tree": { + "sha": "50fae4b062477bd62063012022cd1af20d402c89", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/50fae4b062477bd62063012022cd1af20d402c89" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/e79b14ee065d5c5f31a6c129284110c84746226e", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/e79b14ee065d5c5f31a6c129284110c84746226e", + "html_url": "https://github.com/open-data/ckan/commit/e79b14ee065d5c5f31a6c129284110c84746226e", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/e79b14ee065d5c5f31a6c129284110c84746226e/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "04f9fb9189439055ea3b5332c031ff2b5eba443d", + "url": "https://api.github.com/repos/open-data/ckan/commits/04f9fb9189439055ea3b5332c031ff2b5eba443d", + "html_url": "https://github.com/open-data/ckan/commit/04f9fb9189439055ea3b5332c031ff2b5eba443d" + } + ] + }, + { + "sha": "26f1fdaba778249f0ad97a4eeed5490f14dbddb7", + "node_id": "C_kwDOAHlEatoAKDI2ZjFmZGFiYTc3ODI0OWYwYWQ5N2E0ZWVlZDU0OTBmMTRkYmRkYjc", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-11T10:53:00Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-11T11:22:24Z" + }, + "message": "lint", + "tree": { + "sha": "f0b06c20e8ae5887b538d52001fd0cebfce11775", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/f0b06c20e8ae5887b538d52001fd0cebfce11775" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/26f1fdaba778249f0ad97a4eeed5490f14dbddb7", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/26f1fdaba778249f0ad97a4eeed5490f14dbddb7", + "html_url": "https://github.com/open-data/ckan/commit/26f1fdaba778249f0ad97a4eeed5490f14dbddb7", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/26f1fdaba778249f0ad97a4eeed5490f14dbddb7/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "e79b14ee065d5c5f31a6c129284110c84746226e", + "url": "https://api.github.com/repos/open-data/ckan/commits/e79b14ee065d5c5f31a6c129284110c84746226e", + "html_url": "https://github.com/open-data/ckan/commit/e79b14ee065d5c5f31a6c129284110c84746226e" + } + ] + }, + { + "sha": "b629cba7362215a0879d45b56841f8813bef2a10", + "node_id": "C_kwDOAHlEatoAKGI2MjljYmE3MzYyMjE1YTA4NzlkNDViNTY4NDFmODgxM2JlZjJhMTA", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-11T11:23:17Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-11T11:23:17Z" + }, + "message": "Changelog tweaks", + "tree": { + "sha": "55d2aa7f75916117eb3316e7829ca76723b52676", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/55d2aa7f75916117eb3316e7829ca76723b52676" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/b629cba7362215a0879d45b56841f8813bef2a10", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/b629cba7362215a0879d45b56841f8813bef2a10", + "html_url": "https://github.com/open-data/ckan/commit/b629cba7362215a0879d45b56841f8813bef2a10", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/b629cba7362215a0879d45b56841f8813bef2a10/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "26f1fdaba778249f0ad97a4eeed5490f14dbddb7", + "url": "https://api.github.com/repos/open-data/ckan/commits/26f1fdaba778249f0ad97a4eeed5490f14dbddb7", + "html_url": "https://github.com/open-data/ckan/commit/26f1fdaba778249f0ad97a4eeed5490f14dbddb7" + } + ] + }, + { + "sha": "e12b9c1851a79af12ffbcd727950c6fd7aa987ce", + "node_id": "C_kwDOAHlEatoAKGUxMmI5YzE4NTFhNzlhZjEyZmZiY2Q3Mjc5NTBjNmZkN2FhOTg3Y2U", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-12T20:22:11Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-12T20:22:11Z" + }, + "message": "Update changelog", + "tree": { + "sha": "7ae93b9a9f05b4e43ad38f03f3a6f6f6e37c094b", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/7ae93b9a9f05b4e43ad38f03f3a6f6f6e37c094b" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/e12b9c1851a79af12ffbcd727950c6fd7aa987ce", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/e12b9c1851a79af12ffbcd727950c6fd7aa987ce", + "html_url": "https://github.com/open-data/ckan/commit/e12b9c1851a79af12ffbcd727950c6fd7aa987ce", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/e12b9c1851a79af12ffbcd727950c6fd7aa987ce/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "b629cba7362215a0879d45b56841f8813bef2a10", + "url": "https://api.github.com/repos/open-data/ckan/commits/b629cba7362215a0879d45b56841f8813bef2a10", + "html_url": "https://github.com/open-data/ckan/commit/b629cba7362215a0879d45b56841f8813bef2a10" + } + ] + }, + { + "sha": "89665724611ab2874f1c730081facd27dfd8e7bc", + "node_id": "C_kwDOAHlEatoAKDg5NjY1NzI0NjExYWIyODc0ZjFjNzMwMDgxZmFjZDI3ZGZkOGU3YmM", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-12T20:24:33Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-12T20:24:33Z" + }, + "message": "[i18n] Update po files ahead of 2.10.2", + "tree": { + "sha": "cfb509d86d609e32d03199004dfe8eb3380e87f8", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/cfb509d86d609e32d03199004dfe8eb3380e87f8" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/89665724611ab2874f1c730081facd27dfd8e7bc", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/89665724611ab2874f1c730081facd27dfd8e7bc", + "html_url": "https://github.com/open-data/ckan/commit/89665724611ab2874f1c730081facd27dfd8e7bc", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/89665724611ab2874f1c730081facd27dfd8e7bc/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "e12b9c1851a79af12ffbcd727950c6fd7aa987ce", + "url": "https://api.github.com/repos/open-data/ckan/commits/e12b9c1851a79af12ffbcd727950c6fd7aa987ce", + "html_url": "https://github.com/open-data/ckan/commit/e12b9c1851a79af12ffbcd727950c6fd7aa987ce" + } + ] + }, + { + "sha": "ed2ccb49c08dd6c64c478dc49b23a0865424f4be", + "node_id": "C_kwDOAHlEatoAKGVkMmNjYjQ5YzA4ZGQ2YzY0YzQ3OGRjNDliMjNhMDg2NTQyNGY0YmU", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-12T20:25:00Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-12T20:25:00Z" + }, + "message": "[i18n] Compile mo files", + "tree": { + "sha": "54e57a1d023d7c4d71332fe566e82fc672af789d", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/54e57a1d023d7c4d71332fe566e82fc672af789d" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/ed2ccb49c08dd6c64c478dc49b23a0865424f4be", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/ed2ccb49c08dd6c64c478dc49b23a0865424f4be", + "html_url": "https://github.com/open-data/ckan/commit/ed2ccb49c08dd6c64c478dc49b23a0865424f4be", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/ed2ccb49c08dd6c64c478dc49b23a0865424f4be/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "89665724611ab2874f1c730081facd27dfd8e7bc", + "url": "https://api.github.com/repos/open-data/ckan/commits/89665724611ab2874f1c730081facd27dfd8e7bc", + "html_url": "https://github.com/open-data/ckan/commit/89665724611ab2874f1c730081facd27dfd8e7bc" + } + ] + }, + { + "sha": "e54e31acad29fb7fc053c736b6f08d7bf5e94ccf", + "node_id": "C_kwDOAHlEatoAKGU1NGUzMWFjYWQyOWZiN2ZjMDUzYzczNmI2ZjA4ZDdiZjVlOTRjY2Y", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-12T20:27:11Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-12T20:27:11Z" + }, + "message": "Update version for 2.10.2", + "tree": { + "sha": "a265717e2726ec565101fc1ce6981f0695ef68a6", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/a265717e2726ec565101fc1ce6981f0695ef68a6" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/e54e31acad29fb7fc053c736b6f08d7bf5e94ccf", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/e54e31acad29fb7fc053c736b6f08d7bf5e94ccf", + "html_url": "https://github.com/open-data/ckan/commit/e54e31acad29fb7fc053c736b6f08d7bf5e94ccf", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/e54e31acad29fb7fc053c736b6f08d7bf5e94ccf/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "ed2ccb49c08dd6c64c478dc49b23a0865424f4be", + "url": "https://api.github.com/repos/open-data/ckan/commits/ed2ccb49c08dd6c64c478dc49b23a0865424f4be", + "html_url": "https://github.com/open-data/ckan/commit/ed2ccb49c08dd6c64c478dc49b23a0865424f4be" + } + ] + }, + { + "sha": "51db1e42da27b1798d556e82149180359537ab07", + "node_id": "C_kwDOAHlEatoAKDUxZGIxZTQyZGEyN2IxNzk4ZDU1NmU4MjE0OTE4MDM1OTUzN2FiMDc", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-13T10:17:36Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-13T10:17:36Z" + }, + "message": "Revert \"Test custom group_type for activities\"\n\nThis reverts commit b3a79152eda498dc6165afab50828631f334e932.", + "tree": { + "sha": "1abdb1ad3a8f70bfdf94cf5e0dc8fb3d2ca27886", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/1abdb1ad3a8f70bfdf94cf5e0dc8fb3d2ca27886" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/51db1e42da27b1798d556e82149180359537ab07", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/51db1e42da27b1798d556e82149180359537ab07", + "html_url": "https://github.com/open-data/ckan/commit/51db1e42da27b1798d556e82149180359537ab07", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/51db1e42da27b1798d556e82149180359537ab07/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "e54e31acad29fb7fc053c736b6f08d7bf5e94ccf", + "url": "https://api.github.com/repos/open-data/ckan/commits/e54e31acad29fb7fc053c736b6f08d7bf5e94ccf", + "html_url": "https://github.com/open-data/ckan/commit/e54e31acad29fb7fc053c736b6f08d7bf5e94ccf" + } + ] + }, + { + "sha": "8fae8c15f753d50767bb3afe3af152bcc1a03c80", + "node_id": "C_kwDOAHlEatoAKDhmYWU4YzE1Zjc1M2Q1MDc2N2JiM2FmZTNhZjE1MmJjYzFhMDNjODA", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-13T10:18:29Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-13T10:18:29Z" + }, + "message": "Revert \"Test custom org URLs\"\n\nThis reverts commit b1493b9fc6715bcec2812ce65eb0ab7585ae7160.", + "tree": { + "sha": "efdc4747b345f9ffe6e64c5c9d39f45a992d9c47", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/efdc4747b345f9ffe6e64c5c9d39f45a992d9c47" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/8fae8c15f753d50767bb3afe3af152bcc1a03c80", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/8fae8c15f753d50767bb3afe3af152bcc1a03c80", + "html_url": "https://github.com/open-data/ckan/commit/8fae8c15f753d50767bb3afe3af152bcc1a03c80", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/8fae8c15f753d50767bb3afe3af152bcc1a03c80/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "51db1e42da27b1798d556e82149180359537ab07", + "url": "https://api.github.com/repos/open-data/ckan/commits/51db1e42da27b1798d556e82149180359537ab07", + "html_url": "https://github.com/open-data/ckan/commit/51db1e42da27b1798d556e82149180359537ab07" + } + ] + }, + { + "sha": "0683f7f615ca943b00359abf99961aca33d7a87b", + "node_id": "C_kwDOAHlEatoAKDA2ODNmN2Y2MTVjYTk0M2IwMDM1OWFiZjk5OTYxYWNhMzNkN2E4N2I", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-13T10:21:08Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-13T10:21:08Z" + }, + "message": "Pull #7943 from release", + "tree": { + "sha": "40d3d5db80f3565596062ef40591396f72507fa8", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/40d3d5db80f3565596062ef40591396f72507fa8" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/0683f7f615ca943b00359abf99961aca33d7a87b", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/0683f7f615ca943b00359abf99961aca33d7a87b", + "html_url": "https://github.com/open-data/ckan/commit/0683f7f615ca943b00359abf99961aca33d7a87b", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/0683f7f615ca943b00359abf99961aca33d7a87b/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "8fae8c15f753d50767bb3afe3af152bcc1a03c80", + "url": "https://api.github.com/repos/open-data/ckan/commits/8fae8c15f753d50767bb3afe3af152bcc1a03c80", + "html_url": "https://github.com/open-data/ckan/commit/8fae8c15f753d50767bb3afe3af152bcc1a03c80" + } + ] + }, + { + "sha": "ac558d6d1751054247ad2bfbb9e531e4b138b457", + "node_id": "C_kwDOAHlEatoAKGFjNTU4ZDZkMTc1MTA1NDI0N2FkMmJmYmI5ZTUzMWU0YjEzOGI0NTc", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-13T10:27:53Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2023-12-13T10:27:53Z" + }, + "message": "Bump version for 2.10.3, we'll skip 2.10.2 :(", + "tree": { + "sha": "97de31245dce478e305f5882421f20c7a469b413", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/97de31245dce478e305f5882421f20c7a469b413" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/ac558d6d1751054247ad2bfbb9e531e4b138b457", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/ac558d6d1751054247ad2bfbb9e531e4b138b457", + "html_url": "https://github.com/open-data/ckan/commit/ac558d6d1751054247ad2bfbb9e531e4b138b457", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/ac558d6d1751054247ad2bfbb9e531e4b138b457/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "0683f7f615ca943b00359abf99961aca33d7a87b", + "url": "https://api.github.com/repos/open-data/ckan/commits/0683f7f615ca943b00359abf99961aca33d7a87b", + "html_url": "https://github.com/open-data/ckan/commit/0683f7f615ca943b00359abf99961aca33d7a87b" + } + ] + }, + { + "sha": "20ce11561d3caecf3dde13dbf2fa715c9d4f0f72", + "node_id": "C_kwDOAHlEatoAKDIwY2UxMTU2MWQzY2FlY2YzZGRlMTNkYmYyZmE3MTVjOWQ0ZjBmNzI", + "commit": { + "author": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2024-01-02T10:52:57Z" + }, + "committer": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2024-01-02T10:52:57Z" + }, + "message": "Delete extra <<< HEAD from template", + "tree": { + "sha": "d7a4c4fe6295bb75b2453f67c0a1b4644255fb55", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/d7a4c4fe6295bb75b2453f67c0a1b4644255fb55" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/20ce11561d3caecf3dde13dbf2fa715c9d4f0f72", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/20ce11561d3caecf3dde13dbf2fa715c9d4f0f72", + "html_url": "https://github.com/open-data/ckan/commit/20ce11561d3caecf3dde13dbf2fa715c9d4f0f72", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/20ce11561d3caecf3dde13dbf2fa715c9d4f0f72/comments", + "author": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "ac558d6d1751054247ad2bfbb9e531e4b138b457", + "url": "https://api.github.com/repos/open-data/ckan/commits/ac558d6d1751054247ad2bfbb9e531e4b138b457", + "html_url": "https://github.com/open-data/ckan/commit/ac558d6d1751054247ad2bfbb9e531e4b138b457" + } + ] + }, + { + "sha": "8dc1f1d998e59dcb6cfb4c380ab38acd81a27166", + "node_id": "C_kwDOAHlEatoAKDhkYzFmMWQ5OThlNTlkY2I2Y2ZiNGMzODBhYjM4YWNkODFhMjcxNjY", + "commit": { + "author": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2024-01-02T10:56:59Z" + }, + "committer": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2024-01-02T10:56:59Z" + }, + "message": "Add changelog fragment", + "tree": { + "sha": "bc62eeab7665600ca384314f6e89350eb1f67370", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/bc62eeab7665600ca384314f6e89350eb1f67370" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/8dc1f1d998e59dcb6cfb4c380ab38acd81a27166", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/8dc1f1d998e59dcb6cfb4c380ab38acd81a27166", + "html_url": "https://github.com/open-data/ckan/commit/8dc1f1d998e59dcb6cfb4c380ab38acd81a27166", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/8dc1f1d998e59dcb6cfb4c380ab38acd81a27166/comments", + "author": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "20ce11561d3caecf3dde13dbf2fa715c9d4f0f72", + "url": "https://api.github.com/repos/open-data/ckan/commits/20ce11561d3caecf3dde13dbf2fa715c9d4f0f72", + "html_url": "https://github.com/open-data/ckan/commit/20ce11561d3caecf3dde13dbf2fa715c9d4f0f72" + } + ] + }, + { + "sha": "ef4fa4e22a3a5627d74906cc0999456b890abaa5", + "node_id": "C_kwDOAHlEatoAKGVmNGZhNGUyMmEzYTU2MjdkNzQ5MDZjYzA5OTk0NTZiODkwYWJhYTU", + "commit": { + "author": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2024-01-22T17:19:14Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2024-01-22T17:19:14Z" + }, + "message": "fix: use value of session.secret when session.validate_key is empty", + "tree": { + "sha": "e07366db6e016961ea49689df4ff00893c194af8", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/e07366db6e016961ea49689df4ff00893c194af8" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/ef4fa4e22a3a5627d74906cc0999456b890abaa5", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/ef4fa4e22a3a5627d74906cc0999456b890abaa5", + "html_url": "https://github.com/open-data/ckan/commit/ef4fa4e22a3a5627d74906cc0999456b890abaa5", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/ef4fa4e22a3a5627d74906cc0999456b890abaa5/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "ac558d6d1751054247ad2bfbb9e531e4b138b457", + "url": "https://api.github.com/repos/open-data/ckan/commits/ac558d6d1751054247ad2bfbb9e531e4b138b457", + "html_url": "https://github.com/open-data/ckan/commit/ac558d6d1751054247ad2bfbb9e531e4b138b457" + } + ] + }, + { + "sha": "373537754a6fa4949a232bf507efb46841a39f54", + "node_id": "C_kwDOAHlEatoAKDM3MzUzNzc1NGE2ZmE0OTQ5YTIzMmJmNTA3ZWZiNDY4NDFhMzlmNTQ", + "commit": { + "author": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2024-01-22T17:27:20Z" + }, + "committer": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2024-01-22T17:27:20Z" + }, + "message": "chore: add changelog fragment", + "tree": { + "sha": "099c48af4cb0cfe927c83d8e4b80932e043016e4", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/099c48af4cb0cfe927c83d8e4b80932e043016e4" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/373537754a6fa4949a232bf507efb46841a39f54", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/373537754a6fa4949a232bf507efb46841a39f54", + "html_url": "https://github.com/open-data/ckan/commit/373537754a6fa4949a232bf507efb46841a39f54", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/373537754a6fa4949a232bf507efb46841a39f54/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "ef4fa4e22a3a5627d74906cc0999456b890abaa5", + "url": "https://api.github.com/repos/open-data/ckan/commits/ef4fa4e22a3a5627d74906cc0999456b890abaa5", + "html_url": "https://github.com/open-data/ckan/commit/ef4fa4e22a3a5627d74906cc0999456b890abaa5" + } + ] + }, + { + "sha": "8fa9a372f76ba858152735fed728da2a1fbbe3a5", + "node_id": "C_kwDOAHlEatoAKDhmYTlhMzcyZjc2YmE4NTgxNTI3MzVmZWQ3MjhkYTJhMWZiYmUzYTU", + "commit": { + "author": { + "name": "Sergey", + "email": "tonnydexter@gmail.com", + "date": "2024-01-22T17:37:44Z" + }, + "committer": { + "name": "GitHub", + "email": "noreply@github.com", + "date": "2024-01-22T17:37:44Z" + }, + "message": "Merge pull request #7998 from ckan/delete_leftovers_from_merge\n\nDelete extra <<< HEAD from template", + "tree": { + "sha": "bc62eeab7665600ca384314f6e89350eb1f67370", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/bc62eeab7665600ca384314f6e89350eb1f67370" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/8fa9a372f76ba858152735fed728da2a1fbbe3a5", + "comment_count": 0, + "verification": { + "verified": true, + "reason": "valid", + "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJlrqfoCRC1aQ7uu5UhlAAADfoQALE3eL5rml/gma2tJqcgN4a8\nN1q8LBxzkRN+MnSoRQxZop0jITwNKDW8mIZFRl62R2S4v+JYx/hQaGx4BdHT9T7n\n0WHFi6f7iA/mHPyPq5xc5stE2Ggy9zwm0CnLawWXrj6BOIjTj5jx31x6ZNJ+MICR\n4RUj7huvbDfIht1uyVojztCOBIL1c0oKPGG1Qx+36nUS/YVXPLbQjiNuqJrkzUjo\n59pHMD1oRfP1MFzz4Hdtqn4qW9TLkaCYO3SPu+Ni733SnjwzRqkHxpK27Cs+hS2U\nnUoH9x52PaTwkrZgnUkhuNk3WE/cMRzQUNXO6YpLQlb07dd6+m7JAuzS2IG+PM1m\n2m6R+tghtPtmk+MFgsXja6Ss7vqXTYMky16P5Iuq+QTjB4gI+ReY9U+jsiO0Sdcj\nOK4qJ3SSlerBCjVYrAorixnWtfIrQ6SRW0mcOBqm5c3pihwLvTbnFgrzbKo7djP5\nVF7vpnnO4/ixu9ELzlzski/5Tqh9SDkVmHNYh45BdzASpt9wvV4VUZOf0w1fpeEv\nseUofmUuQR2W1mRjVSQRhQwdc6x1Q840u5j6/xPMkkyId9Y71essHVKZIfHkWBV1\n6T4YVdAijzH1tBTvjphgl57P+J56TUfMe+gypNThEpCuoPtaLBBx4EAFX+PRRBjF\nFQjKj8RLxdylqU5lvH0p\n=293i\n-----END PGP SIGNATURE-----\n", + "payload": "tree bc62eeab7665600ca384314f6e89350eb1f67370\nparent ac558d6d1751054247ad2bfbb9e531e4b138b457\nparent 8dc1f1d998e59dcb6cfb4c380ab38acd81a27166\nauthor Sergey 1705945064 +0200\ncommitter GitHub 1705945064 +0200\n\nMerge pull request #7998 from ckan/delete_leftovers_from_merge\n\nDelete extra <<< HEAD from template", + "verified_at": "2024-11-11T08:19:45Z" + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/8fa9a372f76ba858152735fed728da2a1fbbe3a5", + "html_url": "https://github.com/open-data/ckan/commit/8fa9a372f76ba858152735fed728da2a1fbbe3a5", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/8fa9a372f76ba858152735fed728da2a1fbbe3a5/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "web-flow", + "id": 19864447, + "node_id": "MDQ6VXNlcjE5ODY0NDQ3", + "avatar_url": "https://avatars.githubusercontent.com/u/19864447?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/web-flow", + "html_url": "https://github.com/web-flow", + "followers_url": "https://api.github.com/users/web-flow/followers", + "following_url": "https://api.github.com/users/web-flow/following{/other_user}", + "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", + "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", + "organizations_url": "https://api.github.com/users/web-flow/orgs", + "repos_url": "https://api.github.com/users/web-flow/repos", + "events_url": "https://api.github.com/users/web-flow/events{/privacy}", + "received_events_url": "https://api.github.com/users/web-flow/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "ac558d6d1751054247ad2bfbb9e531e4b138b457", + "url": "https://api.github.com/repos/open-data/ckan/commits/ac558d6d1751054247ad2bfbb9e531e4b138b457", + "html_url": "https://github.com/open-data/ckan/commit/ac558d6d1751054247ad2bfbb9e531e4b138b457" + }, + { + "sha": "8dc1f1d998e59dcb6cfb4c380ab38acd81a27166", + "url": "https://api.github.com/repos/open-data/ckan/commits/8dc1f1d998e59dcb6cfb4c380ab38acd81a27166", + "html_url": "https://github.com/open-data/ckan/commit/8dc1f1d998e59dcb6cfb4c380ab38acd81a27166" + } + ] + }, + { + "sha": "2aa616f00fd6236f64658f709be9a2b3244a430f", + "node_id": "C_kwDOAHlEatoAKDJhYTYxNmYwMGZkNjIzNmY2NDY1OGY3MDliZTlhMmIzMjQ0YTQzMGY", + "commit": { + "author": { + "name": "Konstantin Sivakov", + "email": "konstantin.sivakov@gmail.com", + "date": "2024-02-22T20:39:11Z" + }, + "committer": { + "name": "GitHub", + "email": "noreply@github.com", + "date": "2024-02-22T20:39:11Z" + }, + "message": "Merge pull request #8023 from ckan/optional-validate-key\n\n[#7999] Optional session.validate_key", + "tree": { + "sha": "4f5767b6bc31a150c85107ff6146b3d4b75639fe", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/4f5767b6bc31a150c85107ff6146b3d4b75639fe" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/2aa616f00fd6236f64658f709be9a2b3244a430f", + "comment_count": 0, + "verification": { + "verified": true, + "reason": "valid", + "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJl17DvCRC1aQ7uu5UhlAAA8wgQAA/8nL7Uobbf15PlIcRKJDwm\nYlh071EmaPTI4u6TCRMOVrbx4MHzGCPvpVcOe4qbE5kjoHQRLGVx6Jqxoh8XgZGN\n9yaWg3HT4IRFh7+r2iqnpdSPixRsU6N6jpzq88HrX9EsF5WLy4LgNkfcbu+Axmv6\nm7TwPKqpsqUsrkHQkLM7OMqoNtgVwqzBATr1bdTA5k+4rg1GZrKQxmY2eG5fB+Oh\nfcL6WJc6l70v1JY8eawKtv4r7pU+wGskNPrO2eeaepF0ei8CIi22pKxM/Nk1XrmQ\nq1Sn8fYXxzhOcSnY7AsKJ1ic4rc4xONoQyiLVn+yyhXASsD1ODv1KZ3jyv0We+u2\na2FaluNV4ztSqEs6Mby8mtiRnIwfl8s9xMba41bhZpG7xWgjqOJYDgZ6LwwLbMkS\nbVeu5XQrnu88RAoCQAzddxR0Q7be/zpBITck3/XUx27k2cnxB4zF7RhQOQLXilTR\nfT7SYAlC1VKc6I3MOO2wdpCEF4Mq6qWWpxxfIiXxs2Xg60Cz9YToit6eT5GARPKo\ncRkf+trZALgXreFGn/ztyo+c8GkUrj694c/4/7yNKIJ2c6W4mNohk9emmreJF7jf\n7cIHSgzEAVcP8y1iIDbo1HilPsBHIewzJSd/LFoXy/lyacX5jBjCOFsr43ETkzhl\nEVYtVyv9mFeTaLLBU1yg\n=hmks\n-----END PGP SIGNATURE-----\n", + "payload": "tree 4f5767b6bc31a150c85107ff6146b3d4b75639fe\nparent 8fa9a372f76ba858152735fed728da2a1fbbe3a5\nparent 373537754a6fa4949a232bf507efb46841a39f54\nauthor Konstantin Sivakov 1708634351 +0100\ncommitter GitHub 1708634351 +0100\n\nMerge pull request #8023 from ckan/optional-validate-key\n\n[#7999] Optional session.validate_key", + "verified_at": "2024-11-11T08:19:45Z" + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/2aa616f00fd6236f64658f709be9a2b3244a430f", + "html_url": "https://github.com/open-data/ckan/commit/2aa616f00fd6236f64658f709be9a2b3244a430f", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/2aa616f00fd6236f64658f709be9a2b3244a430f/comments", + "author": { + "login": "tino097", + "id": 2707446, + "node_id": "MDQ6VXNlcjI3MDc0NDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/2707446?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tino097", + "html_url": "https://github.com/tino097", + "followers_url": "https://api.github.com/users/tino097/followers", + "following_url": "https://api.github.com/users/tino097/following{/other_user}", + "gists_url": "https://api.github.com/users/tino097/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tino097/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tino097/subscriptions", + "organizations_url": "https://api.github.com/users/tino097/orgs", + "repos_url": "https://api.github.com/users/tino097/repos", + "events_url": "https://api.github.com/users/tino097/events{/privacy}", + "received_events_url": "https://api.github.com/users/tino097/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "web-flow", + "id": 19864447, + "node_id": "MDQ6VXNlcjE5ODY0NDQ3", + "avatar_url": "https://avatars.githubusercontent.com/u/19864447?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/web-flow", + "html_url": "https://github.com/web-flow", + "followers_url": "https://api.github.com/users/web-flow/followers", + "following_url": "https://api.github.com/users/web-flow/following{/other_user}", + "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", + "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", + "organizations_url": "https://api.github.com/users/web-flow/orgs", + "repos_url": "https://api.github.com/users/web-flow/repos", + "events_url": "https://api.github.com/users/web-flow/events{/privacy}", + "received_events_url": "https://api.github.com/users/web-flow/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "8fa9a372f76ba858152735fed728da2a1fbbe3a5", + "url": "https://api.github.com/repos/open-data/ckan/commits/8fa9a372f76ba858152735fed728da2a1fbbe3a5", + "html_url": "https://github.com/open-data/ckan/commit/8fa9a372f76ba858152735fed728da2a1fbbe3a5" + }, + { + "sha": "373537754a6fa4949a232bf507efb46841a39f54", + "url": "https://api.github.com/repos/open-data/ckan/commits/373537754a6fa4949a232bf507efb46841a39f54", + "html_url": "https://github.com/open-data/ckan/commit/373537754a6fa4949a232bf507efb46841a39f54" + } + ] + }, + { + "sha": "afe8483bd8f4832bd677d534807bd7d2c924cb67", + "node_id": "C_kwDOAHlEatoAKGFmZTg0ODNiZDhmNDgzMmJkNjc3ZDUzNDgwN2JkN2QyYzkyNGNiNjc", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2022-11-14T15:03:59Z" + }, + "committer": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2024-02-27T13:23:37Z" + }, + "message": "Disable public registration of users by default\n\nSet `ckan.auth.create_user_via_web = false` as this is the most common\ndeployment scenario for CKAN, and leaving open the user registration\nleads to Spam problems.", + "tree": { + "sha": "07bebb87b635ae5beb947556d1a354f0a42db7b0", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/07bebb87b635ae5beb947556d1a354f0a42db7b0" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/afe8483bd8f4832bd677d534807bd7d2c924cb67", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/afe8483bd8f4832bd677d534807bd7d2c924cb67", + "html_url": "https://github.com/open-data/ckan/commit/afe8483bd8f4832bd677d534807bd7d2c924cb67", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/afe8483bd8f4832bd677d534807bd7d2c924cb67/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "2aa616f00fd6236f64658f709be9a2b3244a430f", + "url": "https://api.github.com/repos/open-data/ckan/commits/2aa616f00fd6236f64658f709be9a2b3244a430f", + "html_url": "https://github.com/open-data/ckan/commit/2aa616f00fd6236f64658f709be9a2b3244a430f" + } + ] + }, + { + "sha": "01438d8240e58cdf116879a2e8b871626f9916df", + "node_id": "C_kwDOAHlEatoAKDAxNDM4ZDgyNDBlNThjZGYxMTY4NzlhMmU4Yjg3MTYyNmY5OTE2ZGY", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2022-11-15T10:26:36Z" + }, + "committer": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2024-02-27T13:23:37Z" + }, + "message": "Update more tests after default create_users_from_web value change", + "tree": { + "sha": "476a8d15fcd989a3fda64e253769839b48ca90a8", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/476a8d15fcd989a3fda64e253769839b48ca90a8" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/01438d8240e58cdf116879a2e8b871626f9916df", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/01438d8240e58cdf116879a2e8b871626f9916df", + "html_url": "https://github.com/open-data/ckan/commit/01438d8240e58cdf116879a2e8b871626f9916df", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/01438d8240e58cdf116879a2e8b871626f9916df/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "afe8483bd8f4832bd677d534807bd7d2c924cb67", + "url": "https://api.github.com/repos/open-data/ckan/commits/afe8483bd8f4832bd677d534807bd7d2c924cb67", + "html_url": "https://github.com/open-data/ckan/commit/afe8483bd8f4832bd677d534807bd7d2c924cb67" + } + ] + }, + { + "sha": "ef3180667c1d4ae1b12e351b1018518bcebedb4e", + "node_id": "C_kwDOAHlEatoAKGVmMzE4MDY2N2MxZDRhZTFiMTJlMzUxYjEwMTg1MThiY2ViZWRiNGU", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2022-11-15T10:49:29Z" + }, + "committer": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2024-02-27T13:23:37Z" + }, + "message": "Fix tests after changes in upload defaults", + "tree": { + "sha": "9ceb08b9c92caae92c0417b069d233b062438b90", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/9ceb08b9c92caae92c0417b069d233b062438b90" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/ef3180667c1d4ae1b12e351b1018518bcebedb4e", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/ef3180667c1d4ae1b12e351b1018518bcebedb4e", + "html_url": "https://github.com/open-data/ckan/commit/ef3180667c1d4ae1b12e351b1018518bcebedb4e", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/ef3180667c1d4ae1b12e351b1018518bcebedb4e/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "01438d8240e58cdf116879a2e8b871626f9916df", + "url": "https://api.github.com/repos/open-data/ckan/commits/01438d8240e58cdf116879a2e8b871626f9916df", + "html_url": "https://github.com/open-data/ckan/commit/01438d8240e58cdf116879a2e8b871626f9916df" + } + ] + }, + { + "sha": "4e99601b3829dbbf27587792d1fefd60f8fb9efd", + "node_id": "C_kwDOAHlEatoAKDRlOTk2MDFiMzgyOWRiYmYyNzU4Nzc5MmQxZmVmZDYwZjhmYjllZmQ", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2022-11-15T10:56:02Z" + }, + "committer": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2024-02-27T13:23:37Z" + }, + "message": "Fix another test dependent on user registration", + "tree": { + "sha": "e114e0f089e531006d7496c03872f04ef6ee272c", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/e114e0f089e531006d7496c03872f04ef6ee272c" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/4e99601b3829dbbf27587792d1fefd60f8fb9efd", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/4e99601b3829dbbf27587792d1fefd60f8fb9efd", + "html_url": "https://github.com/open-data/ckan/commit/4e99601b3829dbbf27587792d1fefd60f8fb9efd", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/4e99601b3829dbbf27587792d1fefd60f8fb9efd/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "ef3180667c1d4ae1b12e351b1018518bcebedb4e", + "url": "https://api.github.com/repos/open-data/ckan/commits/ef3180667c1d4ae1b12e351b1018518bcebedb4e", + "html_url": "https://github.com/open-data/ckan/commit/ef3180667c1d4ae1b12e351b1018518bcebedb4e" + } + ] + }, + { + "sha": "791a95eb0cecaa6d774a623d2e05ba9a947657a0", + "node_id": "C_kwDOAHlEatoAKDc5MWE5NWViMGNlY2FhNmQ3NzRhNjIzZDJlMDViYTlhOTQ3NjU3YTA", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2022-11-15T11:23:58Z" + }, + "committer": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2024-02-27T13:26:12Z" + }, + "message": "Changelog, lint", + "tree": { + "sha": "7c53a67a49f40b9101e1452d0e7b8fdfa8e9ab71", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/7c53a67a49f40b9101e1452d0e7b8fdfa8e9ab71" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/791a95eb0cecaa6d774a623d2e05ba9a947657a0", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/791a95eb0cecaa6d774a623d2e05ba9a947657a0", + "html_url": "https://github.com/open-data/ckan/commit/791a95eb0cecaa6d774a623d2e05ba9a947657a0", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/791a95eb0cecaa6d774a623d2e05ba9a947657a0/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "4e99601b3829dbbf27587792d1fefd60f8fb9efd", + "url": "https://api.github.com/repos/open-data/ckan/commits/4e99601b3829dbbf27587792d1fefd60f8fb9efd", + "html_url": "https://github.com/open-data/ckan/commit/4e99601b3829dbbf27587792d1fefd60f8fb9efd" + } + ] + }, + { + "sha": "04f2e934a428880f0ddad023c261676598cbff6e", + "node_id": "C_kwDOAHlEatoAKDA0ZjJlOTM0YTQyODg4MGYwZGRhZDAyM2MyNjE2NzY1OThjYmZmNmU", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2022-11-14T14:51:22Z" + }, + "committer": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2024-02-27T13:31:20Z" + }, + "message": "Restrict user and group/org image upload formats by default\n\nAllow only a limited number of formats, that can be expanded with\n`ckan.upload.user.mimetypes` and `ckan.upload.user.types` (same for\n`group` instead of user). Added new tests to cover common formats used\nby spammers.", + "tree": { + "sha": "8915cc6dcd589118506e7ab737578507a9a644e5", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/8915cc6dcd589118506e7ab737578507a9a644e5" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/04f2e934a428880f0ddad023c261676598cbff6e", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/04f2e934a428880f0ddad023c261676598cbff6e", + "html_url": "https://github.com/open-data/ckan/commit/04f2e934a428880f0ddad023c261676598cbff6e", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/04f2e934a428880f0ddad023c261676598cbff6e/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "791a95eb0cecaa6d774a623d2e05ba9a947657a0", + "url": "https://api.github.com/repos/open-data/ckan/commits/791a95eb0cecaa6d774a623d2e05ba9a947657a0", + "html_url": "https://github.com/open-data/ckan/commit/791a95eb0cecaa6d774a623d2e05ba9a947657a0" + } + ] + }, + { + "sha": "87ad2e4568145f89d2cb15ce9940ca798ef3236e", + "node_id": "C_kwDOAHlEatoAKDg3YWQyZTQ1NjgxNDVmODlkMmNiMTVjZTk5NDBjYTc5OGVmMzIzNmU", + "commit": { + "author": { + "name": "Jari Voutilainen", + "email": "jari.voutilainen@iki.fi", + "date": "2024-02-23T07:52:34Z" + }, + "committer": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2024-02-28T07:11:22Z" + }, + "message": "Increase read bytes from file to detect xlsx mimetypes correctly", + "tree": { + "sha": "6834c0a3defb21369d6b3950be886e09327009be", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/6834c0a3defb21369d6b3950be886e09327009be" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/87ad2e4568145f89d2cb15ce9940ca798ef3236e", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/87ad2e4568145f89d2cb15ce9940ca798ef3236e", + "html_url": "https://github.com/open-data/ckan/commit/87ad2e4568145f89d2cb15ce9940ca798ef3236e", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/87ad2e4568145f89d2cb15ce9940ca798ef3236e/comments", + "author": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "04f2e934a428880f0ddad023c261676598cbff6e", + "url": "https://api.github.com/repos/open-data/ckan/commits/04f2e934a428880f0ddad023c261676598cbff6e", + "html_url": "https://github.com/open-data/ckan/commit/04f2e934a428880f0ddad023c261676598cbff6e" + } + ] + }, + { + "sha": "ae8437cacb1a247996df592e56613b5591346222", + "node_id": "C_kwDOAHlEatoAKGFlODQzN2NhY2IxYTI0Nzk5NmRmNTkyZTU2NjEzYjU1OTEzNDYyMjI", + "commit": { + "author": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2024-02-23T08:07:06Z" + }, + "committer": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2024-02-28T07:11:29Z" + }, + "message": "Add changelog", + "tree": { + "sha": "5c3a543390b205f1bfa8a621fcb1a4430f802dbc", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/5c3a543390b205f1bfa8a621fcb1a4430f802dbc" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/ae8437cacb1a247996df592e56613b5591346222", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/ae8437cacb1a247996df592e56613b5591346222", + "html_url": "https://github.com/open-data/ckan/commit/ae8437cacb1a247996df592e56613b5591346222", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/ae8437cacb1a247996df592e56613b5591346222/comments", + "author": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "87ad2e4568145f89d2cb15ce9940ca798ef3236e", + "url": "https://api.github.com/repos/open-data/ckan/commits/87ad2e4568145f89d2cb15ce9940ca798ef3236e", + "html_url": "https://github.com/open-data/ckan/commit/87ad2e4568145f89d2cb15ce9940ca798ef3236e" + } + ] + }, + { + "sha": "46a7849e7711981c13d28e51f7b271b5fe0476d8", + "node_id": "C_kwDOAHlEatoAKDQ2YTc4NDllNzcxMTk4MWMxM2QyOGU1MWY3YjI3MWI1ZmUwNDc2ZDg", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2024-02-27T15:18:10Z" + }, + "committer": { + "name": "Jari Voutilainen", + "email": "jari-pekka.voutilainen@gofore.com", + "date": "2024-02-28T07:11:36Z" + }, + "message": "comment for constant", + "tree": { + "sha": "0c86c473580b0563b9b3a27836e2361366889542", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/0c86c473580b0563b9b3a27836e2361366889542" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/46a7849e7711981c13d28e51f7b271b5fe0476d8", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/46a7849e7711981c13d28e51f7b271b5fe0476d8", + "html_url": "https://github.com/open-data/ckan/commit/46a7849e7711981c13d28e51f7b271b5fe0476d8", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/46a7849e7711981c13d28e51f7b271b5fe0476d8/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "ae8437cacb1a247996df592e56613b5591346222", + "url": "https://api.github.com/repos/open-data/ckan/commits/ae8437cacb1a247996df592e56613b5591346222", + "html_url": "https://github.com/open-data/ckan/commit/ae8437cacb1a247996df592e56613b5591346222" + } + ] + }, + { + "sha": "6def078f7c9f9c17481b057f9015e248c32ea561", + "node_id": "C_kwDOAHlEatoAKDZkZWYwNzhmN2M5ZjljMTc0ODFiMDU3ZjkwMTVlMjQ4YzMyZWE1NjE", + "commit": { + "author": { + "name": "antuarc", + "email": "carl.antuar@smartservice.qld.gov.au", + "date": "2024-01-18T02:57:19Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-05T11:53:37Z" + }, + "message": "preserve custom org type in user activity streams, GitHub #7980", + "tree": { + "sha": "3be521c5f360223e723dae562f8ccdfdf182bb74", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/3be521c5f360223e723dae562f8ccdfdf182bb74" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/6def078f7c9f9c17481b057f9015e248c32ea561", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/6def078f7c9f9c17481b057f9015e248c32ea561", + "html_url": "https://github.com/open-data/ckan/commit/6def078f7c9f9c17481b057f9015e248c32ea561", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/6def078f7c9f9c17481b057f9015e248c32ea561/comments", + "author": { + "login": "ThrawnCA", + "id": 3080440, + "node_id": "MDQ6VXNlcjMwODA0NDA=", + "avatar_url": "https://avatars.githubusercontent.com/u/3080440?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ThrawnCA", + "html_url": "https://github.com/ThrawnCA", + "followers_url": "https://api.github.com/users/ThrawnCA/followers", + "following_url": "https://api.github.com/users/ThrawnCA/following{/other_user}", + "gists_url": "https://api.github.com/users/ThrawnCA/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ThrawnCA/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ThrawnCA/subscriptions", + "organizations_url": "https://api.github.com/users/ThrawnCA/orgs", + "repos_url": "https://api.github.com/users/ThrawnCA/repos", + "events_url": "https://api.github.com/users/ThrawnCA/events{/privacy}", + "received_events_url": "https://api.github.com/users/ThrawnCA/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "46a7849e7711981c13d28e51f7b271b5fe0476d8", + "url": "https://api.github.com/repos/open-data/ckan/commits/46a7849e7711981c13d28e51f7b271b5fe0476d8", + "html_url": "https://github.com/open-data/ckan/commit/46a7849e7711981c13d28e51f7b271b5fe0476d8" + } + ] + }, + { + "sha": "0b44bb95401216ec9f6157d35bdb883e3db17bbd", + "node_id": "C_kwDOAHlEatoAKDBiNDRiYjk1NDAxMjE2ZWM5ZjYxNTdkMzViZGI4ODNlM2RiMTdiYmQ", + "commit": { + "author": { + "name": "antuarc", + "email": "carl.antuar@smartservice.qld.gov.au", + "date": "2024-01-18T04:50:58Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-05T11:53:41Z" + }, + "message": "add changelog entry for GitHub #7980", + "tree": { + "sha": "f9e753a5552e77b1181e1cb3108f28f55ef79f65", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/f9e753a5552e77b1181e1cb3108f28f55ef79f65" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/0b44bb95401216ec9f6157d35bdb883e3db17bbd", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/0b44bb95401216ec9f6157d35bdb883e3db17bbd", + "html_url": "https://github.com/open-data/ckan/commit/0b44bb95401216ec9f6157d35bdb883e3db17bbd", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/0b44bb95401216ec9f6157d35bdb883e3db17bbd/comments", + "author": { + "login": "ThrawnCA", + "id": 3080440, + "node_id": "MDQ6VXNlcjMwODA0NDA=", + "avatar_url": "https://avatars.githubusercontent.com/u/3080440?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ThrawnCA", + "html_url": "https://github.com/ThrawnCA", + "followers_url": "https://api.github.com/users/ThrawnCA/followers", + "following_url": "https://api.github.com/users/ThrawnCA/following{/other_user}", + "gists_url": "https://api.github.com/users/ThrawnCA/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ThrawnCA/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ThrawnCA/subscriptions", + "organizations_url": "https://api.github.com/users/ThrawnCA/orgs", + "repos_url": "https://api.github.com/users/ThrawnCA/repos", + "events_url": "https://api.github.com/users/ThrawnCA/events{/privacy}", + "received_events_url": "https://api.github.com/users/ThrawnCA/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "6def078f7c9f9c17481b057f9015e248c32ea561", + "url": "https://api.github.com/repos/open-data/ckan/commits/6def078f7c9f9c17481b057f9015e248c32ea561", + "html_url": "https://github.com/open-data/ckan/commit/6def078f7c9f9c17481b057f9015e248c32ea561" + } + ] + }, + { + "sha": "6eaab887ac6ef14902bac07afbb03a9bf84d9f74", + "node_id": "C_kwDOAHlEatoAKDZlYWFiODg3YWM2ZWYxNDkwMmJhYzA3YWZiYjAzYTliZjg0ZDlmNzQ", + "commit": { + "author": { + "name": "Labuschagne-Miro", + "email": "154422966+Labuschagne-Miro@users.noreply.github.com", + "date": "2024-01-25T14:34:13Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-05T11:55:26Z" + }, + "message": "Fixed the editing of resources unavailable from package view page", + "tree": { + "sha": "ad0231c0671c69ecc8a7c341cc4991b0d14e2820", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/ad0231c0671c69ecc8a7c341cc4991b0d14e2820" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/6eaab887ac6ef14902bac07afbb03a9bf84d9f74", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/6eaab887ac6ef14902bac07afbb03a9bf84d9f74", + "html_url": "https://github.com/open-data/ckan/commit/6eaab887ac6ef14902bac07afbb03a9bf84d9f74", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/6eaab887ac6ef14902bac07afbb03a9bf84d9f74/comments", + "author": { + "login": "Labuschagne-Miro", + "id": 154422966, + "node_id": "U_kgDOCTROtg", + "avatar_url": "https://avatars.githubusercontent.com/u/154422966?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Labuschagne-Miro", + "html_url": "https://github.com/Labuschagne-Miro", + "followers_url": "https://api.github.com/users/Labuschagne-Miro/followers", + "following_url": "https://api.github.com/users/Labuschagne-Miro/following{/other_user}", + "gists_url": "https://api.github.com/users/Labuschagne-Miro/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Labuschagne-Miro/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Labuschagne-Miro/subscriptions", + "organizations_url": "https://api.github.com/users/Labuschagne-Miro/orgs", + "repos_url": "https://api.github.com/users/Labuschagne-Miro/repos", + "events_url": "https://api.github.com/users/Labuschagne-Miro/events{/privacy}", + "received_events_url": "https://api.github.com/users/Labuschagne-Miro/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "0b44bb95401216ec9f6157d35bdb883e3db17bbd", + "url": "https://api.github.com/repos/open-data/ckan/commits/0b44bb95401216ec9f6157d35bdb883e3db17bbd", + "html_url": "https://github.com/open-data/ckan/commit/0b44bb95401216ec9f6157d35bdb883e3db17bbd" + } + ] + }, + { + "sha": "f09635443019ef40f3a2800c2db5401b736e6720", + "node_id": "C_kwDOAHlEatoAKGYwOTYzNTQ0MzAxOWVmNDBmM2EyODAwYzJkYjU0MDFiNzM2ZTY3MjA", + "commit": { + "author": { + "name": "Labuschagne-Miro", + "email": "154422966+Labuschagne-Miro@users.noreply.github.com", + "date": "2024-01-25T14:37:31Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-05T11:55:30Z" + }, + "message": "Create 8025.bugfix", + "tree": { + "sha": "4e33a173510bf0b91623207e4644c89c5da3340e", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/4e33a173510bf0b91623207e4644c89c5da3340e" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/f09635443019ef40f3a2800c2db5401b736e6720", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/f09635443019ef40f3a2800c2db5401b736e6720", + "html_url": "https://github.com/open-data/ckan/commit/f09635443019ef40f3a2800c2db5401b736e6720", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/f09635443019ef40f3a2800c2db5401b736e6720/comments", + "author": { + "login": "Labuschagne-Miro", + "id": 154422966, + "node_id": "U_kgDOCTROtg", + "avatar_url": "https://avatars.githubusercontent.com/u/154422966?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Labuschagne-Miro", + "html_url": "https://github.com/Labuschagne-Miro", + "followers_url": "https://api.github.com/users/Labuschagne-Miro/followers", + "following_url": "https://api.github.com/users/Labuschagne-Miro/following{/other_user}", + "gists_url": "https://api.github.com/users/Labuschagne-Miro/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Labuschagne-Miro/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Labuschagne-Miro/subscriptions", + "organizations_url": "https://api.github.com/users/Labuschagne-Miro/orgs", + "repos_url": "https://api.github.com/users/Labuschagne-Miro/repos", + "events_url": "https://api.github.com/users/Labuschagne-Miro/events{/privacy}", + "received_events_url": "https://api.github.com/users/Labuschagne-Miro/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "6eaab887ac6ef14902bac07afbb03a9bf84d9f74", + "url": "https://api.github.com/repos/open-data/ckan/commits/6eaab887ac6ef14902bac07afbb03a9bf84d9f74", + "html_url": "https://github.com/open-data/ckan/commit/6eaab887ac6ef14902bac07afbb03a9bf84d9f74" + } + ] + }, + { + "sha": "102df6bac2b5357f25098ff7c854fc516f65a4a2", + "node_id": "C_kwDOAHlEatoAKDEwMmRmNmJhYzJiNTM1N2YyNTA5OGZmN2M4NTRmYzUxNmY2NWE0YTI", + "commit": { + "author": { + "name": "blagoja", + "email": "blagojabozinovski@gmail.com", + "date": "2024-01-29T07:57:37Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-05T11:57:04Z" + }, + "message": "Set dataset type in new resource template", + "tree": { + "sha": "d00058ea158380b98e3fee961dfdf7c44b523c7a", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/d00058ea158380b98e3fee961dfdf7c44b523c7a" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/102df6bac2b5357f25098ff7c854fc516f65a4a2", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/102df6bac2b5357f25098ff7c854fc516f65a4a2", + "html_url": "https://github.com/open-data/ckan/commit/102df6bac2b5357f25098ff7c854fc516f65a4a2", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/102df6bac2b5357f25098ff7c854fc516f65a4a2/comments", + "author": { + "login": "blagojabozinovski", + "id": 62408051, + "node_id": "MDQ6VXNlcjYyNDA4MDUx", + "avatar_url": "https://avatars.githubusercontent.com/u/62408051?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/blagojabozinovski", + "html_url": "https://github.com/blagojabozinovski", + "followers_url": "https://api.github.com/users/blagojabozinovski/followers", + "following_url": "https://api.github.com/users/blagojabozinovski/following{/other_user}", + "gists_url": "https://api.github.com/users/blagojabozinovski/gists{/gist_id}", + "starred_url": "https://api.github.com/users/blagojabozinovski/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/blagojabozinovski/subscriptions", + "organizations_url": "https://api.github.com/users/blagojabozinovski/orgs", + "repos_url": "https://api.github.com/users/blagojabozinovski/repos", + "events_url": "https://api.github.com/users/blagojabozinovski/events{/privacy}", + "received_events_url": "https://api.github.com/users/blagojabozinovski/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "f09635443019ef40f3a2800c2db5401b736e6720", + "url": "https://api.github.com/repos/open-data/ckan/commits/f09635443019ef40f3a2800c2db5401b736e6720", + "html_url": "https://github.com/open-data/ckan/commit/f09635443019ef40f3a2800c2db5401b736e6720" + } + ] + }, + { + "sha": "164e9805f1e4ce905299c3a28ad1d7ef1469994c", + "node_id": "C_kwDOAHlEatoAKDE2NGU5ODA1ZjFlNGNlOTA1Mjk5YzNhMjhhZDFkN2VmMTQ2OTk5NGM", + "commit": { + "author": { + "name": "antuarc", + "email": "carl.antuar@smartservice.qld.gov.au", + "date": "2024-02-02T00:16:09Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-05T11:57:14Z" + }, + "message": "[QOLDEV-692] pass package type through to resource creation activity item, GitHub #8034", + "tree": { + "sha": "e066ae031a5a14311f5a654d7e0bb8f2c50182a7", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/e066ae031a5a14311f5a654d7e0bb8f2c50182a7" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/164e9805f1e4ce905299c3a28ad1d7ef1469994c", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/164e9805f1e4ce905299c3a28ad1d7ef1469994c", + "html_url": "https://github.com/open-data/ckan/commit/164e9805f1e4ce905299c3a28ad1d7ef1469994c", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/164e9805f1e4ce905299c3a28ad1d7ef1469994c/comments", + "author": { + "login": "ThrawnCA", + "id": 3080440, + "node_id": "MDQ6VXNlcjMwODA0NDA=", + "avatar_url": "https://avatars.githubusercontent.com/u/3080440?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ThrawnCA", + "html_url": "https://github.com/ThrawnCA", + "followers_url": "https://api.github.com/users/ThrawnCA/followers", + "following_url": "https://api.github.com/users/ThrawnCA/following{/other_user}", + "gists_url": "https://api.github.com/users/ThrawnCA/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ThrawnCA/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ThrawnCA/subscriptions", + "organizations_url": "https://api.github.com/users/ThrawnCA/orgs", + "repos_url": "https://api.github.com/users/ThrawnCA/repos", + "events_url": "https://api.github.com/users/ThrawnCA/events{/privacy}", + "received_events_url": "https://api.github.com/users/ThrawnCA/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "102df6bac2b5357f25098ff7c854fc516f65a4a2", + "url": "https://api.github.com/repos/open-data/ckan/commits/102df6bac2b5357f25098ff7c854fc516f65a4a2", + "html_url": "https://github.com/open-data/ckan/commit/102df6bac2b5357f25098ff7c854fc516f65a4a2" + } + ] + }, + { + "sha": "d648a407a7bc287160a08982beb0eff86a473ffd", + "node_id": "C_kwDOAHlEatoAKGQ2NDhhNDA3YTdiYzI4NzE2MGEwODk4MmJlYjBlZmY4NmE0NzNmZmQ", + "commit": { + "author": { + "name": "ThrawnCA", + "email": "shell_layer-github@yahoo.com.au", + "date": "2024-02-06T22:26:25Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-05T11:57:18Z" + }, + "message": "add changelog for #8034", + "tree": { + "sha": "2e48ab76028326c8b9e131025d7e8d2910091e23", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/2e48ab76028326c8b9e131025d7e8d2910091e23" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/d648a407a7bc287160a08982beb0eff86a473ffd", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/d648a407a7bc287160a08982beb0eff86a473ffd", + "html_url": "https://github.com/open-data/ckan/commit/d648a407a7bc287160a08982beb0eff86a473ffd", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/d648a407a7bc287160a08982beb0eff86a473ffd/comments", + "author": { + "login": "ThrawnCA", + "id": 3080440, + "node_id": "MDQ6VXNlcjMwODA0NDA=", + "avatar_url": "https://avatars.githubusercontent.com/u/3080440?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/ThrawnCA", + "html_url": "https://github.com/ThrawnCA", + "followers_url": "https://api.github.com/users/ThrawnCA/followers", + "following_url": "https://api.github.com/users/ThrawnCA/following{/other_user}", + "gists_url": "https://api.github.com/users/ThrawnCA/gists{/gist_id}", + "starred_url": "https://api.github.com/users/ThrawnCA/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/ThrawnCA/subscriptions", + "organizations_url": "https://api.github.com/users/ThrawnCA/orgs", + "repos_url": "https://api.github.com/users/ThrawnCA/repos", + "events_url": "https://api.github.com/users/ThrawnCA/events{/privacy}", + "received_events_url": "https://api.github.com/users/ThrawnCA/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "164e9805f1e4ce905299c3a28ad1d7ef1469994c", + "url": "https://api.github.com/repos/open-data/ckan/commits/164e9805f1e4ce905299c3a28ad1d7ef1469994c", + "html_url": "https://github.com/open-data/ckan/commit/164e9805f1e4ce905299c3a28ad1d7ef1469994c" + } + ] + }, + { + "sha": "9971cf5d39c2acf1189f6b387db009a1a0d06d76", + "node_id": "C_kwDOAHlEatoAKDk5NzFjZjVkMzljMmFjZjExODlmNmIzODdkYjAwOWExYTBkMDZkNzY", + "commit": { + "author": { + "name": "Sergey Motornyuk", + "email": "sergey.motornyuk@linkdigital.com.au", + "date": "2024-02-05T15:40:06Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-05T12:01:46Z" + }, + "message": "fix(test): clean_db fixtures does not break if table is missing", + "tree": { + "sha": "4bacab5a5440b6c6ebba03190c2724e8f5fa3861", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/4bacab5a5440b6c6ebba03190c2724e8f5fa3861" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/9971cf5d39c2acf1189f6b387db009a1a0d06d76", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/9971cf5d39c2acf1189f6b387db009a1a0d06d76", + "html_url": "https://github.com/open-data/ckan/commit/9971cf5d39c2acf1189f6b387db009a1a0d06d76", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/9971cf5d39c2acf1189f6b387db009a1a0d06d76/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "d648a407a7bc287160a08982beb0eff86a473ffd", + "url": "https://api.github.com/repos/open-data/ckan/commits/d648a407a7bc287160a08982beb0eff86a473ffd", + "html_url": "https://github.com/open-data/ckan/commit/d648a407a7bc287160a08982beb0eff86a473ffd" + } + ] + }, + { + "sha": "126d18ac94ad9e5ec85b0f748db1ce0266dc7ce1", + "node_id": "C_kwDOAHlEatoAKDEyNmQxOGFjOTRhZDllNWVjODViMGY3NDhkYjFjZTAyNjZkYzdjZTE", + "commit": { + "author": { + "name": "Rae Knowler", + "email": "bellisk@users.noreply.github.com", + "date": "2024-02-01T16:34:47Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-05T12:04:12Z" + }, + "message": "Fix Last Modified sort parameter for bulk-process page\n\nThere is no dataset field `data_modified`.", + "tree": { + "sha": "f2f684fb3c7f3de460b8606afac03e4679515698", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/f2f684fb3c7f3de460b8606afac03e4679515698" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/126d18ac94ad9e5ec85b0f748db1ce0266dc7ce1", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/126d18ac94ad9e5ec85b0f748db1ce0266dc7ce1", + "html_url": "https://github.com/open-data/ckan/commit/126d18ac94ad9e5ec85b0f748db1ce0266dc7ce1", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/126d18ac94ad9e5ec85b0f748db1ce0266dc7ce1/comments", + "author": { + "login": "bellisk", + "id": 903490, + "node_id": "MDQ6VXNlcjkwMzQ5MA==", + "avatar_url": "https://avatars.githubusercontent.com/u/903490?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/bellisk", + "html_url": "https://github.com/bellisk", + "followers_url": "https://api.github.com/users/bellisk/followers", + "following_url": "https://api.github.com/users/bellisk/following{/other_user}", + "gists_url": "https://api.github.com/users/bellisk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/bellisk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/bellisk/subscriptions", + "organizations_url": "https://api.github.com/users/bellisk/orgs", + "repos_url": "https://api.github.com/users/bellisk/repos", + "events_url": "https://api.github.com/users/bellisk/events{/privacy}", + "received_events_url": "https://api.github.com/users/bellisk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "9971cf5d39c2acf1189f6b387db009a1a0d06d76", + "url": "https://api.github.com/repos/open-data/ckan/commits/9971cf5d39c2acf1189f6b387db009a1a0d06d76", + "html_url": "https://github.com/open-data/ckan/commit/9971cf5d39c2acf1189f6b387db009a1a0d06d76" + } + ] + }, + { + "sha": "18ed744f9ba64df7847f8211325b6dc92e8207ed", + "node_id": "C_kwDOAHlEatoAKDE4ZWQ3NDRmOWJhNjRkZjc4NDdmODIxMTMyNWI2ZGM5MmU4MjA3ZWQ", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-05T12:04:49Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-05T12:04:49Z" + }, + "message": "Add changelog", + "tree": { + "sha": "8f11c70e02c8354202f9d3e677aa66ec28be42e3", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/8f11c70e02c8354202f9d3e677aa66ec28be42e3" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/18ed744f9ba64df7847f8211325b6dc92e8207ed", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/18ed744f9ba64df7847f8211325b6dc92e8207ed", + "html_url": "https://github.com/open-data/ckan/commit/18ed744f9ba64df7847f8211325b6dc92e8207ed", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/18ed744f9ba64df7847f8211325b6dc92e8207ed/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "126d18ac94ad9e5ec85b0f748db1ce0266dc7ce1", + "url": "https://api.github.com/repos/open-data/ckan/commits/126d18ac94ad9e5ec85b0f748db1ce0266dc7ce1", + "html_url": "https://github.com/open-data/ckan/commit/126d18ac94ad9e5ec85b0f748db1ce0266dc7ce1" + } + ] + }, + { + "sha": "e6a94595ff47ee49320051681e9cd2661e608c3b", + "node_id": "C_kwDOAHlEatoAKGU2YTk0NTk1ZmY0N2VlNDkzMjAwNTE2ODFlOWNkMjY2MWU2MDhjM2I", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-05T12:26:45Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-05T12:26:45Z" + }, + "message": "Fix imports after bad merge", + "tree": { + "sha": "677acb21364839495237e1df118e898c2d27ab0a", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/677acb21364839495237e1df118e898c2d27ab0a" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/e6a94595ff47ee49320051681e9cd2661e608c3b", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/e6a94595ff47ee49320051681e9cd2661e608c3b", + "html_url": "https://github.com/open-data/ckan/commit/e6a94595ff47ee49320051681e9cd2661e608c3b", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/e6a94595ff47ee49320051681e9cd2661e608c3b/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "18ed744f9ba64df7847f8211325b6dc92e8207ed", + "url": "https://api.github.com/repos/open-data/ckan/commits/18ed744f9ba64df7847f8211325b6dc92e8207ed", + "html_url": "https://github.com/open-data/ckan/commit/18ed744f9ba64df7847f8211325b6dc92e8207ed" + } + ] + }, + { + "sha": "5aa6791b2288d60b6182495bef34a60d2acfbd69", + "node_id": "C_kwDOAHlEatoAKDVhYTY3OTFiMjI4OGQ2MGI2MTgyNDk1YmVmMzRhNjBkMmFjZmJkNjk", + "commit": { + "author": { + "name": "Jari Voutilainen", + "email": "jari.voutilainen@iki.fi", + "date": "2024-01-26T12:15:18Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-06T11:23:39Z" + }, + "message": "Auth cookie is now named ckan by default, proxy bypass should reflect this", + "tree": { + "sha": "80a96eadefbcdbd45a9ad6b2afc7b630efb7d825", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/80a96eadefbcdbd45a9ad6b2afc7b630efb7d825" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/5aa6791b2288d60b6182495bef34a60d2acfbd69", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/5aa6791b2288d60b6182495bef34a60d2acfbd69", + "html_url": "https://github.com/open-data/ckan/commit/5aa6791b2288d60b6182495bef34a60d2acfbd69", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/5aa6791b2288d60b6182495bef34a60d2acfbd69/comments", + "author": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "e6a94595ff47ee49320051681e9cd2661e608c3b", + "url": "https://api.github.com/repos/open-data/ckan/commits/e6a94595ff47ee49320051681e9cd2661e608c3b", + "html_url": "https://github.com/open-data/ckan/commit/e6a94595ff47ee49320051681e9cd2661e608c3b" + } + ] + }, + { + "sha": "91a45560fe93a35e191effed9f990da37bcac288", + "node_id": "C_kwDOAHlEatoAKDkxYTQ1NTYwZmU5M2EzNWUxOTFlZmZlZDlmOTkwZGEzN2JjYWMyODg", + "commit": { + "author": { + "name": "Jari Voutilainen", + "email": "jari.voutilainen@iki.fi", + "date": "2024-01-29T13:20:45Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-06T11:23:44Z" + }, + "message": "Remove nginx cache from docs", + "tree": { + "sha": "bd4a1421644274a09db43f8c796ccb5fe5b6e6eb", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/bd4a1421644274a09db43f8c796ccb5fe5b6e6eb" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/91a45560fe93a35e191effed9f990da37bcac288", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/91a45560fe93a35e191effed9f990da37bcac288", + "html_url": "https://github.com/open-data/ckan/commit/91a45560fe93a35e191effed9f990da37bcac288", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/91a45560fe93a35e191effed9f990da37bcac288/comments", + "author": { + "login": "Zharktas", + "id": 830663, + "node_id": "MDQ6VXNlcjgzMDY2Mw==", + "avatar_url": "https://avatars.githubusercontent.com/u/830663?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/Zharktas", + "html_url": "https://github.com/Zharktas", + "followers_url": "https://api.github.com/users/Zharktas/followers", + "following_url": "https://api.github.com/users/Zharktas/following{/other_user}", + "gists_url": "https://api.github.com/users/Zharktas/gists{/gist_id}", + "starred_url": "https://api.github.com/users/Zharktas/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/Zharktas/subscriptions", + "organizations_url": "https://api.github.com/users/Zharktas/orgs", + "repos_url": "https://api.github.com/users/Zharktas/repos", + "events_url": "https://api.github.com/users/Zharktas/events{/privacy}", + "received_events_url": "https://api.github.com/users/Zharktas/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "5aa6791b2288d60b6182495bef34a60d2acfbd69", + "url": "https://api.github.com/repos/open-data/ckan/commits/5aa6791b2288d60b6182495bef34a60d2acfbd69", + "html_url": "https://github.com/open-data/ckan/commit/5aa6791b2288d60b6182495bef34a60d2acfbd69" + } + ] + }, + { + "sha": "d81f411bff2da7347c343a83e17f5814475b5b64", + "node_id": "C_kwDOAHlEatoAKGQ4MWY0MTFiZmYyZGE3MzQ3YzM0M2E4M2UxN2Y1ODE0NDc1YjViNjQ", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-06T11:28:51Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-06T11:28:51Z" + }, + "message": "Use repr for logging user input", + "tree": { + "sha": "c10521e8ddafa05f6120f15fe2235319e796a500", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/c10521e8ddafa05f6120f15fe2235319e796a500" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/d81f411bff2da7347c343a83e17f5814475b5b64", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/d81f411bff2da7347c343a83e17f5814475b5b64", + "html_url": "https://github.com/open-data/ckan/commit/d81f411bff2da7347c343a83e17f5814475b5b64", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/d81f411bff2da7347c343a83e17f5814475b5b64/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "91a45560fe93a35e191effed9f990da37bcac288", + "url": "https://api.github.com/repos/open-data/ckan/commits/91a45560fe93a35e191effed9f990da37bcac288", + "html_url": "https://github.com/open-data/ckan/commit/91a45560fe93a35e191effed9f990da37bcac288" + } + ] + }, + { + "sha": "32161cf64268c0299d2bf9bdb88e0708ed35aaae", + "node_id": "C_kwDOAHlEatoAKDMyMTYxY2Y2NDI2OGMwMjk5ZDJiZjliZGI4OGUwNzA4ZWQzNWFhYWU", + "commit": { + "author": { + "name": "P DeKraker", + "email": "47568003+pdekraker-epa@users.noreply.github.com", + "date": "2024-03-05T13:56:32Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-06T11:28:55Z" + }, + "message": "Update link to FontAwesome icon set", + "tree": { + "sha": "869b3f6281d7a8157a1f2991eaa7c9e5561742cf", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/869b3f6281d7a8157a1f2991eaa7c9e5561742cf" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/32161cf64268c0299d2bf9bdb88e0708ed35aaae", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/32161cf64268c0299d2bf9bdb88e0708ed35aaae", + "html_url": "https://github.com/open-data/ckan/commit/32161cf64268c0299d2bf9bdb88e0708ed35aaae", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/32161cf64268c0299d2bf9bdb88e0708ed35aaae/comments", + "author": { + "login": "pdekraker-epa", + "id": 47568003, + "node_id": "MDQ6VXNlcjQ3NTY4MDAz", + "avatar_url": "https://avatars.githubusercontent.com/u/47568003?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/pdekraker-epa", + "html_url": "https://github.com/pdekraker-epa", + "followers_url": "https://api.github.com/users/pdekraker-epa/followers", + "following_url": "https://api.github.com/users/pdekraker-epa/following{/other_user}", + "gists_url": "https://api.github.com/users/pdekraker-epa/gists{/gist_id}", + "starred_url": "https://api.github.com/users/pdekraker-epa/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/pdekraker-epa/subscriptions", + "organizations_url": "https://api.github.com/users/pdekraker-epa/orgs", + "repos_url": "https://api.github.com/users/pdekraker-epa/repos", + "events_url": "https://api.github.com/users/pdekraker-epa/events{/privacy}", + "received_events_url": "https://api.github.com/users/pdekraker-epa/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "d81f411bff2da7347c343a83e17f5814475b5b64", + "url": "https://api.github.com/repos/open-data/ckan/commits/d81f411bff2da7347c343a83e17f5814475b5b64", + "html_url": "https://github.com/open-data/ckan/commit/d81f411bff2da7347c343a83e17f5814475b5b64" + } + ] + }, + { + "sha": "9eae2a9cd8391a4012bfce75be88b726a75e8130", + "node_id": "C_kwDOAHlEatoAKDllYWUyYTljZDgzOTFhNDAxMmJmY2U3NWJlODhiNzI2YTc1ZTgxMzA", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-06T11:47:17Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-06T12:00:03Z" + }, + "message": "[i18n] Pull latest translations ahead of 2.10.4", + "tree": { + "sha": "254d3a7c0984128cb81417aa8f22acb848f6578b", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/254d3a7c0984128cb81417aa8f22acb848f6578b" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/9eae2a9cd8391a4012bfce75be88b726a75e8130", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/9eae2a9cd8391a4012bfce75be88b726a75e8130", + "html_url": "https://github.com/open-data/ckan/commit/9eae2a9cd8391a4012bfce75be88b726a75e8130", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/9eae2a9cd8391a4012bfce75be88b726a75e8130/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "32161cf64268c0299d2bf9bdb88e0708ed35aaae", + "url": "https://api.github.com/repos/open-data/ckan/commits/32161cf64268c0299d2bf9bdb88e0708ed35aaae", + "html_url": "https://github.com/open-data/ckan/commit/32161cf64268c0299d2bf9bdb88e0708ed35aaae" + } + ] + }, + { + "sha": "b8e03987b8b0da0ea22ab039369d31df65fb8048", + "node_id": "C_kwDOAHlEatoAKGI4ZTAzOTg3YjhiMGRhMGVhMjJhYjAzOTM2OWQzMWRmNjVmYjgwNDg", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-06T12:09:35Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-06T12:09:35Z" + }, + "message": "[i18n] Compile mo files", + "tree": { + "sha": "8faa31ff14e894e35627b930278a6605b2fd9feb", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/8faa31ff14e894e35627b930278a6605b2fd9feb" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/b8e03987b8b0da0ea22ab039369d31df65fb8048", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/b8e03987b8b0da0ea22ab039369d31df65fb8048", + "html_url": "https://github.com/open-data/ckan/commit/b8e03987b8b0da0ea22ab039369d31df65fb8048", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/b8e03987b8b0da0ea22ab039369d31df65fb8048/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "9eae2a9cd8391a4012bfce75be88b726a75e8130", + "url": "https://api.github.com/repos/open-data/ckan/commits/9eae2a9cd8391a4012bfce75be88b726a75e8130", + "html_url": "https://github.com/open-data/ckan/commit/9eae2a9cd8391a4012bfce75be88b726a75e8130" + } + ] + }, + { + "sha": "aee33a3599d967909385d66dabe6680cfe7d5254", + "node_id": "C_kwDOAHlEatoAKGFlZTMzYTM1OTlkOTY3OTA5Mzg1ZDY2ZGFiZTY2ODBjZmU3ZDUyNTQ", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-11T12:10:11Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-11T12:10:11Z" + }, + "message": "[#8053] Allow alternate Solr query parsers via allow list", + "tree": { + "sha": "7bf57b4837b1587808790d1ecce943e70f8af0cd", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/7bf57b4837b1587808790d1ecce943e70f8af0cd" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/aee33a3599d967909385d66dabe6680cfe7d5254", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/aee33a3599d967909385d66dabe6680cfe7d5254", + "html_url": "https://github.com/open-data/ckan/commit/aee33a3599d967909385d66dabe6680cfe7d5254", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/aee33a3599d967909385d66dabe6680cfe7d5254/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "b8e03987b8b0da0ea22ab039369d31df65fb8048", + "url": "https://api.github.com/repos/open-data/ckan/commits/b8e03987b8b0da0ea22ab039369d31df65fb8048", + "html_url": "https://github.com/open-data/ckan/commit/b8e03987b8b0da0ea22ab039369d31df65fb8048" + } + ] + }, + { + "sha": "c5992546d825353cf4cf5094d14bb2d5c24f0a75", + "node_id": "C_kwDOAHlEatoAKGM1OTkyNTQ2ZDgyNTM1M2NmNGNmNTA5NGQxNGJiMmQ1YzI0ZjBhNzU", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-12T11:37:00Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-12T11:37:00Z" + }, + "message": "Update CHANGELOG ahead of 2.10.4", + "tree": { + "sha": "1bb456f44c8b9fe13b92738fb601b6b97332fade", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/1bb456f44c8b9fe13b92738fb601b6b97332fade" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/c5992546d825353cf4cf5094d14bb2d5c24f0a75", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/c5992546d825353cf4cf5094d14bb2d5c24f0a75", + "html_url": "https://github.com/open-data/ckan/commit/c5992546d825353cf4cf5094d14bb2d5c24f0a75", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/c5992546d825353cf4cf5094d14bb2d5c24f0a75/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "aee33a3599d967909385d66dabe6680cfe7d5254", + "url": "https://api.github.com/repos/open-data/ckan/commits/aee33a3599d967909385d66dabe6680cfe7d5254", + "html_url": "https://github.com/open-data/ckan/commit/aee33a3599d967909385d66dabe6680cfe7d5254" + } + ] + }, + { + "sha": "6154791b09488a02e2f7c0e52bb2408121a6ed81", + "node_id": "C_kwDOAHlEatoAKDYxNTQ3OTFiMDk0ODhhMDJlMmY3YzBlNTJiYjI0MDgxMjFhNmVkODE", + "commit": { + "author": { + "name": "tino097", + "email": "konstantin.sivakov@gmail.com", + "date": "2024-03-07T14:15:20Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-13T10:43:37Z" + }, + "message": "Reorder scripts in webasets for core\n\nRemove cssrewrite filter for DataTables", + "tree": { + "sha": "d7ae1536df1e126a5e694192667abff6aeb1070c", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/d7ae1536df1e126a5e694192667abff6aeb1070c" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/6154791b09488a02e2f7c0e52bb2408121a6ed81", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/6154791b09488a02e2f7c0e52bb2408121a6ed81", + "html_url": "https://github.com/open-data/ckan/commit/6154791b09488a02e2f7c0e52bb2408121a6ed81", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/6154791b09488a02e2f7c0e52bb2408121a6ed81/comments", + "author": { + "login": "tino097", + "id": 2707446, + "node_id": "MDQ6VXNlcjI3MDc0NDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/2707446?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tino097", + "html_url": "https://github.com/tino097", + "followers_url": "https://api.github.com/users/tino097/followers", + "following_url": "https://api.github.com/users/tino097/following{/other_user}", + "gists_url": "https://api.github.com/users/tino097/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tino097/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tino097/subscriptions", + "organizations_url": "https://api.github.com/users/tino097/orgs", + "repos_url": "https://api.github.com/users/tino097/repos", + "events_url": "https://api.github.com/users/tino097/events{/privacy}", + "received_events_url": "https://api.github.com/users/tino097/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "c5992546d825353cf4cf5094d14bb2d5c24f0a75", + "url": "https://api.github.com/repos/open-data/ckan/commits/c5992546d825353cf4cf5094d14bb2d5c24f0a75", + "html_url": "https://github.com/open-data/ckan/commit/c5992546d825353cf4cf5094d14bb2d5c24f0a75" + } + ] + }, + { + "sha": "f03e7f7d02397b064a29a5c737fa4a72b8a30191", + "node_id": "C_kwDOAHlEatoAKGYwM2U3ZjdkMDIzOTdiMDY0YTI5YTVjNzM3ZmE0YTcyYjhhMzAxOTE", + "commit": { + "author": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-13T10:45:13Z" + }, + "committer": { + "name": "amercader", + "email": "amercadero@gmail.com", + "date": "2024-03-13T10:45:13Z" + }, + "message": "Update version for 2.10.4", + "tree": { + "sha": "8984a8e86b2e8baefaece63badc90f44b5dfc09e", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/8984a8e86b2e8baefaece63badc90f44b5dfc09e" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/f03e7f7d02397b064a29a5c737fa4a72b8a30191", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/f03e7f7d02397b064a29a5c737fa4a72b8a30191", + "html_url": "https://github.com/open-data/ckan/commit/f03e7f7d02397b064a29a5c737fa4a72b8a30191", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/f03e7f7d02397b064a29a5c737fa4a72b8a30191/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "6154791b09488a02e2f7c0e52bb2408121a6ed81", + "url": "https://api.github.com/repos/open-data/ckan/commits/6154791b09488a02e2f7c0e52bb2408121a6ed81", + "html_url": "https://github.com/open-data/ckan/commit/6154791b09488a02e2f7c0e52bb2408121a6ed81" + } + ] + }, + { + "sha": "18b54abc8a620507171384eef110ec6a62e516be", + "node_id": "C_kwDOAHlEatoAKDE4YjU0YWJjOGE2MjA1MDcxNzEzODRlZWYxMTBlYzZhNjJlNTE2YmU", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-10T18:17:12Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-10T18:17:12Z" + }, + "message": "merge(dev): 2.10 requirements;\n\n- Merged 2.10 requirements.", + "tree": { + "sha": "cabc5a665904ee10128815b068d79208eeacf183", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/cabc5a665904ee10128815b068d79208eeacf183" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/18b54abc8a620507171384eef110ec6a62e516be", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/18b54abc8a620507171384eef110ec6a62e516be", + "html_url": "https://github.com/open-data/ckan/commit/18b54abc8a620507171384eef110ec6a62e516be", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/18b54abc8a620507171384eef110ec6a62e516be/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "2f535dd1c4ce3dde089720a197447bd984272699", + "url": "https://api.github.com/repos/open-data/ckan/commits/2f535dd1c4ce3dde089720a197447bd984272699", + "html_url": "https://github.com/open-data/ckan/commit/2f535dd1c4ce3dde089720a197447bd984272699" + } + ] + }, + { + "sha": "9420e92f4779027f17ed848f874c68a4078369d6", + "node_id": "C_kwDOAHlEatoAKDk0MjBlOTJmNDc3OTAyN2YxN2VkODQ4Zjg3NGM2OGE0MDc4MzY5ZDY", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-11T14:49:13Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-11T14:49:13Z" + }, + "message": "Merge branch 'upstream-v2.10-for-canada' into canada-v2.10\n\n# Conflicts:\n### RESOLVED.", + "tree": { + "sha": "4c9e7caca1be190e48d8f724ab350267eac3b75e", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/4c9e7caca1be190e48d8f724ab350267eac3b75e" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/9420e92f4779027f17ed848f874c68a4078369d6", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/9420e92f4779027f17ed848f874c68a4078369d6", + "html_url": "https://github.com/open-data/ckan/commit/9420e92f4779027f17ed848f874c68a4078369d6", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/9420e92f4779027f17ed848f874c68a4078369d6/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "18b54abc8a620507171384eef110ec6a62e516be", + "url": "https://api.github.com/repos/open-data/ckan/commits/18b54abc8a620507171384eef110ec6a62e516be", + "html_url": "https://github.com/open-data/ckan/commit/18b54abc8a620507171384eef110ec6a62e516be" + }, + { + "sha": "f03e7f7d02397b064a29a5c737fa4a72b8a30191", + "url": "https://api.github.com/repos/open-data/ckan/commits/f03e7f7d02397b064a29a5c737fa4a72b8a30191", + "html_url": "https://github.com/open-data/ckan/commit/f03e7f7d02397b064a29a5c737fa4a72b8a30191" + } + ] + }, + { + "sha": "b1517c58bbf24ed8dab17b1285978ce17dc1fba6", + "node_id": "C_kwDOAHlEatoAKGIxNTE3YzU4YmJmMjRlZDhkYWIxN2IxMjg1OTc4Y2UxN2RjMWZiYTY", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-01-26T19:28:04Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-11T19:47:00Z" + }, + "message": "Merge pull request #7341 from JVickery-TBS/feature/datastore_records_delete\n\n`datastore_records_delete` action\n# Conflicts:\n#\tckanext/datastore/logic/auth.py", + "tree": { + "sha": "da5dd13bbc4183f50391eab2b03bed4d2ca812c2", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/da5dd13bbc4183f50391eab2b03bed4d2ca812c2" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/b1517c58bbf24ed8dab17b1285978ce17dc1fba6", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/b1517c58bbf24ed8dab17b1285978ce17dc1fba6", + "html_url": "https://github.com/open-data/ckan/commit/b1517c58bbf24ed8dab17b1285978ce17dc1fba6", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/b1517c58bbf24ed8dab17b1285978ce17dc1fba6/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "9420e92f4779027f17ed848f874c68a4078369d6", + "url": "https://api.github.com/repos/open-data/ckan/commits/9420e92f4779027f17ed848f874c68a4078369d6", + "html_url": "https://github.com/open-data/ckan/commit/9420e92f4779027f17ed848f874c68a4078369d6" + } + ] + }, + { + "sha": "6cfb7030e5e611653964f1b649bfd1086d67f6ff", + "node_id": "C_kwDOAHlEatoAKDZjZmI3MDMwZTVlNjExNjUzOTY0ZjFiNjQ5YmZkMTA4NmQ2N2Y2ZmY", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2024-03-07T13:04:37Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-11T19:47:34Z" + }, + "message": "Merge pull request #8101 from JVickery-TBS/fix/datastore-records-delete-action\n\nDatastore Records Delete Action Fix", + "tree": { + "sha": "fcf39ca6cf5c46458142a3c42919f64b105d32cc", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/fcf39ca6cf5c46458142a3c42919f64b105d32cc" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/6cfb7030e5e611653964f1b649bfd1086d67f6ff", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/6cfb7030e5e611653964f1b649bfd1086d67f6ff", + "html_url": "https://github.com/open-data/ckan/commit/6cfb7030e5e611653964f1b649bfd1086d67f6ff", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/6cfb7030e5e611653964f1b649bfd1086d67f6ff/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "b1517c58bbf24ed8dab17b1285978ce17dc1fba6", + "url": "https://api.github.com/repos/open-data/ckan/commits/b1517c58bbf24ed8dab17b1285978ce17dc1fba6", + "html_url": "https://github.com/open-data/ckan/commit/b1517c58bbf24ed8dab17b1285978ce17dc1fba6" + } + ] + }, + { + "sha": "9a72bb7aba9f478fc51fb314184a8e9b092995f6", + "node_id": "C_kwDOAHlEatoAKDlhNzJiYjdhYmE5ZjQ3OGZjNTFmYjMxNDE4NGE4ZTliMDkyOTk1ZjY", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-03-14T13:00:52Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-11T19:51:37Z" + }, + "message": "Merge pull request #7346 from JVickery-TBS/fix/datastore_json_validator\n\nDatastore `json_validator` 500 error on null/None", + "tree": { + "sha": "9e924cf31baf96c736b0b7a6ec4c5d97d1fbd9b3", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/9e924cf31baf96c736b0b7a6ec4c5d97d1fbd9b3" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/9a72bb7aba9f478fc51fb314184a8e9b092995f6", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/9a72bb7aba9f478fc51fb314184a8e9b092995f6", + "html_url": "https://github.com/open-data/ckan/commit/9a72bb7aba9f478fc51fb314184a8e9b092995f6", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/9a72bb7aba9f478fc51fb314184a8e9b092995f6/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "6cfb7030e5e611653964f1b649bfd1086d67f6ff", + "url": "https://api.github.com/repos/open-data/ckan/commits/6cfb7030e5e611653964f1b649bfd1086d67f6ff", + "html_url": "https://github.com/open-data/ckan/commit/6cfb7030e5e611653964f1b649bfd1086d67f6ff" + } + ] + }, + { + "sha": "76b60984a1f9f5d53ec2910527af0327a0b76ba1", + "node_id": "C_kwDOAHlEatoAKDc2YjYwOTg0YTFmOWY1ZDUzZWMyOTEwNTI3YWYwMzI3YTBiNzZiYTE", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-01-24T19:34:25Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-11T19:52:10Z" + }, + "message": "Merge pull request #7345 from JVickery-TBS/fix/datastore_active_flagging\n\nDatastore Active Flagging During `datastore_delete`", + "tree": { + "sha": "2f9f27cd725457959ad143f06b8fff6f23c2b614", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/2f9f27cd725457959ad143f06b8fff6f23c2b614" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/76b60984a1f9f5d53ec2910527af0327a0b76ba1", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/76b60984a1f9f5d53ec2910527af0327a0b76ba1", + "html_url": "https://github.com/open-data/ckan/commit/76b60984a1f9f5d53ec2910527af0327a0b76ba1", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/76b60984a1f9f5d53ec2910527af0327a0b76ba1/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "9a72bb7aba9f478fc51fb314184a8e9b092995f6", + "url": "https://api.github.com/repos/open-data/ckan/commits/9a72bb7aba9f478fc51fb314184a8e9b092995f6", + "html_url": "https://github.com/open-data/ckan/commit/9a72bb7aba9f478fc51fb314184a8e9b092995f6" + } + ] + }, + { + "sha": "0890a7790c6dd8ce7501bd64dd3340841ae25517", + "node_id": "C_kwDOAHlEatoAKDA4OTBhNzc5MGM2ZGQ4Y2U3NTAxYmQ2NGRkMzM0MDg0MWFlMjU1MTc", + "commit": { + "author": { + "name": "Adrià Mercader", + "email": "amercadero@gmail.com", + "date": "2023-07-11T12:43:19Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-11T19:55:45Z" + }, + "message": "Merge pull request #7571 from JVickery-TBS/fix/datastore-re-index\n\nDatastore Re-Index with Validated Dict can Cause SOLR Errors\n# Conflicts:\n#\tckanext/datastore/logic/action.py\n### RESOLVED.", + "tree": { + "sha": "d97392bf9f791beec730fadfbf7e9e450e5a7c95", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/d97392bf9f791beec730fadfbf7e9e450e5a7c95" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/0890a7790c6dd8ce7501bd64dd3340841ae25517", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/0890a7790c6dd8ce7501bd64dd3340841ae25517", + "html_url": "https://github.com/open-data/ckan/commit/0890a7790c6dd8ce7501bd64dd3340841ae25517", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/0890a7790c6dd8ce7501bd64dd3340841ae25517/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "76b60984a1f9f5d53ec2910527af0327a0b76ba1", + "url": "https://api.github.com/repos/open-data/ckan/commits/76b60984a1f9f5d53ec2910527af0327a0b76ba1", + "html_url": "https://github.com/open-data/ckan/commit/76b60984a1f9f5d53ec2910527af0327a0b76ba1" + } + ] + }, + { + "sha": "4dc5c2c82fc311e14450ec280cdab5b67ccf19a8", + "node_id": "C_kwDOAHlEatoAKDRkYzVjMmM4MmZjMzExZTE0NDUwZWMyODBjZGFiNWI2N2NjZjE5YTg", + "commit": { + "author": { + "name": "Sergey", + "email": "tonnydexter@gmail.com", + "date": "2023-05-21T20:57:04Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-11T19:57:01Z" + }, + "message": "Merge pull request #7574 from JVickery-TBS/fix/datatablesview-none\n\nDatatables View Ext: Null / NoneType Front-End Label Option & Helper\n# Conflicts:\n#\tckanext/datatablesview/helpers.py\n### RESOLVED.", + "tree": { + "sha": "a0bcb4f93ebfc840105fd86bfe385ffad1e0f82d", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/a0bcb4f93ebfc840105fd86bfe385ffad1e0f82d" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/4dc5c2c82fc311e14450ec280cdab5b67ccf19a8", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/4dc5c2c82fc311e14450ec280cdab5b67ccf19a8", + "html_url": "https://github.com/open-data/ckan/commit/4dc5c2c82fc311e14450ec280cdab5b67ccf19a8", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/4dc5c2c82fc311e14450ec280cdab5b67ccf19a8/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "0890a7790c6dd8ce7501bd64dd3340841ae25517", + "url": "https://api.github.com/repos/open-data/ckan/commits/0890a7790c6dd8ce7501bd64dd3340841ae25517", + "html_url": "https://github.com/open-data/ckan/commit/0890a7790c6dd8ce7501bd64dd3340841ae25517" + } + ] + }, + { + "sha": "42241add746ff937c8c743c09a2bf7487a0849ec", + "node_id": "C_kwDOAHlEatoAKDQyMjQxYWRkNzQ2ZmY5MzdjOGM3NDNjMDlhMmJmNzQ4N2EwODQ5ZWM", + "commit": { + "author": { + "name": "Adrià Mercader", + "email": "amercadero@gmail.com", + "date": "2023-11-02T12:24:57Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-11T19:57:27Z" + }, + "message": "Merge pull request #7804 from JVickery-TBS/fix/prevent-member-duplication\n\nFix Possible Member Duplication", + "tree": { + "sha": "b512f493298308f1f5293339e0575286ff937414", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/b512f493298308f1f5293339e0575286ff937414" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/42241add746ff937c8c743c09a2bf7487a0849ec", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/42241add746ff937c8c743c09a2bf7487a0849ec", + "html_url": "https://github.com/open-data/ckan/commit/42241add746ff937c8c743c09a2bf7487a0849ec", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/42241add746ff937c8c743c09a2bf7487a0849ec/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "4dc5c2c82fc311e14450ec280cdab5b67ccf19a8", + "url": "https://api.github.com/repos/open-data/ckan/commits/4dc5c2c82fc311e14450ec280cdab5b67ccf19a8", + "html_url": "https://github.com/open-data/ckan/commit/4dc5c2c82fc311e14450ec280cdab5b67ccf19a8" + } + ] + }, + { + "sha": "34189c9e7581ee6cdbd06b18e2ae23eebe1cda38", + "node_id": "C_kwDOAHlEatoAKDM0MTg5YzllNzU4MWVlNmNkYmQwNmIxOGUyYWUyM2VlYmUxY2RhMzg", + "commit": { + "author": { + "name": "Sergey", + "email": "tonnydexter@gmail.com", + "date": "2023-10-12T12:39:30Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-11T19:58:02Z" + }, + "message": "Merge pull request #7813 from JVickery-TBS/feature/add-missing-confirm-action-views\n\nAdd Missing Confirm Action Views/Templates", + "tree": { + "sha": "640f684311a01900e9820f4dafa2da97fb9e0f4e", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/640f684311a01900e9820f4dafa2da97fb9e0f4e" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/34189c9e7581ee6cdbd06b18e2ae23eebe1cda38", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/34189c9e7581ee6cdbd06b18e2ae23eebe1cda38", + "html_url": "https://github.com/open-data/ckan/commit/34189c9e7581ee6cdbd06b18e2ae23eebe1cda38", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/34189c9e7581ee6cdbd06b18e2ae23eebe1cda38/comments", + "author": { + "login": "smotornyuk", + "id": 11091199, + "node_id": "MDQ6VXNlcjExMDkxMTk5", + "avatar_url": "https://avatars.githubusercontent.com/u/11091199?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/smotornyuk", + "html_url": "https://github.com/smotornyuk", + "followers_url": "https://api.github.com/users/smotornyuk/followers", + "following_url": "https://api.github.com/users/smotornyuk/following{/other_user}", + "gists_url": "https://api.github.com/users/smotornyuk/gists{/gist_id}", + "starred_url": "https://api.github.com/users/smotornyuk/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/smotornyuk/subscriptions", + "organizations_url": "https://api.github.com/users/smotornyuk/orgs", + "repos_url": "https://api.github.com/users/smotornyuk/repos", + "events_url": "https://api.github.com/users/smotornyuk/events{/privacy}", + "received_events_url": "https://api.github.com/users/smotornyuk/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "42241add746ff937c8c743c09a2bf7487a0849ec", + "url": "https://api.github.com/repos/open-data/ckan/commits/42241add746ff937c8c743c09a2bf7487a0849ec", + "html_url": "https://github.com/open-data/ckan/commit/42241add746ff937c8c743c09a2bf7487a0849ec" + } + ] + }, + { + "sha": "9faeac35371311609bb90a882d6f52ed4450fc2a", + "node_id": "C_kwDOAHlEatoAKDlmYWVhYzM1MzcxMzExNjA5YmI5MGE4ODJkNmY1MmVkNDQ1MGZjMmE", + "commit": { + "author": { + "name": "Konstantin Sivakov", + "email": "konstantin.sivakov@gmail.com", + "date": "2024-05-29T17:53:11Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-11T19:58:52Z" + }, + "message": "Merge pull request #8240 from JVickery-TBS/feature/job-workers-options\n\nMax Idle Time for Jobs Worker Command", + "tree": { + "sha": "23814584c4aa6370d261c358984521e979a5802a", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/23814584c4aa6370d261c358984521e979a5802a" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/9faeac35371311609bb90a882d6f52ed4450fc2a", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/9faeac35371311609bb90a882d6f52ed4450fc2a", + "html_url": "https://github.com/open-data/ckan/commit/9faeac35371311609bb90a882d6f52ed4450fc2a", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/9faeac35371311609bb90a882d6f52ed4450fc2a/comments", + "author": { + "login": "tino097", + "id": 2707446, + "node_id": "MDQ6VXNlcjI3MDc0NDY=", + "avatar_url": "https://avatars.githubusercontent.com/u/2707446?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/tino097", + "html_url": "https://github.com/tino097", + "followers_url": "https://api.github.com/users/tino097/followers", + "following_url": "https://api.github.com/users/tino097/following{/other_user}", + "gists_url": "https://api.github.com/users/tino097/gists{/gist_id}", + "starred_url": "https://api.github.com/users/tino097/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/tino097/subscriptions", + "organizations_url": "https://api.github.com/users/tino097/orgs", + "repos_url": "https://api.github.com/users/tino097/repos", + "events_url": "https://api.github.com/users/tino097/events{/privacy}", + "received_events_url": "https://api.github.com/users/tino097/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "34189c9e7581ee6cdbd06b18e2ae23eebe1cda38", + "url": "https://api.github.com/repos/open-data/ckan/commits/34189c9e7581ee6cdbd06b18e2ae23eebe1cda38", + "html_url": "https://github.com/open-data/ckan/commit/34189c9e7581ee6cdbd06b18e2ae23eebe1cda38" + } + ] + }, + { + "sha": "abfec3e874db68cc0318664d1f9271436ee6a8df", + "node_id": "C_kwDOAHlEatoAKGFiZmVjM2U4NzRkYjY4Y2MwMzE4NjY0ZDFmOTI3MTQzNmVlNmE4ZGY", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2024-04-09T13:18:27Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-11T19:59:07Z" + }, + "message": "Merge pull request #8154 from JVickery-TBS/feature/view-list-classes\n\nMore CSS Classes on Resource View List Items", + "tree": { + "sha": "4846c847494a74cf703370944047061b74fc22b7", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/4846c847494a74cf703370944047061b74fc22b7" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/abfec3e874db68cc0318664d1f9271436ee6a8df", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/abfec3e874db68cc0318664d1f9271436ee6a8df", + "html_url": "https://github.com/open-data/ckan/commit/abfec3e874db68cc0318664d1f9271436ee6a8df", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/abfec3e874db68cc0318664d1f9271436ee6a8df/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "9faeac35371311609bb90a882d6f52ed4450fc2a", + "url": "https://api.github.com/repos/open-data/ckan/commits/9faeac35371311609bb90a882d6f52ed4450fc2a", + "html_url": "https://github.com/open-data/ckan/commit/9faeac35371311609bb90a882d6f52ed4450fc2a" + } + ] + }, + { + "sha": "5b206dd68d06bfc3b243cbeb3938e23baa0539a8", + "node_id": "C_kwDOAHlEatoAKDViMjA2ZGQ2OGQwNmJmYzNiMjQzY2JlYjM5MzhlMjNiYWEwNTM5YTg", + "commit": { + "author": { + "name": "Adrià Mercader", + "email": "amercadero@gmail.com", + "date": "2023-11-29T11:38:16Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-11T20:01:38Z" + }, + "message": "Merge pull request #7944 from JVickery-TBS/fix/cli-views-create\n\nViews Create CLI Sub-Command Fixes", + "tree": { + "sha": "45a2e880205c28657de29059c7c191d1ee15cf51", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/45a2e880205c28657de29059c7c191d1ee15cf51" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/5b206dd68d06bfc3b243cbeb3938e23baa0539a8", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/5b206dd68d06bfc3b243cbeb3938e23baa0539a8", + "html_url": "https://github.com/open-data/ckan/commit/5b206dd68d06bfc3b243cbeb3938e23baa0539a8", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/5b206dd68d06bfc3b243cbeb3938e23baa0539a8/comments", + "author": { + "login": "amercader", + "id": 200230, + "node_id": "MDQ6VXNlcjIwMDIzMA==", + "avatar_url": "https://avatars.githubusercontent.com/u/200230?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/amercader", + "html_url": "https://github.com/amercader", + "followers_url": "https://api.github.com/users/amercader/followers", + "following_url": "https://api.github.com/users/amercader/following{/other_user}", + "gists_url": "https://api.github.com/users/amercader/gists{/gist_id}", + "starred_url": "https://api.github.com/users/amercader/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/amercader/subscriptions", + "organizations_url": "https://api.github.com/users/amercader/orgs", + "repos_url": "https://api.github.com/users/amercader/repos", + "events_url": "https://api.github.com/users/amercader/events{/privacy}", + "received_events_url": "https://api.github.com/users/amercader/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "abfec3e874db68cc0318664d1f9271436ee6a8df", + "url": "https://api.github.com/repos/open-data/ckan/commits/abfec3e874db68cc0318664d1f9271436ee6a8df", + "html_url": "https://github.com/open-data/ckan/commit/abfec3e874db68cc0318664d1f9271436ee6a8df" + } + ] + }, + { + "sha": "492a46eab9371dde0a9b0411bf2d0ff2e6389c50", + "node_id": "C_kwDOAHlEatoAKDQ5MmE0NmVhYjkzNzFkZGUwYTliMDQxMWJmMmQwZmYyZTYzODljNTA", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-11T20:12:28Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-11T20:12:28Z" + }, + "message": "fix(misc): req version;\n\n- Require `rq` higher.", + "tree": { + "sha": "88bf6b738efb74dd4d4989201dda0b202d7f7baa", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/88bf6b738efb74dd4d4989201dda0b202d7f7baa" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/492a46eab9371dde0a9b0411bf2d0ff2e6389c50", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/492a46eab9371dde0a9b0411bf2d0ff2e6389c50", + "html_url": "https://github.com/open-data/ckan/commit/492a46eab9371dde0a9b0411bf2d0ff2e6389c50", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/492a46eab9371dde0a9b0411bf2d0ff2e6389c50/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "5b206dd68d06bfc3b243cbeb3938e23baa0539a8", + "url": "https://api.github.com/repos/open-data/ckan/commits/5b206dd68d06bfc3b243cbeb3938e23baa0539a8", + "html_url": "https://github.com/open-data/ckan/commit/5b206dd68d06bfc3b243cbeb3938e23baa0539a8" + } + ] + }, + { + "sha": "68293646b84cb9718a2d62d9cd4f2c9613800202", + "node_id": "C_kwDOAHlEatoAKDY4MjkzNjQ2Yjg0Y2I5NzE4YTJkNjJkOWNkNGYyYzk2MTM4MDAyMDI", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-12T17:57:02Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-12T17:57:02Z" + }, + "message": "fix(templates) url helper;\n\n- `url` -> `url_for`.", + "tree": { + "sha": "478347ea9ac5375d886e878b479caf6ad9831a09", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/478347ea9ac5375d886e878b479caf6ad9831a09" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/68293646b84cb9718a2d62d9cd4f2c9613800202", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/68293646b84cb9718a2d62d9cd4f2c9613800202", + "html_url": "https://github.com/open-data/ckan/commit/68293646b84cb9718a2d62d9cd4f2c9613800202", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/68293646b84cb9718a2d62d9cd4f2c9613800202/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "492a46eab9371dde0a9b0411bf2d0ff2e6389c50", + "url": "https://api.github.com/repos/open-data/ckan/commits/492a46eab9371dde0a9b0411bf2d0ff2e6389c50", + "html_url": "https://github.com/open-data/ckan/commit/492a46eab9371dde0a9b0411bf2d0ff2e6389c50" + } + ] + }, + { + "sha": "b5a9b523630713f7710aead3ecf20c84e828188d", + "node_id": "C_kwDOAHlEatoAKGI1YTliNTIzNjMwNzEzZjc3MTBhZWFkM2VjZjIwYzg0ZTgyODE4OGQ", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-12T18:32:15Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-12T18:32:15Z" + }, + "message": "feat(views): bring back custom views;\n\n- Brought back custom single dataset feed view.", + "tree": { + "sha": "e7fcd4a4b16131509a56bf343652b5fa4b4357e2", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/e7fcd4a4b16131509a56bf343652b5fa4b4357e2" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/b5a9b523630713f7710aead3ecf20c84e828188d", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/b5a9b523630713f7710aead3ecf20c84e828188d", + "html_url": "https://github.com/open-data/ckan/commit/b5a9b523630713f7710aead3ecf20c84e828188d", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/b5a9b523630713f7710aead3ecf20c84e828188d/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "68293646b84cb9718a2d62d9cd4f2c9613800202", + "url": "https://api.github.com/repos/open-data/ckan/commits/68293646b84cb9718a2d62d9cd4f2c9613800202", + "html_url": "https://github.com/open-data/ckan/commit/68293646b84cb9718a2d62d9cd4f2c9613800202" + } + ] + }, + { + "sha": "e6fe427cbb61628a0a731d2cf1757f7459bc34d8", + "node_id": "C_kwDOAHlEatoAKGU2ZmU0MjdjYmI2MTYyOGEwYTczMWQyY2YxNzU3Zjc0NTliYzM0ZDg", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-13T17:50:18Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-13T17:50:18Z" + }, + "message": "feat(views): validation flash messages;\n\n- Sysadmin view flash validation errors.", + "tree": { + "sha": "97356ffa56863a79886696deefc41a872265dd49", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/97356ffa56863a79886696deefc41a872265dd49" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/e6fe427cbb61628a0a731d2cf1757f7459bc34d8", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/e6fe427cbb61628a0a731d2cf1757f7459bc34d8", + "html_url": "https://github.com/open-data/ckan/commit/e6fe427cbb61628a0a731d2cf1757f7459bc34d8", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/e6fe427cbb61628a0a731d2cf1757f7459bc34d8/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "b5a9b523630713f7710aead3ecf20c84e828188d", + "url": "https://api.github.com/repos/open-data/ckan/commits/b5a9b523630713f7710aead3ecf20c84e828188d", + "html_url": "https://github.com/open-data/ckan/commit/b5a9b523630713f7710aead3ecf20c84e828188d" + } + ] + }, + { + "sha": "a6198a7d000dc9bc20722f9e60e3eb80f3595720", + "node_id": "C_kwDOAHlEatoAKGE2MTk4YTdkMDAwZGM5YmMyMDcyMmY5ZTYwZTNlYjgwZjM1OTU3MjA", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-01-29T21:58:06Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-13T18:41:56Z" + }, + "message": "feat(activity): resource view activity;\n\n- Added validators for view activity names.\n- Added suscriptors for the new activity types.", + "tree": { + "sha": "5d8427a9604e77481647545bebb91d2f574ce1db", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/5d8427a9604e77481647545bebb91d2f574ce1db" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/a6198a7d000dc9bc20722f9e60e3eb80f3595720", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/a6198a7d000dc9bc20722f9e60e3eb80f3595720", + "html_url": "https://github.com/open-data/ckan/commit/a6198a7d000dc9bc20722f9e60e3eb80f3595720", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/a6198a7d000dc9bc20722f9e60e3eb80f3595720/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "e6fe427cbb61628a0a731d2cf1757f7459bc34d8", + "url": "https://api.github.com/repos/open-data/ckan/commits/e6fe427cbb61628a0a731d2cf1757f7459bc34d8", + "html_url": "https://github.com/open-data/ckan/commit/e6fe427cbb61628a0a731d2cf1757f7459bc34d8" + } + ] + }, + { + "sha": "064180cb79a6309797dc7d0943ef6da601073385", + "node_id": "C_kwDOAHlEatoAKDA2NDE4MGNiNzlhNjMwOTc5N2RjN2QwOTQzZWY2ZGE2MDEwNzMzODU", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-01-30T15:32:24Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-13T18:43:52Z" + }, + "message": "feat(activity): resource view activity;\n\n- Finalized subscription methods.\n- Added templates.\n\n# Conflicts:\n#\tckanext/activity/assets/activity.css\n### RESOLVED.", + "tree": { + "sha": "d15efe463311e0cea81a39899c18320b0214226e", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/d15efe463311e0cea81a39899c18320b0214226e" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/064180cb79a6309797dc7d0943ef6da601073385", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/064180cb79a6309797dc7d0943ef6da601073385", + "html_url": "https://github.com/open-data/ckan/commit/064180cb79a6309797dc7d0943ef6da601073385", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/064180cb79a6309797dc7d0943ef6da601073385/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "a6198a7d000dc9bc20722f9e60e3eb80f3595720", + "url": "https://api.github.com/repos/open-data/ckan/commits/a6198a7d000dc9bc20722f9e60e3eb80f3595720", + "html_url": "https://github.com/open-data/ckan/commit/a6198a7d000dc9bc20722f9e60e3eb80f3595720" + } + ] + }, + { + "sha": "537945338408f7979fe93fa0f65daf89bee68e1a", + "node_id": "C_kwDOAHlEatoAKDUzNzk0NTMzODQwOGY3OTc5ZmU5M2ZhMGY2NWRhZjg5YmVlNjhlMWE", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-01-30T15:34:45Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-13T18:44:08Z" + }, + "message": "feat(dev): changelog;\n\n- Added change log file.", + "tree": { + "sha": "575803db2092a216a981bb1b59733f8f829dd08c", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/575803db2092a216a981bb1b59733f8f829dd08c" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/537945338408f7979fe93fa0f65daf89bee68e1a", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/537945338408f7979fe93fa0f65daf89bee68e1a", + "html_url": "https://github.com/open-data/ckan/commit/537945338408f7979fe93fa0f65daf89bee68e1a", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/537945338408f7979fe93fa0f65daf89bee68e1a/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "064180cb79a6309797dc7d0943ef6da601073385", + "url": "https://api.github.com/repos/open-data/ckan/commits/064180cb79a6309797dc7d0943ef6da601073385", + "html_url": "https://github.com/open-data/ckan/commit/064180cb79a6309797dc7d0943ef6da601073385" + } + ] + }, + { + "sha": "1cf910a3fcd744973ecbbd5fc40132a83f6768c6", + "node_id": "C_kwDOAHlEatoAKDFjZjkxMGEzZmNkNzQ0OTczZWNiYmQ1ZmM0MDEzMmE4M2Y2NzY4YzY", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-01-30T15:42:42Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-13T18:44:23Z" + }, + "message": "fix(typing): moved asserts;\n\n- Moved asserts to fix typing issue.", + "tree": { + "sha": "3c7583137aa720f4426ebad4881bb36b70b37c16", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/3c7583137aa720f4426ebad4881bb36b70b37c16" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/1cf910a3fcd744973ecbbd5fc40132a83f6768c6", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/1cf910a3fcd744973ecbbd5fc40132a83f6768c6", + "html_url": "https://github.com/open-data/ckan/commit/1cf910a3fcd744973ecbbd5fc40132a83f6768c6", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/1cf910a3fcd744973ecbbd5fc40132a83f6768c6/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "537945338408f7979fe93fa0f65daf89bee68e1a", + "url": "https://api.github.com/repos/open-data/ckan/commits/537945338408f7979fe93fa0f65daf89bee68e1a", + "html_url": "https://github.com/open-data/ckan/commit/537945338408f7979fe93fa0f65daf89bee68e1a" + } + ] + }, + { + "sha": "72cc094be9ef37cc3b1b981e59eb7da1e59d48a9", + "node_id": "C_kwDOAHlEatoAKDcyY2MwOTRiZTllZjM3Y2MzYjFiOTgxZTU5ZWI3ZGExZTU5ZDQ4YTk", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-01-30T15:47:34Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-13T18:44:47Z" + }, + "message": "fix(typing): type ignore;\n\n- Added type ignore comments.", + "tree": { + "sha": "b35c27453e45e91725b5daa53b6634071bef3415", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/b35c27453e45e91725b5daa53b6634071bef3415" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/72cc094be9ef37cc3b1b981e59eb7da1e59d48a9", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/72cc094be9ef37cc3b1b981e59eb7da1e59d48a9", + "html_url": "https://github.com/open-data/ckan/commit/72cc094be9ef37cc3b1b981e59eb7da1e59d48a9", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/72cc094be9ef37cc3b1b981e59eb7da1e59d48a9/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "1cf910a3fcd744973ecbbd5fc40132a83f6768c6", + "url": "https://api.github.com/repos/open-data/ckan/commits/1cf910a3fcd744973ecbbd5fc40132a83f6768c6", + "html_url": "https://github.com/open-data/ckan/commit/1cf910a3fcd744973ecbbd5fc40132a83f6768c6" + } + ] + }, + { + "sha": "3f3ddde6eca1f4753b7c2879977848c2722106ea", + "node_id": "C_kwDOAHlEatoAKDNmM2RkZGU2ZWNhMWY0NzUzYjdjMjg3OTk3Nzg0OGMyNzIyMTA2ZWE", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-01-30T15:49:37Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-13T18:45:00Z" + }, + "message": "fix(syntax): flake8;\n\n- Syntax fixes from flake8.", + "tree": { + "sha": "fa19b24b2fa955a788024692d37d937828423c03", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/fa19b24b2fa955a788024692d37d937828423c03" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/3f3ddde6eca1f4753b7c2879977848c2722106ea", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/3f3ddde6eca1f4753b7c2879977848c2722106ea", + "html_url": "https://github.com/open-data/ckan/commit/3f3ddde6eca1f4753b7c2879977848c2722106ea", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/3f3ddde6eca1f4753b7c2879977848c2722106ea/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "72cc094be9ef37cc3b1b981e59eb7da1e59d48a9", + "url": "https://api.github.com/repos/open-data/ckan/commits/72cc094be9ef37cc3b1b981e59eb7da1e59d48a9", + "html_url": "https://github.com/open-data/ckan/commit/72cc094be9ef37cc3b1b981e59eb7da1e59d48a9" + } + ] + }, + { + "sha": "f4e157a192fb2c77069974397468534f77b38c5d", + "node_id": "C_kwDOAHlEatoAKGY0ZTE1N2ExOTJmYjJjNzcwNjk5NzQzOTc0Njg1MzRmNzdiMzhjNWQ", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-11-06T21:17:09Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-13T18:54:33Z" + }, + "message": "Merge pull request #7885 from darashevcstbg/5772-add-activity-streams-for-private-datasets\n\n5772 add activity streams for private datasets\n# Conflicts:\n#\tckanext/activity/tests/logic/test_action.py\n#\tckanext/activity/tests/test_helpers.py\n#\tckanext/activity/tests/test_views.py\n### RESOLVED.", + "tree": { + "sha": "6d4a5bb5ea339cf68c7631458353a56b0827c81c", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/6d4a5bb5ea339cf68c7631458353a56b0827c81c" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/f4e157a192fb2c77069974397468534f77b38c5d", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/f4e157a192fb2c77069974397468534f77b38c5d", + "html_url": "https://github.com/open-data/ckan/commit/f4e157a192fb2c77069974397468534f77b38c5d", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/f4e157a192fb2c77069974397468534f77b38c5d/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "3f3ddde6eca1f4753b7c2879977848c2722106ea", + "url": "https://api.github.com/repos/open-data/ckan/commits/3f3ddde6eca1f4753b7c2879977848c2722106ea", + "html_url": "https://github.com/open-data/ckan/commit/3f3ddde6eca1f4753b7c2879977848c2722106ea" + } + ] + }, + { + "sha": "3a5f968dd90d66dc200fa8d0b0853132113da7cd", + "node_id": "C_kwDOAHlEatoAKDNhNWY5NjhkZDkwZDY2ZGMyMDBmYThkMGIwODUzMTMyMTEzZGE3Y2Q", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-13T19:27:20Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-13T19:27:20Z" + }, + "message": "fix(templates): history alerts;\n\n- Cannot have floating text inside of divs.", + "tree": { + "sha": "ba880c968855e3ce319fcd1efa04bde9e1ecbde2", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/ba880c968855e3ce319fcd1efa04bde9e1ecbde2" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/3a5f968dd90d66dc200fa8d0b0853132113da7cd", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/3a5f968dd90d66dc200fa8d0b0853132113da7cd", + "html_url": "https://github.com/open-data/ckan/commit/3a5f968dd90d66dc200fa8d0b0853132113da7cd", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/3a5f968dd90d66dc200fa8d0b0853132113da7cd/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "f4e157a192fb2c77069974397468534f77b38c5d", + "url": "https://api.github.com/repos/open-data/ckan/commits/f4e157a192fb2c77069974397468534f77b38c5d", + "html_url": "https://github.com/open-data/ckan/commit/f4e157a192fb2c77069974397468534f77b38c5d" + } + ] + }, + { + "sha": "f800e488656a575a09e76b8267a0855d1556a603", + "node_id": "C_kwDOAHlEatoAKGY4MDBlNDg4NjU2YTU3NWEwOWU3NmI4MjY3YTA4NTVkMTU1NmE2MDM", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-14T14:31:46Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-14T14:31:46Z" + }, + "message": "feat(templates): activity select;\n\n- Add blocks to activity select template snippet.\n- Add missing gettext call.", + "tree": { + "sha": "76deb3f56868dec64a9f09196141442f6bdc65a3", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/76deb3f56868dec64a9f09196141442f6bdc65a3" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/f800e488656a575a09e76b8267a0855d1556a603", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/f800e488656a575a09e76b8267a0855d1556a603", + "html_url": "https://github.com/open-data/ckan/commit/f800e488656a575a09e76b8267a0855d1556a603", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/f800e488656a575a09e76b8267a0855d1556a603/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "3a5f968dd90d66dc200fa8d0b0853132113da7cd", + "url": "https://api.github.com/repos/open-data/ckan/commits/3a5f968dd90d66dc200fa8d0b0853132113da7cd", + "html_url": "https://github.com/open-data/ckan/commit/3a5f968dd90d66dc200fa8d0b0853132113da7cd" + } + ] + }, + { + "sha": "f4361dde5980f15c943380e501a9ff30f9ec6019", + "node_id": "C_kwDOAHlEatoAKGY0MzYxZGRlNTk4MGYxNWM5NDMzODBlNTAxYTlmZjMwZjllYzYwMTk", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-14T16:35:06Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-14T16:35:06Z" + }, + "message": "fix(logic): load non-prefixed resource views;\n\n- Load order for non-prefixed resource views.", + "tree": { + "sha": "9b9c6e2f42ee52c3c3581a57391cab678f7fe43b", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/9b9c6e2f42ee52c3c3581a57391cab678f7fe43b" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/f4361dde5980f15c943380e501a9ff30f9ec6019", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/f4361dde5980f15c943380e501a9ff30f9ec6019", + "html_url": "https://github.com/open-data/ckan/commit/f4361dde5980f15c943380e501a9ff30f9ec6019", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/f4361dde5980f15c943380e501a9ff30f9ec6019/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "f800e488656a575a09e76b8267a0855d1556a603", + "url": "https://api.github.com/repos/open-data/ckan/commits/f800e488656a575a09e76b8267a0855d1556a603", + "html_url": "https://github.com/open-data/ckan/commit/f800e488656a575a09e76b8267a0855d1556a603" + } + ] + }, + { + "sha": "0dad6e38472cad0a6e012fd02e9a9378c55821b3", + "node_id": "C_kwDOAHlEatoAKDBkYWQ2ZTM4NDcyY2FkMGE2ZTAxMmZkMDJlOWE5Mzc4YzU1ODIxYjM", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-14T20:33:56Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-14T20:33:56Z" + }, + "message": "feat(logic): ds trigger argmode;\n\n- Add `argmode` to Datastore create triggers.", + "tree": { + "sha": "13f8a71dbe90a80db890d59e1be6d10a64400e93", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/13f8a71dbe90a80db890d59e1be6d10a64400e93" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/0dad6e38472cad0a6e012fd02e9a9378c55821b3", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/0dad6e38472cad0a6e012fd02e9a9378c55821b3", + "html_url": "https://github.com/open-data/ckan/commit/0dad6e38472cad0a6e012fd02e9a9378c55821b3", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/0dad6e38472cad0a6e012fd02e9a9378c55821b3/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "f4361dde5980f15c943380e501a9ff30f9ec6019", + "url": "https://api.github.com/repos/open-data/ckan/commits/f4361dde5980f15c943380e501a9ff30f9ec6019", + "html_url": "https://github.com/open-data/ckan/commit/f4361dde5980f15c943380e501a9ff30f9ec6019" + } + ] + }, + { + "sha": "406908f0bb5e682f62f5c1c41805c26f31a053ba", + "node_id": "C_kwDOAHlEatoAKDQwNjkwOGYwYmI1ZTY4MmY2MmY1YzFjNDE4MDVjMjZmMzFhMDUzYmE", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-17T15:22:22Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-17T15:22:22Z" + }, + "message": "feat(github): disable workflows;\n\n- Disable core workflows for canada fork.", + "tree": { + "sha": "2f6245e922c0a2ced70c4543e85f75ec32d855ce", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/2f6245e922c0a2ced70c4543e85f75ec32d855ce" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/406908f0bb5e682f62f5c1c41805c26f31a053ba", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/406908f0bb5e682f62f5c1c41805c26f31a053ba", + "html_url": "https://github.com/open-data/ckan/commit/406908f0bb5e682f62f5c1c41805c26f31a053ba", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/406908f0bb5e682f62f5c1c41805c26f31a053ba/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "0dad6e38472cad0a6e012fd02e9a9378c55821b3", + "url": "https://api.github.com/repos/open-data/ckan/commits/0dad6e38472cad0a6e012fd02e9a9378c55821b3", + "html_url": "https://github.com/open-data/ckan/commit/0dad6e38472cad0a6e012fd02e9a9378c55821b3" + } + ] + }, + { + "sha": "cd7ef6968d10776ca5615dfc1aae76ef675df641", + "node_id": "C_kwDOAHlEatoAKGNkN2VmNjk2OGQxMDc3NmNhNTYxNWRmYzFhYWU3NmVmNjc1ZGY2NDE", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-17T17:22:47Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-17T17:22:47Z" + }, + "message": "Merge branch 'canada-py3' into canada-v2.10\n\n# Conflicts:\n#\tckan/cli/jobs.py\n### RESOLVED.", + "tree": { + "sha": "d25d78d611088460c9bbf9f170b73a94b21ada8f", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/d25d78d611088460c9bbf9f170b73a94b21ada8f" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/cd7ef6968d10776ca5615dfc1aae76ef675df641", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/cd7ef6968d10776ca5615dfc1aae76ef675df641", + "html_url": "https://github.com/open-data/ckan/commit/cd7ef6968d10776ca5615dfc1aae76ef675df641", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/cd7ef6968d10776ca5615dfc1aae76ef675df641/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "406908f0bb5e682f62f5c1c41805c26f31a053ba", + "url": "https://api.github.com/repos/open-data/ckan/commits/406908f0bb5e682f62f5c1c41805c26f31a053ba", + "html_url": "https://github.com/open-data/ckan/commit/406908f0bb5e682f62f5c1c41805c26f31a053ba" + }, + { + "sha": "410e7092533b82e6f059d8159b42835436af5548", + "url": "https://api.github.com/repos/open-data/ckan/commits/410e7092533b82e6f059d8159b42835436af5548", + "html_url": "https://github.com/open-data/ckan/commit/410e7092533b82e6f059d8159b42835436af5548" + } + ] + }, + { + "sha": "ebba1999355db39f0aac3c0fe05db2f13ed576b0", + "node_id": "C_kwDOAHlEatoAKGViYmExOTk5MzU1ZGIzOWYwYWFjM2MwZmUwNWRiMmYxM2VkNTc2YjA", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-18T15:19:26Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-18T15:19:26Z" + }, + "message": "Merge branch 'canada-py3' into canada-v2.10", + "tree": { + "sha": "fc0fd5570da2144a41e81879b842c33760279303", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/fc0fd5570da2144a41e81879b842c33760279303" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/ebba1999355db39f0aac3c0fe05db2f13ed576b0", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/ebba1999355db39f0aac3c0fe05db2f13ed576b0", + "html_url": "https://github.com/open-data/ckan/commit/ebba1999355db39f0aac3c0fe05db2f13ed576b0", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/ebba1999355db39f0aac3c0fe05db2f13ed576b0/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "cd7ef6968d10776ca5615dfc1aae76ef675df641", + "url": "https://api.github.com/repos/open-data/ckan/commits/cd7ef6968d10776ca5615dfc1aae76ef675df641", + "html_url": "https://github.com/open-data/ckan/commit/cd7ef6968d10776ca5615dfc1aae76ef675df641" + }, + { + "sha": "95d119bcaadb50d4da41d0220d6c19f649602eae", + "url": "https://api.github.com/repos/open-data/ckan/commits/95d119bcaadb50d4da41d0220d6c19f649602eae", + "html_url": "https://github.com/open-data/ckan/commit/95d119bcaadb50d4da41d0220d6c19f649602eae" + } + ] + }, + { + "sha": "d643fbb67aa69a3115cb29eb361267c1a99d4bab", + "node_id": "C_kwDOAHlEatoAKGQ2NDNmYmI2N2FhNjlhMzExNWNiMjllYjM2MTI2N2MxYTk5ZDRiYWI", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2024-01-15T04:26:47Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-18T19:20:25Z" + }, + "message": "[#7971] display errors, populate invalid values\n\n# Conflicts:\n#\tckanext/datastore/blueprint.py\n#\tckanext/datastore/logic/action.py\n#\tckanext/datastore/templates/datastore/dictionary.html\n#\tckanext/example_idatadictionaryform/plugin.py\n#\tckanext/example_idatadictionaryform/templates/datastore/snippets/dictionary_form.html\n### RESOLVED.", + "tree": { + "sha": "654f279f50d9bf9fbadec3b16132613e8cbc86ab", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/654f279f50d9bf9fbadec3b16132613e8cbc86ab" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/d643fbb67aa69a3115cb29eb361267c1a99d4bab", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/d643fbb67aa69a3115cb29eb361267c1a99d4bab", + "html_url": "https://github.com/open-data/ckan/commit/d643fbb67aa69a3115cb29eb361267c1a99d4bab", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/d643fbb67aa69a3115cb29eb361267c1a99d4bab/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "ebba1999355db39f0aac3c0fe05db2f13ed576b0", + "url": "https://api.github.com/repos/open-data/ckan/commits/ebba1999355db39f0aac3c0fe05db2f13ed576b0", + "html_url": "https://github.com/open-data/ckan/commit/ebba1999355db39f0aac3c0fe05db2f13ed576b0" + } + ] + }, + { + "sha": "0a5a74d746c6419cb233c207ebd79c2a835f2f5d", + "node_id": "C_kwDOAHlEatoAKDBhNWE3NGQ3NDZjNjQxOWNiMjMzYzIwN2ViZDc5YzJhODM1ZjJmNWQ", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2024-01-06T04:57:23Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-18T19:27:51Z" + }, + "message": "[#7971] datastore migrate command, start of plugin_data handling\n\n# Conflicts:\n#\tckanext/datastore/backend/postgres.py\n#\tckanext/datastore/interfaces.py\n#\tckanext/datastore/logic/action.py\n### RESOLVED.", + "tree": { + "sha": "db5f6daef509a7dba72fc6299483fab1feace367", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/db5f6daef509a7dba72fc6299483fab1feace367" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/0a5a74d746c6419cb233c207ebd79c2a835f2f5d", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/0a5a74d746c6419cb233c207ebd79c2a835f2f5d", + "html_url": "https://github.com/open-data/ckan/commit/0a5a74d746c6419cb233c207ebd79c2a835f2f5d", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/0a5a74d746c6419cb233c207ebd79c2a835f2f5d/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "d643fbb67aa69a3115cb29eb361267c1a99d4bab", + "url": "https://api.github.com/repos/open-data/ckan/commits/d643fbb67aa69a3115cb29eb361267c1a99d4bab", + "html_url": "https://github.com/open-data/ckan/commit/d643fbb67aa69a3115cb29eb361267c1a99d4bab" + } + ] + }, + { + "sha": "bb222a9aafd626f807327d04b0459514b6a5a2c9", + "node_id": "C_kwDOAHlEatoAKGJiMjIyYTlhYWZkNjI2ZjgwNzMyN2QwNGIwNDU5NTE0YjZhNWEyYzk", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-18T19:29:05Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-18T19:29:05Z" + }, + "message": "[#7971] datastore migrate command, start of plugin_data handling", + "tree": { + "sha": "b2e1edffee0aa5741e93710043eb70485549bb59", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/b2e1edffee0aa5741e93710043eb70485549bb59" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/bb222a9aafd626f807327d04b0459514b6a5a2c9", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/bb222a9aafd626f807327d04b0459514b6a5a2c9", + "html_url": "https://github.com/open-data/ckan/commit/bb222a9aafd626f807327d04b0459514b6a5a2c9", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/bb222a9aafd626f807327d04b0459514b6a5a2c9/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "0a5a74d746c6419cb233c207ebd79c2a835f2f5d", + "url": "https://api.github.com/repos/open-data/ckan/commits/0a5a74d746c6419cb233c207ebd79c2a835f2f5d", + "html_url": "https://github.com/open-data/ckan/commit/0a5a74d746c6419cb233c207ebd79c2a835f2f5d" + } + ] + }, + { + "sha": "545eebf5a89123f556c511ceb031d9cff950a804", + "node_id": "C_kwDOAHlEatoAKDU0NWVlYmY1YTg5MTIzZjU1NmM1MTFjZWIwMzFkOWNmZjk1MGE4MDQ", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-11-17T17:42:47Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-18T20:16:16Z" + }, + "message": "[#7919] datastore_create: delete_fields option", + "tree": { + "sha": "806e7a45c729b8ec2205526b0d2d72a1f9f57b58", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/806e7a45c729b8ec2205526b0d2d72a1f9f57b58" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/545eebf5a89123f556c511ceb031d9cff950a804", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/545eebf5a89123f556c511ceb031d9cff950a804", + "html_url": "https://github.com/open-data/ckan/commit/545eebf5a89123f556c511ceb031d9cff950a804", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/545eebf5a89123f556c511ceb031d9cff950a804/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "bb222a9aafd626f807327d04b0459514b6a5a2c9", + "url": "https://api.github.com/repos/open-data/ckan/commits/bb222a9aafd626f807327d04b0459514b6a5a2c9", + "html_url": "https://github.com/open-data/ckan/commit/bb222a9aafd626f807327d04b0459514b6a5a2c9" + } + ] + }, + { + "sha": "85e770481cea0e518cdb4e554202a642e455e497", + "node_id": "C_kwDOAHlEatoAKDg1ZTc3MDQ4MWNlYTBlNTE4Y2RiNGU1NTQyMDJhNjQyZTQ1NWU0OTc", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-19T12:57:48Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-19T12:57:48Z" + }, + "message": "fix(merge): merge conflict;\n\n- Fix merge conflict for DS argmode.", + "tree": { + "sha": "45836a636656602385b3c099c5f417907d4af32b", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/45836a636656602385b3c099c5f417907d4af32b" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/85e770481cea0e518cdb4e554202a642e455e497", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/85e770481cea0e518cdb4e554202a642e455e497", + "html_url": "https://github.com/open-data/ckan/commit/85e770481cea0e518cdb4e554202a642e455e497", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/85e770481cea0e518cdb4e554202a642e455e497/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "545eebf5a89123f556c511ceb031d9cff950a804", + "url": "https://api.github.com/repos/open-data/ckan/commits/545eebf5a89123f556c511ceb031d9cff950a804", + "html_url": "https://github.com/open-data/ckan/commit/545eebf5a89123f556c511ceb031d9cff950a804" + } + ] + }, + { + "sha": "aab49669b39144528d3866671ba244469432eb37", + "node_id": "C_kwDOAHlEatoAKGFhYjQ5NjY5YjM5MTQ0NTI4ZDM4NjY2NzFiYTI0NDQ2OTQzMmViMzc", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-19T13:47:42Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-19T13:47:42Z" + }, + "message": "fix(merge): facet ranges;\n\n- Brought back facet ranges.", + "tree": { + "sha": "08490eac2f33c82ee80fd8e1ce264f35d205e058", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/08490eac2f33c82ee80fd8e1ce264f35d205e058" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/aab49669b39144528d3866671ba244469432eb37", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/aab49669b39144528d3866671ba244469432eb37", + "html_url": "https://github.com/open-data/ckan/commit/aab49669b39144528d3866671ba244469432eb37", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/aab49669b39144528d3866671ba244469432eb37/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "85e770481cea0e518cdb4e554202a642e455e497", + "url": "https://api.github.com/repos/open-data/ckan/commits/85e770481cea0e518cdb4e554202a642e455e497", + "html_url": "https://github.com/open-data/ckan/commit/85e770481cea0e518cdb4e554202a642e455e497" + } + ] + }, + { + "sha": "eb3cf2ca8a136818bd460048353a7ef274c927a1", + "node_id": "C_kwDOAHlEatoAKGViM2NmMmNhOGExMzY4MThiZDQ2MDA0ODM1M2E3ZWYyNzRjOTI3YTE", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2024-03-11T18:01:10Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-19T14:43:18Z" + }, + "message": "[#8108] update example_idatadictionaryform to show extra information\n\n# Conflicts:\n#\tckanext/datastore/helpers.py\n### RESOLVED.", + "tree": { + "sha": "6e845301cd106a379c6282a36cd44f85975d40c7", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/6e845301cd106a379c6282a36cd44f85975d40c7" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/eb3cf2ca8a136818bd460048353a7ef274c927a1", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/eb3cf2ca8a136818bd460048353a7ef274c927a1", + "html_url": "https://github.com/open-data/ckan/commit/eb3cf2ca8a136818bd460048353a7ef274c927a1", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/eb3cf2ca8a136818bd460048353a7ef274c927a1/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "aab49669b39144528d3866671ba244469432eb37", + "url": "https://api.github.com/repos/open-data/ckan/commits/aab49669b39144528d3866671ba244469432eb37", + "html_url": "https://github.com/open-data/ckan/commit/aab49669b39144528d3866671ba244469432eb37" + } + ] + }, + { + "sha": "e7caa47328783e9e8427494d230547f424845e57", + "node_id": "C_kwDOAHlEatoAKGU3Y2FhNDczMjg3ODNlOWU4NDI3NDk0ZDIzMDU0N2Y0MjQ4NDVlNTc", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2024-01-12T21:08:31Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-19T14:54:37Z" + }, + "message": "[#7971] example plugin, store and retrieve plugin_data\n\n# Conflicts:\n#\tckanext/datastore/blueprint.py\n#\tckanext/datastore/interfaces.py\n#\tckanext/datastore/logic/action.py\n#\tckanext/datastore/templates/datastore/snippets/dictionary_form.html\n#\tckanext/example_idatadictionaryform/plugin.py\n#\tckanext/example_idatadictionaryform/templates/datastore/snippets/dictionary_form.html\n### RESOLVED.", + "tree": { + "sha": "2b3e403adae241a6dc160575e3895e844d44966d", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/2b3e403adae241a6dc160575e3895e844d44966d" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/e7caa47328783e9e8427494d230547f424845e57", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/e7caa47328783e9e8427494d230547f424845e57", + "html_url": "https://github.com/open-data/ckan/commit/e7caa47328783e9e8427494d230547f424845e57", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/e7caa47328783e9e8427494d230547f424845e57/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "eb3cf2ca8a136818bd460048353a7ef274c927a1", + "url": "https://api.github.com/repos/open-data/ckan/commits/eb3cf2ca8a136818bd460048353a7ef274c927a1", + "html_url": "https://github.com/open-data/ckan/commit/eb3cf2ca8a136818bd460048353a7ef274c927a1" + } + ] + }, + { + "sha": "68189ba33a85652695503c8db5591b6232d02569", + "node_id": "C_kwDOAHlEatoAKDY4MTg5YmEzM2E4NTY1MjY5NTUwM2M4ZGI1NTkxYjYyMzJkMDI1Njk", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-21T15:22:58Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-21T15:22:58Z" + }, + "message": "Merge branch 'canada-py3' into canada-v2.10\n\n# Conflicts:\n#\tckan/views/user.py\n### RESOLVED.", + "tree": { + "sha": "d8463c826aed7a533df30d105d7735e93f55a515", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/d8463c826aed7a533df30d105d7735e93f55a515" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/68189ba33a85652695503c8db5591b6232d02569", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/68189ba33a85652695503c8db5591b6232d02569", + "html_url": "https://github.com/open-data/ckan/commit/68189ba33a85652695503c8db5591b6232d02569", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/68189ba33a85652695503c8db5591b6232d02569/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "e7caa47328783e9e8427494d230547f424845e57", + "url": "https://api.github.com/repos/open-data/ckan/commits/e7caa47328783e9e8427494d230547f424845e57", + "html_url": "https://github.com/open-data/ckan/commit/e7caa47328783e9e8427494d230547f424845e57" + }, + { + "sha": "44417ec1c803cabe3f2286185400650f77fa9838", + "url": "https://api.github.com/repos/open-data/ckan/commits/44417ec1c803cabe3f2286185400650f77fa9838", + "html_url": "https://github.com/open-data/ckan/commit/44417ec1c803cabe3f2286185400650f77fa9838" + } + ] + }, + { + "sha": "202f49d33366d3290f6e5fe8058a4afd46089fec", + "node_id": "C_kwDOAHlEatoAKDIwMmY0OWQzMzM2NmQzMjkwZjZlNWZlODA1OGE0YWZkNDYwODlmZWM", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-21T15:27:03Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-21T15:27:03Z" + }, + "message": "fix(merge): syntax;\n\n- Fix syntax from merge conflicts.", + "tree": { + "sha": "5cf3d2fe51c05d06dac6b4cd49561a0380c2f46f", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/5cf3d2fe51c05d06dac6b4cd49561a0380c2f46f" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/202f49d33366d3290f6e5fe8058a4afd46089fec", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/202f49d33366d3290f6e5fe8058a4afd46089fec", + "html_url": "https://github.com/open-data/ckan/commit/202f49d33366d3290f6e5fe8058a4afd46089fec", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/202f49d33366d3290f6e5fe8058a4afd46089fec/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "68189ba33a85652695503c8db5591b6232d02569", + "url": "https://api.github.com/repos/open-data/ckan/commits/68189ba33a85652695503c8db5591b6232d02569", + "html_url": "https://github.com/open-data/ckan/commit/68189ba33a85652695503c8db5591b6232d02569" + } + ] + }, + { + "sha": "d24b5e2322f690a115e706cf25b014fa20f93093", + "node_id": "C_kwDOAHlEatoAKGQyNGI1ZTIzMjJmNjkwYTExNWU3MDZjZjI1YjAxNGZhMjBmOTMwOTM", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-24T18:16:55Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-24T18:16:55Z" + }, + "message": "feat(templates): icons;\n\n- Nav icons.", + "tree": { + "sha": "e4b256ad4c6b6558a2dcf5eabfd6473b884d6594", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/e4b256ad4c6b6558a2dcf5eabfd6473b884d6594" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/d24b5e2322f690a115e706cf25b014fa20f93093", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/d24b5e2322f690a115e706cf25b014fa20f93093", + "html_url": "https://github.com/open-data/ckan/commit/d24b5e2322f690a115e706cf25b014fa20f93093", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/d24b5e2322f690a115e706cf25b014fa20f93093/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "202f49d33366d3290f6e5fe8058a4afd46089fec", + "url": "https://api.github.com/repos/open-data/ckan/commits/202f49d33366d3290f6e5fe8058a4afd46089fec", + "html_url": "https://github.com/open-data/ckan/commit/202f49d33366d3290f6e5fe8058a4afd46089fec" + } + ] + }, + { + "sha": "565047f99611a676dde05c2ea5e904cf496db6ed", + "node_id": "C_kwDOAHlEatoAKDU2NTA0N2Y5OTYxMWE2NzZkZGUwNWMyZWE1ZTkwNGNmNDk2ZGI2ZWQ", + "commit": { + "author": { + "name": "Ian Ward", + "email": "ian@excess.org", + "date": "2023-05-16T00:11:15Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-24T18:23:28Z" + }, + "message": "[#7586] faster navigation between dataset and resource edit pages\n\n# Conflicts:\n#\tckan/templates/group/edit_base.html\n#\tckan/templates/organization/edit_base.html\n#\tckan/templates/package/edit_base.html\n#\tckan/templates/package/read.html\n#\tckan/templates/package/snippets/resources.html\n#\tckanext/datastore/templates/package/resource_read.html\n### RESOLVED.", + "tree": { + "sha": "9d07b7efd7ce19f718d433fbcce7bbe8fc121b4b", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/9d07b7efd7ce19f718d433fbcce7bbe8fc121b4b" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/565047f99611a676dde05c2ea5e904cf496db6ed", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/565047f99611a676dde05c2ea5e904cf496db6ed", + "html_url": "https://github.com/open-data/ckan/commit/565047f99611a676dde05c2ea5e904cf496db6ed", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/565047f99611a676dde05c2ea5e904cf496db6ed/comments", + "author": { + "login": "wardi", + "id": 153258, + "node_id": "MDQ6VXNlcjE1MzI1OA==", + "avatar_url": "https://avatars.githubusercontent.com/u/153258?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/wardi", + "html_url": "https://github.com/wardi", + "followers_url": "https://api.github.com/users/wardi/followers", + "following_url": "https://api.github.com/users/wardi/following{/other_user}", + "gists_url": "https://api.github.com/users/wardi/gists{/gist_id}", + "starred_url": "https://api.github.com/users/wardi/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/wardi/subscriptions", + "organizations_url": "https://api.github.com/users/wardi/orgs", + "repos_url": "https://api.github.com/users/wardi/repos", + "events_url": "https://api.github.com/users/wardi/events{/privacy}", + "received_events_url": "https://api.github.com/users/wardi/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "d24b5e2322f690a115e706cf25b014fa20f93093", + "url": "https://api.github.com/repos/open-data/ckan/commits/d24b5e2322f690a115e706cf25b014fa20f93093", + "html_url": "https://github.com/open-data/ckan/commit/d24b5e2322f690a115e706cf25b014fa20f93093" + } + ] + }, + { + "sha": "5eab797ee725e6cfcdf761ebf07bfe1545a17437", + "node_id": "C_kwDOAHlEatoAKDVlYWI3OTdlZTcyNWU2Y2ZjZGY3NjFlYmYwN2JmZTE1NDVhMTc0Mzc", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2022-08-09T21:01:34Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-24T18:27:43Z" + }, + "message": "Made organization and group members more public. Added Member counts to org and group pages. Added org and group views to Users, displaying their orgs and groups they belong to. Added group and org counts to the user info. Added manage_members to orgs and groups, and made the old members template be the public route.\n\n# Conflicts:\n#\tckan/templates/group/edit_base.html\n#\tckan/templates/organization/edit_base.html\n#\tckan/templates/organization/members.html\n### RESOLVED.", + "tree": { + "sha": "2d6de1ca9d6ab50dbdbc3fc86161106fa499851d", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/2d6de1ca9d6ab50dbdbc3fc86161106fa499851d" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/5eab797ee725e6cfcdf761ebf07bfe1545a17437", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/5eab797ee725e6cfcdf761ebf07bfe1545a17437", + "html_url": "https://github.com/open-data/ckan/commit/5eab797ee725e6cfcdf761ebf07bfe1545a17437", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/5eab797ee725e6cfcdf761ebf07bfe1545a17437/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "565047f99611a676dde05c2ea5e904cf496db6ed", + "url": "https://api.github.com/repos/open-data/ckan/commits/565047f99611a676dde05c2ea5e904cf496db6ed", + "html_url": "https://github.com/open-data/ckan/commit/565047f99611a676dde05c2ea5e904cf496db6ed" + } + ] + }, + { + "sha": "3d77e7e80eb616c6da48f8a3b7d080a77e66be70", + "node_id": "C_kwDOAHlEatoAKDNkNzdlN2U4MGViNjE2YzZkYTQ4ZjhhM2I3ZDA4MGE3N2U2NmJlNzA", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-28T20:06:15Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-28T20:06:15Z" + }, + "message": "fix(templates): misc;\n\n- Various misc fixes.", + "tree": { + "sha": "d4a0e0a755a4f8b833b499541305a74d3105516a", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/d4a0e0a755a4f8b833b499541305a74d3105516a" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/3d77e7e80eb616c6da48f8a3b7d080a77e66be70", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/3d77e7e80eb616c6da48f8a3b7d080a77e66be70", + "html_url": "https://github.com/open-data/ckan/commit/3d77e7e80eb616c6da48f8a3b7d080a77e66be70", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/3d77e7e80eb616c6da48f8a3b7d080a77e66be70/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "5eab797ee725e6cfcdf761ebf07bfe1545a17437", + "url": "https://api.github.com/repos/open-data/ckan/commits/5eab797ee725e6cfcdf761ebf07bfe1545a17437", + "html_url": "https://github.com/open-data/ckan/commit/5eab797ee725e6cfcdf761ebf07bfe1545a17437" + } + ] + }, + { + "sha": "49410688ef9ec888201963eacd51c256f69bbd24", + "node_id": "C_kwDOAHlEatoAKDQ5NDEwNjg4ZWY5ZWM4ODgyMDE5NjNlYWNkNTFjMjU2ZjY5YmJkMjQ", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-28T20:06:39Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-28T20:06:39Z" + }, + "message": "fix(views): datastore dump;\n\n- Exclude `_id` in DS dump blueprint schema.", + "tree": { + "sha": "bf303106682955516fe3e65e48e29db0ff012341", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/bf303106682955516fe3e65e48e29db0ff012341" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/49410688ef9ec888201963eacd51c256f69bbd24", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/49410688ef9ec888201963eacd51c256f69bbd24", + "html_url": "https://github.com/open-data/ckan/commit/49410688ef9ec888201963eacd51c256f69bbd24", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/49410688ef9ec888201963eacd51c256f69bbd24/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "3d77e7e80eb616c6da48f8a3b7d080a77e66be70", + "url": "https://api.github.com/repos/open-data/ckan/commits/3d77e7e80eb616c6da48f8a3b7d080a77e66be70", + "html_url": "https://github.com/open-data/ckan/commit/3d77e7e80eb616c6da48f8a3b7d080a77e66be70" + } + ] + }, + { + "sha": "19086edad7d5fe9fdb7c49943cb3348b554cd828", + "node_id": "C_kwDOAHlEatoAKDE5MDg2ZWRhZDdkNWZlOWZkYjdjNDk5NDNjYjMzNDhiNTU0Y2Q4Mjg", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-28T20:07:05Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-28T20:07:05Z" + }, + "message": "fix(i18n): datatable views gettext;\n\n- Fix empty gettext call in datatables view helper.", + "tree": { + "sha": "019363c08000f0689b6fe514a4f96db07f261cd9", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/019363c08000f0689b6fe514a4f96db07f261cd9" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/19086edad7d5fe9fdb7c49943cb3348b554cd828", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/19086edad7d5fe9fdb7c49943cb3348b554cd828", + "html_url": "https://github.com/open-data/ckan/commit/19086edad7d5fe9fdb7c49943cb3348b554cd828", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/19086edad7d5fe9fdb7c49943cb3348b554cd828/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "49410688ef9ec888201963eacd51c256f69bbd24", + "url": "https://api.github.com/repos/open-data/ckan/commits/49410688ef9ec888201963eacd51c256f69bbd24", + "html_url": "https://github.com/open-data/ckan/commit/49410688ef9ec888201963eacd51c256f69bbd24" + } + ] + }, + { + "sha": "95b12c6f31a423137214f9679ea5003b28ac2757", + "node_id": "C_kwDOAHlEatoAKDk1YjEyYzZmMzFhNDIzMTM3MjE0Zjk2NzllYTUwMDNiMjhhYzI3NTc", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-28T20:07:48Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-06-28T20:07:48Z" + }, + "message": "fix(templates): accordion data dictionary;\n\n- Bring in the accordions for the Data Dictionary.", + "tree": { + "sha": "45335f3dd6bb8efde884f1b4270c1af559ed038a", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/45335f3dd6bb8efde884f1b4270c1af559ed038a" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/95b12c6f31a423137214f9679ea5003b28ac2757", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/95b12c6f31a423137214f9679ea5003b28ac2757", + "html_url": "https://github.com/open-data/ckan/commit/95b12c6f31a423137214f9679ea5003b28ac2757", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/95b12c6f31a423137214f9679ea5003b28ac2757/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "19086edad7d5fe9fdb7c49943cb3348b554cd828", + "url": "https://api.github.com/repos/open-data/ckan/commits/19086edad7d5fe9fdb7c49943cb3348b554cd828", + "html_url": "https://github.com/open-data/ckan/commit/19086edad7d5fe9fdb7c49943cb3348b554cd828" + } + ] + }, + { + "sha": "0d7f33ddbf738b5ae70e3e93fbf31ac139bf592c", + "node_id": "C_kwDOAHlEatoAKDBkN2YzM2RkYmY3MzhiNWFlNzBlM2U5M2ZiZjMxYWMxMzliZjU5MmM", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-07-03T19:06:35Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-07-03T19:06:35Z" + }, + "message": "fix(templates): html layout;\n\n- Missing end list tag.", + "tree": { + "sha": "ef8231d0c9469c47a103af44459cb116e5e7f0be", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/ef8231d0c9469c47a103af44459cb116e5e7f0be" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/0d7f33ddbf738b5ae70e3e93fbf31ac139bf592c", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/0d7f33ddbf738b5ae70e3e93fbf31ac139bf592c", + "html_url": "https://github.com/open-data/ckan/commit/0d7f33ddbf738b5ae70e3e93fbf31ac139bf592c", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/0d7f33ddbf738b5ae70e3e93fbf31ac139bf592c/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "95b12c6f31a423137214f9679ea5003b28ac2757", + "url": "https://api.github.com/repos/open-data/ckan/commits/95b12c6f31a423137214f9679ea5003b28ac2757", + "html_url": "https://github.com/open-data/ckan/commit/95b12c6f31a423137214f9679ea5003b28ac2757" + } + ] + }, + { + "sha": "ab5539f9779b8c41bcbaa733a95262af504971b7", + "node_id": "C_kwDOAHlEatoAKGFiNTUzOWY5Nzc5YjhjNDFiY2JhYTczM2E5NTI2MmFmNTA0OTcxYjc", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-07-08T15:39:52Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-07-08T15:39:52Z" + }, + "message": "Merge branch 'canada-py3' into canada-v2.10\n\n# Conflicts:\n#\tckanext/datastore/logic/schema.py\n### RESOLVED.", + "tree": { + "sha": "61c702f9b1153203ea3debc7dd2dec4845be85ef", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/61c702f9b1153203ea3debc7dd2dec4845be85ef" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/ab5539f9779b8c41bcbaa733a95262af504971b7", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/ab5539f9779b8c41bcbaa733a95262af504971b7", + "html_url": "https://github.com/open-data/ckan/commit/ab5539f9779b8c41bcbaa733a95262af504971b7", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/ab5539f9779b8c41bcbaa733a95262af504971b7/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "0d7f33ddbf738b5ae70e3e93fbf31ac139bf592c", + "url": "https://api.github.com/repos/open-data/ckan/commits/0d7f33ddbf738b5ae70e3e93fbf31ac139bf592c", + "html_url": "https://github.com/open-data/ckan/commit/0d7f33ddbf738b5ae70e3e93fbf31ac139bf592c" + }, + { + "sha": "ccf27b753ce1c4c8ec07a7ff563dad487664a8c4", + "url": "https://api.github.com/repos/open-data/ckan/commits/ccf27b753ce1c4c8ec07a7ff563dad487664a8c4", + "html_url": "https://github.com/open-data/ckan/commit/ccf27b753ce1c4c8ec07a7ff563dad487664a8c4" + } + ] + }, + { + "sha": "52e5bcc38dcbe84c305930ee5db462a5a36a0db9", + "node_id": "C_kwDOAHlEatoAKDUyZTViY2MzOGRjYmU4NGMzMDU5MzBlZTVkYjQ2MmE1YTM2YTBkYjk", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-07-10T15:50:42Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-07-10T15:50:42Z" + }, + "message": "fix(misc): error message;\n\n- Updated error messages.", + "tree": { + "sha": "9e3b2e72f0126bbff2f94c083d17d79b19dde0c2", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/9e3b2e72f0126bbff2f94c083d17d79b19dde0c2" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/52e5bcc38dcbe84c305930ee5db462a5a36a0db9", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/52e5bcc38dcbe84c305930ee5db462a5a36a0db9", + "html_url": "https://github.com/open-data/ckan/commit/52e5bcc38dcbe84c305930ee5db462a5a36a0db9", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/52e5bcc38dcbe84c305930ee5db462a5a36a0db9/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "ab5539f9779b8c41bcbaa733a95262af504971b7", + "url": "https://api.github.com/repos/open-data/ckan/commits/ab5539f9779b8c41bcbaa733a95262af504971b7", + "html_url": "https://github.com/open-data/ckan/commit/ab5539f9779b8c41bcbaa733a95262af504971b7" + } + ] + }, + { + "sha": "fc617d51f0534a720d62da5127125ed96119f37a", + "node_id": "C_kwDOAHlEatoAKGZjNjE3ZDUxZjA1MzRhNzIwZDYyZGE1MTI3MTI1ZWQ5NjExOWYzN2E", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-07-10T20:15:42Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-07-10T20:15:42Z" + }, + "message": "Merge branch 'canada-py3' into canada-v2.10", + "tree": { + "sha": "f20cb30e29709191716a7e2ec349eb6cca2d2258", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/f20cb30e29709191716a7e2ec349eb6cca2d2258" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/fc617d51f0534a720d62da5127125ed96119f37a", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/fc617d51f0534a720d62da5127125ed96119f37a", + "html_url": "https://github.com/open-data/ckan/commit/fc617d51f0534a720d62da5127125ed96119f37a", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/fc617d51f0534a720d62da5127125ed96119f37a/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "52e5bcc38dcbe84c305930ee5db462a5a36a0db9", + "url": "https://api.github.com/repos/open-data/ckan/commits/52e5bcc38dcbe84c305930ee5db462a5a36a0db9", + "html_url": "https://github.com/open-data/ckan/commit/52e5bcc38dcbe84c305930ee5db462a5a36a0db9" + }, + { + "sha": "b2c4952307eed1bc358804ea1617eba6e7c8fd91", + "url": "https://api.github.com/repos/open-data/ckan/commits/b2c4952307eed1bc358804ea1617eba6e7c8fd91", + "html_url": "https://github.com/open-data/ckan/commit/b2c4952307eed1bc358804ea1617eba6e7c8fd91" + } + ] + }, + { + "sha": "cd6146369a61931a71e8ad8396de9c01ed89311e", + "node_id": "C_kwDOAHlEatoAKGNkNjE0NjM2OWE2MTkzMWE3MWU4YWQ4Mzk2ZGU5YzAxZWQ4OTMxMWU", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-07-18T17:58:17Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-07-18T17:58:17Z" + }, + "message": "feat(templates,views): dashboard;\n\n- User dashboard template modifications.\n- Disable user dashboard groups and orgs view methods.", + "tree": { + "sha": "1fe4d5c4440650bba9de1f1ef4db262ee5e0ba7e", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/1fe4d5c4440650bba9de1f1ef4db262ee5e0ba7e" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/cd6146369a61931a71e8ad8396de9c01ed89311e", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/cd6146369a61931a71e8ad8396de9c01ed89311e", + "html_url": "https://github.com/open-data/ckan/commit/cd6146369a61931a71e8ad8396de9c01ed89311e", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/cd6146369a61931a71e8ad8396de9c01ed89311e/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "fc617d51f0534a720d62da5127125ed96119f37a", + "url": "https://api.github.com/repos/open-data/ckan/commits/fc617d51f0534a720d62da5127125ed96119f37a", + "html_url": "https://github.com/open-data/ckan/commit/fc617d51f0534a720d62da5127125ed96119f37a" + } + ] + }, + { + "sha": "645d2cfd04a5ee76f3cd3af5afb191584abd7be8", + "node_id": "C_kwDOAHlEatoAKDY0NWQyY2ZkMDRhNWVlNzZmM2NkM2FmNWFmYjE5MTU4NGFiZDdiZTg", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-07-22T18:14:28Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-07-22T18:14:28Z" + }, + "message": "fix(misc): critical log;\n\n- Fix critical logs outputting on kwargs of `organization_list_for_user`.", + "tree": { + "sha": "5525a857f595cb105803268c1e131f5bf357cf89", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/5525a857f595cb105803268c1e131f5bf357cf89" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/645d2cfd04a5ee76f3cd3af5afb191584abd7be8", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/645d2cfd04a5ee76f3cd3af5afb191584abd7be8", + "html_url": "https://github.com/open-data/ckan/commit/645d2cfd04a5ee76f3cd3af5afb191584abd7be8", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/645d2cfd04a5ee76f3cd3af5afb191584abd7be8/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "cd6146369a61931a71e8ad8396de9c01ed89311e", + "url": "https://api.github.com/repos/open-data/ckan/commits/cd6146369a61931a71e8ad8396de9c01ed89311e", + "html_url": "https://github.com/open-data/ckan/commit/cd6146369a61931a71e8ad8396de9c01ed89311e" + } + ] + }, + { + "sha": "4701df22be018d5f04f408dfe89bfa9099215916", + "node_id": "C_kwDOAHlEatoAKDQ3MDFkZjIyYmUwMThkNWYwNGY0MDhkZmU4OWJmYTkwOTkyMTU5MTY", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-07-22T18:50:05Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-07-22T18:50:05Z" + }, + "message": "fix(logic): org list for user speed;\n\n- Fix the speed on the dictization for org list for user.", + "tree": { + "sha": "a7a0bab4d2a8608fbd97a554d4a714c58446707e", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/a7a0bab4d2a8608fbd97a554d4a714c58446707e" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/4701df22be018d5f04f408dfe89bfa9099215916", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/4701df22be018d5f04f408dfe89bfa9099215916", + "html_url": "https://github.com/open-data/ckan/commit/4701df22be018d5f04f408dfe89bfa9099215916", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/4701df22be018d5f04f408dfe89bfa9099215916/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "645d2cfd04a5ee76f3cd3af5afb191584abd7be8", + "url": "https://api.github.com/repos/open-data/ckan/commits/645d2cfd04a5ee76f3cd3af5afb191584abd7be8", + "html_url": "https://github.com/open-data/ckan/commit/645d2cfd04a5ee76f3cd3af5afb191584abd7be8" + } + ] + }, + { + "sha": "44ad05fd1048e7b0f8105937bd65b9c58afea737", + "node_id": "C_kwDOAHlEatoAKDQ0YWQwNWZkMTA0OGU3YjBmODEwNTkzN2JkNjViOWM1OGFmZWE3Mzc", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-07-24T16:20:38Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-07-24T16:20:38Z" + }, + "message": "feat(dev): run triggers contextual connection;\n\n- Support contextual DB connection in run triggers to allow for custom temp tables.", + "tree": { + "sha": "abe1f2ab012eeb023070c72f144e0e2604e0e374", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/abe1f2ab012eeb023070c72f144e0e2604e0e374" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/44ad05fd1048e7b0f8105937bd65b9c58afea737", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/44ad05fd1048e7b0f8105937bd65b9c58afea737", + "html_url": "https://github.com/open-data/ckan/commit/44ad05fd1048e7b0f8105937bd65b9c58afea737", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/44ad05fd1048e7b0f8105937bd65b9c58afea737/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "4701df22be018d5f04f408dfe89bfa9099215916", + "url": "https://api.github.com/repos/open-data/ckan/commits/4701df22be018d5f04f408dfe89bfa9099215916", + "html_url": "https://github.com/open-data/ckan/commit/4701df22be018d5f04f408dfe89bfa9099215916" + } + ] + }, + { + "sha": "c167d6a73b6903be4a4c45659d4369fcc466f1e1", + "node_id": "C_kwDOAHlEatoAKGMxNjdkNmE3M2I2OTAzYmU0YTRjNDU2NTlkNDM2OWZjYzQ2NmYxZTE", + "commit": { + "author": { + "name": "Rabia Sajjad", + "email": "rabiasajjad.dev@gmail.com", + "date": "2024-08-16T20:27:04Z" + }, + "committer": { + "name": "GitHub", + "email": "noreply@github.com", + "date": "2024-08-16T20:27:04Z" + }, + "message": "change log level to info in default authenticator", + "tree": { + "sha": "c551e445da351ac2b105d3d72a41435865fb8109", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/c551e445da351ac2b105d3d72a41435865fb8109" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/c167d6a73b6903be4a4c45659d4369fcc466f1e1", + "comment_count": 0, + "verification": { + "verified": true, + "reason": "valid", + "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJmv7YYCRC1aQ7uu5UhlAAA5TYQADvWjxE06YdQzjEmTj92kSJL\nLFhddnm1MKFg9V10+sK/kHC/TOKohUHHmdEpF/jdtxIMM2vYuDpBwONDMHcOWI99\nAYyBztVH6+3u3Qm8w0yKoGEQS6iWWbMwf0dvqKrgFcvBNDoEl6Fqlvv+yysT+Bcq\noGmhHr6RyciS6p+vZ80GvZHn2jewYiKSHeNg3UAjH2LYjX3zTPTjgKOIZ46GtuwY\ntNQzMOXlyjPLXm7xyZS9g85+i1TzpgM2cTh6fDlkJujWNWuWCDH3ThfrcVq4giav\nZD65Bcf1Tgl0Ogp9s1XggPbxSZkf5Ad9kspPWsF6jH4BAX1DklIH/91gTsetMuCk\nt4KD3zN75rAOeNcEs5uc6kDr/xmYSnDIbCNJ8n0uVccPaJav4cmPn0XVMvD0kpXG\niYxJHvy9yAKWmegq9wy/P41zjGBFcf5qetJTma0hgA6qEd9XS6QmCMFkCJsWF2Gh\n7Y+QcXA1gHiZONnd9MdrKcbeQ/sYb7LClixE7VOsStbYKBKpylwIkkPByFFx8IH9\nkMmXVxGOC/PlavJHz2JIf0ZBt77hlkqFArkDDnQkgL9W8G3NZY848TPC2+aboJ76\nGWKXsZ2noEA8uFUyIlM3WjxxB5jI79jw0FAvGhKsXtMyebIbqMReTb7jK0ZvcuVB\n38yVjKYebnOZ5oOwGqKD\n=fgdC\n-----END PGP SIGNATURE-----\n", + "payload": "tree c551e445da351ac2b105d3d72a41435865fb8109\nparent 44ad05fd1048e7b0f8105937bd65b9c58afea737\nauthor Rabia Sajjad 1723840024 -0400\ncommitter GitHub 1723840024 -0400\n\nchange log level to info in default authenticator", + "verified_at": "2024-11-12T22:23:10Z" + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/c167d6a73b6903be4a4c45659d4369fcc466f1e1", + "html_url": "https://github.com/open-data/ckan/commit/c167d6a73b6903be4a4c45659d4369fcc466f1e1", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/c167d6a73b6903be4a4c45659d4369fcc466f1e1/comments", + "author": { + "login": "RabiaSajjad", + "id": 25936398, + "node_id": "MDQ6VXNlcjI1OTM2Mzk4", + "avatar_url": "https://avatars.githubusercontent.com/u/25936398?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/RabiaSajjad", + "html_url": "https://github.com/RabiaSajjad", + "followers_url": "https://api.github.com/users/RabiaSajjad/followers", + "following_url": "https://api.github.com/users/RabiaSajjad/following{/other_user}", + "gists_url": "https://api.github.com/users/RabiaSajjad/gists{/gist_id}", + "starred_url": "https://api.github.com/users/RabiaSajjad/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/RabiaSajjad/subscriptions", + "organizations_url": "https://api.github.com/users/RabiaSajjad/orgs", + "repos_url": "https://api.github.com/users/RabiaSajjad/repos", + "events_url": "https://api.github.com/users/RabiaSajjad/events{/privacy}", + "received_events_url": "https://api.github.com/users/RabiaSajjad/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "web-flow", + "id": 19864447, + "node_id": "MDQ6VXNlcjE5ODY0NDQ3", + "avatar_url": "https://avatars.githubusercontent.com/u/19864447?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/web-flow", + "html_url": "https://github.com/web-flow", + "followers_url": "https://api.github.com/users/web-flow/followers", + "following_url": "https://api.github.com/users/web-flow/following{/other_user}", + "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", + "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", + "organizations_url": "https://api.github.com/users/web-flow/orgs", + "repos_url": "https://api.github.com/users/web-flow/repos", + "events_url": "https://api.github.com/users/web-flow/events{/privacy}", + "received_events_url": "https://api.github.com/users/web-flow/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "44ad05fd1048e7b0f8105937bd65b9c58afea737", + "url": "https://api.github.com/repos/open-data/ckan/commits/44ad05fd1048e7b0f8105937bd65b9c58afea737", + "html_url": "https://github.com/open-data/ckan/commit/44ad05fd1048e7b0f8105937bd65b9c58afea737" + } + ] + }, + { + "sha": "fb077e6afb54e8f65091bdc5ad1a2e52231d5284", + "node_id": "C_kwDOAHlEatoAKGZiMDc3ZTZhZmI1NGU4ZjY1MDkxYmRjNWFkMWEyZTUyMjMxZDUyODQ", + "commit": { + "author": { + "name": "Rabia Sajjad", + "email": "rabiasajjad.dev@gmail.com", + "date": "2024-08-16T20:34:25Z" + }, + "committer": { + "name": "Rabia Sajjad", + "email": "rabiasajjad.dev@gmail.com", + "date": "2024-08-16T20:34:25Z" + }, + "message": "add change log for canada.182", + "tree": { + "sha": "d21b8144a888dada917f025b46f0146f746e7f69", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/d21b8144a888dada917f025b46f0146f746e7f69" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/fb077e6afb54e8f65091bdc5ad1a2e52231d5284", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/fb077e6afb54e8f65091bdc5ad1a2e52231d5284", + "html_url": "https://github.com/open-data/ckan/commit/fb077e6afb54e8f65091bdc5ad1a2e52231d5284", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/fb077e6afb54e8f65091bdc5ad1a2e52231d5284/comments", + "author": { + "login": "RabiaSajjad", + "id": 25936398, + "node_id": "MDQ6VXNlcjI1OTM2Mzk4", + "avatar_url": "https://avatars.githubusercontent.com/u/25936398?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/RabiaSajjad", + "html_url": "https://github.com/RabiaSajjad", + "followers_url": "https://api.github.com/users/RabiaSajjad/followers", + "following_url": "https://api.github.com/users/RabiaSajjad/following{/other_user}", + "gists_url": "https://api.github.com/users/RabiaSajjad/gists{/gist_id}", + "starred_url": "https://api.github.com/users/RabiaSajjad/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/RabiaSajjad/subscriptions", + "organizations_url": "https://api.github.com/users/RabiaSajjad/orgs", + "repos_url": "https://api.github.com/users/RabiaSajjad/repos", + "events_url": "https://api.github.com/users/RabiaSajjad/events{/privacy}", + "received_events_url": "https://api.github.com/users/RabiaSajjad/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "RabiaSajjad", + "id": 25936398, + "node_id": "MDQ6VXNlcjI1OTM2Mzk4", + "avatar_url": "https://avatars.githubusercontent.com/u/25936398?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/RabiaSajjad", + "html_url": "https://github.com/RabiaSajjad", + "followers_url": "https://api.github.com/users/RabiaSajjad/followers", + "following_url": "https://api.github.com/users/RabiaSajjad/following{/other_user}", + "gists_url": "https://api.github.com/users/RabiaSajjad/gists{/gist_id}", + "starred_url": "https://api.github.com/users/RabiaSajjad/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/RabiaSajjad/subscriptions", + "organizations_url": "https://api.github.com/users/RabiaSajjad/orgs", + "repos_url": "https://api.github.com/users/RabiaSajjad/repos", + "events_url": "https://api.github.com/users/RabiaSajjad/events{/privacy}", + "received_events_url": "https://api.github.com/users/RabiaSajjad/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "c167d6a73b6903be4a4c45659d4369fcc466f1e1", + "url": "https://api.github.com/repos/open-data/ckan/commits/c167d6a73b6903be4a4c45659d4369fcc466f1e1", + "html_url": "https://github.com/open-data/ckan/commit/c167d6a73b6903be4a4c45659d4369fcc466f1e1" + } + ] + }, + { + "sha": "022cea79471c533c97b144ee3c8c3e79c289b890", + "node_id": "C_kwDOAHlEatoAKDAyMmNlYTc5NDcxYzUzM2M5N2IxNDRlZTNjOGMzZTc5YzI4OWI4OTA", + "commit": { + "author": { + "name": "Rabia Sajjad", + "email": "rabiasajjad.dev@gmail.com", + "date": "2024-08-16T20:37:26Z" + }, + "committer": { + "name": "GitHub", + "email": "noreply@github.com", + "date": "2024-08-16T20:37:26Z" + }, + "message": "Merge pull request #182 from open-data/RabiaSajjad-patch-1\n\nchange log level to info in default authenticator", + "tree": { + "sha": "d21b8144a888dada917f025b46f0146f746e7f69", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/d21b8144a888dada917f025b46f0146f746e7f69" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/022cea79471c533c97b144ee3c8c3e79c289b890", + "comment_count": 0, + "verification": { + "verified": true, + "reason": "valid", + "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJmv7iGCRC1aQ7uu5UhlAAAjHUQAGLO+f/UAK9Ne1Ep5Xr2suom\ng3o/NhLKMHxosYEfhggt8433ToNOjLgsWZZf+3Mdfm6ywPfWgT9DOAhWNN74ZuT8\nPpoT15BcIuxRBgRVnuhoDOLzidU3WM3NuXbL9NcYfxd4x3B21KL6enjIejHfYPzm\nzpvhM3JcEnN4/VjmvLT0IBVHJ1WdMwmjGPt64I07zg2ex3P79MquH7ewkeVkpdsA\nqp/GrjmBWJGnbI0zHEW5lw9oFqXzvh2u5Iha4WYlpORijsxG9QFjhsGPXXUaZF4F\nXRlf+jmL3/sp4UzLJqg/FiTTpozE38u8XUIQSbCPrLRXOHoHxuGuZ94Pr9qCcbqC\nVrYY45KrFszpxRmELbiGSUo+dgqO+Ipl4Kv1lWsStYKDCdRjSz1KRQyEpvllV4Xv\n3AKUttPELfCk2GPZwJ4OLI5XZ0Rdd9j11QDmcCgHJDgWIxYL9HqPuDizmpnqioHQ\nGKxLfd+2QrfGOHD7B0BsfRQK34Vf3/tQu95h54f3YT5TBVY1pt3wmawD2xy2Eb6B\nk+0OInIgLDEf9w05IAeCXz2/LAUm961mNwISq5uAyjiYjSe+sYPXx4+28j84lZni\nsHhSZeJahZlokIoDdL10vFrYWAd8mLRGmA8wxZvLacF20s7rP6vL1XvJKuDqndVz\nCc44cdSEMlNT89i4mMMl\n=HPxu\n-----END PGP SIGNATURE-----\n", + "payload": "tree d21b8144a888dada917f025b46f0146f746e7f69\nparent 44ad05fd1048e7b0f8105937bd65b9c58afea737\nparent fb077e6afb54e8f65091bdc5ad1a2e52231d5284\nauthor Rabia Sajjad 1723840646 -0400\ncommitter GitHub 1723840646 -0400\n\nMerge pull request #182 from open-data/RabiaSajjad-patch-1\n\nchange log level to info in default authenticator", + "verified_at": "2024-12-10T16:34:43Z" + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/022cea79471c533c97b144ee3c8c3e79c289b890", + "html_url": "https://github.com/open-data/ckan/commit/022cea79471c533c97b144ee3c8c3e79c289b890", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/022cea79471c533c97b144ee3c8c3e79c289b890/comments", + "author": { + "login": "RabiaSajjad", + "id": 25936398, + "node_id": "MDQ6VXNlcjI1OTM2Mzk4", + "avatar_url": "https://avatars.githubusercontent.com/u/25936398?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/RabiaSajjad", + "html_url": "https://github.com/RabiaSajjad", + "followers_url": "https://api.github.com/users/RabiaSajjad/followers", + "following_url": "https://api.github.com/users/RabiaSajjad/following{/other_user}", + "gists_url": "https://api.github.com/users/RabiaSajjad/gists{/gist_id}", + "starred_url": "https://api.github.com/users/RabiaSajjad/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/RabiaSajjad/subscriptions", + "organizations_url": "https://api.github.com/users/RabiaSajjad/orgs", + "repos_url": "https://api.github.com/users/RabiaSajjad/repos", + "events_url": "https://api.github.com/users/RabiaSajjad/events{/privacy}", + "received_events_url": "https://api.github.com/users/RabiaSajjad/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "web-flow", + "id": 19864447, + "node_id": "MDQ6VXNlcjE5ODY0NDQ3", + "avatar_url": "https://avatars.githubusercontent.com/u/19864447?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/web-flow", + "html_url": "https://github.com/web-flow", + "followers_url": "https://api.github.com/users/web-flow/followers", + "following_url": "https://api.github.com/users/web-flow/following{/other_user}", + "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", + "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", + "organizations_url": "https://api.github.com/users/web-flow/orgs", + "repos_url": "https://api.github.com/users/web-flow/repos", + "events_url": "https://api.github.com/users/web-flow/events{/privacy}", + "received_events_url": "https://api.github.com/users/web-flow/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "44ad05fd1048e7b0f8105937bd65b9c58afea737", + "url": "https://api.github.com/repos/open-data/ckan/commits/44ad05fd1048e7b0f8105937bd65b9c58afea737", + "html_url": "https://github.com/open-data/ckan/commit/44ad05fd1048e7b0f8105937bd65b9c58afea737" + }, + { + "sha": "fb077e6afb54e8f65091bdc5ad1a2e52231d5284", + "url": "https://api.github.com/repos/open-data/ckan/commits/fb077e6afb54e8f65091bdc5ad1a2e52231d5284", + "html_url": "https://github.com/open-data/ckan/commit/fb077e6afb54e8f65091bdc5ad1a2e52231d5284" + } + ] + }, + { + "sha": "ef50b1a37af17d409a0cdea2db630ee5c6124482", + "node_id": "C_kwDOAHlEatoAKGVmNTBiMWEzN2FmMTdkNDA5YTBjZGVhMmRiNjMwZWU1YzYxMjQ0ODI", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-09-25T16:20:12Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-09-25T16:20:12Z" + }, + "message": "fix(templates): user headings;\n\n- Heading for user groups and orgs.", + "tree": { + "sha": "f29469d63a686f665b847e547aabca6b1e1a90f7", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/f29469d63a686f665b847e547aabca6b1e1a90f7" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/ef50b1a37af17d409a0cdea2db630ee5c6124482", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/ef50b1a37af17d409a0cdea2db630ee5c6124482", + "html_url": "https://github.com/open-data/ckan/commit/ef50b1a37af17d409a0cdea2db630ee5c6124482", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/ef50b1a37af17d409a0cdea2db630ee5c6124482/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "44ad05fd1048e7b0f8105937bd65b9c58afea737", + "url": "https://api.github.com/repos/open-data/ckan/commits/44ad05fd1048e7b0f8105937bd65b9c58afea737", + "html_url": "https://github.com/open-data/ckan/commit/44ad05fd1048e7b0f8105937bd65b9c58afea737" + } + ] + }, + { + "sha": "e9599e6e5577162333750e7e653d1dc090a2c97b", + "node_id": "C_kwDOAHlEatoAKGU5NTk5ZTZlNTU3NzE2MjMzMzc1MGU3ZTY1M2QxZGMwOTBhMmM5N2I", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-09-25T16:21:34Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-09-25T16:21:34Z" + }, + "message": "Merge remote-tracking branch 'origin/canada-v2.10' into canada-v2.10", + "tree": { + "sha": "9d05c9f9004cb849e70f54d220cd5f9bcc2a6bab", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/9d05c9f9004cb849e70f54d220cd5f9bcc2a6bab" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/e9599e6e5577162333750e7e653d1dc090a2c97b", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/e9599e6e5577162333750e7e653d1dc090a2c97b", + "html_url": "https://github.com/open-data/ckan/commit/e9599e6e5577162333750e7e653d1dc090a2c97b", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/e9599e6e5577162333750e7e653d1dc090a2c97b/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "ef50b1a37af17d409a0cdea2db630ee5c6124482", + "url": "https://api.github.com/repos/open-data/ckan/commits/ef50b1a37af17d409a0cdea2db630ee5c6124482", + "html_url": "https://github.com/open-data/ckan/commit/ef50b1a37af17d409a0cdea2db630ee5c6124482" + }, + { + "sha": "022cea79471c533c97b144ee3c8c3e79c289b890", + "url": "https://api.github.com/repos/open-data/ckan/commits/022cea79471c533c97b144ee3c8c3e79c289b890", + "html_url": "https://github.com/open-data/ckan/commit/022cea79471c533c97b144ee3c8c3e79c289b890" + } + ] + }, + { + "sha": "8bb3c598b7b9da4ea703283d8ffa90a080434e0b", + "node_id": "C_kwDOAHlEatoAKDhiYjNjNTk4YjdiOWRhNGVhNzAzMjgzZDhmZmE5MGEwODA0MzRlMGI", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-09-25T16:25:53Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-09-25T16:25:53Z" + }, + "message": "Merge branch 'canada-py3' into canada-v2.10\n\n# Conflicts:\n#\tckanext/datastore/writer.py\n#\tckanext/datatablesview/templates/datatables/datatables_form.html\n### RESOLVED.", + "tree": { + "sha": "a54cff1328a0a0a4986ae1ac64970d7759934975", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/a54cff1328a0a0a4986ae1ac64970d7759934975" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/8bb3c598b7b9da4ea703283d8ffa90a080434e0b", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/8bb3c598b7b9da4ea703283d8ffa90a080434e0b", + "html_url": "https://github.com/open-data/ckan/commit/8bb3c598b7b9da4ea703283d8ffa90a080434e0b", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/8bb3c598b7b9da4ea703283d8ffa90a080434e0b/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "e9599e6e5577162333750e7e653d1dc090a2c97b", + "url": "https://api.github.com/repos/open-data/ckan/commits/e9599e6e5577162333750e7e653d1dc090a2c97b", + "html_url": "https://github.com/open-data/ckan/commit/e9599e6e5577162333750e7e653d1dc090a2c97b" + }, + { + "sha": "939d61e656a75baf9740d69d42cae9c29c3412f1", + "url": "https://api.github.com/repos/open-data/ckan/commits/939d61e656a75baf9740d69d42cae9c29c3412f1", + "html_url": "https://github.com/open-data/ckan/commit/939d61e656a75baf9740d69d42cae9c29c3412f1" + } + ] + }, + { + "sha": "57c5d0aec0954db78f41cc9874806912120af9e1", + "node_id": "C_kwDOAHlEatoAKDU3YzVkMGFlYzA5NTRkYjc4ZjQxY2M5ODc0ODA2OTEyMTIwYWY5ZTE", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-09T16:45:28Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-09T16:45:28Z" + }, + "message": "Merge branch 'canada-py3' into canada-v2.10\n\n# Conflicts:\n#\tckan/lib/helpers.py\n#\tckanext/datastore/backend/postgres.py\n#\tckanext/datastore/logic/action.py\n### RESOLVED.", + "tree": { + "sha": "d034fbe3078c2338156ab300e7c485f18f99460b", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/d034fbe3078c2338156ab300e7c485f18f99460b" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/57c5d0aec0954db78f41cc9874806912120af9e1", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/57c5d0aec0954db78f41cc9874806912120af9e1", + "html_url": "https://github.com/open-data/ckan/commit/57c5d0aec0954db78f41cc9874806912120af9e1", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/57c5d0aec0954db78f41cc9874806912120af9e1/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "8bb3c598b7b9da4ea703283d8ffa90a080434e0b", + "url": "https://api.github.com/repos/open-data/ckan/commits/8bb3c598b7b9da4ea703283d8ffa90a080434e0b", + "html_url": "https://github.com/open-data/ckan/commit/8bb3c598b7b9da4ea703283d8ffa90a080434e0b" + }, + { + "sha": "9b04562f148e0bb31d764bc2164cc9fbd2317f72", + "url": "https://api.github.com/repos/open-data/ckan/commits/9b04562f148e0bb31d764bc2164cc9fbd2317f72", + "html_url": "https://github.com/open-data/ckan/commit/9b04562f148e0bb31d764bc2164cc9fbd2317f72" + } + ] + }, + { + "sha": "0efab92b47fc6d304ec0ddb90db5da0d7f412a7e", + "node_id": "C_kwDOAHlEatoAKDBlZmFiOTJiNDdmYzZkMzA0ZWMwZGRiOTBkYjVkYTBkN2Y0MTJhN2U", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-10T14:35:18Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-10T14:35:18Z" + }, + "message": "fix(dev): merge conflict;\n\n- Fix merge conflict resolution with datastore backend delete.", + "tree": { + "sha": "c378ae7cd51939ccb447c5ac86fe65aa2312a94e", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/c378ae7cd51939ccb447c5ac86fe65aa2312a94e" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/0efab92b47fc6d304ec0ddb90db5da0d7f412a7e", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/0efab92b47fc6d304ec0ddb90db5da0d7f412a7e", + "html_url": "https://github.com/open-data/ckan/commit/0efab92b47fc6d304ec0ddb90db5da0d7f412a7e", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/0efab92b47fc6d304ec0ddb90db5da0d7f412a7e/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "57c5d0aec0954db78f41cc9874806912120af9e1", + "url": "https://api.github.com/repos/open-data/ckan/commits/57c5d0aec0954db78f41cc9874806912120af9e1", + "html_url": "https://github.com/open-data/ckan/commit/57c5d0aec0954db78f41cc9874806912120af9e1" + } + ] + }, + { + "sha": "ac4766f16a8543a1cb2b0e80b8f91bfb1dec7256", + "node_id": "C_kwDOAHlEatoAKGFjNDc2NmYxNmE4NTQzYTFjYjJiMGU4MGI4ZjkxYmZiMWRlYzcyNTY", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-17T13:50:07Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-17T13:50:07Z" + }, + "message": "Merge branch 'canada-py3' into canada-v2.10\n\n# Conflicts:\n#\tckan/templates/macros/form.html\n### RESOLVED.", + "tree": { + "sha": "d0a11d4ebdf133878d506679e6f35c3121fe4dd9", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/d0a11d4ebdf133878d506679e6f35c3121fe4dd9" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/ac4766f16a8543a1cb2b0e80b8f91bfb1dec7256", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/ac4766f16a8543a1cb2b0e80b8f91bfb1dec7256", + "html_url": "https://github.com/open-data/ckan/commit/ac4766f16a8543a1cb2b0e80b8f91bfb1dec7256", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/ac4766f16a8543a1cb2b0e80b8f91bfb1dec7256/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "0efab92b47fc6d304ec0ddb90db5da0d7f412a7e", + "url": "https://api.github.com/repos/open-data/ckan/commits/0efab92b47fc6d304ec0ddb90db5da0d7f412a7e", + "html_url": "https://github.com/open-data/ckan/commit/0efab92b47fc6d304ec0ddb90db5da0d7f412a7e" + }, + { + "sha": "d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "url": "https://api.github.com/repos/open-data/ckan/commits/d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "html_url": "https://github.com/open-data/ckan/commit/d8d0e9647c9a34757106a0151c26d8b5442bcee3" + } + ] + }, + { + "sha": "9d63d87b4bc280fe0646de6a253acefe8a6c82c6", + "node_id": "C_kwDOAHlEatoAKDlkNjNkODdiNGJjMjgwZmUwNjQ2ZGU2YTI1M2FjZWZlOGE2YzgyYzY", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-23T17:30:06Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-23T17:30:06Z" + }, + "message": "fix(templates): revoke sysadmin confirm action;\n\n- Added confirm-action for sysadmin revoke.", + "tree": { + "sha": "9ae4425a07735f266d1da982d6200a3103dac802", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/9ae4425a07735f266d1da982d6200a3103dac802" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/9d63d87b4bc280fe0646de6a253acefe8a6c82c6", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/9d63d87b4bc280fe0646de6a253acefe8a6c82c6", + "html_url": "https://github.com/open-data/ckan/commit/9d63d87b4bc280fe0646de6a253acefe8a6c82c6", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/9d63d87b4bc280fe0646de6a253acefe8a6c82c6/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "ac4766f16a8543a1cb2b0e80b8f91bfb1dec7256", + "url": "https://api.github.com/repos/open-data/ckan/commits/ac4766f16a8543a1cb2b0e80b8f91bfb1dec7256", + "html_url": "https://github.com/open-data/ckan/commit/ac4766f16a8543a1cb2b0e80b8f91bfb1dec7256" + } + ] + }, + { + "sha": "96a009821a24c93bbc5a9bc40ed7f75e17d027fc", + "node_id": "C_kwDOAHlEatoAKDk2YTAwOTgyMWEyNGM5M2JiYzVhOWJjNDBlZDdmNzVlMTdkMDI3ZmM", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-23T17:57:55Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-23T17:57:55Z" + }, + "message": "feat(views): flash messages;\n\n- Added back in a bunch of missing flash messages.", + "tree": { + "sha": "c8e0f6293ebd52fe4d3d37a7e9d0e4951f5231ff", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/c8e0f6293ebd52fe4d3d37a7e9d0e4951f5231ff" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/96a009821a24c93bbc5a9bc40ed7f75e17d027fc", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/96a009821a24c93bbc5a9bc40ed7f75e17d027fc", + "html_url": "https://github.com/open-data/ckan/commit/96a009821a24c93bbc5a9bc40ed7f75e17d027fc", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/96a009821a24c93bbc5a9bc40ed7f75e17d027fc/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "9d63d87b4bc280fe0646de6a253acefe8a6c82c6", + "url": "https://api.github.com/repos/open-data/ckan/commits/9d63d87b4bc280fe0646de6a253acefe8a6c82c6", + "html_url": "https://github.com/open-data/ckan/commit/9d63d87b4bc280fe0646de6a253acefe8a6c82c6" + } + ] + }, + { + "sha": "a7c8f026d5fc6eae71b98083b911cc01a9cd10ac", + "node_id": "C_kwDOAHlEatoAKGE3YzhmMDI2ZDVmYzZlYWU3MWI5ODA4M2I5MTFjYzAxYTljZDEwYWM", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-23T18:06:53Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-23T18:06:53Z" + }, + "message": "feat(views): flash messages;\n\n- Added back in a bunch of missing flash messages.", + "tree": { + "sha": "c107cf3ab68a125c6692e32ee662317488cf3f41", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/c107cf3ab68a125c6692e32ee662317488cf3f41" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/a7c8f026d5fc6eae71b98083b911cc01a9cd10ac", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/a7c8f026d5fc6eae71b98083b911cc01a9cd10ac", + "html_url": "https://github.com/open-data/ckan/commit/a7c8f026d5fc6eae71b98083b911cc01a9cd10ac", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/a7c8f026d5fc6eae71b98083b911cc01a9cd10ac/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "96a009821a24c93bbc5a9bc40ed7f75e17d027fc", + "url": "https://api.github.com/repos/open-data/ckan/commits/96a009821a24c93bbc5a9bc40ed7f75e17d027fc", + "html_url": "https://github.com/open-data/ckan/commit/96a009821a24c93bbc5a9bc40ed7f75e17d027fc" + } + ] + }, + { + "sha": "7697bd23552e1d0c863c70671ee756d66447cd8d", + "node_id": "C_kwDOAHlEatoAKDc2OTdiZDIzNTUyZTFkMGM4NjNjNzA2NzFlZTc1NmQ2NjQ0N2NkOGQ", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-23T19:35:03Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-23T19:35:03Z" + }, + "message": "fix(views): atom feeds;\n\n- Conflicts lost our heavy modifications to atom feed standards (upstream PR still not merged from us).", + "tree": { + "sha": "14e940d25fe76b3db855db0fe5b28083d8feb29f", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/14e940d25fe76b3db855db0fe5b28083d8feb29f" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/7697bd23552e1d0c863c70671ee756d66447cd8d", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/7697bd23552e1d0c863c70671ee756d66447cd8d", + "html_url": "https://github.com/open-data/ckan/commit/7697bd23552e1d0c863c70671ee756d66447cd8d", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/7697bd23552e1d0c863c70671ee756d66447cd8d/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "a7c8f026d5fc6eae71b98083b911cc01a9cd10ac", + "url": "https://api.github.com/repos/open-data/ckan/commits/a7c8f026d5fc6eae71b98083b911cc01a9cd10ac", + "html_url": "https://github.com/open-data/ckan/commit/a7c8f026d5fc6eae71b98083b911cc01a9cd10ac" + } + ] + }, + { + "sha": "031f6bd6b0c04a0d52580e88cf2d5128420c3970", + "node_id": "C_kwDOAHlEatoAKDAzMWY2YmQ2YjBjMDRhMGQ1MjU4MGU4OGNmMmQ1MTI4NDIwYzM5NzA", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-23T19:39:59Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-23T19:39:59Z" + }, + "message": "fix(views): atom feeds;\n\n- Conflicts lost our heavy modifications to atom feed standards (upstream PR still not merged from us).", + "tree": { + "sha": "98a3637d822975e1375e4378452d5573fb1a90d9", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/98a3637d822975e1375e4378452d5573fb1a90d9" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/031f6bd6b0c04a0d52580e88cf2d5128420c3970", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/031f6bd6b0c04a0d52580e88cf2d5128420c3970", + "html_url": "https://github.com/open-data/ckan/commit/031f6bd6b0c04a0d52580e88cf2d5128420c3970", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/031f6bd6b0c04a0d52580e88cf2d5128420c3970/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "7697bd23552e1d0c863c70671ee756d66447cd8d", + "url": "https://api.github.com/repos/open-data/ckan/commits/7697bd23552e1d0c863c70671ee756d66447cd8d", + "html_url": "https://github.com/open-data/ckan/commit/7697bd23552e1d0c863c70671ee756d66447cd8d" + } + ] + }, + { + "sha": "e2938b00bbfb1a9cd7dbeaeb6e6aa3733cb77335", + "node_id": "C_kwDOAHlEatoAKGUyOTM4YjAwYmJmYjFhOWNkN2RiZWFlYjZlNmFhMzczM2NiNzczMzU", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-23T19:43:25Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-23T19:43:25Z" + }, + "message": "fix(templates): org humanization;\n\n- More messy humanization of org objects.", + "tree": { + "sha": "84bc3cb6f1bacbd6bb1989603ddccce77211fce6", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/84bc3cb6f1bacbd6bb1989603ddccce77211fce6" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/e2938b00bbfb1a9cd7dbeaeb6e6aa3733cb77335", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/e2938b00bbfb1a9cd7dbeaeb6e6aa3733cb77335", + "html_url": "https://github.com/open-data/ckan/commit/e2938b00bbfb1a9cd7dbeaeb6e6aa3733cb77335", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/e2938b00bbfb1a9cd7dbeaeb6e6aa3733cb77335/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "031f6bd6b0c04a0d52580e88cf2d5128420c3970", + "url": "https://api.github.com/repos/open-data/ckan/commits/031f6bd6b0c04a0d52580e88cf2d5128420c3970", + "html_url": "https://github.com/open-data/ckan/commit/031f6bd6b0c04a0d52580e88cf2d5128420c3970" + } + ] + }, + { + "sha": "0c0b8dae3fb7f00a0540ce5203ca243f08d690d8", + "node_id": "C_kwDOAHlEatoAKDBjMGI4ZGFlM2ZiN2YwMGEwNTQwY2U1MjAzY2EyNDNmMDhkNjkwZDg", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-23T19:56:19Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-23T19:56:19Z" + }, + "message": "fix(views): flash messages in authenticator;\n\n- Added context like flag for the identity object to authenticators.", + "tree": { + "sha": "a41f3036cf4121efea9db7ca533f0042e68785c2", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/a41f3036cf4121efea9db7ca533f0042e68785c2" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/0c0b8dae3fb7f00a0540ce5203ca243f08d690d8", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/0c0b8dae3fb7f00a0540ce5203ca243f08d690d8", + "html_url": "https://github.com/open-data/ckan/commit/0c0b8dae3fb7f00a0540ce5203ca243f08d690d8", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/0c0b8dae3fb7f00a0540ce5203ca243f08d690d8/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "e2938b00bbfb1a9cd7dbeaeb6e6aa3733cb77335", + "url": "https://api.github.com/repos/open-data/ckan/commits/e2938b00bbfb1a9cd7dbeaeb6e6aa3733cb77335", + "html_url": "https://github.com/open-data/ckan/commit/e2938b00bbfb1a9cd7dbeaeb6e6aa3733cb77335" + } + ] + }, + { + "sha": "a02e270cee9e87ef9fd9ead17c602e8e592431cc", + "node_id": "C_kwDOAHlEatoAKGEwMmUyNzBjZWU5ZTg3ZWY5ZmQ5ZWFkMTdjNjAyZThlNTkyNDMxY2M", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-23T20:18:31Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-23T20:18:31Z" + }, + "message": "fix(templates): form select element;\n\n- BS class for version diffs `form-select`.", + "tree": { + "sha": "cbce4e8a5d170ad192efe715945a2856b225c474", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/cbce4e8a5d170ad192efe715945a2856b225c474" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/a02e270cee9e87ef9fd9ead17c602e8e592431cc", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/a02e270cee9e87ef9fd9ead17c602e8e592431cc", + "html_url": "https://github.com/open-data/ckan/commit/a02e270cee9e87ef9fd9ead17c602e8e592431cc", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/a02e270cee9e87ef9fd9ead17c602e8e592431cc/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "0c0b8dae3fb7f00a0540ce5203ca243f08d690d8", + "url": "https://api.github.com/repos/open-data/ckan/commits/0c0b8dae3fb7f00a0540ce5203ca243f08d690d8", + "html_url": "https://github.com/open-data/ckan/commit/0c0b8dae3fb7f00a0540ce5203ca243f08d690d8" + } + ] + }, + { + "sha": "2794b32264ddfe2a32830dc1cba827d3940eed9b", + "node_id": "C_kwDOAHlEatoAKDI3OTRiMzIyNjRkZGZlMmEzMjgzMGRjMWNiYTgyN2QzOTQwZWVkOWI", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-24T23:31:39Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-24T23:31:39Z" + }, + "message": "feat(js): autocomplete;\n\n- Allow no tag creation for single select2.", + "tree": { + "sha": "a705fb1b378a2ae3bab8d1d444a06664a8621353", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/a705fb1b378a2ae3bab8d1d444a06664a8621353" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/2794b32264ddfe2a32830dc1cba827d3940eed9b", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/2794b32264ddfe2a32830dc1cba827d3940eed9b", + "html_url": "https://github.com/open-data/ckan/commit/2794b32264ddfe2a32830dc1cba827d3940eed9b", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/2794b32264ddfe2a32830dc1cba827d3940eed9b/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "a02e270cee9e87ef9fd9ead17c602e8e592431cc", + "url": "https://api.github.com/repos/open-data/ckan/commits/a02e270cee9e87ef9fd9ead17c602e8e592431cc", + "html_url": "https://github.com/open-data/ckan/commit/a02e270cee9e87ef9fd9ead17c602e8e592431cc" + } + ] + }, + { + "sha": "e5eb36ae4d5c1625b30aa6ea097d5357cb84daa1", + "node_id": "C_kwDOAHlEatoAKGU1ZWIzNmFlNGQ1YzE2MjViMzBhYTZlYTA5N2Q1MzU3Y2I4NGRhYTE", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-24T23:41:50Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-24T23:41:50Z" + }, + "message": "fix(logic): toolkit for ds audit;\n\n- Toolkit datastore_records_delete for DS Audit to work.", + "tree": { + "sha": "a3282b69be2a8fa8ac1cbb5f5aeaa412d75a3dcb", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/a3282b69be2a8fa8ac1cbb5f5aeaa412d75a3dcb" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/e5eb36ae4d5c1625b30aa6ea097d5357cb84daa1", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/e5eb36ae4d5c1625b30aa6ea097d5357cb84daa1", + "html_url": "https://github.com/open-data/ckan/commit/e5eb36ae4d5c1625b30aa6ea097d5357cb84daa1", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/e5eb36ae4d5c1625b30aa6ea097d5357cb84daa1/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "2794b32264ddfe2a32830dc1cba827d3940eed9b", + "url": "https://api.github.com/repos/open-data/ckan/commits/2794b32264ddfe2a32830dc1cba827d3940eed9b", + "html_url": "https://github.com/open-data/ckan/commit/2794b32264ddfe2a32830dc1cba827d3940eed9b" + } + ] + }, + { + "sha": "f0b2daafa3b21d80c26a2213c13d04f957956bc4", + "node_id": "C_kwDOAHlEatoAKGYwYjJkYWFmYTNiMjFkODBjMjZhMjIxM2MxM2QwNGY5NTc5NTZiYzQ", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-25T20:03:08Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-25T20:03:08Z" + }, + "message": "fix(templates): purge;\n\n- Use valid purge types helper to not flop on url building.", + "tree": { + "sha": "8d7a842087506e273de7073b72b3084010d161f8", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/8d7a842087506e273de7073b72b3084010d161f8" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/f0b2daafa3b21d80c26a2213c13d04f957956bc4", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/f0b2daafa3b21d80c26a2213c13d04f957956bc4", + "html_url": "https://github.com/open-data/ckan/commit/f0b2daafa3b21d80c26a2213c13d04f957956bc4", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/f0b2daafa3b21d80c26a2213c13d04f957956bc4/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "e5eb36ae4d5c1625b30aa6ea097d5357cb84daa1", + "url": "https://api.github.com/repos/open-data/ckan/commits/e5eb36ae4d5c1625b30aa6ea097d5357cb84daa1", + "html_url": "https://github.com/open-data/ckan/commit/e5eb36ae4d5c1625b30aa6ea097d5357cb84daa1" + } + ] + }, + { + "sha": "d79ef8d13a638f8d686b75350a63874e9a391c06", + "node_id": "C_kwDOAHlEatoAKGQ3OWVmOGQxM2E2MzhmOGQ2ODZiNzUzNTBhNjM4NzRlOWEzOTFjMDY", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-28T20:26:46Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-10-28T20:26:46Z" + }, + "message": "feat(js): autocomplete initial label;\n\n- Added capability to define the initial value and label to the select2 fields.", + "tree": { + "sha": "4f9b0c407509eb9e73df8a2e5022ec12f4a20b76", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/4f9b0c407509eb9e73df8a2e5022ec12f4a20b76" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/d79ef8d13a638f8d686b75350a63874e9a391c06", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/d79ef8d13a638f8d686b75350a63874e9a391c06", + "html_url": "https://github.com/open-data/ckan/commit/d79ef8d13a638f8d686b75350a63874e9a391c06", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/d79ef8d13a638f8d686b75350a63874e9a391c06/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "f0b2daafa3b21d80c26a2213c13d04f957956bc4", + "url": "https://api.github.com/repos/open-data/ckan/commits/f0b2daafa3b21d80c26a2213c13d04f957956bc4", + "html_url": "https://github.com/open-data/ckan/commit/f0b2daafa3b21d80c26a2213c13d04f957956bc4" + } + ] + }, + { + "sha": "9fc46d7d7616d2eaf08576e6444805640a858f7c", + "node_id": "C_kwDOAHlEatoAKDlmYzQ2ZDdkNzYxNmQyZWFmMDg1NzZlNjQ0NDgwNTY0MGE4NThmN2M", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-27T21:48:47Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-27T21:48:47Z" + }, + "message": "feat(dev): search index ui and logic;\n\n- Re-index orgs after update.\n- Re-index UI views and actions.", + "tree": { + "sha": "cc321120332ec410379ceea58ce1d38c047b548f", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/cc321120332ec410379ceea58ce1d38c047b548f" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/9fc46d7d7616d2eaf08576e6444805640a858f7c", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/9fc46d7d7616d2eaf08576e6444805640a858f7c", + "html_url": "https://github.com/open-data/ckan/commit/9fc46d7d7616d2eaf08576e6444805640a858f7c", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/9fc46d7d7616d2eaf08576e6444805640a858f7c/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "url": "https://api.github.com/repos/open-data/ckan/commits/d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "html_url": "https://github.com/open-data/ckan/commit/d8d0e9647c9a34757106a0151c26d8b5442bcee3" + } + ] + }, + { + "sha": "0578088e584551502a3056b54f71aec805bfc7dd", + "node_id": "C_kwDOAHlEatoAKDA1NzgwODhlNTg0NTUxNTAyYTMwNTZiNTRmNzFhZWM4MDViZmM3ZGQ", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-28T18:43:08Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-28T18:43:08Z" + }, + "message": "feat(dev): progress bar;\n\n- Added progres bar for search rebuild;\n- Finalized site index rebuild.", + "tree": { + "sha": "f18c094cdf3c1b650a7cd749c5b4e4919a803b70", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/f18c094cdf3c1b650a7cd749c5b4e4919a803b70" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/0578088e584551502a3056b54f71aec805bfc7dd", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/0578088e584551502a3056b54f71aec805bfc7dd", + "html_url": "https://github.com/open-data/ckan/commit/0578088e584551502a3056b54f71aec805bfc7dd", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/0578088e584551502a3056b54f71aec805bfc7dd/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "9fc46d7d7616d2eaf08576e6444805640a858f7c", + "url": "https://api.github.com/repos/open-data/ckan/commits/9fc46d7d7616d2eaf08576e6444805640a858f7c", + "html_url": "https://github.com/open-data/ckan/commit/9fc46d7d7616d2eaf08576e6444805640a858f7c" + } + ] + }, + { + "sha": "8cff4143e5807a3d0512dc6ee13608bb71e08939", + "node_id": "C_kwDOAHlEatoAKDhjZmY0MTQzZTU4MDdhM2QwNTEyZGM2ZWUxMzYwOGJiNzFlMDg5Mzk", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-28T18:53:23Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-28T18:53:23Z" + }, + "message": "feat(misc): changelog;\n\n- Added change log file.", + "tree": { + "sha": "a0bca076483ce99ef3cf21f89994466beefd8003", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/a0bca076483ce99ef3cf21f89994466beefd8003" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/8cff4143e5807a3d0512dc6ee13608bb71e08939", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/8cff4143e5807a3d0512dc6ee13608bb71e08939", + "html_url": "https://github.com/open-data/ckan/commit/8cff4143e5807a3d0512dc6ee13608bb71e08939", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/8cff4143e5807a3d0512dc6ee13608bb71e08939/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "0578088e584551502a3056b54f71aec805bfc7dd", + "url": "https://api.github.com/repos/open-data/ckan/commits/0578088e584551502a3056b54f71aec805bfc7dd", + "html_url": "https://github.com/open-data/ckan/commit/0578088e584551502a3056b54f71aec805bfc7dd" + } + ] + }, + { + "sha": "73efabc19ed029cc4eecc1960c4d54918ba5345b", + "node_id": "C_kwDOAHlEatoAKDczZWZhYmMxOWVkMDI5Y2M0ZWVjYzE5NjBjNGQ1NDkxOGJhNTM0NWI", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-29T20:32:13Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-29T20:32:13Z" + }, + "message": "fix(dev): misc fixes;\n\n- Feedback round 1.", + "tree": { + "sha": "8fdc3bb00251606fc3892efe27ead58e7633927f", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/8fdc3bb00251606fc3892efe27ead58e7633927f" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/73efabc19ed029cc4eecc1960c4d54918ba5345b", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/73efabc19ed029cc4eecc1960c4d54918ba5345b", + "html_url": "https://github.com/open-data/ckan/commit/73efabc19ed029cc4eecc1960c4d54918ba5345b", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/73efabc19ed029cc4eecc1960c4d54918ba5345b/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "8cff4143e5807a3d0512dc6ee13608bb71e08939", + "url": "https://api.github.com/repos/open-data/ckan/commits/8cff4143e5807a3d0512dc6ee13608bb71e08939", + "html_url": "https://github.com/open-data/ckan/commit/8cff4143e5807a3d0512dc6ee13608bb71e08939" + } + ] + }, + { + "sha": "5a0680a31e57d58a211a2d90446960d9e1dd5e69", + "node_id": "C_kwDOAHlEatoAKDVhMDY4MGEzMWU1N2Q1OGEyMTFhMmQ5MDQ0Njk2MGQ5ZTFkZDVlNjk", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-29T20:48:27Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-29T20:48:27Z" + }, + "message": "fix(logic): enumerate counter;\n\n- Set enumerate starter.", + "tree": { + "sha": "9f94badbf310b7bd495df058d15c3dea52de8423", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/9f94badbf310b7bd495df058d15c3dea52de8423" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/5a0680a31e57d58a211a2d90446960d9e1dd5e69", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/5a0680a31e57d58a211a2d90446960d9e1dd5e69", + "html_url": "https://github.com/open-data/ckan/commit/5a0680a31e57d58a211a2d90446960d9e1dd5e69", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/5a0680a31e57d58a211a2d90446960d9e1dd5e69/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "73efabc19ed029cc4eecc1960c4d54918ba5345b", + "url": "https://api.github.com/repos/open-data/ckan/commits/73efabc19ed029cc4eecc1960c4d54918ba5345b", + "html_url": "https://github.com/open-data/ckan/commit/73efabc19ed029cc4eecc1960c4d54918ba5345b" + } + ] + }, + { + "sha": "9d2c9e721690e44adb7bf64c24510c7e0fce08d4", + "node_id": "C_kwDOAHlEatoAKDlkMmM5ZTcyMTY5MGU0NGFkYjdiZjY0YzI0NTEwYzdlMGZjZTA4ZDQ", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-29T20:49:22Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-29T20:49:22Z" + }, + "message": "refactor(misc): clearer task type;\n\n- Task type `search_rebuild` -> `reindex_packages`.", + "tree": { + "sha": "196996c680361b3fa0c08059aac51533dbf7b859", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/196996c680361b3fa0c08059aac51533dbf7b859" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/9d2c9e721690e44adb7bf64c24510c7e0fce08d4", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/9d2c9e721690e44adb7bf64c24510c7e0fce08d4", + "html_url": "https://github.com/open-data/ckan/commit/9d2c9e721690e44adb7bf64c24510c7e0fce08d4", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/9d2c9e721690e44adb7bf64c24510c7e0fce08d4/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "5a0680a31e57d58a211a2d90446960d9e1dd5e69", + "url": "https://api.github.com/repos/open-data/ckan/commits/5a0680a31e57d58a211a2d90446960d9e1dd5e69", + "html_url": "https://github.com/open-data/ckan/commit/5a0680a31e57d58a211a2d90446960d9e1dd5e69" + } + ] + }, + { + "sha": "e8c0c17d36e3576d9c5411285dfd315cb59194ae", + "node_id": "C_kwDOAHlEatoAKGU4YzBjMTdkMzZlMzU3NmQ5YzU0MTEyODVkZmQzMTVjYjU5MTk0YWU", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-29T20:56:29Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-29T20:56:29Z" + }, + "message": "refactor(logic): reindex action method names;\n\n- Updated reindex action method names to CKAN standards.", + "tree": { + "sha": "d4848a2efdd9ce520800cca96b1016ce2146eb5b", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/d4848a2efdd9ce520800cca96b1016ce2146eb5b" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/e8c0c17d36e3576d9c5411285dfd315cb59194ae", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/e8c0c17d36e3576d9c5411285dfd315cb59194ae", + "html_url": "https://github.com/open-data/ckan/commit/e8c0c17d36e3576d9c5411285dfd315cb59194ae", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/e8c0c17d36e3576d9c5411285dfd315cb59194ae/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "9d2c9e721690e44adb7bf64c24510c7e0fce08d4", + "url": "https://api.github.com/repos/open-data/ckan/commits/9d2c9e721690e44adb7bf64c24510c7e0fce08d4", + "html_url": "https://github.com/open-data/ckan/commit/9d2c9e721690e44adb7bf64c24510c7e0fce08d4" + } + ] + }, + { + "sha": "dd70cdd9c528b1455827bbf57da67997c16a2f3e", + "node_id": "C_kwDOAHlEatoAKGRkNzBjZGQ5YzUyOGIxNDU1ODI3YmJmNTdkYTY3OTk3YzE2YTJmM2U", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-29T20:58:56Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-29T20:58:56Z" + }, + "message": "fix(syntax): standards;\n\n- Python coding standards.", + "tree": { + "sha": "71907e67fd6b6881bfb35860e6a63dcd0ef2bd5c", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/71907e67fd6b6881bfb35860e6a63dcd0ef2bd5c" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/dd70cdd9c528b1455827bbf57da67997c16a2f3e", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/dd70cdd9c528b1455827bbf57da67997c16a2f3e", + "html_url": "https://github.com/open-data/ckan/commit/dd70cdd9c528b1455827bbf57da67997c16a2f3e", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/dd70cdd9c528b1455827bbf57da67997c16a2f3e/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "e8c0c17d36e3576d9c5411285dfd315cb59194ae", + "url": "https://api.github.com/repos/open-data/ckan/commits/e8c0c17d36e3576d9c5411285dfd315cb59194ae", + "html_url": "https://github.com/open-data/ckan/commit/e8c0c17d36e3576d9c5411285dfd315cb59194ae" + } + ] + }, + { + "sha": "5aacc594b87bbaa2db4d1c89c5e62345a479ecb2", + "node_id": "C_kwDOAHlEatoAKDVhYWNjNTk0Yjg3YmJhYTJkYjRkMWM4OWM1ZTYyMzQ1YTQ3OWVjYjI", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-29T21:07:46Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-29T21:07:46Z" + }, + "message": "feat(comments): doc comments;\n\n- Added method doc comments for job callback.", + "tree": { + "sha": "f7c3af6c1e36503c70cba46ab685f56e2706b3d6", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/f7c3af6c1e36503c70cba46ab685f56e2706b3d6" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/5aacc594b87bbaa2db4d1c89c5e62345a479ecb2", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/5aacc594b87bbaa2db4d1c89c5e62345a479ecb2", + "html_url": "https://github.com/open-data/ckan/commit/5aacc594b87bbaa2db4d1c89c5e62345a479ecb2", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/5aacc594b87bbaa2db4d1c89c5e62345a479ecb2/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "dd70cdd9c528b1455827bbf57da67997c16a2f3e", + "url": "https://api.github.com/repos/open-data/ckan/commits/dd70cdd9c528b1455827bbf57da67997c16a2f3e", + "html_url": "https://github.com/open-data/ckan/commit/dd70cdd9c528b1455827bbf57da67997c16a2f3e" + } + ] + }, + { + "sha": "c35b78690591ffb24f24b6bca3a76a87eb983c0b", + "node_id": "C_kwDOAHlEatoAKGMzNWI3ODY5MDU5MWZmYjI0ZjI0YjZiY2EzYTc2YTg3ZWI5ODNjMGI", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-29T21:09:15Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-11-29T21:09:15Z" + }, + "message": "fix(cli): show errors;\n\n- Show errors even if not verbose.", + "tree": { + "sha": "3242e2149bcf266e863d96815712845c85ba6bb2", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/3242e2149bcf266e863d96815712845c85ba6bb2" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/c35b78690591ffb24f24b6bca3a76a87eb983c0b", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/c35b78690591ffb24f24b6bca3a76a87eb983c0b", + "html_url": "https://github.com/open-data/ckan/commit/c35b78690591ffb24f24b6bca3a76a87eb983c0b", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/c35b78690591ffb24f24b6bca3a76a87eb983c0b/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "5aacc594b87bbaa2db4d1c89c5e62345a479ecb2", + "url": "https://api.github.com/repos/open-data/ckan/commits/5aacc594b87bbaa2db4d1c89c5e62345a479ecb2", + "html_url": "https://github.com/open-data/ckan/commit/5aacc594b87bbaa2db4d1c89c5e62345a479ecb2" + } + ] + }, + { + "sha": "b8caa766aff96af1310609c3c8decaea3582088b", + "node_id": "C_kwDOAHlEatoAKGI4Y2FhNzY2YWZmOTZhZjEzMTA2MDljM2M4ZGVjYWVhMzU4MjA4OGI", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-01T00:30:14Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-01T00:30:14Z" + }, + "message": "feat(misc): comment;\n\n- TODO comment.", + "tree": { + "sha": "78d4c0e43b0e8a9cc316e015f3ca9e11d948ef0e", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/78d4c0e43b0e8a9cc316e015f3ca9e11d948ef0e" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/b8caa766aff96af1310609c3c8decaea3582088b", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/b8caa766aff96af1310609c3c8decaea3582088b", + "html_url": "https://github.com/open-data/ckan/commit/b8caa766aff96af1310609c3c8decaea3582088b", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/b8caa766aff96af1310609c3c8decaea3582088b/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "c35b78690591ffb24f24b6bca3a76a87eb983c0b", + "url": "https://api.github.com/repos/open-data/ckan/commits/c35b78690591ffb24f24b6bca3a76a87eb983c0b", + "html_url": "https://github.com/open-data/ckan/commit/c35b78690591ffb24f24b6bca3a76a87eb983c0b" + } + ] + }, + { + "sha": "21f2fa64e2d06f412039848238ca9eee9db33f80", + "node_id": "C_kwDOAHlEatoAKDIxZjJmYTY0ZTJkMDZmNDEyMDM5ODQ4MjM4Y2E5ZWVlOWRiMzNmODA", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-02T15:08:28Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-02T15:08:28Z" + }, + "message": "feat(dev): group reindex;\n\n- Do query for group re-indexing.", + "tree": { + "sha": "ce88f2efc202711a63ea1fdd8abcefa19846aa2a", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/ce88f2efc202711a63ea1fdd8abcefa19846aa2a" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/21f2fa64e2d06f412039848238ca9eee9db33f80", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/21f2fa64e2d06f412039848238ca9eee9db33f80", + "html_url": "https://github.com/open-data/ckan/commit/21f2fa64e2d06f412039848238ca9eee9db33f80", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/21f2fa64e2d06f412039848238ca9eee9db33f80/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "b8caa766aff96af1310609c3c8decaea3582088b", + "url": "https://api.github.com/repos/open-data/ckan/commits/b8caa766aff96af1310609c3c8decaea3582088b", + "html_url": "https://github.com/open-data/ckan/commit/b8caa766aff96af1310609c3c8decaea3582088b" + } + ] + }, + { + "sha": "dc2a3f68244d9985bbe0c280ba87ea1559386ec1", + "node_id": "C_kwDOAHlEatoAKGRjMmEzZjY4MjQ0ZDk5ODViYmUwYzI4MGJhODdlYTE1NTkzODZlYzE", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-02T18:38:14Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-02T18:38:14Z" + }, + "message": "fix(js): catch exception;\n\n- Handle null values in progress bar JS.", + "tree": { + "sha": "9b3dbef37d3d8c2244b051279f3277ec32768acc", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/9b3dbef37d3d8c2244b051279f3277ec32768acc" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/dc2a3f68244d9985bbe0c280ba87ea1559386ec1", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/dc2a3f68244d9985bbe0c280ba87ea1559386ec1", + "html_url": "https://github.com/open-data/ckan/commit/dc2a3f68244d9985bbe0c280ba87ea1559386ec1", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/dc2a3f68244d9985bbe0c280ba87ea1559386ec1/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "21f2fa64e2d06f412039848238ca9eee9db33f80", + "url": "https://api.github.com/repos/open-data/ckan/commits/21f2fa64e2d06f412039848238ca9eee9db33f80", + "html_url": "https://github.com/open-data/ckan/commit/21f2fa64e2d06f412039848238ca9eee9db33f80" + } + ] + }, + { + "sha": "1c079c98517bdd8f59e9e5edb131d1158169e98c", + "node_id": "C_kwDOAHlEatoAKDFjMDc5Yzk4NTE3YmRkOGY1OWU5ZTVlZGIxMzFkMTE1ODE2OWU5OGM", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "97247789+JVickery-TBS@users.noreply.github.com", + "date": "2024-12-03T16:57:45Z" + }, + "committer": { + "name": "GitHub", + "email": "noreply@github.com", + "date": "2024-12-03T16:57:45Z" + }, + "message": "Merge pull request #185 from open-data/feature/dynamic-search-reindex\n\nSearch Index Rebuild UI and After Org Update", + "tree": { + "sha": "9b3dbef37d3d8c2244b051279f3277ec32768acc", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/9b3dbef37d3d8c2244b051279f3277ec32768acc" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/1c079c98517bdd8f59e9e5edb131d1158169e98c", + "comment_count": 0, + "verification": { + "verified": true, + "reason": "valid", + "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJnTziJCRC1aQ7uu5UhlAAACnYQAAaXbIl07IA6VSTi6kMi40Ir\nn8cPpEbVUBCwmjnnGOSWilJIB+ChID+hBgKHYvLvyWelvMdrIAe9IpPx+OUMqxpW\nwG85I//tCuz3FOtUWK1G/6xcWhsE3EJBNXCm3dNemocJqgy7p2cS7WOc+CXtU/s7\nko2W5fdyhL2SYfgFyRONXmnenAzS5rOCL/6/FAchawno/JJeTcx8517RGQPflPE+\nXgSIaB0arZJodYT6vv0sH1duk/59gP3Vw0jy2dAkbbbc1wyRpagOtSEWq65YM9z/\nGplAOxm/QbCne4c2KXhODxxW+FPhDuuEcXbfIt8+b15rc5K1hfThsIpE8LuDKOD1\nrssaLK2/uurAK/gJjZATzfX117tBx7ChYiXbMipsYNd5YfAMSDQzSDF/J3yqKHat\nwdHDDs64J+9YZnRxo4bRzdOXolEkfr2cJM+apwGcuM8k2ZrbLjdgwc26MzEBRLsU\nsFQ0jXu4dnV4kplhq8Yvt4dEvY/h8aRw/dHD+GWbjEskgNbsFvfYZTFnCnsMe/pP\nSjNmrzHZDsJ34DBtlfkQ/UFRC9CriNAScaVLG1chG/QldoAS+gpcuOIan+TsaaQc\nfGuZ7/OwjsB1LqWe4pEZTVEitMr8WBxlCLtSeGk9dDpPVZjKajQxUx61iSrUbba7\nXkan70JHoIJXX1kWiQUp\n=v0ye\n-----END PGP SIGNATURE-----\n", + "payload": "tree 9b3dbef37d3d8c2244b051279f3277ec32768acc\nparent d8d0e9647c9a34757106a0151c26d8b5442bcee3\nparent dc2a3f68244d9985bbe0c280ba87ea1559386ec1\nauthor Jesse Vickery <97247789+JVickery-TBS@users.noreply.github.com> 1733245065 -0500\ncommitter GitHub 1733245065 -0500\n\nMerge pull request #185 from open-data/feature/dynamic-search-reindex\n\nSearch Index Rebuild UI and After Org Update", + "verified_at": "2024-12-03T17:02:47Z" + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/1c079c98517bdd8f59e9e5edb131d1158169e98c", + "html_url": "https://github.com/open-data/ckan/commit/1c079c98517bdd8f59e9e5edb131d1158169e98c", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/1c079c98517bdd8f59e9e5edb131d1158169e98c/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "web-flow", + "id": 19864447, + "node_id": "MDQ6VXNlcjE5ODY0NDQ3", + "avatar_url": "https://avatars.githubusercontent.com/u/19864447?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/web-flow", + "html_url": "https://github.com/web-flow", + "followers_url": "https://api.github.com/users/web-flow/followers", + "following_url": "https://api.github.com/users/web-flow/following{/other_user}", + "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}", + "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions", + "organizations_url": "https://api.github.com/users/web-flow/orgs", + "repos_url": "https://api.github.com/users/web-flow/repos", + "events_url": "https://api.github.com/users/web-flow/events{/privacy}", + "received_events_url": "https://api.github.com/users/web-flow/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "url": "https://api.github.com/repos/open-data/ckan/commits/d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "html_url": "https://github.com/open-data/ckan/commit/d8d0e9647c9a34757106a0151c26d8b5442bcee3" + }, + { + "sha": "dc2a3f68244d9985bbe0c280ba87ea1559386ec1", + "url": "https://api.github.com/repos/open-data/ckan/commits/dc2a3f68244d9985bbe0c280ba87ea1559386ec1", + "html_url": "https://github.com/open-data/ckan/commit/dc2a3f68244d9985bbe0c280ba87ea1559386ec1" + } + ] + }, + { + "sha": "9b01f7d4db60cb95df7558b7ac2ead1e8912c2d7", + "node_id": "C_kwDOAHlEatoAKDliMDFmN2Q0ZGI2MGNiOTVkZjc1NThiN2FjMmVhZDFlODkxMmMyZDc", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-03T17:22:49Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-03T17:22:49Z" + }, + "message": "Merge branch 'canada-py3' into canada-v2.10\n\n# Conflicts:\n#\tckan/cli/search_index.py\n#\tckan/lib/plugins.py\n#\tckan/lib/search/__init__.py\n#\tckan/logic/action/update.py\n#\tckan/logic/auth/update.py\n#\tckan/public/base/css/main.css\n#\tckan/templates/admin/base.html\n#\tckan/templates/organization/edit_base.html\n#\tckan/views/dataset.py\n#\tckan/views/group.py\n#\tckan/views/util.py\n### RESOLVED.", + "tree": { + "sha": "d66c26438dbf4f284746ff0796d4869bebb24ab5", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/d66c26438dbf4f284746ff0796d4869bebb24ab5" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/9b01f7d4db60cb95df7558b7ac2ead1e8912c2d7", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/9b01f7d4db60cb95df7558b7ac2ead1e8912c2d7", + "html_url": "https://github.com/open-data/ckan/commit/9b01f7d4db60cb95df7558b7ac2ead1e8912c2d7", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/9b01f7d4db60cb95df7558b7ac2ead1e8912c2d7/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "d79ef8d13a638f8d686b75350a63874e9a391c06", + "url": "https://api.github.com/repos/open-data/ckan/commits/d79ef8d13a638f8d686b75350a63874e9a391c06", + "html_url": "https://github.com/open-data/ckan/commit/d79ef8d13a638f8d686b75350a63874e9a391c06" + }, + { + "sha": "1c079c98517bdd8f59e9e5edb131d1158169e98c", + "url": "https://api.github.com/repos/open-data/ckan/commits/1c079c98517bdd8f59e9e5edb131d1158169e98c", + "html_url": "https://github.com/open-data/ckan/commit/1c079c98517bdd8f59e9e5edb131d1158169e98c" + } + ] + }, + { + "sha": "1fa66dec82080f42b297654831ff67af627d7e52", + "node_id": "C_kwDOAHlEatoAKDFmYTY2ZGVjODIwODBmNDJiMjk3NjU0ODMxZmY2N2FmNjI3ZDdlNTI", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-03T17:42:17Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-03T17:42:17Z" + }, + "message": "fix(syntax): 2.10;\n\n- Syntax changes for 2.10", + "tree": { + "sha": "b0cbd06023defa03420ca901fbc9467f8ce20e8b", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/b0cbd06023defa03420ca901fbc9467f8ce20e8b" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/1fa66dec82080f42b297654831ff67af627d7e52", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/1fa66dec82080f42b297654831ff67af627d7e52", + "html_url": "https://github.com/open-data/ckan/commit/1fa66dec82080f42b297654831ff67af627d7e52", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/1fa66dec82080f42b297654831ff67af627d7e52/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "9b01f7d4db60cb95df7558b7ac2ead1e8912c2d7", + "url": "https://api.github.com/repos/open-data/ckan/commits/9b01f7d4db60cb95df7558b7ac2ead1e8912c2d7", + "html_url": "https://github.com/open-data/ckan/commit/9b01f7d4db60cb95df7558b7ac2ead1e8912c2d7" + } + ] + }, + { + "sha": "6fd3f3bdd0f797b8e692d0b541b72322565bbf56", + "node_id": "C_kwDOAHlEatoAKDZmZDNmM2JkZDBmNzk3YjhlNjkyZDBiNTQxYjcyMzIyNTY1YmJmNTY", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-03T20:33:26Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-03T20:33:26Z" + }, + "message": "fix(dev): search rebuild;\n\n- Catch exceptions.\n- Added error state.\n- Fix progress bar calculation.", + "tree": { + "sha": "d8f10fe40c0bdb9a30509fc176657785325a47cd", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/d8f10fe40c0bdb9a30509fc176657785325a47cd" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/6fd3f3bdd0f797b8e692d0b541b72322565bbf56", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/6fd3f3bdd0f797b8e692d0b541b72322565bbf56", + "html_url": "https://github.com/open-data/ckan/commit/6fd3f3bdd0f797b8e692d0b541b72322565bbf56", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/6fd3f3bdd0f797b8e692d0b541b72322565bbf56/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "1c079c98517bdd8f59e9e5edb131d1158169e98c", + "url": "https://api.github.com/repos/open-data/ckan/commits/1c079c98517bdd8f59e9e5edb131d1158169e98c", + "html_url": "https://github.com/open-data/ckan/commit/1c079c98517bdd8f59e9e5edb131d1158169e98c" + } + ] + }, + { + "sha": "ab30e8e8da834b7d4d0b00389c6b50d690fe30c7", + "node_id": "C_kwDOAHlEatoAKGFiMzBlOGU4ZGE4MzRiN2Q0ZDBiMDAzODljNmI1MGQ2OTBmZTMwYzc", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-03T20:41:05Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-03T20:41:05Z" + }, + "message": "Merge branch 'canada-py3' into canada-v2.10", + "tree": { + "sha": "af639a352bd82b6abe9c6d33b96521a535ad3210", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/af639a352bd82b6abe9c6d33b96521a535ad3210" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/ab30e8e8da834b7d4d0b00389c6b50d690fe30c7", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/ab30e8e8da834b7d4d0b00389c6b50d690fe30c7", + "html_url": "https://github.com/open-data/ckan/commit/ab30e8e8da834b7d4d0b00389c6b50d690fe30c7", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/ab30e8e8da834b7d4d0b00389c6b50d690fe30c7/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "1fa66dec82080f42b297654831ff67af627d7e52", + "url": "https://api.github.com/repos/open-data/ckan/commits/1fa66dec82080f42b297654831ff67af627d7e52", + "html_url": "https://github.com/open-data/ckan/commit/1fa66dec82080f42b297654831ff67af627d7e52" + }, + { + "sha": "6fd3f3bdd0f797b8e692d0b541b72322565bbf56", + "url": "https://api.github.com/repos/open-data/ckan/commits/6fd3f3bdd0f797b8e692d0b541b72322565bbf56", + "html_url": "https://github.com/open-data/ckan/commit/6fd3f3bdd0f797b8e692d0b541b72322565bbf56" + } + ] + }, + { + "sha": "e0b9c9bd2e318b97a6eb89c6bd2d1969fe037e88", + "node_id": "C_kwDOAHlEatoAKGUwYjljOWJkMmUzMThiOTdhNmViODljNmJkMmQxOTY5ZmUwMzdlODg", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-04T14:32:26Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-04T14:32:26Z" + }, + "message": "feat(js): progress bar state;\n\n- Add state to progress bar module.", + "tree": { + "sha": "cd7bebd609d13570d2d0d78e55466d24a3555680", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/cd7bebd609d13570d2d0d78e55466d24a3555680" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/e0b9c9bd2e318b97a6eb89c6bd2d1969fe037e88", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/e0b9c9bd2e318b97a6eb89c6bd2d1969fe037e88", + "html_url": "https://github.com/open-data/ckan/commit/e0b9c9bd2e318b97a6eb89c6bd2d1969fe037e88", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/e0b9c9bd2e318b97a6eb89c6bd2d1969fe037e88/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "6fd3f3bdd0f797b8e692d0b541b72322565bbf56", + "url": "https://api.github.com/repos/open-data/ckan/commits/6fd3f3bdd0f797b8e692d0b541b72322565bbf56", + "html_url": "https://github.com/open-data/ckan/commit/6fd3f3bdd0f797b8e692d0b541b72322565bbf56" + } + ] + }, + { + "sha": "aa40085c34b74f9af1365e552ffb44ba4b51d096", + "node_id": "C_kwDOAHlEatoAKGFhNDAwODVjMzRiNzRmOWFmMTM2NWU1NTJmZmI0NGJhNGI1MWQwOTY", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-04T14:33:47Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-04T14:33:47Z" + }, + "message": "Merge branch 'canada-py3' into canada-v2.10", + "tree": { + "sha": "dce3cea254ebb46aaf463d6e6e8f7a836b29e1a2", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/dce3cea254ebb46aaf463d6e6e8f7a836b29e1a2" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/aa40085c34b74f9af1365e552ffb44ba4b51d096", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/aa40085c34b74f9af1365e552ffb44ba4b51d096", + "html_url": "https://github.com/open-data/ckan/commit/aa40085c34b74f9af1365e552ffb44ba4b51d096", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/aa40085c34b74f9af1365e552ffb44ba4b51d096/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "ab30e8e8da834b7d4d0b00389c6b50d690fe30c7", + "url": "https://api.github.com/repos/open-data/ckan/commits/ab30e8e8da834b7d4d0b00389c6b50d690fe30c7", + "html_url": "https://github.com/open-data/ckan/commit/ab30e8e8da834b7d4d0b00389c6b50d690fe30c7" + }, + { + "sha": "e0b9c9bd2e318b97a6eb89c6bd2d1969fe037e88", + "url": "https://api.github.com/repos/open-data/ckan/commits/e0b9c9bd2e318b97a6eb89c6bd2d1969fe037e88", + "html_url": "https://github.com/open-data/ckan/commit/e0b9c9bd2e318b97a6eb89c6bd2d1969fe037e88" + } + ] + }, + { + "sha": "25235f8f30ceea21021632283f785ae42b687276", + "node_id": "C_kwDOAHlEatoAKDI1MjM1ZjhmMzBjZWVhMjEwMjE2MzIyODNmNzg1YWU0MmI2ODcyNzY", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-04T15:06:21Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-04T15:06:21Z" + }, + "message": "fix(jobs): defer commit;\n\n- Use defer commit.", + "tree": { + "sha": "10416719dd128b870dcbeccc0e7c05fd0e57c09d", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/10416719dd128b870dcbeccc0e7c05fd0e57c09d" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/25235f8f30ceea21021632283f785ae42b687276", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/25235f8f30ceea21021632283f785ae42b687276", + "html_url": "https://github.com/open-data/ckan/commit/25235f8f30ceea21021632283f785ae42b687276", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/25235f8f30ceea21021632283f785ae42b687276/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "e0b9c9bd2e318b97a6eb89c6bd2d1969fe037e88", + "url": "https://api.github.com/repos/open-data/ckan/commits/e0b9c9bd2e318b97a6eb89c6bd2d1969fe037e88", + "html_url": "https://github.com/open-data/ckan/commit/e0b9c9bd2e318b97a6eb89c6bd2d1969fe037e88" + } + ] + }, + { + "sha": "5985c4caca196e14e22a80881818bf36001504ef", + "node_id": "C_kwDOAHlEatoAKDU5ODVjNGNhY2ExOTZlMTRlMjJhODA4ODE4MThiZjM2MDAxNTA0ZWY", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-04T15:06:52Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-04T15:06:52Z" + }, + "message": "Merge branch 'canada-py3' into canada-v2.10", + "tree": { + "sha": "6d4501f722a527f419adbe4d795935a29e8ca6e2", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/6d4501f722a527f419adbe4d795935a29e8ca6e2" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/5985c4caca196e14e22a80881818bf36001504ef", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/5985c4caca196e14e22a80881818bf36001504ef", + "html_url": "https://github.com/open-data/ckan/commit/5985c4caca196e14e22a80881818bf36001504ef", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/5985c4caca196e14e22a80881818bf36001504ef/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "aa40085c34b74f9af1365e552ffb44ba4b51d096", + "url": "https://api.github.com/repos/open-data/ckan/commits/aa40085c34b74f9af1365e552ffb44ba4b51d096", + "html_url": "https://github.com/open-data/ckan/commit/aa40085c34b74f9af1365e552ffb44ba4b51d096" + }, + { + "sha": "25235f8f30ceea21021632283f785ae42b687276", + "url": "https://api.github.com/repos/open-data/ckan/commits/25235f8f30ceea21021632283f785ae42b687276", + "html_url": "https://github.com/open-data/ckan/commit/25235f8f30ceea21021632283f785ae42b687276" + } + ] + }, + { + "sha": "1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "node_id": "C_kwDOAHlEatoAKDEwNTVlM2M3MGQ5YTE3YTZjY2EzMTI5NWM5YmI1ZGYzMzJhMmEwZjg", + "commit": { + "author": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-10T16:19:36Z" + }, + "committer": { + "name": "Jesse Vickery", + "email": "jesse.vickery@tbs-sct.gc.ca", + "date": "2024-12-10T16:19:36Z" + }, + "message": "feat(misc): changelog;\n\n- Added changelog.", + "tree": { + "sha": "dbc65b04e689c1631c96d216826666bbb85eeba6", + "url": "https://api.github.com/repos/open-data/ckan/git/trees/dbc65b04e689c1631c96d216826666bbb85eeba6" + }, + "url": "https://api.github.com/repos/open-data/ckan/git/commits/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "comment_count": 0, + "verification": { + "verified": false, + "reason": "unsigned", + "signature": null, + "payload": null, + "verified_at": null + } + }, + "url": "https://api.github.com/repos/open-data/ckan/commits/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "html_url": "https://github.com/open-data/ckan/commit/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "comments_url": "https://api.github.com/repos/open-data/ckan/commits/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/comments", + "author": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "committer": { + "login": "JVickery-TBS", + "id": 97247789, + "node_id": "U_kgDOBcviLQ", + "avatar_url": "https://avatars.githubusercontent.com/u/97247789?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/JVickery-TBS", + "html_url": "https://github.com/JVickery-TBS", + "followers_url": "https://api.github.com/users/JVickery-TBS/followers", + "following_url": "https://api.github.com/users/JVickery-TBS/following{/other_user}", + "gists_url": "https://api.github.com/users/JVickery-TBS/gists{/gist_id}", + "starred_url": "https://api.github.com/users/JVickery-TBS/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/JVickery-TBS/subscriptions", + "organizations_url": "https://api.github.com/users/JVickery-TBS/orgs", + "repos_url": "https://api.github.com/users/JVickery-TBS/repos", + "events_url": "https://api.github.com/users/JVickery-TBS/events{/privacy}", + "received_events_url": "https://api.github.com/users/JVickery-TBS/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "parents": [ + { + "sha": "5985c4caca196e14e22a80881818bf36001504ef", + "url": "https://api.github.com/repos/open-data/ckan/commits/5985c4caca196e14e22a80881818bf36001504ef", + "html_url": "https://github.com/open-data/ckan/commit/5985c4caca196e14e22a80881818bf36001504ef" + } + ] + } + ], + "files": [ + { + "sha": "0d17e1ef54728983f7a5028797596e97ed91f5dd", + "filename": ".circleci/config.yml", + "status": "modified", + "additions": 6, + "deletions": 46, + "changes": 52, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.circleci%2Fconfig.yml", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.circleci%2Fconfig.yml", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.circleci%2Fconfig.yml?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -13,52 +13,18 @@ defaults:\n ckan -c test-core-circle-ci.ini datastore set-permissions | psql --host=ckan-postgres --username=ckan\n psql --host=ckan-postgres --username=ckan --dbname=${CKAN_DATASTORE_POSTGRES_DB} --command=\"CREATE extension tablefunc;\"\n ckan -c test-core-circle-ci.ini db init\n+ gunzip .test_durations.gz\n install_deps: &install_deps\n run: |\n # OS Dependencies\n apt update\n- case $CIRCLE_NODE_INDEX in\n- $NODE_TESTS_CONTAINER)\n- curl -sL https://deb.nodesource.com/setup_10.x | bash -\n- apt install -y nodejs\n- apt install -y libgtk2.0-0 libgtk-3-0 libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb\n- npm install\n- ;;\n- esac\n apt install -y postgresql-client\n run_tests: &run_tests\n # Tests Backend, split across containers by segments\n run: |\n- mkdir -p ~/junit\n- case $CIRCLE_NODE_INDEX in\n- 0) python -m pytest $PYTEST_COMMON_OPTIONS --test-group 1\n- ;;\n- 1) python -m pytest $PYTEST_COMMON_OPTIONS --test-group 2\n- ;;\n- 2) python -m pytest $PYTEST_COMMON_OPTIONS --test-group 3\n- ;;\n- 3) python -m pytest $PYTEST_COMMON_OPTIONS --test-group 4\n- ;;\n- esac\n+ mkdir -p ~/junit/result\n+ python -m pytest ${PYTEST_COMMON_OPTIONS} --splits 4 --group $((CIRCLE_NODE_INDEX+1)) --splitting-algorithm least_duration\n \n- # Tests Frontend, only in one container\n- start_test_server: &start_test_server\n- run:\n- command: |\n- case $CIRCLE_NODE_INDEX in\n- $NODE_TESTS_CONTAINER) ckan -c test-core-circle-ci.ini run\n- ;;\n- esac\n- background: true\n- run_front_tests: &run_front_tests\n- run:\n- command: |\n- case $CIRCLE_NODE_INDEX in\n- $NODE_TESTS_CONTAINER)\n- sleep 5\n- $(npm bin)/cypress run\n- ;;\n- esac\n ckan_env: &ckan_env\n environment:\n CKAN_DATASTORE_POSTGRES_DB: datastore_test\n@@ -70,8 +36,7 @@ defaults:\n CKAN_POSTGRES_USER: ckan_default\n CKAN_POSTGRES_PWD: pass\n PGPASSWORD: ckan\n- NODE_TESTS_CONTAINER: 3\n- PYTEST_COMMON_OPTIONS: -v --ckan-ini=test-core-circle-ci.ini --cov=ckan --cov=ckanext --junitxml=/root/junit/junit.xml --test-group-count 4 --test-group-random-seed 1\n+ PYTEST_COMMON_OPTIONS: -v --ckan-ini=test-core-circle-ci.ini --cov=ckan --cov=ckanext --junitxml=~/junit/result/junit.xml\n pg_image: &pg_image\n image: postgres:10\n environment:\n@@ -84,13 +49,13 @@ defaults:\n name: ckan-redis\n \n solr_image: &solr_image\n- image: ckan/ckan-solr:2.9\n+ image: ckan/ckan-solr:master\n name: ckan-solr\n \n jobs:\n test-python-3:\n docker:\n- - image: python:3.9-buster\n+ - image: python:3.7-bullseye\n <<: *ckan_env\n - <<: *pg_image\n - <<: *redis_image\n@@ -104,7 +69,6 @@ jobs:\n - <<: *install_deps\n - run: |\n # Python Dependencies\n- pip install -r requirement-setuptools.txt\n pip install -r requirements.txt\n pip install -r dev-requirements.txt\n python setup.py develop\n@@ -115,10 +79,6 @@ jobs:\n - <<: *run_tests\n - store_test_results:\n path: ~/junit\n- - <<: *start_test_server\n- - <<: *run_front_tests\n- - store_artifacts:\n- path: ~/project/cypress/screenshots\n - run: coveralls\n workflows:\n version: 2" + }, + { + "sha": "1b83cf7c26cd0f767b03613c89d6b5918801edb1", + "filename": ".devcontainer/devcontainer.json", + "status": "modified", + "additions": 2, + "deletions": 2, + "changes": 4, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.devcontainer%2Fdevcontainer.json", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.devcontainer%2Fdevcontainer.json", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.devcontainer%2Fdevcontainer.json?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -40,7 +40,7 @@\n \t\t\"mtxr.sqltools\",\n \t\t\"mtxr.sqltools-driver-pg\"\n \t],\n-\t\n+\n \t// Use 'forwardPorts' to make a list of ports inside the container available locally.\n \t\"forwardPorts\": [5000, 5432, 8983, 6379, 8800],\n \n@@ -53,7 +53,7 @@\n },\n \n \t// Use 'postCreateCommand' to run commands after the container is created.\n-\t\"onCreateCommand\": \"pip install --user --upgrade -r requirement-setuptools.txt && pip install --user -r requirements.txt && pip install --user -r dev-requirements.txt\",\n+\t\"onCreateCommand\": \"pip install --user -r requirements.txt && pip install --user -r dev-requirements.txt\",\n \t\"postCreateCommand\": \"./.devcontainer/setup.sh\",\n \t\"postAttachCommand\": \"ckan run\",\n " + }, + { + "sha": "5281349118a01ce88949b77155e7eed3f9318677", + "filename": ".devcontainer/docker-compose.yml", + "status": "modified", + "additions": 1, + "deletions": 1, + "changes": 2, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.devcontainer%2Fdocker-compose.yml", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.devcontainer%2Fdocker-compose.yml", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.devcontainer%2Fdocker-compose.yml?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -7,7 +7,7 @@ services:\n dockerfile: .devcontainer/Dockerfile\n args:\n # [Choice] Python version: 3, 3.8, 3.7, 3.6\n- VARIANT: 3.8\n+ VARIANT: 3.9\n # [Choice] Node.js version: none, lts/*, 16, 14, 12, 10\n NODE_VERSION: \"lts/*\"\n # On Linux, you may need to update USER_UID and USER_GID below if not your local UID is not 1000." + }, + { + "sha": "890a2f44970a52b1b8deb5023b48d4799e27bbea", + "filename": ".devcontainer/setup.sh", + "status": "modified", + "additions": 1, + "deletions": 6, + "changes": 7, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.devcontainer%2Fsetup.sh", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.devcontainer%2Fsetup.sh", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.devcontainer%2Fsetup.sh?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -8,9 +8,6 @@ ckan generate config ckan.ini\n mkdir /workspace/data\n ckan config-tool ckan.ini ckan.storage_path=/workspace/data\n \n-# Set up Solr URL\n-ckan config-tool ckan.ini solr_url=http://localhost:8983/solr/ckan\n-\n # Set up site URL\n ckan config-tool ckan.ini ckan.site_url=https://$CODESPACE_NAME-5000.$GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN\n \n@@ -28,7 +25,5 @@ ckan config-tool ckan.ini \\\n ckan.datastore.read_url=postgresql://datastore_default:pass@localhost/datastore_default \\\n ckan.datapusher.url=http://localhost:8800 \\\n ckan.datapusher.callback_url_base=http://localhost:5000 \\\n- \"ckan.plugins=datastore datapusher datatables_view\" \\\n- \"ckan.views.default_views= image_view text_view datatables_view\"\n-\n+ \"ckan.plugins=activity datastore datapusher datatables_view\"\n ckan datastore set-permissions | psql $(grep ckan.datastore.write_url ckan.ini | awk -F= '{print $2}')" + }, + { + "sha": "28b4b979888f14eaabbdb1432b94099c505ebd55", + "filename": ".flake8", + "status": "added", + "additions": 65, + "deletions": 0, + "changes": 65, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.flake8", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.flake8", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.flake8?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,65 @@\n+[flake8]\n+exclude =\n+ .*\n+ ./contrib\n+ ./bin\n+per-file-ignores =\n+ test_*.py:E501\n+extend-exclude =\n+ ckan/__init__.py,ckan/config/middleware.py\n+ ckan/lib/app_globals.py\n+ ckan/lib/cli.py\n+ ckan/lib/create_test_data.py\n+ ckan/lib/dictization/__init__.py\n+ ckan/lib/dictization/model_dictize.py\n+ ckan/lib/dictization/model_save.py\n+ ckan/lib/email_notifications.py\n+ ckan/lib/hash.py\n+ ckan/lib/jinja_extensions.py\n+ ckan/lib/maintain.py\n+ ckan/lib/navl/validators.py\n+ ckan/lib/plugins.py\n+ ckan/lib/search/__init__.py\n+ ckan/lib/search/index.py\n+ ckan/lib/search/query.py\n+ ckan/logic/action/__init__.py\n+ ckan/logic/action/delete.py\n+ ckan/logic/action/get.py\n+ ckan/logic/action/update.py\n+ ckan/logic/auth/create.py\n+ ckan/logic/auth/delete.py\n+ ckan/logic/auth/get.py\n+ ckan/logic/auth/update.py\n+ ckan/logic/converters.py\n+ ckan/logic/validators.py\n+ ckan/model/__init__.py\n+ ckan/model/dashboard.py\n+ ckan/model/domain_object.py\n+ ckan/model/follower.py\n+ ckan/model/group.py\n+ ckan/model/group_extra.py\n+ ckan/model/license.py\n+ ckan/model/meta.py\n+ ckan/model/misc.py\n+ ckan/model/modification.py\n+ ckan/model/package.py\n+ ckan/model/package_extra.py\n+ ckan/model/package_relationship.py\n+ ckan/model/resource.py\n+ ckan/model/system_info.py\n+ ckan/model/tag.py\n+ ckan/model/task_status.py\n+ ckan/model/term_translation.py\n+ ckan/model/tracking.py\n+ ckan/model/user.py\n+ ckan/model/vocabulary.py\n+ ckan/authz.py\n+ ckanext/datastore/logic/action.py\n+ ckanext/datastore/tests/test_create.py\n+ ckanext/example_idatasetform/plugin.py\n+ ckanext/example_itemplatehelpers/plugin.py\n+ ckanext/multilingual/plugin.py\n+ ckanext/stats/stats.py\n+ ckanext/test_tag_vocab_plugin.py\n+ doc/conf.py\n+ setup.py" + }, + { + "sha": "f064f54b87dae3810a4ac26dd47cf0c94872ddce", + "filename": ".github/ISSUE_TEMPLATE/bug_report.md", + "status": "modified", + "additions": 6, + "deletions": 5, + "changes": 11, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2FISSUE_TEMPLATE%2Fbug_report.md", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2FISSUE_TEMPLATE%2Fbug_report.md", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.github%2FISSUE_TEMPLATE%2Fbug_report.md?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -7,16 +7,17 @@ assignees: ''\n \n ---\n \n-**CKAN version**\n+## CKAN version\n \n-**Describe the bug**\n+## Describe the bug\n A clear and concise description of what the bug is.\n \n-**Steps to reproduce**\n+### Steps to reproduce\n Steps to reproduce the behavior:\n \n-**Expected behavior**\n+### Expected behavior\n A clear and concise description of what you expected to happen.\n \n-**Additional details**\n+### Additional details\n If possible, please provide the full stack trace of the error raised, or add screenshots to help explain your problem.\n+" + }, + { + "sha": "8b0e5850978ede11f598154c84597ae6d872388b", + "filename": ".github/ISSUE_TEMPLATE/config.yml", + "status": "modified", + "additions": 3, + "deletions": 3, + "changes": 6, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2FISSUE_TEMPLATE%2Fconfig.yml", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2FISSUE_TEMPLATE%2Fconfig.yml", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.github%2FISSUE_TEMPLATE%2Fconfig.yml?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -9,6 +9,6 @@ contact_links:\n - name: Security Issues\n url: mailto:security@ckan.org\n about: Please report any security related vulnerabilities here.\n- - name: Ideas Repository\n- url: https://github.com/ckan/ideas\n- about: For new feature requests or discussion, please create an issue on the ideas repository.\n+ - name: Ideas and Discussion\n+ url: https://github.com/ckan/ckan/discussions\n+ about: For new feature requests or discussion, please create use the discussion forum." + }, + { + "sha": "9817290c555fa23c22fdf3efb7427e969b2cee59", + "filename": ".github/codeql/codeql-config.yml", + "status": "added", + "additions": 4, + "deletions": 0, + "changes": 4, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2Fcodeql%2Fcodeql-config.yml", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2Fcodeql%2Fcodeql-config.yml", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.github%2Fcodeql%2Fcodeql-config.yml?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,4 @@\n+name: \"CKAN CodeQL config\"\n+\n+paths-ignore:\n+ - '**/vendor/**'" + }, + { + "sha": "ddeb17432274ab861eb960ec0becf545e050eb46", + "filename": ".github/workflows/change_log.yml", + "status": "modified", + "additions": 1, + "deletions": 1, + "changes": 2, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2Fworkflows%2Fchange_log.yml", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2Fworkflows%2Fchange_log.yml", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.github%2Fworkflows%2Fchange_log.yml?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -29,7 +29,7 @@ jobs:\n fullfile=$(ls ./changes/${{ github.event.number }}.*)\n filename=$(basename -- \"$fullfile\")\n extension=\"${filename##*.}\"\n- allowed_types='[ \"fix\", \"bugfix\", \"hotfix\", \"feature\", \"misc\", \"changes\", \"migration\", \"removal\" ]'\n+ allowed_types='[ \"fix\", \"bugfix\", \"hotfix\", \"feature\", \"misc\", \"changes\", \"migration\", \"removal\", \"release\" ]'\n if [[ $allowed_types =~ \"\\\"$extension\\\"\" ]]; then\n echo -e \"\\n\"\n echo -e \"\\033[0;36mINFO: extension ${extension} accepted.\\033[0;0m\"" + }, + { + "sha": "1a90745d2379dabf22ad2a2671a6eeaef70f5e8a", + "filename": ".github/workflows/codeql-analysis.yml", + "status": "added", + "additions": 72, + "deletions": 0, + "changes": 72, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2Fworkflows%2Fcodeql-analysis.yml", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2Fworkflows%2Fcodeql-analysis.yml", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.github%2Fworkflows%2Fcodeql-analysis.yml?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,72 @@\n+# For most projects, this workflow file will not need changing; you simply need\n+# to commit it to your repository.\n+#\n+# You may wish to alter this file to override the set of languages analyzed,\n+# or to provide custom queries or build logic.\n+name: \"CodeQL\"\n+\n+on:\n+ workflow_dispatch: # (canada fork only): disable Core repo workflows\n+ # push:\n+ # branches: [master]\n+ # pull_request:\n+ # # The branches below must be a subset of the branches above\n+ # branches: [master]\n+ # schedule:\n+ # - cron: '0 3 * * 2'\n+\n+permissions:\n+ contents: read\n+\n+jobs:\n+ analyze:\n+ permissions:\n+ actions: read # for github/codeql-action/init to get workflow details\n+ contents: read # for actions/checkout to fetch code\n+ security-events: write # for github/codeql-action/autobuild to send a status report\n+ name: Analyze\n+ runs-on: ubuntu-latest\n+\n+ strategy:\n+ fail-fast: false\n+ matrix:\n+ # Override automatic language detection by changing the below list\n+ # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']\n+ language: ['python', 'javascript']\n+ # Learn more...\n+ # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection\n+\n+ steps:\n+ - name: Checkout repository\n+ uses: actions/checkout@v2\n+\n+ # Initializes the CodeQL tools for scanning.\n+ - name: Initialize CodeQL\n+ uses: github/codeql-action/init@v1\n+ with:\n+ languages: ${{ matrix.language }}\n+ config-file: ./.github/codeql/codeql-config.yml\n+ setup-python-dependencies: false\n+ # If you wish to specify custom queries, you can do so here or in a config file.\n+ # By default, queries listed here will override any specified in a config file.\n+ # Prefix the list here with \"+\" to use these queries and those in the config file.\n+ # queries: ./path/to/local/query, your-org/your-repo/queries@main\n+\n+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).\n+ # If this step fails, then you should remove it and run the build manually (see below)\n+ - name: Autobuild\n+ uses: github/codeql-action/autobuild@v1\n+\n+ # ℹ️ Command-line programs to run using the OS shell.\n+ # 📚 https://git.io/JvXDl\n+\n+ # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines\n+ # and modify them (or add more) to build your code if your project\n+ # uses a compiled language\n+\n+ #- run: |\n+ # make bootstrap\n+ # make release\n+\n+ - name: Perform CodeQL Analysis\n+ uses: github/codeql-action/analyze@v1" + }, + { + "sha": "f99b4902bbe1965d0366bbb934b59c7e29523bef", + "filename": ".github/workflows/cypress.yml", + "status": "added", + "additions": 75, + "deletions": 0, + "changes": 75, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2Fworkflows%2Fcypress.yml", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2Fworkflows%2Fcypress.yml", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.github%2Fworkflows%2Fcypress.yml?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,75 @@\n+name: Cypress\n+on:\n+ workflow_dispatch: # (canada fork only): disable Core repo workflows\n+# on: [pull_request]\n+env:\n+ NODE_VERSION: '16'\n+ PYTHON_VERSION: '3.7'\n+\n+permissions:\n+ contents: read\n+\n+jobs:\n+ cypress:\n+ runs-on: ubuntu-latest\n+ services:\n+ ckan-postgres:\n+ image: postgres:10\n+ ports:\n+ - 5432:5432\n+ options: >-\n+ --health-cmd pg_isready\n+ --health-interval 10s\n+ --health-timeout 5s\n+ --health-retries 5\n+ env:\n+ POSTGRES_USER: ckan_default\n+ POSTGRES_PASSWORD: pass\n+ POSTGRES_DB: ckan_test\n+\n+ ckan-redis:\n+ image: redis\n+ ports:\n+ - 6379:6379\n+ ckan-solr:\n+ image: ckan/ckan-solr:master\n+ ports:\n+ - 8983:8983\n+\n+ env:\n+ CKAN_SQLALCHEMY_URL: postgresql://ckan_default:pass@localhost/ckan_test\n+ CKAN_SOLR_URL: http://localhost:8983/solr/ckan\n+ CKAN_REDIS_URL: redis://localhost:6379/1\n+\n+ steps:\n+ - uses: actions/checkout@v2\n+ - uses: actions/setup-python@v2\n+ with:\n+ python-version: ${{ env.PYTHON_VERSION }}\n+ - uses: actions/setup-node@v2-beta\n+ with:\n+ node-version: ${{ env.NODE_VERSION }}\n+\n+ - name: Install python deps\n+ run: pip install -r requirements.txt -r dev-requirements.txt -e.\n+\n+ - name: Init environment\n+ run: |\n+ ckan -c test-core-cypress.ini db init\n+\n+ - name: Run Cypress\n+ uses: cypress-io/github-action@v2\n+ with:\n+ start: ckan -c test-core-cypress.ini run\n+\n+ - uses: actions/upload-artifact@v1\n+ if: failure()\n+ with:\n+ name: cypress-screenshots\n+ path: cypress/screenshots\n+ # Test run video was always captured, so this action uses \"always()\" condition\n+ - uses: actions/upload-artifact@v1\n+ if: always()\n+ with:\n+ name: cypress-videos\n+ path: cypress/videos" + }, + { + "sha": "21ae05dc59141bff350f7ec9920786bf5539b68b", + "filename": ".github/workflows/flake8.yml", + "status": "added", + "additions": 24, + "deletions": 0, + "changes": 24, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2Fworkflows%2Fflake8.yml", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2Fworkflows%2Fflake8.yml", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.github%2Fworkflows%2Fflake8.yml?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,24 @@\n+name: Lint\n+on:\n+ workflow_dispatch: # (canada fork only): disable Core repo workflows\n+# on: [pull_request]\n+\n+permissions:\n+ contents: read\n+\n+jobs:\n+ lint:\n+ runs-on: ubuntu-latest\n+ steps:\n+ - uses: actions/checkout@v2\n+ - uses: actions/setup-python@v2\n+ with:\n+ python-version: '3.7'\n+ - name: Install requirements\n+ run: pip install flake8 pycodestyle\n+ - name: Check syntax\n+ # Stop the build if there are Python syntax errors or undefined names\n+ run: flake8 --count --statistics --show-source\n+\n+ - name: Warnings\n+ run: flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics --extend-exclude=\"\"" + }, + { + "sha": "8b519ca5d37eb0b1d34f2e846585733e9fbf6855", + "filename": ".github/workflows/pyright.yml", + "status": "added", + "additions": 28, + "deletions": 0, + "changes": 28, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2Fworkflows%2Fpyright.yml", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2Fworkflows%2Fpyright.yml", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.github%2Fworkflows%2Fpyright.yml?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,28 @@\n+name: Check types\n+on:\n+ workflow_dispatch: # (canada fork only): disable Core repo workflows\n+# on: [pull_request]\n+env:\n+ NODE_VERSION: '16'\n+ PYTHON_VERSION: '3.7'\n+\n+permissions:\n+ contents: read\n+\n+jobs:\n+ typecheck:\n+ runs-on: ubuntu-latest\n+ steps:\n+ - uses: actions/checkout@v2\n+ - uses: actions/setup-python@v2\n+ with:\n+ python-version: ${{ env.PYTHON_VERSION }}\n+ - uses: actions/setup-node@v2-beta\n+ with:\n+ node-version: ${{ env.NODE_VERSION }}\n+ - name: Install python deps\n+ run: pip install -r requirements.txt -r dev-requirements.txt -e.\n+ - name: Install node deps\n+ run: npm ci\n+ - name: Check types\n+ run: npx pyright" + }, + { + "sha": "4ecb189a1895efbc9b08a6e174f1889309434c85", + "filename": ".github/workflows/towncrier.yml", + "status": "added", + "additions": 24, + "deletions": 0, + "changes": 24, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2Fworkflows%2Ftowncrier.yml", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.github%2Fworkflows%2Ftowncrier.yml", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.github%2Fworkflows%2Ftowncrier.yml?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,24 @@\n+name: Changelog entries\n+on:\n+ workflow_dispatch: # (canada fork only): disable Core repo workflows\n+# on: [pull_request]\n+\n+permissions:\n+ contents: read\n+\n+jobs:\n+ towncrier:\n+ runs-on: ubuntu-latest\n+ steps:\n+ - uses: actions/checkout@v3\n+ with:\n+ fetch-depth: 0\n+ - uses: actions/setup-python@v4\n+ with:\n+ python-version: '3.7'\n+ cache: 'pip'\n+ - name: Install python deps\n+ run: pip install -r requirements.txt -r dev-requirements.txt -e.\n+\n+ - name: Check that changelog is updated\n+ run: towncrier check >> $GITHUB_STEP_SUMMARY" + }, + { + "sha": "f798816fbadb5630d1fbb3984ea3b34cc72d82bd", + "filename": ".gitignore", + "status": "modified", + "additions": 4, + "deletions": 1, + "changes": 5, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.gitignore", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.gitignore", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.gitignore?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -8,7 +8,7 @@ ckan.egg-info/*\n sandbox/*\n dist\n .mypy_cache\n-.eggs/**\n+.eggs/*\n \n # pylons\n development.ini*\n@@ -49,3 +49,6 @@ node_modules/\n # docker\n contrib/docker/.env\n cypress.env.json\n+\n+# cypress\n+cypress/videos" + }, + { + "sha": "4cff79f39ce08d6c3c124ef1c9d70c6e1d715c19", + "filename": ".readthedocs.yaml", + "status": "added", + "additions": 18, + "deletions": 0, + "changes": 18, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.readthedocs.yaml", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.readthedocs.yaml", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.readthedocs.yaml?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,18 @@\n+# Read the Docs configuration file\n+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details\n+\n+# Required\n+version: 2\n+\n+# Build documentation in the doc/ directory with Sphinx\n+sphinx:\n+ configuration: doc/conf.py\n+\n+# Additional formats for download\n+formats: all\n+\n+# Optionally set the version of Python and requirements required to build your docs\n+python:\n+ version: 3.7\n+ install:\n+ - requirements: requirements-docs.txt" + }, + { + "sha": "a2b0b744f4dccd7c3108ac4a54b60beda8a3b90a", + "filename": ".test_durations.gz", + "status": "added", + "additions": 0, + "deletions": 0, + "changes": 0, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.test_durations.gz", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.test_durations.gz", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.test_durations.gz?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8" + }, + { + "sha": "2759bdedff948bfdd842fa6e2917f5c44a368e7a", + "filename": ".travis.yml", + "status": "removed", + "additions": 0, + "deletions": 47, + "changes": 47, + "blob_url": "https://github.com/open-data/ckan/blob/d8d0e9647c9a34757106a0151c26d8b5442bcee3/.travis.yml", + "raw_url": "https://github.com/open-data/ckan/raw/d8d0e9647c9a34757106a0151c26d8b5442bcee3/.travis.yml", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.travis.yml?ref=d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "patch": "@@ -1,47 +0,0 @@\n-group: travis_latest\n-language: python\n-\n-flake8-steps: &flake8-steps\n- env: FLAKE8=true\n- cache: pip\n- install: pip install flake8\n- before_script:\n- - flake8 --version\n- # stop the build if there are Python syntax errors or undefined names\n- - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics --exclude ./ckan/include/rjsmin.py,./contrib/cookiecutter/*\n- # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide\n- - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics\n- script:\n- - true\n-\n-matrix:\n- include:\n- - python: \"2.7\"\n-\n- services:\n- - docker\n-\n- cache:\n- directories:\n- - ~/docker\n-\n- before_install:\n- - docker build --rm=false -f contrib/docker/postgresql/Dockerfile -t postgresql .\n- - docker build --rm=false -f contrib/docker/solr/Dockerfile -t solr .\n- - docker pull redis:latest\n- - docker build --rm=false -t ckan .\n-\n- install:\n- - docker run -d --name db postgresql\n- - docker run -d --name solr solr\n- - docker run -d --name redis redis:latest\n- - docker run -d --name ckan -p 5000:5000 --link db:db --link redis:redis --link solr:solr ckan\n-\n- script:\n- - docker ps -a\n-\n- - python: \"2.7\"\n- <<: *flake8-steps\n-\n- - python: \"3.8\"\n- <<: *flake8-steps" + }, + { + "sha": "f98e5d2c784abe6fe81501533f00bc90b9b49e46", + "filename": ".tx/config", + "status": "modified", + "additions": 1, + "deletions": 1, + "changes": 2, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.tx%2Fconfig", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/.tx%2Fconfig", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/.tx%2Fconfig?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,7 +1,7 @@\n [main]\n host = https://www.transifex.com\n \n-[o:okfn:p:ckan:r:2-9]\n+[o:okfn:p:ckan:r:2-10]\n file_filter = ckan/i18n//LC_MESSAGES/ckan.po\n source_file = ckan/i18n/ckan.pot\n source_lang = en" + }, + { + "sha": "441977a35cb0d3e6c9552d347ec83f313ff276ca", + "filename": "CHANGELOG.rst", + "status": "modified", + "additions": 917, + "deletions": 46, + "changes": 963, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/CHANGELOG.rst", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/CHANGELOG.rst", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/CHANGELOG.rst?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -9,17 +9,195 @@ Changelog\n \n .. towncrier release notes start\n \n-v.2.9.9 2023-05-24\n-==================\n+v.2.10.4 2024-03-13\n+===================\n+\n+Migration notes\n+---------------\n+\n+- The default format for accepted uploads for user, groups and organization\n+ images is now limited to PNG, GIF anf JPG. If you need to add additional\n+ foramts you can use the :ref:`ckan.upload.user.mimetypes` and\n+ :ref:`ckan.upload.group.mimetypes`) (`#7028\n+ `_)\n+- Public user registration is disabled by default, ie users can not create\n+ new accounts from the UI. With this default value, new users can be created\n+ by being invited by an organization admin, being created directly by a\n+ sysadmin in the ``/user/register`` endpoint or being created in the CLI\n+ using ``ckan user add``. To allow public registration see\n+ :ref:`ckan.auth.create_user_via_web`, but it's strongly encouraged to put\n+ some measures in place to avoid spam. (`#7028\n+ `_) (`#7208\n+ `_)\n+\n+Minor changes\n+-------------\n+- Define allowed alternative Solr query parsers via the :ref:`ckan.search.solr_allowed_query_parsers`\n+ config option (`#8053 `_)\n+\n+Bugfixes\n+--------\n+- `CVE-2024-27097 `_: fixed\n+ potential log injection in reset user endpoint.\n+- use custom group type from the activity object if it's not supplied, eg on\n+ user activity streams (`#7980 `_)\n+- Removes extra <<`_)\n+- CKAN does not start without ``beaker.session.validate_key`` option introduced\n+ in v2.10.3 (`#8023 `_)\n+- Editing of resources unavailable from package view page. (`#8025\n+ `_)\n+- Pass custom package types through to the 'new resource' activity item (`#8034\n+ `_)\n+- Fix Last Modified sort parameter for bulk-process page (`#8048\n+ `_)\n+- Detect XLSX mimetypes correctly in uploader (`#8088\n+ `_)\n+- Remove nginx cache as configuration from documentation (`#8031\n+ `_)\n+- Fix `clean_db` fixtures breaking when tables are missing (`#8054\n+ `_)\n+- Fix JS error in flash message when adding a Member (`#8104\n+ `_)\n+\n+\n+v.2.10.3 2023-12-13\n+===================\n+\n+\n+Minor changes\n+-------------\n+- New sites now default to cookie-based sessions (the default value for ``beaker.session.type``\n+ is now ``cookie``. The ``beaker.session.samesite`` configuration option has been introduced,\n+ allowing you to specify the ``SameSite`` attribute for session cookies. This attribute determines\n+ how cookies are sent in cross-origin requests, enhancing security and privacy.\n+\n+ .. note:: When using cookie-based sessions, it is now required to\n+ set ``beaker.session.validate_key`` appropriately.\n+\n+- Skip interactive mode of ``ckan user setpass`` using ``-p``/``--password``\n+ option. (`#7530 `_)\n+- Added support for Solr 9. Users of the `official Docker images\n+ `_ can use the\n+ ``ckan/ckan-solr:2.10-solr9`` tag. (`#7693\n+ `_)\n+- Update requirements to support more Python versions (`#7935\n+ `_)\n+- Add tooltips when links are truncated, to show the full text. (`#7743\n+ `_)\n+- Added pages to confirm User delete and Dataset Collaborator delete.\n+ Fixed cancellation of Group Member delete. (`#7813\n+ `_)\n+- The ``validators`` attribute of a declared config option makes tries to parse\n+ arguments to validators as python literals. If **all** arguments can be\n+ parsed, they are passed to a validator factory with original types. If at least one\n+ argument is not a valid Python literal, all values are passed as a string\n+ (this was the previous behavior). Space characters are still not allowed inside\n+ arguments, use the ``\\\\x20`` symbol if you need a space in a literal (`#7615\n+ `_)::\n+\n+ # Not changed\n+ `validators: v(xxx)` # v(\"xxx\")\n+ `validators: v(\"xxx\",yyy)` # v(\"xxx\", \"yyy\")\n+ `validators: v(1,2,none)` # v(\"1\", \"2\", \"none\")\n+ `validators: v(\"hello\\\\x20world\")` # v(\"hello world\")\n+\n+ # Changed\n+ `validators: v(\"xxx\")` # v(\"xxx\")\n+ `validators: v(\"xxx\",1)` # v(\"xxx\", 1)\n+ `validators: v(1,2,None)` # v(1, 2, None)\n+\n+- Automatically add the ``not_empty`` validator to any config option declared\n+ with ``required: true`` (`#7658 `_)\n+\n \n Bugfixes\n --------\n+- `CVE-2023-50248 `_: fix potential\n+ out of memory error when submitting the dataset form with a specially-crafted field.\n+- Fix ``deprecated`` decorator (`#7939\n+ `_)\n+- Fix for missing Tag facets on Home page (`#7520\n+ `_)\n+- Fix errors when running the `ckan db upgrade` command (`#7681\n+ `_)\n+- Fix datastore_search + downloading datastore resources as json with null\n+ values (`#6713 `_)\n+- ``CONFIG_FROM_ENV_VARS`` takes precedence over config file and extensions but\n+ those settings are not normalized. (`#7502\n+ `_)\n+- Fixed server not recognizing SSL settings in configuration .ini file\n+ (`#7758 `_)\n+- Fix error when indexing a full ISO date with timezone info (`#7775\n+ `_)\n+- Aligned `member_create` with `group_member_save` to prevent possible member\n+ duplication. (`#7804 `_)\n+- datastore-only resources now have a visible download button on the resource\n+ page (`#7806 `_)\n+- update resource ``datastore_active`` with a single statement on\n+ ``datastore_create/delete`` (`#7832 `_)\n+- Fixed Octet Streaming for Datastore Dump requests. (`#7839\n+ `_)\n+- Fixed restricting anonymous users in actions to check user in context.\n+ (`#7871 `_)\n+- Empty string in ``beaker.session.timeout`` produces an error instead of\n+ never-expiring session (`#7881 `_)\n+- Updated Bootstrap alert-error class to alert-danger (`#7901\n+ `_)\n+- Changed dataset query to check for ``+state:`` in the ``fq_list`` as well as the\n+ `fq` parameter before forcing ``state:active`` (`#7905\n+ `_)\n+- View modules use pluggable ``ckan.plugins.toolkit.h`` instead of\n+ `ckan.lib.helpers` (`#7923 `_)\n+- Fix HTML5 validation failing on resource uploads (`#7925\n+ `_)\n+- Fixed issues with the ``ckan views create`` CLI sub-command. (`#7944\n+ `_)\n+- Improve handling of date fields in Solr (`#7775\n+ `_)\n+- Fix URL validator does not support \":\" for specifying ports (`#7891\n+ `_)\n+- Fix user_show for ``ckan.auth.public_user_details`` (`#7866\n+ `_)\n+- Add missing translations to aria-label attributes (`#7947\n+ `_)\n+- Catch AttributeErrors in license retrieval (`#7931\n+ `_)\n+- Fix downloading datastore resources as json with null values in json columns\n+ (`#7545 `_)\n+\n+v.2.10.2\n+========\n+\n+Unreleased\n+\n+v.2.10.1 2023-05-24\n+===================\n \n-- `CVE-2023-32321 `_: fix \n+Bug fixes\n+---------\n+- `CVE-2023-32321 `_: fix\n potential path traversal, remote code execution, information disclosure and\n DOS vulnerabilities via crafted resource ids.\n-- Names are now quoted in From and To addresses in emails, meaning that site titles with\n- commas no longer break email clients. (`#7508 `_)\n+- Redirect on password reset form error now maintains root_path and locale (`#7006 `_)\n+- Fix display of Popular snippet (`#7205 `_)\n+- Fixes missing CSRF token when trying to remove a group from a package. (`#7417 `_)\n+- ``IMiddleware`` implementations produce an error mentioning missing ``app.after_request`` attribute. (`#7426 `_)\n+- Application hangs during startup when using config chains. (`#7427 `_)\n+- Fix exception in ``license_list`` action (`#7454 `_)\n+- In tests, templates from ``ckan.plugins`` set by the config file are used even if these plugins are disabled for the test via ``pytest.mark.ckan_config(\"ckan.plugins\", \"\")`` (`#7483 `_)\n+- Fix usage of ``defer_commit`` in context in create actions for users, datasets, organizations and groups.\n+- ``model.Dashboard.get()`` no longer creates a dashboard object under the hood if it does not exist in the database (`#7487 `_)\n+- \"Groups\" link in the header is not translated. (`#7500 `_)\n+- Names are now quoted in From and To addresses in emails, meaning that site titles with commas no longer break email clients. (`#7508 `_)\n+- Pagination widget is not styled in Bootstrap 5 templates. (`#7528 `_)\n+- Fix missing resource URL on update resource with uploaded file (`#7449 `_)\n+- Fix custom macro styles (`#7461 `_)\n+- Fix mobile layout styles (`#7467 `_)\n+- Fix fontawesome icons, replace unavailable FA v3 icons (`#7474 `_)\n+- Fix promote sysadmin layout (`#7476 `_)\n+- Fix markdown macros regression (`#7485 `_)\n+- Set session scope for migrate_db_for fixture (`#7563 `_)\n \n Migration notes\n ---------------\n@@ -29,55 +207,530 @@ Migration notes\n store the session data in the `client-side cookie `_.\n This will probably be the default behaviour in future CKAN versions::\n \n-\t# ckan.ini\n-\tbeaker.session.type = cookie\n+ # ckan.ini\n+\n+ beaker.session.type = cookie\n beaker.session.data_serializer = json\n-\tbeaker.session.validate_key = CHANGE_ME\n+ # Use a long, random string for this setting\n+ beaker.session.validate_key = CHANGE_ME\n \n-\tbeaker.session.httponly = True\n-\tbeaker.session.secure = True\n-\tbeaker.session.samesite = Lax\n+ beaker.session.httponly = True\n+ beaker.session.secure = True\n+ beaker.session.samesite = Lax\n # or Strict, depending on your setup\n \n+ .. note:: You might need to install an additional library that can provide AES encryption, e.g. ``pip install cryptography``\n \n-v.2.9.8 2023-02-15\n-==================\n+v.2.10.0 2023-02-15\n+===================\n \n-Major changes\n--------------\n+Overview\n+--------\n+- CKAN 2.10 supports Python 3.7 to 3.10\n+- This version requires a requirements upgrade on source installations\n+- This version requires a database upgrade\n+- This version does not require a Solr schema upgrade if you are already using the 2.9 schema,\n+ but it is recommended to upgrade to the 2.10 Solr schema.\n+- Make sure to check the :ref:`migration-notes-2.10`\n \n-- Disable public registration of users by default (`#7210\n- `_)\n-- Restrict user and group/org image upload formats by default (`#7210\n- `_)\n+Major features\n+--------------\n+- Added **CSRF protection** to the frontend forms to protect against Cross-Site\n+ Request Forgery attacks. This feature is enabled by default in CKAN core,\n+ extensions are excluded from the CSRF protection to give time to update them,\n+ but CSRF protection will be enforced in the future.\n+ To enforce the CSRF protection in extensions you can use\n+ the :ref:`ckan.csrf_protection.ignore_extensions` setting.\n+ See the :ref:`CSRF section ` in the extension best practices\n+ for more information on how to enable it. (`#6920 `_)\n+- Refactored the **Authentication logic** to use `Flask-login `_\n+ instead of repoze.who. This has implications on how login sessions are managed (e.g. when and why users\n+ might be logged out) and will affect all plugins that modify the standard authentication process. Please\n+ check the *Migration notes* section below to learn more (`#6560 `_).\n+- **Configuration declaration**: declare configuration options to ensure\n+ validation and default values. All declared CKAN configuration options\n+ are validated and converted to the expected type during the application\n+ startup. See the *Migration notes* section below to understand the changes\n+ involved and check the :ref:`documentation `.\n+ (`#6467 `_)\n+- Add **Signals** support to allow subscriptor-based features in extensions.\n+ See :doc:`extensions/signals` (`#5359 `_)\n+- Add **Blanket implementations**: decorators providing common\n+ implementations of simple interfaces to reduce boilerplate in plugins. See the ``blanket()``\n+ method in the :doc:`/extensions/plugins-toolkit` (`#5169\n+ `_)\n+- Add CLI commands for API Token management (`#5868\n+ `_)\n+- The CKAN source code is fully typed now (`#5924 `_)\n+- Add extensible snippet for resource uploads (`#6226\n+ `_)\n+- Migrated to **Bootstrap 5** from v3 for the default CKAN theme. Bootstrap v3\n+ templates are still available for use by specifying the base template\n+ folder in the configuration (`#6307\n+ `_)::\n+\n+ ckan.base_public_folder=public-bs3\n+ ckan.base_templates_folder=templates-bs3\n+\n+- Removed the **Docker** related files from the main CKAN repository. A brand new official\n+ Docker setup can be found at the `ckan/ckan-docker\n+ `_ repository. (`#7370\n+ `_)\n+- Added new command ``ckan shell`` that opens an interactive python shell with\n+ the Flask's application context preloaded (among other useful objects).\n+ (`#6919 `_)\n+- Added new sub-commands to the ``search-index`` command (`#7044 `_\n+ and `#7175 `_):\n+\n+ - ``list-orphans`` lists all public package IDs which exist in the solr\n+ index, but do not exist in the database.\n+ - ``clear-orphans`` clears the search index for all the public orphaned\n+ packages.\n+ - ``list-unindexed`` lists all ununindexed packages\n+- Add new group command: ``clean``.\n+ Add ``clean users`` command to delete users containing images with formats\n+ not supported in ``ckan.upload.user.mimetypes`` config option. (`#7241\n+ `_)\n+- Activities now receive the full dict of the object they refer to in their\n+ ``data`` section. This allows greater flexibility when creating custom\n+ activities from plugins. (`#6557 `_)\n+- Site maintainers can choose to completely ignore cookie based by using\n+ ``ckan.auth.enable_cookie_auth_in_api``. When set to False, all API requests\n+ must use :ref:`API Tokens `. Note that this is likely to\n+ break some existing JS modules from the frontend that perform API calls, so\n+ it should be used with caution. (`#7088\n+ `_)\n+- CKAN now records the last time a user was active on the site. The minimum\n+ interval between records can be controlled with the\n+ :ref:`ckan.user.last_active_interval` config option. (`#6466\n+ `_)\n+- :py:class:`~ckan.plugins.toolkit.BaseModel` class for declarative SQLAlchemy\n+ models added to :py:mod:`ckan.plugins.toolkit`.\n+ Models extending ``BaseModel`` class are attached to the SQLAlchemy's\n+ metadata object automatically::\n+\n+ from ckan.plugins import toolkit\n+\n+ class ExtModel(toolkit.BaseModel):\n+\n+ __tablename__ = \"ext_model\"\n+ id = Column(String(50), primary_key=True)\n+ ... (`#7351 `_)\n+- Add dev containers / GitHub Codespaces config (See the `documentation `_\n \n \n Minor changes\n -------------\n-\n-- Add dev containers / GitHub Codespaces config for CKAN 2.9 (See the `documentation `_\n-- Add new group command: ``clean``.\n- Add ``clean users`` command to delete users containing images with formats\n- not supported in ``ckan.upload.user.mimetypes`` config option (`#7241\n- `_)\n-- Set the ``resource`` blueprint to not auto register. (`#7374\n- `_)\n-- ``prepare_dataset_blueprint``: support dataset type (`#7031\n- `_)\n+- Test factories extends SQLAlchemy factory, are available via fixtures and\n+ produce more random entities using faker library. (`#6335\n+ `_)\n+- Migrated preprocessor from LESS to SCSS for preliminary work for Bootstrap\n+ upgrade. (`#6175 `_)\n+- Add ``ckan.plugins.core.plugin_loaded`` to the core helpers as ``plugin_loaded``\n+ (`#7011 `_)\n+- Make HTTP response returned on a private dataset if not authorized configurable (`#6641\n+ `_)\n+- Allow ``_id`` for ``datastore_upsert`` unique key (`#6793\n+ `_)\n+- Add functionality to ``user_show`` to fetch own details when logged in\n+ without passing id (`#5490 `_)\n+- ``datastore_info`` now returns more detailed info. It returns database-level\n+ metadata in addition\n+ to rowcount (aliases, id, size, index_size, db_size and table_type), and the\n+ data dictionary with\n+ database-level schemata (native_type, index_name, is_index, notnull &\n+ uniquekey).\n+ See the documentation at\n+ :py:func:`~ckanext.datastore.logic.action.datastore_info` (`#5831\n+ `_)\n+- ``datastore_info`` now works with aliases, and can be used to dereference\n+ aliases. (`#5832 `_)\n+- Document new ``ckan.download_proxy`` config value for extensions that download\n+ external URLs (`#xloader-127\n+ `_)\n+- Add `organization_followee_count` to the get api (`#2628\n+ `_)\n+- Environment variables prefixed with `CKAN_` can be used as variables inside\n+ config file via ``option = %(CKAN_***)s`` (`#6192\n+ `_)\n+- CLI command ``less`` is now renamed to ``sass`` as the preprocessor was changed in\n+ #6175. (`#6287 `_)\n+- Support including file attachments when sending emails (`#6535\n+ `_)\n+- Reworked the JavaScript for the view filters to allow for special characters\n+ as well as colons and pipes, which previously caused errors. Added a new\n+ helper (``decode_view_request_filters()``) to easily decode the new flattened\n+ filter string. (`#6747 `_)\n+- Add an index on column resource_id in table resource_view. (`#7134\n+ `_)\n+- Non-sysadmin users are no longer able to change their own state (`#6956\n+ `_)\n+- The \"rank\" field is no longer returned in datastore_search results unless\n+ explicitly defined in the fields parameter (`#6961\n+ `_)\n+- Upgrade requirements to the latest version whenever possible (`#7064\n+ `_)\n+- Create a ``fresh_context()`` function to allow cleaning the ``context`` dict\n+ preserving some common values (``user``, ``model``, etc) (`#7112\n+ `_)\n - Add ``--quiet`` option to ``ckan user token add`` command to mak easier to\n integrate with automated scripts (`#7217\n `_)\n+- Updated and documented input param for ``api_token_list`` from ``user`` to\n+ ``user_id``. ``user`` is still supported for backwards compatibility but it might\n+ be removed in the future. (`#7344 `_)\n+\n \n Bugfixes\n --------\n-- Fix ``package_update`` performance (`#7219 `_)\n-- Fix ``_()`` function override (`#7232 `_)\n-- Fix 404 when selecting the same date in the changes view (`#7192 `_)\n-- Enable DateTime to be returned through Actions, allowing ``datapusher_status`` to\n- be accessed through the API. (`#7110\n- `_)\n+\n+- Stable default ordering when consuming resource content from datastore\n+ (`#2317 `_)\n+- Fix missing activities from UI when internal processes are run by ignored\n+ users (`#5699 `_)\n+- Fix the datapusher trigger in case of resource_update via API (`#5727\n+ `_)\n+- package_revise now returns some errors in normal keys instead of under\n+ 'message' (`#5888 `_)\n+- Allow multi-level config inheritance (`#6000\n+ `_)\n+- Fix Chinese locales. Note that the URLs for the `zh_CN` and `zh_TW` locales\n+ have changed but there are redirects in place, eg\n+ http://localhost:5000/zh_CN/dataset ->\n+ http://localhost:5000/zh_Hans_CN/dataset (`#6008\n+ `_)\n+- Fix performance bottleneck in activity queries (`#6028\n+ `_)\n+- Keep repeatable facets inside pagination links (`#6084\n+ `_)\n+- Consistent CLI behavior when when no command provided and when using `--help`\n+ options (`#6120 `_)\n+- Variables from extended config files (``use = config:...``) have lower\n+ precedence.\n+ In the following example::\n+\n+ ;; a.ini\n+ output = %(var)s\n+\n+ ;; b.ini\n+ use = config:a.ini\n+ var = B\n+\n+ ;; c.ini\n+ use = config:b.ini\n+ var = C\n+\n+ final value of the ``output`` config option will be ``C``. (`#6192\n+ `_)\n+- Restore error traceback for `search-index rebuild -i` CLI command (`#6329\n+ `_)\n+- Prevent Traceback to logged for HTTP Exception until debug is true\n+ Add the HTTP status Code in logging for HTTP requests (`#6340\n+ `_)\n+- Improve rendering data types in resource view (`#6356\n+ `_)\n+- Snippet names rendered into HTML as comments in non-debug mode. (`#6406\n+ `_)\n+- h.remove_url_param fail with minimal set of params (`#6414\n+ `_)\n+- Type of uploads for group and user image can be restricted via the\n+ `ckan.upload.{object_type}.types` and `ckan.upload.{object_type}.mimetypes`\n+ config options (eg `ckan.upload.group.types`, `ckan.upload.user.mimetypes`)\n+ (`#6477 `_)\n+- ``*_patch`` actions call their ``*_update`` equivalents via ``get_action``\n+ allowing plugins to override them consistently (`#6519\n+ `_)\n+- Fixed and simplified organization and group forms breadcrumb inheritance\n+ (`#6637 `_)\n+- Ensure that locale exists on i18n JS API (`#6698\n+ `_)\n+- Configuration options that were used to specify a CSS file\n+ with a base theme have been removed. Use the altenatives below in order\n+ to specify an _asset_ (see :doc:`theming/webassets`) with a base theme for application\n+ (`#6817 `_):\n+ * ``ckan.main_css`` replaced by :ref:`ckan.theme`\n+ * ``ckan.i18n.rtl_css`` replaced by :ref:`ckan.i18n.rtl_theme`\n+- prepare_dataset_blueprint: support dataset type (`#7031\n+ `_)\n+- Changed default sort key for group and user lists from ASCII Alphebitized to\n+ new `strxfrm` helper, resulting in human-readable alphebitization. (`#7039\n+ `_)\n+- Fix resource file size not updating with resource_patch (`#7075\n+ `_)\n+- Revert Flask requirement from 2.2.2 to 2.0.3. (`#7082\n+ `_)\n+- restore original plugin template directory order after update_config order\n+ change (`#7085 `_)\n+- Fix urls containing unicode encoded in hex (`#7107\n+ `_)\n+- Fix a bug that causes CKAN to only register the first blueprint of plugins.\n+ (`#7108 `_)\n+- remove old deleted resources on package_update so that performance is\n+ consistent over time (no longer degrading) (`#7119\n+ `_)\n+- Beaker session config variables need to be initialised in a newly generated\n+ ckan config file (`#7133 `_)\n - Fixed broken organization delete form (`#7150\n `_)\n+- Fix the current year reference for CKAN documentation (`#7153\n+ `_)\n+- Fix bootstrap 3 webassets files to point to valid assets. (`#7161\n+ `_)\n+- Fix the display of the License select element in the Dataset form. (`#7162\n+ `_)\n+- Build CSS files with latest updates. (`#7163\n+ `_)\n+- Fix activity stream icon on Boostrap 5. Migrate activity CSS classes to the\n+ extension folder. (`#7169 `_)\n+- Fix 404 error when selecting the same date in the changes view (`#7191\n+ `_)\n+- Fix display of Popular snippet. Removes old `ckan-icon` scss class. (`#7205\n+ `_)\n+- Fix icons and alignment in resource datastore tab. (`#7247\n+ `_)\n+- Make heading semantic in bug report template (`#7186\n+ `_)\n+- Add title attribute to iframe (`#7187\n+ `_)\n+- Fix color contrast in dashboard buttons for web accesibility (`#7193\n+ `_)\n+- Make skip to content visible for keyboard-only user (`#7194\n+ `_)\n+- Fix color contrast issue in add dataset page (`#7195\n+ `_)\n+- Fix color contrast of delete button in user edit page for web accesibility\n+ (`#7199 `_)\n+\n+.. _migration-notes-2.10:\n+\n+Migration notes\n+---------------\n+\n+- Changes in the authenticated users management (logged in users): The old ``auth_tkt`` cookie\n+ created by repoze.who does not exist anymore. Flask-login stores the logged-in user\n+ identifier in the Flask session. CKAN uses `Beaker `_\n+ to manage the session, and the default session backend stores this session information\n+ as files on the server (on ``/tmp``). This means that **if the session data is deleted\n+ in the server, all users will be logged out of the site**.\n+ This can happen for instance:\n+\n+\t* if the CKAN container is redeployed in a Docker / cloud setup and the session directory is not persisted\n+\t* if the sessions are periodically cleaned by an external script\n+\n+ Here's a summary of the behaviour changes between CKAN versions:\n+\n+ .. list-table::\n+ :widths: 40 30 30\n+ :header-rows: 1\n+\n+ * - Action\n+ - CKAN < 2.10\n+ - CKAN >= 2.10\n+ * - Clear cookies\n+ - User logged out\n+ - User logged out (If ``remember_me`` cookie is deleted)\n+ * - Clear server sessions\n+ - User still logged in\n+ - User logged out\n+\n+ The way to keep the old behaviour with the Beaker backend is to store the\n+ session data in the `cookie itself `_\n+ (note that this stores *all* session data, not just the user identifier). This will probably\n+ be the default behaviour in future CKAN versions::\n+\n+\t# ckan.ini\n+\tbeaker.session.type = cookie\n+\tbeaker.session.validate_key = CHANGE_ME\n+\n+\tbeaker.session.httponly = True\n+\tbeaker.session.secure = True\n+\tbeaker.session.samesite = Lax # or Strict\n+\n+ Alternatively you can configure another persistent backend for the sessions in the server,\n+ like an SQL Database or Redis (see the `Beaker configuration `_\n+ for details).\n+- It is recommended that you review the :ref:`session-settings` and :ref:`flask-login-remember-me-cookie-settings` to\n+ make sure they cover your security requirements.\n+- Due to the newly introduced :ref:`declare-config-options`, all declared CKAN configuration options\n+ are validated and converted to the expected type during the application startup::\n+\n+ debug = config.get(\"debug\")\n+\n+ # CKAN <= v2.9\n+ assert type(debug) is str\n+ assert debug == \"false\" # or any value that is specified in the config file\n+\n+ # CKAN >= v2.10\n+ assert type(debug) is bool\n+ assert debug is False # or ``True``\n+\n+ The ``aslist``, ``asbool``, ``asint`` converters from\n+ ``ckan.plugins.toolkit`` will keep the current behaviour::\n+\n+ # produces the same result in v2.9 and v2.10\n+ assert tk.asbool(config.get(\"debug\")) is False\n+ assert tk.asint(config.get(\"ckan.devserver.port\")) == 5000\n+ assert tk.aslist(config.get(\"ckan.plugins\")) == [\"stats\"]\n+\n+ If you are using custom logic, the code requires a review. For example, the\n+ following code will produce an ``AttributeError`` exception, because\n+ ``ckan.plugins`` is\n+ converted into a list during the application's startup::\n+\n+ # AttributeError\n+ plugins = config.get(\"ckan.plugins\").split()\n+\n+ Depending on the desired backward compatibility, one of the following\n+ expressions\n+ can be used instead::\n+\n+ # if both v2.9 and v2.10 are supported\n+ plugins = tk.aslist(config.get(\"ckan.plugins\"))\n+\n+ # if only v2.10 is supported\n+ plugins = config.get(\"ckan.plugins\")\n+\n+ The second major change affects default values for configuration options.\n+ Starting from CKAN 2.10,\n+ the majority of the config options have a declared default value. It means\n+ that\n+ whenever you invoke ``config.get`` method, the *declared default* value is\n+ returned instead of ``None``. Example::\n+\n+ # CKAN v2.9\n+ assert config.get(\"search.facets.limit\") is None\n+\n+ # CKAN v2.10\n+ assert config.get(\"search.facets.limit\") == 10\n+\n+ The second argument to ``config.get`` should be only used to get\n+ the value of a missing *undeclared* option::\n+\n+ assert config.get(\"not.declared.and.missing.from.config\", 1) == 1\n+\n+ The above is the same for any extension that *declares* its config options\n+ using ``IConfigDeclaration`` interface or ``config_declarations`` blanket.\n+ (`#6467 `_)\n+- Public registration of users has been disabled by default (`#7210\n+ `_)\n+- User and group/org image upload formats have been restricted by default (`#7210\n+ `_)\n+- The activites feature has been extracted into a separate ``activity`` plugin.\n+ To keep showing the activities in the UI and enable the activity related API\n+ actions you need to add the ``activity`` plugin to the :ref:`ckan.plugins` config\n+ option. This change doesn't affect activities already stored in the DB. They are still\n+ available once the plugin is enabled. Note that some imports have changed\n+ (`#6790 `_)::\n+\n+ `ckan.model.Activity` -> `ckanext.activity.model.Activity`\n+- Users of the Xloader or DataPusher need to provide a valid API Token in their\n+ configurations using the ``ckanext.xloader.api_token`` or\n+ ``ckan.datapusher.api_token`` keys respectively. (`#7139\n+ `_)\n+- Only user-defined functions can be used as validators. An attempt to use\n+ a mock-object, built-in function or class will cause a ``TypeError``. (`#6048\n+ `_)\n+- The language code for the Norwegian language has been updated from ``no`` to\n+ ``nb_NO``. There are redirects in place from the old code to the new one for\n+ localized URLs, but please update your links. If you were using the old\n+ ``no`` code in a config option like ``ckan.default_locale`` or\n+ ``ckan.locales_offered`` you will need to update the value to ``nb_NO``.\n+ (`#6746 `_)\n+- `toolkit.aslist` now converts any iterable other than ``list`` and `tuple`\n+ into a ``list``: ``list(value)``.\n+ Before, such values were just wrapped into a list, i.e: ``[value]`` (`#7257 `_).\n+\n+ .. list-table:: Short overview of changes\n+ :widths: 40 30 30\n+ :header-rows: 1\n+\n+ * - Expresion\n+ - Before\n+ - After\n+ * - ``aslist([1,2])``\n+ - ``[1, 2]``\n+ - ``[1, 2]``\n+ * - ``aslist({1,2})``\n+ - ``[{1, 2}]``\n+ - ``[1, 2]``\n+ * - ``aslist({1: \"one\", 2: \"two\"})``\n+ - ``[{1: \"one\", 2: \"two\"}]``\n+ - ``[1, 2]``\n+ * - ``aslist(range(1,3))``\n+ - ``[range(1, 3)]``\n+ - ``[1, 2]``\n+\n+Removals and deprecations\n+-------------------------\n+\n+- Legacy API keys are no longer supported for Authentication and have been\n+ removed\n+ from the UI. API Tokens should be used instead. See :ref:`api authentication`\n+ for\n+ more details (`#6247 `_)\n+- ``build_nav_main()``, ``build_nav_icon()`` and ``build_nav()`` helpers no longer\n+ support\n+ Pylons route syntax. eg use ``dataset.search`` instead of ``controller=dataset, action=search``.\n+ (`#6263 `_)\n+- The following old helper functions have been removed and are no longer\n+ available:\n+ ``submit()``, ``radio()``, ``icon_url()``, ``icon_html()``, ``icon()``,\n+ ``resource_icon()``,\n+ ``format_icon()``, ``button_attr()``, ``activity_div()`` (`#6272\n+ `_)\n+- The following methods are deprecated and should be replaced with their\n+ respective new versions in the plugin interfaces:\n+\n+ - `ckan.plugins.interfaces.IResourceController`:\n+\n+ - change ``before_create`` to ``before_resource_create``\n+ - change ``after_create`` to ``after_resource_create``\n+ - change ``before_update`` to ``before_resource_update``\n+ - change ``after_update`` to ``after_resource_update``\n+ - change ``before_delete`` to ``before_resource_delete``\n+ - change ``after_delete`` to ``after_resource_delete``\n+ - change ``before_show`` to ``before_resource_show``\n+\n+ - `ckan.plugins.interfaces.IPackageController`:\n+\n+ - change ``after_create`` to ``after_dataset_create``\n+ - change ``after_update`` to ``after_dataset_update``\n+ - change ``after_delete`` to ``after_dataset_delete``\n+ - change ``after_show`` to ``after_dataset_show``\n+ - change ``before_search`` to ``before_dataset_search``\n+ - change ``after_search`` to ``after_dataset_search``\n+ - change ``before_index`` to ``before_dataset_index``\n+\n+ | (`#6501 `_)\n+- The ``ckan seed`` command has been removed in favour of ``ckan generate\n+ fake-data``\n+ for generating test entities in the database. Refer to ``ckan generate\n+ fake-data --help``\n+ for some usage examples. (`#6504 `_)\n+- The ``IRoutes`` interface has been removed since it was part of the old Pylons\n+ architecture. (`#6594 `_)\n+- Remove ``ckan.cache_validated_datasets`` config (`#6628\n+ `_)\n+- Remove ``ckan.search.automatic_indexing`` config (`#6639\n+ `_)\n+- The ``PluginMapperExtension`` has been removed since it was no longer used in\n+ core\n+ and it had a deprecated dependency. (`#6648\n+ `_)\n+- Remove deprecated ``fields`` parameter in ``resource_search`` method. (`#6687\n+ `_)\n+- The ``ISession`` interface has been removed from CKAN. To extend SQLAlchemy use\n+ event listeners instead. (`#6699 `_)\n+- ``unselected_facet_items`` helper has been removed. You can use\n+ ``get_facet_items_dict`` with ``exclude_active=True`` instead. (`#6765\n+ `_)\n+- The Recline-based view plugins (``recline_view``, ``recline_grid_view``,\n+ ``recline_graph_view`` and ``recline_map_view``) are deprecated and will be\n+ removed in future versions. Check :doc:`maintaining/data-viewer` for alternatives.\n+ (`#7078 `_)\n+- The requirement-setuptools.txt file has been removed (`#7271 `_)\n+- ``ckan.route_after_login`` renamed to ``ckan.auth.route_after_login`` (`#7350\n+ `_)\n \n \n v.2.9.7 2022-10-26\n@@ -119,7 +772,7 @@ Bugfixes\n - Fix the datapusher trigger in case of resource_update via API (`#5727 `_)\n - Consistent CLI behavior when when no command provided and when using `--help` options (`#6120 `_)\n - Fix regression when validating resource subfields (`#6546 `_)\n-- Fix resource file size not updating with resource_patch (`#7075 `_)\n+- Fix resource file size not updating with resource_patch (`#7075 `_)\n - Prevent non-sysadmin users to change their own state (`#6956 `_)\n - Use user id in auth cookie rather than name\n - Reorder resource view button: allow translation (`#6089 `_)\n@@ -138,7 +791,6 @@ Bugfixes\n - Fix error when listing tokens in the CLI in py2 (`#6789 `_)\n \n \n-\n Minor changes\n -------------\n \n@@ -153,7 +805,6 @@ Minor changes\n - Add no-op ``csrf_input()`` helper to help extensions with cross-CKAN version suport (`#7030 `_)\n \n \n-\n v.2.9.5 2022-01-19\n ==================\n \n@@ -183,13 +834,12 @@ Bugfixes\n Minor changes\n -------------\n \n-- Add timeouts to requests calls (see :ref:`ckan.requests.timeout`) (`#6408 `_)\n+- Add timeouts to requests calls (see `ckan.requests.timeout`) (`#6408 `_)\n - Types of file uploads for group and user imags can be restricted via the `ckan.upload.{object_type}.types` and `ckan.upload.{object_type}.mimetypes` config options (eg :ref:`ckan.upload.group.types`, :ref:`ckan.upload.user.mimetypes`) (`#6477 `_)\n - Allow children elements on select2 lists (`#6503 `_)\n - Enable ``minimumInputLength`` and fix loading message in select2 (`#6554 `_)\n \n \n-\n v.2.9.4 2021-09-22\n ==================\n \n@@ -229,7 +879,6 @@ Bugfixes\n (`#2317 `_)\n - Several documentation fixes and improvements\n \n-\n v.2.9.3 2021-05-19\n ==================\n \n@@ -663,6 +1312,140 @@ Removals and deprecations\n (`#5112 `_)\n - Remove paster CLI (`#5264 `_)\n \n+v.2.8.12 2022-10-26\n+===================\n+\n+Bugfixes\n+--------\n+\n+* CVE-2022-43685: fix potential user account takeover via user create\n+\n+v.2.8.11 2022-09-28\n+===================\n+\n+Fixes:\n+\n+* Fixes incorrectly encoded url current_url (`#6685 `_)\n+* Check if locale exists on i18n JS API (`#6698 `_)\n+* Add ``csrf_input()`` helper for cross-CKAN version compatibilty (`#7016 `_)\n+* Fix not empty validator (`#6658 `_)\n+* Use ``get_action()`` in patch actions to allow custom logic (`#6519 `_)\n+* Allow to extend organization_facets (`#6682 `_)\n+* Expose check_ckan_version to templates (`#6741 `_)\n+* Allow get_translated helper to fall back to base version of a language (`#6815 `_)\n+* Fix server error in tag autocomplete when vocabulary does not exist (`#6820 `_)\n+* Check if locale exists on i18n JS API (`#6698 `_)\n+* Fix updating a non-existing resource causes an internal sever error (`#6928 `_)\n+\n+\n+v.2.8.10 2022-01-19\n+===================\n+\n+Fixes:\n+\n+* Add timeouts to requests calls (see `ckan.requests.timeout`) (`#6408 `_)\n+* Fix user create/edit email validators (`#6399 `_)\n+* Allow children elements on select2 lists (`#6503 `_)\n+\n+\n+\n+v.2.8.9 2021-09-22\n+==================\n+\n+Fixes:\n+\n+* render_datetime helper does not respect ckan.display_timezone configuration (`#6252 `_)\n+* Fix SQLAlchemy configuration for DataStore (`#6087 `_)\n+* Don't cache license translations across requests (`#5586 `_)\n+* Fix tracking.js module preventing links to be opened in new tabs (`#6386 `_)\n+* Fix deleted org/group feeds (`#6368 `_)\n+* Fix runaway preview height (`#6284 `_)\n+* Fix unreliable ordering of DataStore results (`#2317 `_)\n+\n+\n+v.2.8.8 2021-05-19\n+==================\n+\n+* Fix Chinese locales (`#4413 `_)\n+* Allow installation of requirements without any additional actions using pip (`#5408 `_)\n+* Include requirements files in Manifest (`#5726 `_)\n+* Dockerfile: pin pip version (`#5929 `_)\n+* Allow uploaders to only override asset / resource uploading (`#6088 `_)\n+* Catch TypeError from invalid thrown by dateutils (`#6085 `_)\n+* Display proper message when sysadmin password is incorect (`#5911 `_)\n+* Use external library to parse view filter params\n+* Fix auth error when deleting a group/org (`#6006 `_)\n+* Fix datastore_search language parameter (`#5974 `_)\n+* make SQL function whitelist case-insensitive unless quoted (`#5969 `_)\n+* Fix Explore button not working (`#3720 `_)\n+* remove unused var in task_status_update (`#5861 `_)\n+* Prevent guessing format and mimetype from resource urls without path (`#5852 `_)\n+\n+v.2.8.7 2021-02-10\n+==================\n+\n+General notes:\n+* Note: To use PostgreSQL 12 on CKAN 2.8 you need to upgrade SQLAlchemy to 1.2.17 and vdm to 0.15 (more details in `#5796 `_)\n+\n+\n+Fixes:\n+\n+* Persist attributes in chained functions (`#5751 `_)\n+* Fix install documentation (`#5618 `_)\n+* Fix exception when passing limit to organization (`#5789 `_)\n+* Fix for adding directories from plugins if partially string matches existing values (`#5836 `_)\n+* Fix upload log activity sorting (`#5827 `_)\n+* Textview: escape text formats (`#5814 `_)\n+* Add allow_partial_update to fix losing users (`#5734 `_)\n+* Set default group_type to group in group_create (`#5693 `_)\n+* Use user performing the action on activity context on user_update (`#5743 `_)\n+* New block in nav links in user dashboard (`#5804 `_)\n+* Update references to DataPusher documentation\n+* Fix JavaScript error on Edge (`#5782 `_)\n+* Fix error when deleting resource with missing datastore table (`#5757 `_)\n+* ensure HTTP_HOST is bytes under python2 (`#5714 `_)\n+* Don't set old_filename when updating groups (`#5707 `_)\n+* Filter activities from user at the database level (`#5698 `_)\n+* Fix user_list ordering (`#5667 `_)\n+* Allowlist for functions in datastore_search_sql (see :ref:`ckan.datastore.sqlsearch.allowed_functions_file`)\n+\n+\n+v.2.8.6 2020-10-21\n+==================\n+\n+Fixes:\n+* Allow IAuthenticator methods to return responses (`#5259 `_)\n+* Fix skip to content link hiding on screen readers (`#5556 `_)\n+* Fix unflattening of dataset extras (`#5602 `_)\n+* Fix minified JS files in 2.7 (`#5557 `_)\n+* Send the right URL of CKAN to datapusher (`#5281 `_)\n+* Fix fullscreen for resource webpageview (`#5552 `_)\n+* PackageSearchIndex.index_package(): catch IndexError from date parsing (`#5535 `_)\n+* Fix collapsible menu in mobile view (`#5448 `_)\n+* Refactor query string parsing module\n+\n+v.2.8.5 2020-08-05\n+==================\n+\n+Fixes:\n+\n+* Add RTL support (`#5413 `_)\n+* Fix UnicodeDecodeError on abort fucntion (`#4829 `_)\n+* Improve and reorder resource_formats.json (`#5034 `_)\n+* Allow passing arguments to the RQ enqueue_call function (`#5208 `_)\n+* Fix dashboard follower filter (`#5412 `_)\n+* Update dictionary.html for bs2 version (`#5365 `_)\n+* Prevent password reset exposing account presence (`#5431 `_)\n+* Add class dropdown to 'New view' menu (`#5470 `_)\n+* Update jQuery to 3.5.0 (`#5364 `_)\n+* Fix dashboard activity filter (`#5424 `_)\n+* Prevent account presence exposure when ckan.auth.public_user_details = false (`#5432 `_)\n+* Fix resource upload filename fetching in IE (`#5438 `_)\n+* Unflatten: allow nesting >1 level (`#5444 `_)\n+* Allow lists in resource extras (`#5453 `_)\n+* Only add error to tag_errors if not empty (`#5454 `_)\n+* Fix order_by param in user_list action (`#5342 `_)\n+* Fix for Resources validation errors display (`#5335 `_)\n \n \n v.2.8.4 2020-04-15\n@@ -674,7 +1457,7 @@ General notes:\n * Note: This version does not require a Solr schema upgrade\n * Note: This version includes changes in the way the ``SameSite`` flag is set on the ``auth_tkt`` authorization cookie.\n The new default setting for it is ``SameSite=Lax``, which aligns with the behaviour of all major browsers. If for some\n- reason you need a different value, you can set it via the :ref:`who.samesite` configuration option. You can find more\n+ reason you need a different value, you can set it via the `who.samesite` configuration option. You can find more\n information on the ``SameSite`` attribute `here `_.\n \n \n@@ -910,6 +1693,94 @@ Changes and deprecations:\n to specify this argument explicitly, as in future it'll become required.\n * The ``ckan.recaptcha.version`` config option is now removed, since v2 is the only valid version now (#4061)\n \n+v.2.7.12 2021-09-22\n+===================\n+\n+Fixes:\n+\n+* Fix tracking.js module preventing links to be opened in new tabs (`#6384 `_)\n+* Fix deleted org/group feeds (`#6367 `_)\n+* Fix runaway preview height (`#6283 `_)\n+* Fix unreliable ordering of DataStore results (`#2317 `_)\n+\n+v.2.7.11 2021-05-19\n+===================\n+\n+Fixes:\n+\n+* Allow uploaders to only override asset / resource uploading (`#6088 `_)\n+* Catch TypeError from invalid thrown by dateutils (`#6085 `_)\n+* Use external library to parse view filter params\n+* Fix auth error when deleting a group/org (`#6006 `_)\n+* Fix datastore_search language parameter (`#5974 `_)\n+* make SQL function whitelist case-insensitive unless quoted (`#5969 `_)\n+* Fix Explore button not working (`#3720 `_)\n+* \"New view\" button fix (`#4260 `_)\n+* remove unused var in task_status_update (`#5861 `_)\n+* Prevent guessing format and mimetype from resource urls without path (`#5852 `_)\n+\n+v.2.7.10 2021-02-10\n+===================\n+\n+Fixes:\n+\n+* Fix install documentation (`#5618 `_)\n+* Fix exception when passing limit to organization (`#5789 `_)\n+* Fix for adding directories from plugins if partially string matches existing values (`#5836 `_)\n+* Fix upload log activity sorting (`#5827 `_)\n+* Textview: escape text formats (`#5814 `_)\n+* Add allow_partial_update to fix losing users (`#5734 `_)\n+* Set default group_type to group in group_create (`#5693 `_)\n+* Use user performing the action on activity context on user_update (`#5743 `_)\n+* New block in nav links in user dashboard (`#5804 `_)\n+* Update references to DataPusher documentation\n+* Fix JavaScript error on Edge (`#5782 `_)\n+* Fix error when deleting resource with missing datastore table (`#5757 `_)\n+* ensure HTTP_HOST is bytes under python2 (`#5714 `_)\n+* Don't set old_filename when updating groups (`#5707 `_)\n+* Filter activities from user at the database level (`#5698 `_)\n+* Fix user_list ordering (`#5667 `_)\n+* Allow list for functions in datastore_search_sql (see :ref:`ckan.datastore.sqlsearch.allowed_functions_file`)\n+\n+\n+v.2.7.9 2020-10-21\n+==================\n+\n+Fixes:\n+\n+* Fix unflattening of dataset extras (`#5602 `_)\n+* Fix minified JS files in 2.7 (`#5557 `_)\n+* Send the right URL of CKAN to datapusher (`#5281 `_)\n+* Fix fullscreen for resource webpageview (`#5552 `_)\n+* PackageSearchIndex.index_package(): catch IndexError from date parsing (`#5535 `_)\n+* Fix collapsible menu in mobile view (`#5448 `_)\n+* Refactor query string parsing module\n+\n+\n+v.2.7.8 2020-08-05\n+==================\n+\n+Fixes:\n+\n+* Fix UnicodeDecodeError on abort fucntion (`#4829 `_)\n+* Improve and reorder resource_formats.json (`#5034 `_)\n+* Allow passing arguments to the RQ enqueue_call function (`#5208 `_)\n+* Fix dashboard follower filter (`#5412 `_)\n+* Update dictionary.html for bs2 version (`#5365 `_)\n+* Prevent password reset exposing account presence (`#5431 `_)\n+* Add class dropdown to 'New view' menu (`#5470 `_)\n+* Update jQuery to 3.5.0 (`#5364 `_)\n+* Fix dashboard activity filter (`#5424 `_)\n+* Prevent account presence exposure when ckan.auth.public_user_details = false (`#5432 `_)\n+* Fix resource upload filename fetching in IE (`#5438 `_)\n+* Unflatten: allow nesting >1 level (`#5444 `_)\n+* Allow lists in resource extras (`#5453 `_)\n+* Only add error to tag_errors if not empty (`#5454 `_)\n+* Fix order_by param in user_list action (`#5342 `_)\n+* Fix for Resources validation errors display (`#5335 `_)\n+\n+\n+\n v.2.7.7 2020-04-15\n ==================\n \n@@ -919,7 +1790,7 @@ General notes:\n * Note: This version does not require a Solr schema upgrade\n * Note: This version includes changes in the way the ``SameSite`` flag is set on the ``auth_tkt`` authorization cookie.\n The new default setting for it is ``SameSite=Lax``, which aligns with the behaviour of all major browsers. If for some\n- reason you need a different value, you can set it via the :ref:`who.samesite` configuration option. You can find more\n+ reason you need a different value, you can set it via the `who.samesite` configuration option. You can find more\n information on the ``SameSite`` attribute `here `_.\n \n \n@@ -1739,7 +2610,7 @@ Changes and deprecations\n \n * The default of allowing anyone to create datasets, groups and organizations\n has been changed to False. It is advised to ensure you set all of the\n- :ref:`config-authorization` options explicitly in your CKAN config. (#2164)\n+ :ref:`authorization-settings` options explicitly in your CKAN config. (#2164)\n \n * The ``package_show`` API call does not return the ``tracking_summary``,\n keys in the dataset or resources by default any more.\n@@ -2053,7 +2924,7 @@ Changes and deprecations\n * The HttpOnly flag will be set on the authorization cookie by default. For\n enhanced security, we recommend using the HttpOnly flag, but this behaviour\n can be changed in the ``Repoze.who`` settings detailed in the Config File\n- Options documentation (:ref:`who.httponly`).\n+ Options documentation (`who.httponly`).\n \n * The OpenID login option has been removed and is no longer supported. See\n \"Troubleshooting\" if you are upgrading an existing CKAN instance as you may\n@@ -2688,7 +3559,7 @@ New frontend (see :doc:`/theming/index`):\n CKAN's frontend has been completely redesigned, inside and out. There is\n a new default theme and the template engine has moved from Genshi to\n Jinja2. Any custom templates using Genshi will need to be updated, although\n- there is a :ref:`ckan.legacy_templates` setting to aid in the migration.\n+ there is a ``ckan.legacy_templates`` setting to aid in the migration.\n \n * Block-based template inheritance\n * Custom jinja tags: {% ckan_extends %}, {% snippet %} and {% url_for %} (#2502, #2503)" + }, + { + "sha": "97899ae32ea85891d30ae827e97f5e2bffedea8d", + "filename": "CONTRIBUTING.rst", + "status": "removed", + "additions": 0, + "deletions": 4, + "changes": 4, + "blob_url": "https://github.com/open-data/ckan/blob/d8d0e9647c9a34757106a0151c26d8b5442bcee3/CONTRIBUTING.rst", + "raw_url": "https://github.com/open-data/ckan/raw/d8d0e9647c9a34757106a0151c26d8b5442bcee3/CONTRIBUTING.rst", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/CONTRIBUTING.rst?ref=d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "patch": "@@ -1,4 +0,0 @@\n-For contributing CKAN (whether code, bug reports, translations, documentation,\n-etc.) see our contributing guidelines:\n-\n-http://docs.ckan.org/en/latest/contributing" + }, + { + "sha": "87164a789833e0583088d4e400be34441305be98", + "filename": "Dockerfile", + "status": "removed", + "additions": 0, + "deletions": 66, + "changes": 66, + "blob_url": "https://github.com/open-data/ckan/blob/d8d0e9647c9a34757106a0151c26d8b5442bcee3/Dockerfile", + "raw_url": "https://github.com/open-data/ckan/raw/d8d0e9647c9a34757106a0151c26d8b5442bcee3/Dockerfile", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/Dockerfile?ref=d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "patch": "@@ -1,66 +0,0 @@\n-# See CKAN docs on installation from Docker Compose on usage\n-FROM debian:stretch\n-MAINTAINER Open Knowledge\n-\n-# Install required system packages\n-RUN apt-get -q -y update \\\n- && DEBIAN_FRONTEND=noninteractive apt-get -q -y upgrade \\\n- && apt-get -q -y install \\\n- python-dev \\\n- python-pip \\\n- python-virtualenv \\\n- python-wheel \\\n- python3-dev \\\n- python3-pip \\\n- python3-virtualenv \\\n- python3-wheel \\\n- libpq-dev \\\n- libxml2-dev \\\n- libxslt-dev \\\n- libgeos-dev \\\n- libssl-dev \\\n- libffi-dev \\\n- postgresql-client \\\n- build-essential \\\n- git-core \\\n- vim \\\n- wget \\\n- && apt-get -q clean \\\n- && rm -rf /var/lib/apt/lists/*\n-\n-# Define environment variables\n-ENV CKAN_HOME /usr/lib/ckan\n-ENV CKAN_VENV $CKAN_HOME/venv\n-ENV CKAN_CONFIG /etc/ckan\n-ENV CKAN_STORAGE_PATH=/var/lib/ckan\n-\n-# Build-time variables specified by docker-compose.yml / .env\n-ARG CKAN_SITE_URL\n-\n-# Create ckan user\n-RUN useradd -r -u 900 -m -c \"ckan account\" -d $CKAN_HOME -s /bin/false ckan\n-\n-# Setup virtual environment for CKAN\n-RUN mkdir -p $CKAN_VENV $CKAN_CONFIG $CKAN_STORAGE_PATH && \\\n- virtualenv $CKAN_VENV && \\\n- ln -s $CKAN_VENV/bin/pip /usr/local/bin/ckan-pip &&\\\n- ln -s $CKAN_VENV/bin/paster /usr/local/bin/ckan-paster &&\\\n- ln -s $CKAN_VENV/bin/ckan /usr/local/bin/ckan\n-\n-# Setup CKAN\n-ADD . $CKAN_VENV/src/ckan/\n-RUN ckan-pip install -U pip && \\\n- ckan-pip install --upgrade --no-cache-dir -r $CKAN_VENV/src/ckan/requirement-setuptools.txt && \\\n- ckan-pip install --upgrade --no-cache-dir -r $CKAN_VENV/src/ckan/requirements-py2.txt && \\\n- ckan-pip install -e $CKAN_VENV/src/ckan/ && \\\n- ln -s $CKAN_VENV/src/ckan/ckan/config/who.ini $CKAN_CONFIG/who.ini && \\\n- cp -v $CKAN_VENV/src/ckan/contrib/docker/ckan-entrypoint.sh /ckan-entrypoint.sh && \\\n- chmod +x /ckan-entrypoint.sh && \\\n- chown -R ckan:ckan $CKAN_HOME $CKAN_VENV $CKAN_CONFIG $CKAN_STORAGE_PATH\n-\n-ENTRYPOINT [\"/ckan-entrypoint.sh\"]\n-\n-USER ckan\n-EXPOSE 5000\n-\n-CMD [\"ckan\",\"-c\",\"/etc/ckan/production.ini\", \"run\", \"--host\", \"0.0.0.0\"]" + }, + { + "sha": "b24accfdc684f850cbaae61b3787d6fac1010d7b", + "filename": "MANIFEST.in", + "status": "modified", + "additions": 7, + "deletions": 4, + "changes": 11, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/MANIFEST.in", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/MANIFEST.in", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/MANIFEST.in?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,26 +1,29 @@\n include ckan/config/deployment.ini_tmpl\n+recursive-include ckan *.py\n recursive-include ckan/public *\n+recursive-include ckan/public-bs3 *\n recursive-include ckan/config *.ini\n recursive-include ckan/config *.json\n+recursive-include ckan/config *.yaml\n recursive-include ckan/config *.xml\n recursive-include ckan/i18n *\n recursive-include ckan/templates *\n+recursive-include ckan/templates-bs3 *\n recursive-include ckan *.ini\n \n+recursive-include ckanext *.py\n recursive-include ckanext/*/i18n *\n recursive-include ckanext/*/public *\n+recursive-include ckanext/*/assets *\n recursive-include ckanext/*/templates *\n recursive-include ckanext/*/theme/public *\n recursive-include ckanext/*/theme/templates *\n+recursive-include ckanext/* config_declaration.yaml\n include ckanext/datastore/set_permissions.sql\n include ckanext/datastore/allowed_functions.txt\n \n prune .git\n include CHANGELOG.txt\n-include ckan/migration/migrate.cfg\n include ckan/migration/README\n-recursive-include ckan/migration/versions *.sql\n-include requirement-setuptools.txt\n include requirements.txt\n-include requirements-py2.txt\n include dev-requirements.txt" + }, + { + "sha": "6a728ddbb451e6afbdd8a8a63760d7841ddc8319", + "filename": "README.rst", + "status": "modified", + "additions": 2, + "deletions": 2, + "changes": 4, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/README.rst", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/README.rst", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/README.rst?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -51,7 +51,7 @@ If you find a potential security vulnerability please email security@ckan.org,\n rather than creating a public issue on GitHub.\n \n .. _CKAN tag on Stack Overflow: http://stackoverflow.com/questions/tagged/ckan\n-.. _archives: https://www.google.com/search?q=%22%5Bckan-dev%5D%22+site%3Alists.okfn.org.\n+.. _archives: https://groups.google.com/a/ckan.org/g/ckan-dev\n .. _GitHub Issues: https://github.com/ckan/ckan/issues\n .. _CKAN chat on Gitter: https://gitter.im/ckan/chat\n \n@@ -60,7 +60,7 @@ Contributing to CKAN\n --------------------\n \n For contributing to CKAN or its documentation, see\n-`CONTRIBUTING `_.\n+`CONTRIBUTING `_.\n \n Mailing List\n ~~~~~~~~~~~~" + }, + { + "sha": "fb2228be2b5721cc7a637a35428923687a695998", + "filename": "SECURITY.md", + "status": "modified", + "additions": 1, + "deletions": 1, + "changes": 2, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/SECURITY.md", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/SECURITY.md", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/SECURITY.md?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -4,7 +4,7 @@\n \n Security updates are offered for the **3 most recent** minor CKAN releases. They are included in patch releases, but not acknowledged in the release announcement or [CHANGELOG.rst](CHANGELOG.rst), hence the advice to always run the latest patch releases.\n \n-For more about CKAN releases see: https://docs.ckan.org/en/2.8/maintaining/upgrading/#ckan-releases\n+For more about CKAN releases see: http://docs.ckan.org/en/latest/maintaining/upgrading/index.html#ckan-releases\n \n ## Reporting a Vulnerability\n " + }, + { + "sha": "0658a7be0be4f6d44fa84c4f6f1e0a86968369e7", + "filename": "bin/travis-install-dependencies", + "status": "removed", + "additions": 0, + "deletions": 52, + "changes": 52, + "blob_url": "https://github.com/open-data/ckan/blob/d8d0e9647c9a34757106a0151c26d8b5442bcee3/bin%2Ftravis-install-dependencies", + "raw_url": "https://github.com/open-data/ckan/raw/d8d0e9647c9a34757106a0151c26d8b5442bcee3/bin%2Ftravis-install-dependencies", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/bin%2Ftravis-install-dependencies?ref=d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "patch": "@@ -1,52 +0,0 @@\n-#!/bin/bash\n-\n-# Exit immediately if any command fails\n-set -e\n-\n-# Drop Travis' postgres cluster if we're building using a different pg version\n-TRAVIS_PGVERSION='9.1'\n-if [ $PGVERSION != $TRAVIS_PGVERSION ]\n-then\n- sudo -u postgres pg_dropcluster --stop $TRAVIS_PGVERSION main\n- # Make psql use $PGVERSION\n- export PGCLUSTER=$PGVERSION/main\n-fi\n-\n-# Install postgres and solr\n-sudo apt-get update -qq\n-sudo apt-get install postgresql-$PGVERSION solr-jetty libcommons-fileupload-java:amd64=1.2.2-1\n-\n-if [ $PGVERSION == '8.4' ]\n-then\n- # force postgres to use 5432 as it's port\n- sudo sed -i -e 's/port = 5433/port = 5432/g' /etc/postgresql/8.4/main/postgresql.conf\n-fi\n-\n-sudo service postgresql restart\n-\n-# Setup postgres' users and databases\n-sudo -E -u postgres ./bin/postgres_init/1_create_ckan_db.sh\n-sudo -E -u postgres ./bin/postgres_init/2_create_ckan_datastore_db.sh\n-\n-export PIP_USE_MIRRORS=true\n-pip install -r requirement-setuptools.txt --allow-all-external\n-pip install -r requirements-py2.txt --allow-all-external\n-pip install -r dev-requirements.txt --allow-all-external\n-\n-python setup.py develop\n-\n-# Install npm deps\n-npm install\n-\n-paster db init -c test-core.ini\n-\n-# If Postgres >= 9.0, we don't need to use datastore's legacy mode.\n-if [ $PGVERSION != '8.4' ]\n-then\n- sed -i -e 's/.*datastore.read_url.*/ckan.datastore.read_url = postgresql:\\/\\/datastore_default:pass@\\/datastore_test/' test-core.ini\n- paster datastore -c test-core.ini set-permissions | sudo -u postgres psql\n-else\n- sed -i -e 's/.*datastore.read_url.*//' test-core.ini\n-fi\n-\n-cat test-core.ini" + }, + { + "sha": "ce309d9eee5733b414bbafe4e829f34ee39b126a", + "filename": "bin/travis-run-tests", + "status": "removed", + "additions": 0, + "deletions": 28, + "changes": 28, + "blob_url": "https://github.com/open-data/ckan/blob/d8d0e9647c9a34757106a0151c26d8b5442bcee3/bin%2Ftravis-run-tests", + "raw_url": "https://github.com/open-data/ckan/raw/d8d0e9647c9a34757106a0151c26d8b5442bcee3/bin%2Ftravis-run-tests", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/bin%2Ftravis-run-tests?ref=d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "patch": "@@ -1,28 +0,0 @@\n-#!/bin/sh\n-\n-# Configure Solr\n-echo \"NO_START=0\\nJETTY_HOST=127.0.0.1\\nJETTY_PORT=8983\\nJAVA_HOME=$JAVA_HOME\" | sudo tee /etc/default/jetty\n-sudo cp ckan/config/solr/schema.xml /etc/solr/conf/schema.xml\n-sudo service jetty restart\n-\n-# Run mocha front-end tests\n-# We need ckan to be running for some tests\n-paster serve test-core.ini &\n-sleep 5 # Make sure the server has fully started\n-npx cypress run\n-# Did an error occur?\n-CYPRESS_ERROR=$?\n-# We are done so kill ckan\n-killall paster\n-\n-# And finally, run the tests\n-PYTEST_OPTIONS: -v --ckan-ini=test-core.ini --cov=ckan --cov=ckanext --junitxml=/root/junit/junit.xml\n-python -m pytest $PYTEST_COMMON_OPTIONS\n-# Did an error occur?\n-PYTEST_ERROR=$?\n-\n-[ \"0\" -ne \"$MOCHA_ERROR\" ] && echo MOCHA tests have failed\n-[ \"0\" -ne \"$PYTEST_ERROR\" ] && echo PYTEST tests have failed\n-\n-# If an error occurred in our tests make sure travis knows\n-exit `expr $CYPRESS_ERROR + $PYTEST_ERROR`" + }, + { + "sha": "d8bc438d116312ac91684fd6d60ae714c244dbd1", + "filename": "changes/182.canada.changes", + "status": "added", + "additions": 1, + "deletions": 0, + "changes": 1, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F182.canada.changes", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F182.canada.changes", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/changes%2F182.canada.changes?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1 @@\n+Change the log level in `default_authenticate` from `debug` to `info` for the canada fork only. Related to https://github.com/open-data/ckanext-security/pull/8" + }, + { + "sha": "ca4db8ddc336fb12e1c839db447049c8bf020556", + "filename": "changes/185.canada.feature", + "status": "added", + "additions": 1, + "deletions": 0, + "changes": 1, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F185.canada.feature", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F185.canada.feature", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/changes%2F185.canada.feature?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1 @@\n+Added UI for search index rebuilding. Added background jobs for search index rebuilding." + }, + { + "sha": "64c0f337560ed1527f7bd3015eaa2b19883bc230", + "filename": "changes/5772.feature", + "status": "added", + "additions": 5, + "deletions": 0, + "changes": 5, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F5772.feature", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F5772.feature", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/changes%2F5772.feature?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,5 @@\n+Enabled saving of activities on private datasets.\n+\n+Added `permission_labels` column to `Activity` table.\n+\n+Added filtering of dataset activities based on user permission labels.\n\\ No newline at end of file" + }, + { + "sha": "d78b8e4e6f736c2579cfc1f33faa5e702accb60a", + "filename": "changes/7346.bugfix", + "status": "added", + "additions": 2, + "deletions": 0, + "changes": 2, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F7346.bugfix", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F7346.bugfix", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/changes%2F7346.bugfix?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,2 @@\n+Fix 500 error caused from passing null to a field using the \n+`ckanext.datastore.logic.schema.json_validator` in its schema\n\\ No newline at end of file" + }, + { + "sha": "8542c8d0c00ab81793bc1be030b7f8503bf3a000", + "filename": "changes/7571.bugfix", + "status": "added", + "additions": 2, + "deletions": 0, + "changes": 2, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F7571.bugfix", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F7571.bugfix", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/changes%2F7571.bugfix?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,2 @@\n+Fixed context in `set_datastore_active_flag` to\n+solve possible solr errors during `index_package`\n\\ No newline at end of file" + }, + { + "sha": "23e12414616b030421a07f69ce5813dbea801d62", + "filename": "changes/7804.bugfix", + "status": "added", + "additions": 1, + "deletions": 0, + "changes": 1, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F7804.bugfix", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F7804.bugfix", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/changes%2F7804.bugfix?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1 @@\n+Aligned `member_create` with `group_member_save` to prevent possible member duplication." + }, + { + "sha": "8cc8d2799b0c69a2b99a3e30df3a6ecbcd85c2f6", + "filename": "changes/7813.feature", + "status": "added", + "additions": 2, + "deletions": 0, + "changes": 2, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F7813.feature", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F7813.feature", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/changes%2F7813.feature?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,2 @@\n+Added pages to confirm User delete and Dataset Collaborator delete.\n+Fixed cancellation of Group Member delete." + }, + { + "sha": "a2b4f2b8804aef3eb2a0e4590ef790299795aaf5", + "filename": "changes/7919.feature", + "status": "added", + "additions": 2, + "deletions": 0, + "changes": 2, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F7919.feature", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F7919.feature", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/changes%2F7919.feature?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,2 @@\n+datastore_create: Add a delete_fields flag that must be set to True to delete\n+any existing fields not passed in the fields list" + }, + { + "sha": "04b3bc57c62c4524c2c7110da2e65b4aba870324", + "filename": "changes/7944.bugfix", + "status": "added", + "additions": 1, + "deletions": 0, + "changes": 1, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F7944.bugfix", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F7944.bugfix", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/changes%2F7944.bugfix?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1 @@\n+Fixed issues with the `ckan views create` CLI sub-command." + }, + { + "sha": "cfd27299f012e7ad288776525b04f294b667979c", + "filename": "changes/8043.feature", + "status": "added", + "additions": 1, + "deletions": 0, + "changes": 1, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F8043.feature", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F8043.feature", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/changes%2F8043.feature?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1 @@\n+Activity plugin now tracks new, changed, and deleted resource views." + }, + { + "sha": "946afa2069ffbfb464dfaed14fb22ff066dce5fe", + "filename": "changes/8101.feature", + "status": "added", + "additions": 2, + "deletions": 0, + "changes": 2, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F8101.feature", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F8101.feature", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/changes%2F8101.feature?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,2 @@\n+`datastore_records_delete` action now calls the `datastore_delete` action\n+via the toolkit for better frameworking." + }, + { + "sha": "31f54b9be1d1e8d1718c663f971457b19cad3d71", + "filename": "changes/8154.feature", + "status": "added", + "additions": 1, + "deletions": 0, + "changes": 1, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F8154.feature", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F8154.feature", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/changes%2F8154.feature?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1 @@\n+Resource view list items now have an additional `view-item` class." + }, + { + "sha": "013f0a198da4c7d0ff1e1dbdff7c489c39ab4450", + "filename": "changes/8240.feature", + "status": "added", + "additions": 1, + "deletions": 0, + "changes": 1, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F8240.feature", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2F8240.feature", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/changes%2F8240.feature?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1 @@\n+Add `--max-idle-time` to the `ckan jobs worker` command." + }, + { + "sha": "97aedbead1834ae66aeccb4069648ba90658172b", + "filename": "changes/v210.canada.release", + "status": "added", + "additions": 1, + "deletions": 0, + "changes": 1, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2Fv210.canada.release", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/changes%2Fv210.canada.release", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/changes%2Fv210.canada.release?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1 @@\n+Released CKAN 2.10 compatible code." + }, + { + "sha": "f583beea11407e04d6c897366e5d717c4585062e", + "filename": "ckan/__init__.py", + "status": "modified", + "additions": 3, + "deletions": 18, + "changes": 21, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2F__init__.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2F__init__.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2F__init__.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,22 +1,7 @@\n # encoding: utf-8\n \n-__version__ = '2.9.9'\n-\n-__description__ = 'CKAN Software'\n-__long_description__ = \\\n-'''\n-CKAN is the world's leading Open Source data portal platform.\n-\n-It powers dozens of Open Data portals around the world, including\n-data.gov, open.canada.ca and europeandataportal.eu but also regional,\n-research and community organizations.\n-\n-It makes easy to publish, share and find data online and is fully\n-customizable via extensions and plugins.\n-\n-Check https://ckan.org to know more.\n-'''\n-__license__ = 'AGPL'\n+__version__ = \"2.10.4\"\n \n # The packaging system relies on this import, please do not remove it\n-import sys; sys.path.insert(0, __path__[0])\n+# type_ignore_reason: pyright thinks it's iterable\n+import sys; sys.path.insert(0, __path__[0]) # type: ignore" + }, + { + "sha": "48c44084dc463412888ae1b5a433b6aacac7c414", + "filename": "ckan/authz.py", + "status": "modified", + "additions": 154, + "deletions": 147, + "changes": 301, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fauthz.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fauthz.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fauthz.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,90 +1,99 @@\n # encoding: utf-8\n+from __future__ import annotations\n \n import functools\n-import sys\n+import inspect\n+import importlib\n \n from collections import defaultdict, OrderedDict\n from logging import getLogger\n+from typing import Any, Callable, Collection, KeysView, Optional, Union\n+from types import ModuleType\n \n-import six\n-\n-from ckan.common import config\n-from ckan.common import asbool\n+from ckan.common import config, current_user\n \n import ckan.plugins as p\n import ckan.model as model\n-from ckan.common import _, g\n+from ckan.common import _\n \n-import ckan.lib.maintain as maintain\n+from ckan.types import AuthResult, AuthFunction, DataDict, Context\n \n log = getLogger(__name__)\n \n \n+def get_local_functions(module: ModuleType, include_private: bool = False):\n+ \"\"\"Return list of (name, func) tuples.\n+\n+ Filters out all non-callables and all the items that were\n+ imported.\n+ \"\"\"\n+ return inspect.getmembers(\n+ module,\n+ lambda func: (inspect.isfunction(func) and\n+ inspect.getmodule(func) is module and\n+ (include_private or not func.__name__.startswith('_'))))\n+\n+\n class AuthFunctions:\n ''' This is a private cache used by get_auth_function() and should never be\n accessed directly we will create an instance of it and then remove it.'''\n- _functions = {}\n+ _functions: dict[str, AuthFunction] = {}\n \n- def clear(self):\n+ def clear(self) -> None:\n ''' clear any stored auth functions. '''\n self._functions.clear()\n \n- def keys(self):\n+ def keys(self) -> KeysView[str]:\n ''' Return a list of known auth functions.'''\n if not self._functions:\n self._build()\n return self._functions.keys()\n \n- def get(self, function):\n+ def get(self, function: str) -> Optional[AuthFunction]:\n ''' Return the requested auth function. '''\n if not self._functions:\n self._build()\n return self._functions.get(function)\n \n @staticmethod\n- def _is_chained_auth_function(func):\n+ def _is_chained_auth_function(func: AuthFunction) -> bool:\n '''\n Helper function to check if a function is a chained auth function, i.e.\n it has been decorated with the chain auth function decorator.\n '''\n return getattr(func, 'chained_auth_function', False)\n \n- def _build(self):\n- ''' Gather the auth functions.\n+ def _build(self) -> None:\n+ '''Gather the auth functions.\n+\n+ First get the default ones in the ckan/logic/auth directory\n+ Rather than writing them out in full will use\n+ importlib.import_module to load anything from ckan.auth that\n+ looks like it might be an authorisation function\n \n- First get the default ones in the ckan/logic/auth directory Rather than\n- writing them out in full will use __import__ to load anything from\n- ckan.auth that looks like it might be an authorisation function'''\n+ '''\n \n module_root = 'ckan.logic.auth'\n \n for auth_module_name in ['get', 'create', 'update', 'delete', 'patch']:\n- module_path = '%s.%s' % (module_root, auth_module_name,)\n- try:\n- module = __import__(module_path)\n- except ImportError:\n- log.debug('No auth module for action \"%s\"' % auth_module_name)\n- continue\n-\n- for part in module_path.split('.')[1:]:\n- module = getattr(module, part)\n-\n- for key, v in module.__dict__.items():\n- if not key.startswith('_'):\n- # Whitelist all auth functions defined in\n- # logic/auth/get.py as not requiring an authorized user,\n- # as well as ensuring that the rest do. In both cases, do\n- # nothing if a decorator has already been used to define\n- # the behaviour\n- if not hasattr(v, 'auth_allow_anonymous_access'):\n- if auth_module_name == 'get':\n- v.auth_allow_anonymous_access = True\n- else:\n- v.auth_allow_anonymous_access = False\n- self._functions[key] = v\n+ module = importlib.import_module(\n+ '.' + auth_module_name, module_root)\n+\n+ for key, v in get_local_functions(module):\n+ # Whitelist all auth functions defined in\n+ # logic/auth/get.py as not requiring an authorized user,\n+ # as well as ensuring that the rest do. In both cases, do\n+ # nothing if a decorator has already been used to define\n+ # the behaviour\n+ if not hasattr(v, 'auth_allow_anonymous_access'):\n+ if auth_module_name == 'get':\n+ v.auth_allow_anonymous_access = True\n+ else:\n+ v.auth_allow_anonymous_access = False\n+ self._functions[key] = v\n \n # Then overwrite them with any specific ones in the plugins:\n- resolved_auth_function_plugins = {}\n+ resolved_auth_function_plugins: dict[str, str] = {}\n fetched_auth_functions = {}\n chained_auth_functions = defaultdict(list)\n for plugin in p.PluginImplementations(p.IAuthFunctions):\n@@ -102,7 +111,7 @@ def _build(self):\n resolved_auth_function_plugins[name] = plugin.name\n fetched_auth_functions[name] = auth_function\n \n- for name, func_list in six.iteritems(chained_auth_functions):\n+ for name, func_list in chained_auth_functions.items():\n if (name not in fetched_auth_functions and\n name not in self._functions):\n raise Exception('The auth %r is not found for chained auth' % (\n@@ -114,12 +123,12 @@ def _build(self):\n else:\n # fallback to chaining off the builtin auth function\n prev_func = self._functions[name]\n- \n+\n new_func = (functools.partial(func, prev_func))\n # persisting attributes to the new partial function\n- for attribute, value in six.iteritems(func.__dict__):\n+ for attribute, value in func.__dict__.items():\n setattr(new_func, attribute, value)\n- \n+\n fetched_auth_functions[name] = new_func\n \n # Use the updated ones in preference to the originals.\n@@ -130,36 +139,36 @@ def _build(self):\n del AuthFunctions\n \n \n-def clear_auth_functions_cache():\n+def clear_auth_functions_cache() -> None:\n _AuthFunctions.clear()\n \n \n-def auth_functions_list():\n+def auth_functions_list() -> KeysView[str]:\n '''Returns a list of the names of the auth functions available. Currently\n this is to allow the Auth Audit to know if an auth function is available\n for a given action.'''\n return _AuthFunctions.keys()\n \n \n-def is_sysadmin(username):\n+def is_sysadmin(username: Optional[str]) -> bool:\n ''' Returns True is username is a sysadmin '''\n user = _get_user(username)\n- return user and user.sysadmin\n+ return bool(user and user.sysadmin)\n \n \n-def _get_user(username):\n+def _get_user(username: Optional[str]) -> Optional['model.User']:\n '''\n- Try to get the user from g, if possible.\n+ Try to get the user from current_user proxy, if possible.\n If not fallback to using the DB\n '''\n if not username:\n return None\n # See if we can get the user without touching the DB\n try:\n- if g.userobj and g.userobj.name == username:\n- return g.userobj\n+ if current_user.name == username:\n+ return current_user # type: ignore\n except AttributeError:\n- # g.userobj not set\n+ # current_user is anonymous\n pass\n except TypeError:\n # c is not available (py2)\n@@ -172,26 +181,31 @@ def _get_user(username):\n return model.User.get(username)\n \n \n-def get_group_or_org_admin_ids(group_id):\n+def get_group_or_org_admin_ids(group_id: Optional[str]) -> list[str]:\n if not group_id:\n return []\n- group_id = model.Group.get(group_id).id\n- q = model.Session.query(model.Member) \\\n- .filter(model.Member.group_id == group_id) \\\n+ group = model.Group.get(group_id)\n+ if not group:\n+ return []\n+ q = model.Session.query(model.Member.table_id) \\\n+ .filter(model.Member.group_id == group.id) \\\n .filter(model.Member.table_name == 'user') \\\n .filter(model.Member.state == 'active') \\\n .filter(model.Member.capacity == 'admin')\n- return [a.table_id for a in q.all()]\n+\n+ # type_ignore_reason: all stored memerships have table_id\n+ return [a.table_id for a in q]\n \n \n-def is_authorized_boolean(action, context, data_dict=None):\n+def is_authorized_boolean(action: str, context: Context, data_dict: Optional[DataDict]=None) -> bool:\n ''' runs the auth function but just returns True if allowed else False\n '''\n outcome = is_authorized(action, context, data_dict=data_dict)\n return outcome.get('success', False)\n \n \n-def is_authorized(action, context, data_dict=None):\n+def is_authorized(action: str, context: Context,\n+ data_dict: Optional[DataDict]=None) -> AuthResult:\n if context.get('ignore_auth'):\n return {'success': True}\n \n@@ -216,67 +230,63 @@ def is_authorized(action, context, data_dict=None):\n # access straight away\n if not getattr(auth_function, 'auth_allow_anonymous_access', False) \\\n and not context.get('auth_user_obj'):\n+ if isinstance(auth_function, functools.partial):\n+ name = auth_function.func.__name__\n+ else:\n+ name = auth_function.__name__\n return {\n 'success': False,\n- 'msg': 'Action {0} requires an authenticated user'.format(\n- (auth_function if not isinstance(auth_function, functools.partial)\n- else auth_function.func).__name__)\n+ 'msg': 'Action {0} requires an authenticated user'.format(name)\n }\n \n- return auth_function(context, data_dict)\n+ return auth_function(context, data_dict or {})\n else:\n raise ValueError(_('Authorization function not found: %s' % action))\n \n \n # these are the permissions that roles have\n-ROLE_PERMISSIONS = OrderedDict([\n+ROLE_PERMISSIONS: dict[str, list[str]] = OrderedDict([\n ('admin', ['admin', 'membership']),\n- ('editor', ['read', 'delete_dataset', 'create_dataset', 'update_dataset', 'manage_group']),\n+ ('editor', ['read', 'delete_dataset', 'create_dataset',\n+ 'update_dataset', 'manage_group']),\n ('member', ['read', 'manage_group']),\n ])\n \n \n-def get_collaborator_capacities():\n+def get_collaborator_capacities() -> Collection[str]:\n if check_config_permission('allow_admin_collaborators'):\n return ('admin', 'editor', 'member')\n else:\n return ('editor', 'member')\n \n-\n-def _trans_role_admin():\n- return _('Admin')\n-\n-\n-def _trans_role_editor():\n- return _('Editor')\n-\n-\n-def _trans_role_member():\n- return _('Member')\n+_trans_functions: dict[str, Callable[[], str]] = {\n+ 'admin': lambda: _('Admin'),\n+ 'editor': lambda: _('Editor'),\n+ 'member': lambda: _('Member'),\n+}\n \n \n-def trans_role(role):\n- module = sys.modules[__name__]\n- return getattr(module, '_trans_role_%s' % role)()\n+def trans_role(role: str) -> str:\n+ return _trans_functions[role]()\n \n \n-def roles_list():\n+def roles_list() -> list[dict[str, str]]:\n ''' returns list of roles for forms '''\n roles = []\n for role in ROLE_PERMISSIONS:\n roles.append(dict(text=trans_role(role), value=role))\n return roles\n \n \n-def roles_trans():\n+def roles_trans() -> dict[str, str]:\n ''' return dict of roles with translation '''\n roles = {}\n for role in ROLE_PERMISSIONS:\n roles[role] = trans_role(role)\n return roles\n \n \n-def get_roles_with_permission(permission):\n+def get_roles_with_permission(permission: str) -> list[str]:\n ''' returns the roles with the permission requested '''\n roles = []\n for role in ROLE_PERMISSIONS:\n@@ -286,7 +296,9 @@ def get_roles_with_permission(permission):\n return roles\n \n \n-def has_user_permission_for_group_or_org(group_id, user_name, permission):\n+def has_user_permission_for_group_or_org(group_id: Optional[str],\n+ user_name: Optional[str],\n+ permission: str) -> bool:\n ''' Check if the user has the given permissions for the group, allowing for\n sysadmin rights and permission cascading down a group hierarchy.\n \n@@ -307,9 +319,11 @@ def has_user_permission_for_group_or_org(group_id, user_name, permission):\n return False\n if _has_user_permission_for_groups(user_id, permission, [group_id]):\n return True\n+ capacities = check_config_permission('roles_that_cascade_to_sub_groups')\n+ assert isinstance(capacities, list)\n # Handle when permissions cascade. Check the user's roles on groups higher\n # in the group hierarchy for permission.\n- for capacity in check_config_permission('roles_that_cascade_to_sub_groups'):\n+ for capacity in capacities:\n parent_groups = group.get_parent_group_hierarchy(type=group.type)\n group_ids = [group_.id for group_ in parent_groups]\n if _has_user_permission_for_groups(user_id, permission, group_ids,\n@@ -318,56 +332,63 @@ def has_user_permission_for_group_or_org(group_id, user_name, permission):\n return False\n \n \n-def _has_user_permission_for_groups(user_id, permission, group_ids,\n- capacity=None):\n+def _has_user_permission_for_groups(\n+ user_id: str, permission: str, group_ids: list[str],\n+ capacity: Optional[str]=None) -> bool:\n ''' Check if the user has the given permissions for the particular\n group (ignoring permissions cascading in a group hierarchy).\n Can also be filtered by a particular capacity.\n '''\n if not group_ids:\n return False\n # get any roles the user has for the group\n- q = model.Session.query(model.Member) \\\n- .filter(model.Member.group_id.in_(group_ids)) \\\n- .filter(model.Member.table_name == 'user') \\\n- .filter(model.Member.state == 'active') \\\n- .filter(model.Member.table_id == user_id)\n+ q: Any = (model.Session.query(model.Member.capacity)\n+ # type_ignore_reason: attribute has no method\n+ .filter(model.Member.group_id.in_(group_ids)) # type: ignore\n+ .filter(model.Member.table_name == 'user')\n+ .filter(model.Member.state == 'active')\n+ .filter(model.Member.table_id == user_id))\n+\n if capacity:\n q = q.filter(model.Member.capacity == capacity)\n # see if any role has the required permission\n # admin permission allows anything for the group\n- for row in q.all():\n+ for row in q:\n perms = ROLE_PERMISSIONS.get(row.capacity, [])\n if 'admin' in perms or permission in perms:\n return True\n return False\n \n \n-def users_role_for_group_or_org(group_id, user_name):\n+def users_role_for_group_or_org(\n+ group_id: Optional[str], user_name: Optional[str]) -> Optional[str]:\n ''' Returns the user's role for the group. (Ignores privileges that cascade\n in a group hierarchy.)\n \n '''\n if not group_id:\n return None\n- group_id = model.Group.get(group_id).id\n+ group = model.Group.get(group_id)\n+ if not group:\n+ return None\n \n user_id = get_user_id_for_username(user_name, allow_none=True)\n if not user_id:\n return None\n # get any roles the user has for the group\n- q = model.Session.query(model.Member) \\\n- .filter(model.Member.group_id == group_id) \\\n+ q: Any = model.Session.query(model.Member.capacity) \\\n+ .filter(model.Member.group_id == group.id) \\\n .filter(model.Member.table_name == 'user') \\\n .filter(model.Member.state == 'active') \\\n .filter(model.Member.table_id == user_id)\n # return the first role we find\n- for row in q.all():\n+ for row in q:\n return row.capacity\n return None\n \n \n-def has_user_permission_for_some_org(user_name, permission):\n+def has_user_permission_for_some_org(\n+ user_name: Optional[str], permission: str) -> bool:\n ''' Check if the user has the given permission for any organization. '''\n user_id = get_user_id_for_username(user_name, allow_none=True)\n if not user_id:\n@@ -377,28 +398,33 @@ def has_user_permission_for_some_org(user_name, permission):\n if not roles:\n return False\n # get any groups the user has with the needed role\n- q = model.Session.query(model.Member) \\\n- .filter(model.Member.table_name == 'user') \\\n- .filter(model.Member.state == 'active') \\\n- .filter(model.Member.capacity.in_(roles)) \\\n- .filter(model.Member.table_id == user_id)\n+ q: Any = (model.Session.query(model.Member.group_id)\n+ .filter(model.Member.table_name == 'user')\n+ .filter(model.Member.state == 'active')\n+ # type_ignore_reason: attribute has no method\n+ .filter(model.Member.capacity.in_(roles)) # type: ignore\n+ .filter(model.Member.table_id == user_id))\n group_ids = []\n- for row in q.all():\n+ for row in q:\n group_ids.append(row.group_id)\n # if not in any groups has no permissions\n if not group_ids:\n return False\n \n # see if any of the groups are orgs\n- q = model.Session.query(model.Group) \\\n- .filter(model.Group.is_organization == True) \\\n- .filter(model.Group.state == 'active') \\\n- .filter(model.Group.id.in_(group_ids))\n+ permission_exists: bool = model.Session.query(\n+ model.Session.query(model.Group)\n+ .filter(model.Group.is_organization == True)\n+ .filter(model.Group.state == 'active')\n+ # type_ignore_reason: attribute has no method\n+ .filter(model.Group.id.in_(group_ids)).exists() # type: ignore\n+ ).scalar()\n \n- return bool(q.count())\n+ return permission_exists\n \n \n-def get_user_id_for_username(user_name, allow_none=False):\n+def get_user_id_for_username(\n+ user_name: Optional[str], allow_none: bool = False) -> Optional[str]:\n ''' Helper function to get user id '''\n # first check if we have the user object already and get from there\n user = _get_user(user_name)\n@@ -409,7 +435,7 @@ def get_user_id_for_username(user_name, allow_none=False):\n raise Exception('Not logged in user')\n \n \n-def can_manage_collaborators(package_id, user_id):\n+def can_manage_collaborators(package_id: str, user_id: str) -> bool:\n '''\n Returns True if a user is allowed to manage the collaborators of a given\n dataset.\n@@ -425,7 +451,8 @@ def can_manage_collaborators(package_id, user_id):\n and :ref:`ckan.auth.create_unowned_dataset`)\n '''\n pkg = model.Package.get(package_id)\n-\n+ if not pkg:\n+ return False\n owner_org = pkg.owner_org\n \n if (not owner_org\n@@ -444,7 +471,9 @@ def can_manage_collaborators(package_id, user_id):\n return user_is_collaborator_on_dataset(user_id, pkg.id, 'admin')\n \n \n-def user_is_collaborator_on_dataset(user_id, dataset_id, capacity=None):\n+def user_is_collaborator_on_dataset(\n+ user_id: str, dataset_id: str,\n+ capacity: Optional[Union[str, list[str]]] = None) -> bool:\n '''\n Returns True if the provided user is a collaborator on the provided\n dataset.\n@@ -460,14 +489,15 @@ def user_is_collaborator_on_dataset(user_id, dataset_id, capacity=None):\n .filter(model.PackageMember.package_id == dataset_id)\n \n if capacity:\n- if isinstance(capacity, six.string_types):\n+ if isinstance(capacity, str):\n capacity = [capacity]\n- q = q.filter(model.PackageMember.capacity.in_(capacity))\n+ # type_ignore_reason: attribute has no method\n+ q = q.filter(model.PackageMember.capacity.in_(capacity)) # type: ignore\n \n- return q.count() > 0\n+ return model.Session.query(q.exists()).scalar()\n \n \n-CONFIG_PERMISSIONS_DEFAULTS = {\n+CONFIG_PERMISSIONS_DEFAULTS: dict[str, Union[bool, str]] = {\n # permission and default\n # these are prefixed with ckan.auth. in config to override\n 'anon_create_dataset': False,\n@@ -478,7 +508,7 @@ def user_is_collaborator_on_dataset(user_id, dataset_id, capacity=None):\n 'user_delete_groups': True,\n 'user_delete_organizations': True,\n 'create_user_via_api': False,\n- 'create_user_via_web': False,\n+ 'create_user_via_web': True,\n 'roles_that_cascade_to_sub_groups': 'admin',\n 'public_activity_stream_detail': False,\n 'allow_dataset_collaborators': False,\n@@ -488,7 +518,7 @@ def user_is_collaborator_on_dataset(user_id, dataset_id, capacity=None):\n }\n \n \n-def check_config_permission(permission):\n+def check_config_permission(permission: str) -> Union[list[str], bool]:\n '''Returns the configuration value for the provided permission\n \n Permission is a string indentifying the auth permission (eg\n@@ -508,37 +538,14 @@ def check_config_permission(permission):\n if key not in CONFIG_PERMISSIONS_DEFAULTS:\n return False\n \n- default_value = CONFIG_PERMISSIONS_DEFAULTS.get(key)\n-\n config_key = 'ckan.auth.' + key\n \n- value = config.get(config_key, default_value)\n-\n- if key == 'roles_that_cascade_to_sub_groups':\n- # This permission is set as a list of strings (space separated)\n- value = value.split() if value else []\n- else:\n- value = asbool(value)\n+ value = config.get(config_key)\n \n return value\n \n \n-@maintain.deprecated('Use auth_is_loggedin_user instead')\n-def auth_is_registered_user():\n- '''\n- This function is deprecated, please use the auth_is_loggedin_user instead\n- '''\n- return auth_is_loggedin_user()\n-\n-def auth_is_loggedin_user():\n- ''' Do we have a logged in user '''\n- try:\n- context_user = g.user\n- except TypeError:\n- context_user = None\n- return bool(context_user)\n-\n-def auth_is_anon_user(context):\n+def auth_is_anon_user(context: Context) -> bool:\n ''' Is this an anonymous user?\n eg Not logged in if a web request and not user defined in context\n if logic functions called directly" + }, + { + "sha": "6b7f7f27f869f9c1fda235093c4068fdb224c849", + "filename": "ckan/cli/__init__.py", + "status": "modified", + "additions": 88, + "deletions": 51, + "changes": 139, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2F__init__.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2F__init__.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2F__init__.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,101 +1,138 @@\n # encoding: utf-8\n+from __future__ import annotations\n \n-import sys\n import os\n+from typing import Any, Optional\n \n import click\n import logging\n from logging.config import fileConfig as loggingFileConfig\n-from six.moves.configparser import ConfigParser\n+from configparser import ConfigParser, RawConfigParser, NoOptionError\n \n from ckan.exceptions import CkanConfigurationException\n+from ckan.types import Config\n \n log = logging.getLogger(__name__)\n \n \n class CKANConfigLoader(object):\n- def __init__(self, filename):\n+ config: Config\n+ config_file: str\n+ parser: ConfigParser\n+ section: str\n+\n+ def __init__(self, filename: str) -> None:\n self.config_file = filename.strip()\n self.config = dict()\n self.parser = ConfigParser()\n+ # Preserve case in config keys\n+ self.parser.optionxform = lambda optionstr: str(optionstr)\n self.section = u'app:main'\n- defaults = {u'__file__': os.path.abspath(self.config_file)}\n+ defaults = dict(\n+ (k, v) for k, v in os.environ.items()\n+ if k.startswith(\"CKAN_\"))\n+ defaults['__file__'] = os.path.abspath(self.config_file)\n self._update_defaults(defaults)\n self._create_config_object()\n \n- def _update_defaults(self, new_defaults):\n+ def _update_defaults(self, new_defaults: dict[str, Any]) -> None:\n for key, value in new_defaults.items():\n- self.parser._defaults[key] = value\n+ # type_ignore_reason: using implementation details\n+ self.parser._defaults[key] = value # type: ignore\n \n- def _read_config_file(self, filename):\n+ def _read_config_file(self, filename: str) -> None:\n defaults = {u'here': os.path.dirname(os.path.abspath(filename))}\n self._update_defaults(defaults)\n self.parser.read(filename)\n \n- def _update_config(self):\n+ def _update_config(self) -> None:\n options = self.parser.options(self.section)\n for option in options:\n- if option not in self.config or option in self.parser.defaults():\n- value = self.parser.get(self.section, option)\n- self.config[option] = value\n- if option in self.parser.defaults():\n- self.config[u'global_conf'][option] = value\n+ value = self.parser.get(self.section, option)\n+ self.config[option] = value\n+\n+ # eager interpolation of the `here` variable. Otherwise it will get\n+ # shadowed by the higher-level config file.\n+ raw = self.parser.get(self.section, option, raw=True)\n+ if \"%(here)s\" in raw:\n+ self.parser.set(self.section, option, value)\n+\n+ def _unwrap_config_chain(self, filename: str) -> list[str]:\n+ \"\"\"Get all names of files in use-chain.\n+\n+ Parse files using RawConfigParser, because top-level config file can\n+ use variaables from the lower-level config files, which are not\n+ initialized yet.\n+ \"\"\"\n+ parser = RawConfigParser()\n+ chain = []\n+ while True:\n+ if not os.path.exists(filename):\n+ raise CkanConfigurationException(\n+ f\"Config file not found: {filename}\"\n+ )\n+\n+ parser.read(filename)\n+ chain.append(filename)\n+ try:\n+ use = parser.get(self.section, \"use\")\n+ except NoOptionError:\n+ return chain\n+\n+ if not use:\n+ return chain\n+ try:\n+ schema, next_config = use.split(\":\", 1)\n+ except ValueError:\n+ raise CkanConfigurationException(\n+ \"Missing colon symbol in the value of `use` \" +\n+ f\"option inside {filename}: {use}\"\n+ )\n+\n+ if schema != \"config\":\n+ return chain\n+ filename = os.path.join(\n+ os.path.dirname(os.path.abspath(filename)), next_config)\n+ if filename in chain:\n+ joined_chain = ' -> '.join(chain + [filename])\n+ raise CkanConfigurationException(\n+ 'Circular dependency located in '\n+ f'the configuration chain: {joined_chain}'\n+ )\n \n def _create_config_object(self):\n- use_config_path = self.config_file\n- self._read_config_file(use_config_path)\n-\n- # # The global_config key is to keep compatibility with Pylons.\n- # # It can be safely removed when the Flask migration is completed.\n- self.config[u'global_conf'] = self.parser.defaults().copy()\n-\n- self._update_config()\n-\n- loaded_files = [use_config_path]\n-\n- while True:\n- schema, path = self.parser.get(self.section, u'use').split(u':')\n- if schema == u'config':\n- use_config_path = os.path.join(\n- os.path.dirname(os.path.abspath(use_config_path)), path)\n- # Avoid circular references\n- if use_config_path in loaded_files:\n- chain = u' -> '.join(loaded_files + [use_config_path])\n- raise CkanConfigurationException(\n- u'Circular dependency located in '\n- u'the configuration chain: {}'.format(chain)\n- )\n- loaded_files.append(use_config_path)\n-\n- self._read_config_file(use_config_path)\n- self._update_config()\n- else:\n- break\n+ chain = self._unwrap_config_chain(self.config_file)\n+ for filename in reversed(chain):\n+ self._read_config_file(filename)\n+ self._update_config()\n log.debug(\n u'Loaded configuration from the following files: %s',\n- loaded_files\n+ chain\n )\n \n- def get_config(self):\n+ def get_config(self) -> Config:\n return self.config.copy()\n \n \n-def error_shout(exception):\n+def error_shout(exception: Any) -> None:\n+ \"\"\"Report CLI error with a styled message.\n+ \"\"\"\n click.secho(str(exception), fg=u'red', err=True)\n \n \n-def load_config(ini_path=None):\n+def load_config(ini_path: Optional[str] = None) -> Config:\n if ini_path:\n if ini_path.startswith(u'~'):\n ini_path = os.path.expanduser(ini_path)\n- filename = os.path.abspath(ini_path)\n- config_source = u'-c parameter'\n+ filename: Optional[str] = os.path.abspath(ini_path)\n+ config_source = [u'-c parameter']\n elif os.environ.get(u'CKAN_INI'):\n- filename = os.environ.get(u'CKAN_INI')\n- config_source = u'$CKAN_INI'\n+ filename = os.environ[u'CKAN_INI']\n+ config_source = [u'$CKAN_INI']\n else:\n # deprecated method since CKAN 2.9\n default_filenames = [u'ckan.ini', u'development.ini']\n+ config_source = default_filenames\n filename = None\n for default_filename in default_filenames:\n check_file = os.path.join(os.getcwd(), default_filename)\n@@ -112,7 +149,7 @@ def load_config(ini_path=None):\n msg = msg.format(u', '.join(default_filenames))\n raise CkanConfigurationException(msg)\n \n- if not os.path.exists(filename):\n+ if not filename or not os.path.exists(filename):\n msg = u'Config file not found: %s' % filename\n msg += u'\\n(Given by: %s)' % config_source\n raise CkanConfigurationException(msg)" + }, + { + "sha": "dc4e0addc6a2db12f8cfa37f1fbb2ddd8abfa136", + "filename": "ckan/cli/clean.py", + "status": "modified", + "additions": 7, + "deletions": 4, + "changes": 11, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fclean.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fclean.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fclean.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -4,10 +4,13 @@\n import magic\n import os\n \n+from typing import List\n+\n from ckan import model\n from ckan import logic\n from ckan.common import config\n from ckan.lib.uploader import get_uploader\n+from ckan.types import Context\n \n \n @click.group(short_help=\"Provide commands to clean entities from the database\")\n@@ -16,15 +19,15 @@ def clean():\n pass\n \n \n-def _get_users_with_invalid_image(mimetypes):\n+def _get_users_with_invalid_image(mimetypes: List[str]) -> List[model.User]:\n \"\"\"Returns a list of users containing images with mimetypes not supported.\n \"\"\"\n users = model.User.all()\n users_with_img = [u for u in users if u.image_url]\n invalid = []\n for user in users_with_img:\n upload = get_uploader(\"user\", old_filename=user.image_url)\n- filepath = upload.old_filepath\n+ filepath = upload.old_filepath # type: ignore\n if os.path.exists(filepath):\n mimetype = magic.from_file(filepath, mime=True)\n if mimetype not in mimetypes:\n@@ -36,7 +39,7 @@ def _get_users_with_invalid_image(mimetypes):\n @click.option(\n \"-f\", \"--force\", is_flag=True, help=\"Do not ask for comfirmation.\"\n )\n-def users(force):\n+def users(force: bool):\n \"\"\"Removes users with invalid images from the database.\n \n Invalid images are the ones with mimetypes not defined in\n@@ -74,7 +77,7 @@ def users(force):\n click.confirm(\"Permanently delete users and their images?\", abort=True)\n \n site_user = logic.get_action(\"get_site_user\")({\"ignore_auth\": True}, {})\n- context = {\"user\": site_user[\"name\"]}\n+ context: Context = {\"user\": site_user[\"name\"]}\n \n for user in invalid:\n upload = get_uploader(\"user\", old_filename=user.image_url)" + }, + { + "sha": "ae086f970513d701146f60992f7668e18e5f2e51", + "filename": "ckan/cli/cli.py", + "status": "modified", + "additions": 66, + "deletions": 50, + "changes": 116, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fcli.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fcli.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fcli.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,38 +1,40 @@\n # encoding: utf-8\n+from __future__ import annotations\n \n import logging\n from collections import defaultdict\n+from typing import Optional\n from pkg_resources import iter_entry_points\n \n-import six\n import click\n import sys\n \n import ckan.plugins as p\n import ckan.cli as ckan_cli\n from ckan.config.middleware import make_app\n from ckan.exceptions import CkanConfigurationException\n-from ckan.cli import (\n- config_tool,\n- jobs,\n- db, search_index, server,\n- profile,\n+from . import (\n asset,\n- sysadmin,\n- translation,\n+ config,\n clean,\n dataset,\n- views,\n- plugin_info,\n+ db, search_index, server,\n+ generate,\n+ jobs,\n notify,\n+ plugin_info,\n+ profile,\n+ sass,\n+ sysadmin,\n tracking,\n- less,\n- generate,\n- user\n+ translation,\n+ user,\n+ views,\n+ config_tool,\n+ error_shout,\n+ shell\n )\n \n-from ckan.cli import seed\n-\n META_ATTR = u'_ckan_meta'\n CMD_TYPE_PLUGIN = u'plugin'\n CMD_TYPE_ENTRY = u'entry_point'\n@@ -48,11 +50,15 @@\n \n class CtxObject(object):\n \n- def __init__(self, conf=None):\n+ def __init__(self, conf: Optional[str] = None):\n # Don't import `load_config` by itself, rather call it using\n # module so that it can be patched during tests\n- self.config = ckan_cli.load_config(conf)\n- self.app = make_app(self.config)\n+ raw_config = ckan_cli.load_config(conf)\n+ self.app = make_app(raw_config)\n+\n+ # Attach the actual CKAN config object to the context\n+ from ckan.common import config\n+ self.config = config\n \n \n class ExtendableGroup(click.Group):\n@@ -61,7 +67,8 @@ class ExtendableGroup(click.Group):\n CMD_TYPE_ENTRY: u'Entry points',\n }\n \n- def format_commands(self, ctx, formatter):\n+ def format_commands(\n+ self, ctx: click.Context, formatter: click.HelpFormatter):\n \"\"\"Print help message.\n \n Includes information about commands that were registered by extensions.\n@@ -100,7 +107,7 @@ def format_commands(self, ctx, formatter):\n for rows in group.values():\n formatter.write_dl(rows)\n \n- def parse_args(self, ctx, args):\n+ def parse_args(self, ctx: click.Context, args: list[str]):\n \"\"\"Preprocess options and arguments.\n \n As long as at least one option is provided, click won't fallback to\n@@ -111,46 +118,53 @@ def parse_args(self, ctx, args):\n argument. If no, let's print help message manually\n \n \"\"\"\n- result = super(ExtendableGroup, self).parse_args(ctx, args)\n+ result = super().parse_args(ctx, args)\n if not ctx.protected_args and not ctx.args:\n click.echo(ctx.get_help(), color=ctx.color)\n ctx.exit()\n return result\n \n \n-def _init_ckan_config(ctx, param, value):\n+def _init_ckan_config(ctx: click.Context, param: str, value: str):\n if any(sys.argv[1:len(cmd) + 1] == cmd for cmd in _no_config_commands):\n return\n _add_ctx_object(ctx, value)\n _add_external_commands(ctx)\n \n \n-def _add_ctx_object(ctx, path=None):\n+def _add_ctx_object(ctx: click.Context, path: Optional[str] = None):\n \"\"\"Initialize CKAN App using config file available under provided path.\n \n \"\"\"\n try:\n ctx.obj = CtxObject(path)\n except CkanConfigurationException as e:\n- p.toolkit.error_shout(e)\n+ error_shout(e)\n ctx.abort()\n \n- if six.PY2:\n- ctx.meta[\"flask_app\"] = ctx.obj.app.apps[\"flask_app\"]._wsgi_app\n- else:\n- ctx.meta[\"flask_app\"] = ctx.obj.app._wsgi_app\n+ ctx.meta[\"flask_app\"] = ctx.obj.app._wsgi_app\n+\n+ # Remove all commands that were registered by extensions before\n+ # adding new ones. Such situation is possible only during tests,\n+ # because we are using singleton as main entry point, so it\n+ # preserves its state even between tests\n+ commands = getattr(ctx.command, \"commands\")\n+ for key, cmd in list(commands.items()):\n+ if hasattr(cmd, META_ATTR):\n+ commands.pop(key)\n \n \n-def _add_external_commands(ctx):\n+def _add_external_commands(ctx: click.Context):\n+ add = getattr(ctx.command, \"add_command\")\n for cmd in _get_commands_from_entry_point():\n- ctx.command.add_command(cmd)\n+ add(cmd)\n \n plugins = p.PluginImplementations(p.IClick)\n for cmd in _get_commands_from_plugins(plugins):\n- ctx.command.add_command(cmd)\n+ add(cmd)\n \n \n-def _command_with_ckan_meta(cmd, name, type_):\n+def _command_with_ckan_meta(cmd: click.Command, name: str, type_: str):\n \"\"\"Mark command as one retrived from CKAN extension.\n \n This information is used when CLI help text is generated.\n@@ -159,7 +173,7 @@ def _command_with_ckan_meta(cmd, name, type_):\n return cmd\n \n \n-def _get_commands_from_plugins(plugins):\n+def _get_commands_from_plugins(plugins: p.PluginImplementations[p.IClick]):\n \"\"\"Register commands that are available when plugin enabled.\n \n \"\"\"\n@@ -168,14 +182,14 @@ def _get_commands_from_plugins(plugins):\n yield _command_with_ckan_meta(cmd, plugin.name, CMD_TYPE_PLUGIN)\n \n \n-def _get_commands_from_entry_point(entry_point=u'ckan.click_command'):\n+def _get_commands_from_entry_point(entry_point: str = 'ckan.click_command'):\n \"\"\"Register commands that are available even if plugin is not enabled.\n \n \"\"\"\n registered_entries = {}\n for entry in iter_entry_points(entry_point):\n if entry.name in registered_entries:\n- p.toolkit.error_shout((\n+ error_shout((\n u'Attempt to override entry_point `{name}`.\\n'\n u'First encounter:\\n\\t{first!r}\\n'\n u'Second encounter:\\n\\t{second!r}\\n'\n@@ -192,30 +206,32 @@ def _get_commands_from_entry_point(entry_point=u'ckan.click_command'):\n \n \n @click.group(cls=ExtendableGroup)\n-@click.option(u'-c', u'--config', metavar=u'CONFIG',\n- is_eager=True, callback=_init_ckan_config, expose_value=False,\n- help=u'Config file to use (default: ckan.ini)')\n+@click.option(\n+ u'-c', u'--config', metavar=u'CONFIG',\n+ is_eager=True, callback=_init_ckan_config, expose_value=False,\n+ help=u'Config file to use (default: ckan.ini)')\n @click.help_option(u'-h', u'--help')\n def ckan():\n pass\n \n \n-ckan.add_command(jobs.jobs)\n+ckan.add_command(asset.asset)\n+ckan.add_command(config.config)\n ckan.add_command(config_tool.config_tool)\n-ckan.add_command(server.run)\n-ckan.add_command(profile.profile)\n-ckan.add_command(seed.seed)\n+ckan.add_command(dataset.dataset)\n ckan.add_command(db.db)\n+ckan.add_command(generate.generate)\n+ckan.add_command(jobs.jobs)\n+ckan.add_command(notify.notify)\n+ckan.add_command(plugin_info.plugin_info)\n+ckan.add_command(profile.profile)\n+ckan.add_command(sass.sass)\n ckan.add_command(search_index.search_index)\n+ckan.add_command(server.run)\n ckan.add_command(sysadmin.sysadmin)\n-ckan.add_command(asset.asset)\n-ckan.add_command(translation.translation)\n-ckan.add_command(dataset.dataset)\n-ckan.add_command(views.views)\n-ckan.add_command(plugin_info.plugin_info)\n-ckan.add_command(notify.notify)\n ckan.add_command(tracking.tracking)\n-ckan.add_command(less.less)\n-ckan.add_command(generate.generate)\n+ckan.add_command(translation.translation)\n ckan.add_command(user.user)\n+ckan.add_command(views.views)\n+ckan.add_command(shell.shell)\n ckan.add_command(clean.clean)" + }, + { + "sha": "66114ca61ecf3a1df726d9c7340555dc2404597f", + "filename": "ckan/cli/config.py", + "status": "added", + "additions": 232, + "deletions": 0, + "changes": 232, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fconfig.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fconfig.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fconfig.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,232 @@\n+# -*- coding: utf-8 -*-\n+from __future__ import annotations\n+\n+import itertools\n+from typing import Iterable\n+import click\n+\n+from ckan.config.declaration import Declaration, Flag\n+from ckan.config.declaration.key import Pattern\n+from ckan.common import config as cfg\n+\n+from . import error_shout\n+\n+\n+@click.group(\n+ short_help=\"Search, validate and describe config options.\"\n+)\n+def config():\n+ pass\n+\n+\n+@config.command()\n+@click.argument(\"plugins\", nargs=-1)\n+@click.option(\n+ \"--core\",\n+ is_flag=True,\n+ help=\"Include declarations of CKAN core config options\",\n+)\n+@click.option(\n+ \"--enabled\",\n+ is_flag=True,\n+ help=\"Include declarations of plugins enabled in the CKAN config file\",\n+)\n+@click.option(\n+ \"-f\",\n+ \"--format\",\n+ \"fmt\",\n+ type=click.Choice([\"python\", \"yaml\", \"dict\", \"json\", \"toml\"]),\n+ default=\"python\",\n+ help=\"Output the config declaration in this format\",\n+)\n+def describe(plugins: tuple[str, ...], core: bool, enabled: bool, fmt: str):\n+ \"\"\"Print out config declarations for the given plugins.\"\"\"\n+ decl = _declaration(plugins, core, enabled)\n+ if decl:\n+ click.echo(decl.describe(fmt))\n+\n+\n+@config.command()\n+@click.argument(\"plugins\", nargs=-1)\n+@click.option(\n+ \"--core\",\n+ is_flag=True,\n+ help=\"Include declarations of CKAN core config options\",\n+)\n+@click.option(\n+ \"--enabled\",\n+ is_flag=True,\n+ help=\"Include declarations of plugins enabled in the CKAN config file\",\n+)\n+@click.option(\n+ \"-d\",\n+ \"--include-docs\",\n+ is_flag=True,\n+ help=\"Include documentation for options\",\n+)\n+@click.option(\n+ \"-m\",\n+ \"--minimal\",\n+ is_flag=True,\n+ help=\"Print only options with the `required` flag enabled\",\n+)\n+def declaration(\n+ plugins: tuple[str, ...],\n+ core: bool,\n+ enabled: bool,\n+ include_docs: bool,\n+ minimal: bool,\n+):\n+ \"\"\"Print declared config options for the given plugins.\"\"\"\n+\n+ decl = _declaration(plugins, core, enabled)\n+ if decl:\n+ click.echo(decl.into_ini(minimal, include_docs))\n+\n+\n+@config.command()\n+@click.argument(\"pattern\", default=\"*\")\n+@click.option(\n+ \"-i\",\n+ \"--include-plugin\",\n+ \"plugins\",\n+ multiple=True,\n+ help=\"Include this plugin even if disabled\",\n+)\n+@click.option(\n+ \"--with-default\",\n+ is_flag=True,\n+ help=\"Print default value of the config option\",\n+)\n+@click.option(\n+ \"--with-current\",\n+ is_flag=True,\n+ help=\"Print an actual value of the config option\",\n+)\n+@click.option(\n+ \"--custom-only\",\n+ is_flag=True,\n+ help=\"Ignore options that are using default value\",\n+)\n+@click.option(\n+ \"--no-custom\",\n+ is_flag=True,\n+ help=\"Ignore options that are not using default value\",\n+)\n+@click.option(\n+ \"--explain\", is_flag=True, help=\"Print documentation for config option\"\n+)\n+def search(\n+ pattern: str,\n+ plugins: tuple[str, ...],\n+ with_default: bool,\n+ with_current: bool,\n+ custom_only: bool,\n+ no_custom: bool,\n+ explain: bool,\n+):\n+ \"\"\"Print all declared config options that match pattern.\"\"\"\n+ decl = _declaration(plugins, True, True)\n+\n+ for key in decl.iter_options(pattern=pattern):\n+ if isinstance(key, Pattern):\n+ continue\n+ option = decl[key]\n+ default = option.default\n+ current = option.normalize(cfg.get(str(key), default))\n+ if no_custom and default != current:\n+ continue\n+ if custom_only and default == current:\n+ continue\n+\n+ default_section = \"\"\n+ current_section = \"\"\n+ if with_default:\n+ default_section = click.style(\n+ f\" [Default: {repr(default)}]\", fg=\"red\"\n+ )\n+ if with_current:\n+ current_section = click.style(\n+ f\" [Current: {repr(current)}]\", fg=\"green\"\n+ )\n+ docs = \"\"\n+ if explain and option.description:\n+ lines = option.description.splitlines()\n+ lines += [\"\", f\"Default value: {repr(default)}\"]\n+ if option.example:\n+ lines += [\"\", f\"Example: {key} = {option.example}\"]\n+ docs = \"\\n\".join(f\"\\t{dl}\" for dl in lines)\n+ docs = click.style(f\"\\n{docs}\\n\", bold=True)\n+\n+ line = f\"{key}{default_section}{current_section}{docs}\"\n+ click.secho(line)\n+\n+\n+@config.command()\n+@click.option(\n+ \"-i\",\n+ \"--include-plugin\",\n+ \"plugins\",\n+ multiple=True,\n+ help=\"Include this plugin even if disabled\",\n+)\n+def undeclared(plugins: tuple[str, ...]):\n+ \"\"\"Print config options that have no declaration.\n+\n+ This command includes options from the config file as well as options set\n+ in run-time, by IConfigurer, for example.\n+\n+ \"\"\"\n+ decl = _declaration(plugins, True, True)\n+\n+ declared = set(decl.iter_options(exclude=Flag.none()))\n+ patterns = {key for key in declared if isinstance(key, Pattern)}\n+ declared -= patterns\n+ available = set(cfg)\n+\n+ undeclared = {\n+ s\n+ for s in available.difference(declared)\n+ if not any(s == p for p in patterns)\n+ }\n+\n+ for key in undeclared:\n+ click.echo(key)\n+\n+\n+@config.command()\n+@click.option(\n+ \"-i\",\n+ \"--include-plugin\",\n+ \"plugins\",\n+ multiple=True,\n+ help=\"Include this plugin even if disabled\",\n+)\n+def validate(plugins: tuple[str, ...]):\n+ \"\"\"Validate the global configuration object against the declaration.\"\"\"\n+ decl = _declaration(plugins, True, True)\n+ _, errors = decl.validate(cfg)\n+\n+ for name, errors in errors.items():\n+ click.secho(name, bold=True)\n+ for error in errors:\n+ error_shout(\"\\t\" + error)\n+\n+\n+def _declaration(\n+ plugins: Iterable[str], include_core: bool, include_enabled: bool\n+) -> Declaration:\n+ decl = Declaration()\n+ if include_core:\n+ decl.load_core_declaration()\n+\n+ additional = ()\n+ if include_enabled:\n+ additional = (\n+ p for p in cfg.get(\"ckan.plugins\") if p not in plugins\n+ )\n+\n+ for name in itertools.chain(additional, plugins):\n+ decl.load_plugin(name)\n+\n+ return decl" + }, + { + "sha": "0910464a827c59f695a1de37fec531151be9d81b", + "filename": "ckan/cli/config_tool.py", + "status": "modified", + "additions": 7, + "deletions": 4, + "changes": 11, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fconfig_tool.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fconfig_tool.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fconfig_tool.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,19 +1,19 @@\n # encoding: utf-8\n+from __future__ import annotations\n \n import logging\n-\n import click\n \n-from ckan.cli import error_shout\n import ckan.lib.config_tool as ct\n+from ckan.cli import error_shout\n \n log = logging.getLogger(__name__)\n \n \n class ConfigOption(click.ParamType):\n name = u'config-option'\n \n- def convert(self, value, param, ctx):\n+ def convert(self, value: str, param: str, ctx: click.Context):\n if u'=' not in value:\n self.fail(\n u'An option does not have an equals sign. '\n@@ -47,7 +47,10 @@ def convert(self, value, param, ctx):\n )\n @click.argument(u'config_filepath', type=click.Path(exists=True))\n @click.argument(u'options', nargs=-1, type=ConfigOption())\n-def config_tool(config_filepath, options, section, edit, merge_filepath):\n+def config_tool(\n+ config_filepath: str,\n+ options: list[str], section: str, edit: bool,\n+ merge_filepath: str) -> None:\n u'''Tool for editing options in a CKAN config file\n \n ckan config-tool = [= ...]" + }, + { + "sha": "59111a4d0e5e511659a06e527a5df43fb9bd23bb", + "filename": "ckan/cli/dataset.py", + "status": "modified", + "additions": 8, + "deletions": 7, + "changes": 15, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fdataset.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fdataset.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fdataset.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -4,10 +4,11 @@\n import pprint\n \n import click\n-from six import text_type\n+\n \n import ckan.logic as logic\n import ckan.model as model\n+from ckan.types import Context\n \n log = logging.getLogger(__name__)\n \n@@ -21,7 +22,7 @@ def dataset():\n \n @dataset.command()\n @click.argument(u'package')\n-def show(package):\n+def show(package: str):\n u'''Shows dataset properties.\n '''\n dataset = _get_dataset(package)\n@@ -48,7 +49,7 @@ def list():\n \n @dataset.command()\n @click.argument(u'package')\n-def delete(package):\n+def delete(package: str):\n u'''Changes dataset state to 'deleted'.\n '''\n dataset = _get_dataset(package)\n@@ -67,20 +68,20 @@ def delete(package):\n \n @dataset.command()\n @click.argument(u'package')\n-def purge(package):\n+def purge(package: str):\n u'''Removes dataset from db entirely.\n '''\n dataset = _get_dataset(package)\n name = dataset.name\n \n site_user = logic.get_action(u'get_site_user')({u'ignore_auth': True}, {})\n- context = {u'user': site_user[u'name'], u'ignore_auth': True}\n+ context: Context = {u'user': site_user[u'name'], u'ignore_auth': True}\n logic.get_action(u'dataset_purge')(context, {u'id': package})\n click.echo(u'%s purged' % name)\n \n \n-def _get_dataset(package):\n- dataset = model.Package.get(text_type(package))\n+def _get_dataset(package: str):\n+ dataset = model.Package.get(str(package))\n assert dataset, u'Could not find dataset matching reference: {}'.format(\n package\n )" + }, + { + "sha": "2b14fde25e70c4cd4636e6e012441d875f1dc37f", + "filename": "ckan/cli/db.py", + "status": "modified", + "additions": 33, + "deletions": 27, + "changes": 60, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fdb.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fdb.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fdb.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,18 +1,20 @@\n # encoding: utf-8\n+from __future__ import annotations\n \n import inspect\n import logging\n import os\n import contextlib\n+from typing import Optional\n \n import click\n from itertools import groupby\n \n import ckan.migration as migration_repo\n import ckan.plugins as p\n-import ckan.plugins.toolkit as tk\n import ckan.model as model\n from ckan.common import config\n+from . import error_shout\n \n log = logging.getLogger(__name__)\n \n@@ -34,7 +36,7 @@ def init():\n try:\n model.repo.init_db()\n except Exception as e:\n- tk.error_shout(e)\n+ error_shout(e)\n else:\n click.secho(u'Initialising DB: SUCCESS', fg=u'green', bold=True)\n \n@@ -50,15 +52,15 @@ def clean():\n try:\n model.repo.clean_db()\n except Exception as e:\n- tk.error_shout(e)\n+ error_shout(e)\n else:\n click.secho(u'Cleaning DB: SUCCESS', fg=u'green', bold=True)\n \n \n @db.command()\n @click.option(u'-v', u'--version', help=u'Migration version', default=u'head')\n @applies_to_plugin\n-def upgrade(version, plugin):\n+def upgrade(version: str, plugin: str):\n \"\"\"Upgrade the database.\n \"\"\"\n _run_migrations(plugin, version)\n@@ -68,43 +70,43 @@ def upgrade(version, plugin):\n @db.command()\n @click.option(u'-v', u'--version', help=u'Migration version', default=u'base')\n @applies_to_plugin\n-def downgrade(version, plugin):\n+def downgrade(version: str, plugin: str):\n \"\"\"Downgrade the database.\n \"\"\"\n _run_migrations(plugin, version, False)\n click.secho(u'Downgrading DB: SUCCESS', fg=u'green', bold=True)\n \n \n @db.command()\n-@click.option(u\"--apply\", is_flag=True, help=u\"Apply all pending migrations\")\n-def pending_migrations(apply):\n+@click.option(\"--apply\", is_flag=True, help=\"Apply all pending migrations\")\n+def pending_migrations(apply: bool):\n \"\"\"List all sources with unapplied migrations.\n \"\"\"\n pending = _get_pending_plugins()\n if not pending:\n- click.secho(u\"All plugins are up-to-date\", fg=u\"green\")\n+ click.secho(\"All plugins are up-to-date\", fg=\"green\")\n for plugin, n in sorted(pending.items()):\n- click.secho(u\"{n} unapplied migrations for {p}\".format(\n+ click.secho(\"{n} unapplied migrations for {p}\".format(\n p=click.style(plugin, bold=True),\n n=click.style(str(n), bold=True)))\n if apply:\n _run_migrations(plugin)\n \n \n-def _get_pending_plugins():\n+def _get_pending_plugins() -> dict[str, int]:\n from alembic.command import history\n plugins = [(plugin, state)\n for plugin, state\n in ((plugin, current_revision(plugin))\n- for plugin in config['ckan.plugins'].split())\n- if state and not state.endswith(u'(head)')]\n+ for plugin in config.get('ckan.plugins'))\n+ if state and not state.endswith('(head)')]\n pending = {}\n for plugin, current in plugins:\n with _repo_for_plugin(plugin) as repo:\n repo.setup_migration_version_control()\n history(repo.alembic_config)\n ahead = repo.take_alembic_output()\n- if current != u'base':\n+ if current != 'base':\n # The last revision in history describes step from void to the\n # first revision. If we not on the `base`, we've already run\n # this migration\n@@ -114,9 +116,9 @@ def _get_pending_plugins():\n return pending\n \n \n-def _run_migrations(plugin, version=u\"head\", forward=True):\n+def _run_migrations(plugin: str, version: str = \"head\", forward: bool = True):\n if not version:\n- version = u\"head\" if forward else u\"base\"\n+ version = \"head\" if forward else \"base\"\n with _repo_for_plugin(plugin) as repo:\n if forward:\n repo.upgrade_db(version)\n@@ -126,10 +128,10 @@ def _run_migrations(plugin, version=u\"head\", forward=True):\n \n @db.command()\n @applies_to_plugin\n-def version(plugin):\n+def version(plugin: str):\n \"\"\"Returns current version of data schema.\n \"\"\"\n- current = current_revision(plugin)\n+ current = current_revision(plugin) or ''\n try:\n current = _version_hash_to_ordinal(current)\n except ValueError:\n@@ -139,7 +141,7 @@ def version(plugin):\n bold=True)\n \n \n-def current_revision(plugin):\n+def current_revision(plugin: str) -> Optional[str]:\n with _repo_for_plugin(plugin) as repo:\n repo.setup_migration_version_control()\n return repo.current_version()\n@@ -156,21 +158,23 @@ def duplicate_emails():\n .filter(model.User.email != u\"\") \\\n .order_by(model.User.email).all()\n \n- if not q:\n- log.info(u\"No duplicate emails found\")\n+ duplicates_found = False\n try:\n for k, grp in groupby(q, lambda x: x[0]):\n users = [user[1] for user in grp]\n if len(users) > 1:\n+ duplicates_found = True\n s = u\"{} appears {} time(s). Users: {}\"\n click.secho(\n s.format(k, len(users), u\", \".join(users)),\n fg=u\"green\", bold=True)\n except Exception as e:\n- tk.error_shout(e)\n+ error_shout(e)\n+ if not duplicates_found:\n+ click.secho(u\"No duplicate emails found\", fg=u\"green\")\n \n \n-def _version_hash_to_ordinal(version):\n+def _version_hash_to_ordinal(version: str):\n if u'base' == version:\n return 0\n versions_dir = os.path.join(os.path.dirname(migration_repo.__file__),\n@@ -183,17 +187,19 @@ def _version_hash_to_ordinal(version):\n for name in versions:\n if version in name:\n return int(name.split(u'_')[0])\n- tk.error_shout(u'Version `{}` was not found in {}'.format(\n+ error_shout(u'Version `{}` was not found in {}'.format(\n version, versions_dir))\n \n \n-def _resolve_alembic_config(plugin):\n+def _resolve_alembic_config(plugin: str):\n if plugin:\n plugin_obj = p.get_plugin(plugin)\n if plugin_obj is None:\n- tk.error_shout(u\"Plugin '{}' cannot be loaded.\".format(plugin))\n+ error_shout(u\"Plugin '{}' cannot be loaded.\".format(plugin))\n raise click.Abort()\n- plugin_dir = os.path.dirname(inspect.getsourcefile(type(plugin_obj)))\n+ source = inspect.getsourcefile(type(plugin_obj))\n+ assert source\n+ plugin_dir = os.path.dirname(source)\n \n # if there is `plugin` folder instead of single_file, find\n # plugin's parent dir\n@@ -209,7 +215,7 @@ def _resolve_alembic_config(plugin):\n \n \n @contextlib.contextmanager\n-def _repo_for_plugin(plugin):\n+def _repo_for_plugin(plugin: str):\n original = model.repo._alembic_ini\n model.repo._alembic_ini = _resolve_alembic_config(plugin)\n try:" + }, + { + "sha": "49a64be3092297070c760dec7975462a3ba04a13", + "filename": "ckan/cli/generate.py", + "status": "modified", + "additions": 194, + "deletions": 41, + "changes": 235, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fgenerate.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fgenerate.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fgenerate.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,20 +1,25 @@\n # encoding: utf-8\n+from __future__ import annotations\n \n-from __future__ import print_function\n+import contextlib\n import os\n+import json\n+from packaging.version import Version\n+import shutil\n+from typing import Optional\n \n import alembic.command\n import click\n from alembic.config import Config as AlembicConfig\n+from werkzeug.utils import import_string\n \n import ckan\n+from ckan import logic\n from ckan.cli.db import _resolve_alembic_config\n-import ckan.plugins.toolkit as tk\n \n-import uuid\n import string\n-import secrets\n from ckan.cli import error_shout\n+from ckan.common import config_declaration, config\n \n \n class CKANAlembicConfig(AlembicConfig):\n@@ -36,15 +41,15 @@ def generate():\n help=u\"Location to put the generated \"\n u\"template.\",\n default=u'.')\n-def extension(output_dir):\n+def extension(output_dir: str):\n \"\"\"Generate empty extension files to expand CKAN.\n \"\"\"\n try:\n from cookiecutter.main import cookiecutter\n except ImportError:\n- tk.error_shout(u\"`cookiecutter` library is missing from import path.\")\n- tk.error_shout(u\"Make sure you have dev-dependencies installed:\")\n- tk.error_shout(u\"\\tpip install -r dev-requirements.txt\")\n+ error_shout(u\"`cookiecutter` library is missing from import path.\")\n+ error_shout(u\"Make sure you have dev-dependencies installed:\")\n+ error_shout(u\"\\tpip install -r dev-requirements.txt\")\n raise click.Abort()\n \n cur_loc = os.path.dirname(os.path.abspath(__file__))\n@@ -58,8 +63,9 @@ def extension(output_dir):\n name = click.prompt(u\"Extension's name\",\n default=u\"must begin 'ckanext-'\")\n if not name.startswith(u\"ckanext-\"):\n- print(u\"ERROR: Project name must start with 'ckanext-' > {}\\n\"\n- .format(name))\n+ error_shout(\n+ u\"ERROR: Project name must start with 'ckanext-' > {}\\n\"\n+ .format(name))\n else:\n break\n \n@@ -82,16 +88,23 @@ def extension(output_dir):\n project_short = name[8:].lower().replace(u'-', u'_')\n plugin_class_name = project_short.title().replace(u'_', u'') + u'Plugin'\n \n+ include_examples = int(click.confirm(\n+ \"Do you want to include code examples?\"))\n+ full_ckan_version: Version = Version(ckan.__version__)\n+ ckan_version = f\"{full_ckan_version.major}.{full_ckan_version.minor}\"\n+\n context = {\n- u\"project\": name,\n- u\"description\": description,\n- u\"author\": author,\n- u\"author_email\": email,\n- u\"keywords\": keywords,\n- u\"github_user_name\": github,\n- u\"project_shortname\": project_short,\n- u\"plugin_class_name\": plugin_class_name,\n- u\"_source\": u\"cli\"\n+ \"project\": name,\n+ \"description\": description,\n+ \"author\": author,\n+ \"author_email\": email,\n+ \"keywords\": keywords,\n+ \"github_user_name\": github,\n+ \"project_shortname\": project_short,\n+ \"plugin_class_name\": plugin_class_name,\n+ \"include_examples\": include_examples,\n+ \"ckan_version\": ckan_version,\n+ \"_source\": \"cli\",\n }\n \n if output_dir == u'.':\n@@ -101,13 +114,43 @@ def extension(output_dir):\n cookiecutter(template_loc, no_input=True, extra_context=context,\n output_dir=output_dir)\n \n- print(u\"\\nWritten: {}/{}\".format(output_dir, name))\n+ if not include_examples:\n+ remove_code_examples(\n+ os.path.join(\n+ output_dir, context[\"project\"], \"ckanext\", project_short))\n+\n+ click.echo(u\"\\nWritten: {}/{}\".format(output_dir, name))\n+\n+\n+_code_examples = [\n+ \"cli.py\",\n+ \"helpers.py\",\n+ \"logic\",\n+ \"views.py\",\n+ \"tests/logic\",\n+ \"tests/test_helpers.py\",\n+ \"tests/test_views.py\",\n+]\n+\n+\n+def remove_code_examples(root: str):\n+ \"\"\"Remove example files from extension's template.\n+ \"\"\"\n+ for item in _code_examples:\n+ path = os.path.join(root, item)\n+ with contextlib.suppress(FileNotFoundError):\n+ if os.path.isdir(path):\n+ shutil.rmtree(path)\n+ else:\n+ os.remove(path)\n \n \n @generate.command(name=u'config',\n short_help=u'Create a ckan.ini file.')\n @click.argument(u'output_path', nargs=1)\n-def make_config(output_path):\n+@click.option('-i', '--include-plugin', multiple=True,\n+ help=\"Include config declaration from the given plugin\")\n+def make_config(output_path: str, include_plugin: list[str]):\n u\"\"\"Generate a new CKAN configuration ini file.\"\"\"\n \n # Output to current directory if no path is specified\n@@ -117,18 +160,28 @@ def make_config(output_path):\n cur_loc = os.path.dirname(os.path.abspath(__file__))\n template_loc = os.path.join(cur_loc, u'..', u'config',\n u'deployment.ini_tmpl')\n- template_variables = {\n- u'app_instance_uuid': uuid.uuid4(),\n- u'app_instance_secret': secrets.token_urlsafe(20)[:25]\n- }\n \n+ config_declaration._reset()\n+ config_declaration.load_core_declaration()\n+ for plugin in include_plugin:\n+ config_declaration.load_plugin(plugin)\n+\n+ variables = {\n+ \"app_main_section\": config_declaration.into_ini(\n+ minimal=False,\n+ include_docs=False,\n+ ),\n+ \"default_section\": config_declaration.into_ini(\n+ minimal=False,\n+ include_docs=True,\n+ section=\"DEFAULT\"\n+ )\n+ }\n with open(template_loc, u'r') as file_in:\n template = string.Template(file_in.read())\n-\n try:\n with open(output_path, u'w') as file_out:\n- file_out.writelines(template.substitute(template_variables))\n-\n+ file_out.writelines(template.substitute(variables))\n except IOError as e:\n error_shout(e)\n raise click.Abort()\n@@ -143,24 +196,124 @@ def make_config(output_path):\n @click.option(u\"-m\",\n u\"--message\",\n help=u\"Message string to use with `revision`.\")\n-def migration(plugin, message):\n+def migration(plugin: str, message: str):\n \"\"\"Create new alembic revision for DB migration.\n \"\"\"\n- import ckan.model\n- if not tk.config:\n- tk.error_shout(u'Config is not loaded')\n+ if not config:\n+ error_shout(u'Config is not loaded')\n raise click.Abort()\n- config = CKANAlembicConfig(_resolve_alembic_config(plugin))\n- migration_dir = os.path.dirname(config.config_file_name)\n- config.set_main_option(u\"sqlalchemy.url\",\n- str(ckan.model.repo.metadata.bind.url))\n- config.set_main_option(u'script_location', migration_dir)\n+ alembic_config = CKANAlembicConfig(_resolve_alembic_config(plugin))\n+ assert alembic_config.config_file_name\n+ migration_dir = os.path.dirname(alembic_config.config_file_name)\n+ alembic_config.set_main_option(\"sqlalchemy.url\", \"\")\n+ alembic_config.set_main_option(u'script_location', migration_dir)\n \n if not os.path.exists(os.path.join(migration_dir, u'script.py.mako')):\n- alembic.command.init(config, migration_dir)\n+ alembic.command.init(alembic_config, migration_dir)\n \n- rev = alembic.command.revision(config, message)\n+ rev = alembic.command.revision(alembic_config, message)\n+ rev_path = rev.path # type: ignore\n click.secho(\n- u\"Revision file created. Now, you need to update it: \\n\\t{}\".format(\n- rev.path),\n+ f\"Revision file created. Now, you need to update it: \\n\\t{rev_path}\",\n fg=u\"green\")\n+\n+\n+_factories = {\n+ \"activity\": \"ckanext.activity.tests.conftest:ActivityFactory\",\n+ \"api-token\": \"ckan.tests.factories:APIToken\",\n+ \"dataset\": \"ckan.tests.factories:Dataset\",\n+ \"group\": \"ckan.tests.factories:Group\",\n+ \"organization\": \"ckan.tests.factories:Organization\",\n+ \"resource\": \"ckan.tests.factories:Resource\",\n+ \"resource-view\": \"ckan.tests.factories:ResourceView\",\n+ \"user\": \"ckan.tests.factories:User\",\n+ \"vocabulary\": \"ckan.tests.factories:Vocabulary\",\n+}\n+\n+\n+@generate.command(context_settings={\n+ \"allow_extra_args\": True, \"ignore_unknown_options\": True\n+})\n+@click.argument(\n+ \"category\", required=False, type=click.Choice(list(_factories)))\n+@click.option(\n+ \"-f\", \"--factory-class\",\n+ help=\"Import path of the factory class that can generate an entity\")\n+@click.option(\"-n\", \"--fake-count\", type=int, default=1,\n+ help=\"Number of entities to create\")\n+@click.pass_context\n+def fake_data(ctx: click.Context, category: Optional[str],\n+ factory_class: Optional[str], fake_count: int):\n+ \"\"\"Generate random entities of the given category.\n+\n+ Either positional `category` or named `--factory-class`/`-f` argument must\n+ be specified. `--factory-class` has higher priority, which means that\n+ `category` is ignored if both arguments are provided at the same time.\n+\n+ All the extra arguments that follows format `--NAME=VALUE` will be passed\n+ into the entity factory.\n+\n+ For instance:\n+\n+ \\b\n+ ckan generate fake-data dataset\n+ ckan generate fake-data dataset --title=\"My test dataset\"\n+ ckan generate fake-data dataset \\\\\n+ -f ckanext.myext.tests.factories.MyCustomDataset\n+\n+ All the validation rules still apply. For example, if you have\n+ `ckan.auth.create_unowned_dataset` config option set to `False`,\n+ `--owner_org` must be supplied:\n+\n+ \\b\n+ # use jq to obtain ID of the new organization\n+ owner_org=$(ckan generate fake-data organization | jq .id -r)\n+ ckan generate fake-data dataset --owner_org=$owner_org\n+\n+ \"\"\"\n+ try:\n+ from ckan.tests.factories import CKANFactory\n+ except ImportError as e:\n+ error_shout(e)\n+ error_shout(\"Make sure you have dev-dependencies installed:\")\n+ error_shout(\"\\tpip install -r dev-requirements.txt\")\n+ raise click.Abort()\n+\n+ if not factory_class:\n+ if not category:\n+ error_shout(\n+ \"Either `category` or `--factory-class` must be specified\")\n+ raise click.Abort()\n+ factory_class = _factories[category]\n+ if not factory_class:\n+ error_shout(\"Either `category` or `factory_class` must be specified\")\n+ raise click.Abort()\n+\n+ factory = import_string(factory_class, silent=True)\n+ if not factory:\n+ error_shout(f\"{factory_class} cannot be imported\")\n+ raise click.Abort()\n+\n+ if not issubclass(factory, CKANFactory):\n+ error_shout(\"Factory must be a subclass of `{module}:{cls}`\".format(\n+ module=CKANFactory.__module__,\n+ cls=CKANFactory.__name__,\n+ ))\n+ raise click.Abort()\n+\n+ try:\n+ extras = dict(\n+ arg[2:].split(\"=\") for arg in ctx.args if arg.startswith(\"--\")\n+ )\n+ except ValueError:\n+ error_shout(\"Extra arguments must follow the format: --NAME=VALUE\")\n+ raise click.Abort()\n+\n+ try:\n+ for entity in factory.create_batch(fake_count, **extras):\n+ # print entity as json, so that it can be stored in file or passed\n+ # through jq-pipeline or similar tool\n+ click.echo(json.dumps(entity))\n+ except logic.ValidationError as e:\n+ error_shout(f\"Cannot create entity: {e.error_dict}\")\n+ raise click.Abort()" + }, + { + "sha": "0465436e9da0bd1bbaa1c62612d11ce81dc322c6", + "filename": "ckan/cli/jobs.py", + "status": "modified", + "additions": 15, + "deletions": 12, + "changes": 27, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fjobs.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fjobs.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fjobs.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,10 +1,10 @@\n # encoding: utf-8\n+from __future__ import annotations\n \n import click\n \n import ckan.lib.jobs as bg_jobs\n import ckan.logic as logic\n-import ckan.plugins as p\n from ckan.cli import error_shout\n \n \n@@ -19,7 +19,7 @@ def jobs():\n help=u\"Max seconds for worker to be idle. \"\n \"Defaults to None (never stops idling).\")\n @click.argument(u\"queues\", nargs=-1)\n-def worker(burst, max_idle_time, queues):\n+def worker(burst: bool, max_idle_time: int, queues: list[str]):\n \"\"\"Start a worker that fetches jobs from queues and executes them. If\n no queue names are given then the worker listens to the default\n queue, this is equivalent to\n@@ -57,16 +57,19 @@ def worker(burst, max_idle_time, queues):\n @click.option(u\"-i\", u\"--ids\", is_flag=True,\n help=u\"Only return a list of job ids.\", default=False)\n @click.argument(u\"queues\", nargs=-1)\n-def list_jobs(queues, limit=bg_jobs.DEFAULT_JOB_LIST_LIMIT, ids=False):\n+def list_jobs(queues: list[str], limit=bg_jobs.DEFAULT_JOB_LIST_LIMIT, ids=False):\n \"\"\"List currently enqueued jobs from the given queues. If no queue\n names are given then the jobs from all queues are listed.\n+\n+ (canada fork only): limit w/ DEFAULT_JOB_LIST_LIMIT\n+ #TODO: upstream contrib??\n \"\"\"\n data_dict = {\n u\"queues\": list(queues),\n u\"limit\": limit,\n u\"ids_only\": ids,\n }\n- jobs = p.toolkit.get_action(u\"job_list\")({u\"ignore_auth\": True}, data_dict)\n+ jobs = logic.get_action(u\"job_list\")({u\"ignore_auth\": True}, data_dict)\n if not jobs:\n return click.secho(u\"There are no pending jobs.\", fg=u\"green\")\n for job in jobs:\n@@ -82,9 +85,9 @@ def list_jobs(queues, limit=bg_jobs.DEFAULT_JOB_LIST_LIMIT, ids=False):\n \n @jobs.command(short_help=u\"Show details about a specific job.\")\n @click.argument(u\"id\")\n-def show(id):\n+def show(id: str):\n try:\n- job = p.toolkit.get_action(u\"job_show\")(\n+ job = logic.get_action(u\"job_show\")(\n {u\"ignore_auth\": True}, {u\"id\": id}\n )\n except logic.NotFound:\n@@ -103,14 +106,14 @@ def show(id):\n \n @jobs.command(short_help=u\"Cancel a specific job.\")\n @click.argument(u\"id\")\n-def cancel(id):\n+def cancel(id: str):\n \"\"\"Cancel a specific job. Jobs can only be canceled while they are\n enqueued. Once a worker has started executing a job it cannot be\n aborted anymore.\n \n \"\"\"\n try:\n- p.toolkit.get_action(u\"job_cancel\")(\n+ logic.get_action(u\"job_cancel\")(\n {u\"ignore_auth\": True}, {u\"id\": id}\n )\n except logic.NotFound:\n@@ -122,24 +125,24 @@ def cancel(id):\n \n @jobs.command(short_help=u\"Cancel all jobs.\")\n @click.argument(u\"queues\", nargs=-1)\n-def clear(queues):\n+def clear(queues: list[str]):\n \"\"\"Cancel all jobs on the given queues. If no queue names are given\n then ALL queues are cleared.\n \n \"\"\"\n data_dict = {\n u\"queues\": list(queues),\n }\n- queues = p.toolkit.get_action(u\"job_clear\")(\n+ queues = logic.get_action(u\"job_clear\")(\n {u\"ignore_auth\": True}, data_dict\n )\n- queues = (u'\"{}\"'.format(q) for q in queues)\n+ queues = [u'\"{}\"'.format(q) for q in queues]\n click.secho(u\"Cleared queue(s) {}\".format(u\", \".join(queues)), fg=u\"green\")\n \n \n @jobs.command(short_help=u\"Enqueue a test job.\")\n @click.argument(u\"queues\", nargs=-1)\n-def test(queues):\n+def test(queues: list[str]):\n \"\"\"Enqueue a test job. If no queue names are given then the job is\n added to the default queue. If queue names are given then a\n separate test job is added to each of the queues." + }, + { + "sha": "5b1e5df0516b384c24098306b609aea2539e79ac", + "filename": "ckan/cli/less.py", + "status": "removed", + "additions": 0, + "deletions": 85, + "changes": 85, + "blob_url": "https://github.com/open-data/ckan/blob/d8d0e9647c9a34757106a0151c26d8b5442bcee3/ckan%2Fcli%2Fless.py", + "raw_url": "https://github.com/open-data/ckan/raw/d8d0e9647c9a34757106a0151c26d8b5442bcee3/ckan%2Fcli%2Fless.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fless.py?ref=d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "patch": "@@ -1,85 +0,0 @@\n-# encoding: utf-8\n-\n-import click\n-import subprocess\n-import os\n-\n-import six\n-\n-from ckan.common import config\n-from ckan.cli import error_shout\n-\n-\n-_custom_css = {\n- u'fuchsia': u'''\n- @layoutLinkColor: #E73892;\n- @footerTextColor: mix(#FFF, @layoutLinkColor, 60%);\n- @footerLinkColor: @footerTextColor;\n- @mastheadBackgroundColor: @layoutLinkColor;\n- @btnPrimaryBackground: lighten(@layoutLinkColor, 10%);\n- @btnPrimaryBackgroundHighlight: @layoutLinkColor;\n- ''',\n-\n- u'green': u'''\n- @layoutLinkColor: #2F9B45;\n- @footerTextColor: mix(#FFF, @layoutLinkColor, 60%);\n- @footerLinkColor: @footerTextColor;\n- @mastheadBackgroundColor: @layoutLinkColor;\n- @btnPrimaryBackground: lighten(@layoutLinkColor, 10%);\n- @btnPrimaryBackgroundHighlight: @layoutLinkColor;\n- ''',\n-\n- u'red': u'''\n- @layoutLinkColor: #C14531;\n- @footerTextColor: mix(#FFF, @layoutLinkColor, 60%);\n- @footerLinkColor: @footerTextColor;\n- @mastheadBackgroundColor: @layoutLinkColor;\n- @btnPrimaryBackground: lighten(@layoutLinkColor, 10%);\n- @btnPrimaryBackgroundHighlight: @layoutLinkColor;\n- ''',\n-\n- u'maroon': u'''\n- @layoutLinkColor: #810606;\n- @footerTextColor: mix(#FFF, @layoutLinkColor, 60%);\n- @footerLinkColor: @footerTextColor;\n- @mastheadBackgroundColor: @layoutLinkColor;\n- @btnPrimaryBackground: lighten(@layoutLinkColor, 10%);\n- @btnPrimaryBackgroundHighlight: @layoutLinkColor;\n- ''',\n-}\n-\n-\n-@click.command(\n- name=u'less',\n- short_help=u'Compile all root less documents into their CSS counterparts')\n-def less():\n- command = (u'npm', u'run', u'build')\n-\n- public = config.get(u'ckan.base_public_folder')\n-\n- root = os.path.join(os.path.dirname(__file__), u'..', public, u'base')\n- root = os.path.abspath(root)\n- custom_less = os.path.join(root, u'less', u'custom.less')\n- for color in _custom_css:\n- f = open(custom_less, u'w')\n- f.write(_custom_css[color])\n- f.close()\n- _compile_less(root, command, color)\n- f = open(custom_less, u'w')\n- f.write(u'// This file is needed in order for `gulp build` to '\n- u'compile in less 1.3.1+\\n')\n- f.close()\n- _compile_less(root, command, u'main')\n-\n-\n-def _compile_less(root, command, color):\n- click.echo(u'compile {}.css'.format(color))\n- command = command + (u'--', u'--' + color)\n-\n- process = subprocess.Popen(\n- command,\n- stdout=subprocess.PIPE,\n- stderr=subprocess.PIPE)\n- output = process.communicate()\n- for block in output:\n- click.echo(six.ensure_text(block))" + }, + { + "sha": "de68aa56aa6799624f40433df7d9918e6b193bfa", + "filename": "ckan/cli/notify.py", + "status": "modified", + "additions": 31, + "deletions": 8, + "changes": 39, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fnotify.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fnotify.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fnotify.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,23 +1,46 @@\n # encoding: utf-8\n \n+from logging import getLogger\n import click\n from ckan.model import Session, Package, DomainObjectOperation\n from ckan.model.modification import DomainObjectModificationExtension\n+from ckan.logic import NotAuthorized, ValidationError\n+from ckan.cli import error_shout\n \n+log = getLogger(__name__)\n \n-@click.group(\n- name=u'notify',\n- short_help=u'Send out modification notifications.'\n-)\n+\n+@click.group(name=\"notify\", short_help=\"Send out modification notifications.\")\n def notify():\n pass\n \n \n-@notify.command(\n- name=u'replay',\n- short_help=u'Send out modification signals.'\n-)\n+@notify.command(name=\"replay\", short_help=\"Send out modification signals.\")\n def replay():\n dome = DomainObjectModificationExtension()\n for package in Session.query(Package):\n dome.notify(package, DomainObjectOperation.changed)\n+\n+\n+@notify.command(name=\"send_emails\", short_help=\"Send out Email notifications.\")\n+def send_emails():\n+ \"\"\" Sends an email to users notifying about new activities.\n+\n+ As currently implemented, it will only send notifications from dashboard\n+ activity list if users have `activity_streams_email_notifications` set\n+ in their profile. It will send emails with updates depending\n+ on the `ckan.email_notifications_since` config. (default: 2 days.)\n+ \"\"\"\n+ import ckan.logic as logic\n+ import ckan.lib.mailer as mailer\n+ from ckan.types import Context\n+ from typing import cast\n+\n+ site_user = logic.get_action(\"get_site_user\")({\"ignore_auth\": True}, {})\n+ context = cast(Context, {\"user\": site_user[\"name\"]})\n+ try:\n+ logic.get_action(\"send_email_notifications\")(context, {})\n+ except (NotAuthorized, ValidationError, mailer.MailerException) as e:\n+ error_shout(e)\n+ except KeyError:\n+ error_shout(\"`activity` plugin is not enabled\")" + }, + { + "sha": "ac27aaeebf0c46d057e78b393fe4a8a46e51ba1e", + "filename": "ckan/cli/plugin_info.py", + "status": "modified", + "additions": 7, + "deletions": 3, + "changes": 10, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fplugin_info.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fplugin_info.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fplugin_info.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,6 +1,10 @@\n # encoding: utf-8\n+from __future__ import annotations\n+\n+from typing import Any, Callable\n \n import click\n+import ckan.plugins as p\n \n \n @click.command(\n@@ -50,19 +54,19 @@ def plugin_info():\n click.echo()\n \n \n-def _template_helpers(plugin_class):\n+def _template_helpers(plugin_class: p.ITemplateHelpers):\n u''' Return readable helper function info. '''\n helpers = plugin_class.get_helpers()\n return _function_info(helpers)\n \n \n-def _actions(plugin_class):\n+def _actions(plugin_class: p.IActions):\n u''' Return readable action function info. '''\n actions = plugin_class.get_actions()\n return _function_info(actions)\n \n \n-def _function_info(functions):\n+def _function_info(functions: dict[str, Callable[..., Any]]):\n u''' Take a dict of functions and output readable info '''\n import inspect\n output = []" + }, + { + "sha": "928d42cfd6ada6e595df754fc1c7b07596751fe2", + "filename": "ckan/cli/profile.py", + "status": "modified", + "additions": 7, + "deletions": 8, + "changes": 15, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fprofile.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fprofile.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fprofile.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -4,15 +4,14 @@\n import traceback\n \n import click\n-\n-from ckan.cli import error_shout\n+from . import error_shout\n \n \n @click.group(\n short_help=u\"Code speed profiler.\", invoke_without_command=True,\n )\n @click.pass_context\n-def profile(ctx):\n+def profile(ctx: click.Context):\n \"\"\"Provide a ckan url and it will make the request and record how\n long each function call took in a file that can be read by\n pstats.Stats (command-line) or runsnakerun (gui).\n@@ -30,21 +29,21 @@ def profile(ctx):\n \n \"\"\"\n if ctx.invoked_subcommand is None:\n- ctx.invoke(profile)\n+ ctx.invoke(main)\n \n \n-@profile.command(short_help=u\"Code speed profiler.\",)\n+@profile.command('profile', short_help=u\"Code speed profiler.\",)\n @click.argument(u\"url\")\n @click.argument(u\"user\", required=False, default=u\"visitor\")\n-def profile(url, user):\n+def main(url: str, user: str):\n import cProfile\n from ckan.tests.helpers import _get_test_app\n \n app = _get_test_app()\n \n- def profile_url(url):\n+ def profile_url(url: str): # type: ignore # noqa\n try:\n- res = app.get(\n+ app.get(\n url, status=[200], extra_environ={u\"REMOTE_USER\": str(user)}\n )\n except KeyboardInterrupt:" + }, + { + "sha": "1cb3afda1f897558dff1db1db1b224004d75d317", + "filename": "ckan/cli/sass.py", + "status": "added", + "additions": 47, + "deletions": 0, + "changes": 47, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fsass.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fsass.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fsass.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,47 @@\n+# encoding: utf-8\n+from __future__ import annotations\n+\n+import subprocess\n+import os\n+\n+import click\n+import six\n+\n+from ckan.common import config\n+\n+\n+@click.command(\n+ name='sass',\n+ short_help='Compile all root sass documents into their CSS counterparts')\n+@click.option(\n+ '-d',\n+ '--debug',\n+ is_flag=True,\n+ help=\"Compile css with sourcemaps.\")\n+def sass(debug: bool):\n+ command = ('npm', 'run', 'build')\n+\n+ public = config.get('ckan.base_public_folder')\n+\n+ root = os.path.join(os.path.dirname(__file__), '..', public, 'base')\n+ root = os.path.abspath(root)\n+ _compile_sass(root, command, 'main', debug)\n+\n+\n+def _compile_sass(\n+ root: str,\n+ command: tuple[str, ...],\n+ color: str,\n+ debug: bool):\n+ click.echo('compile {}.css'.format(color))\n+ command = command + ('--', '--' + color)\n+ if debug:\n+ command = command + ('--debug',)\n+\n+ process = subprocess.Popen(\n+ command,\n+ stdout=subprocess.PIPE,\n+ stderr=subprocess.PIPE)\n+ output = process.communicate()\n+ for block in output:\n+ click.echo(six.ensure_text(block))" + }, + { + "sha": "051a9229f1f4b646c01d55c53cd6747ced286b66", + "filename": "ckan/cli/search_index.py", + "status": "modified", + "additions": 38, + "deletions": 34, + "changes": 72, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fsearch_index.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fsearch_index.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fsearch_index.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,14 +1,15 @@\n # encoding: utf-8\n+from __future__ import annotations\n \n import multiprocessing as mp\n \n import click\n import sqlalchemy as sa\n-\n-import ckan.plugins.toolkit as tk\n+from ckan.common import config\n from ckan.lib.search import query_for\n import ckan.logic as logic\n import ckan.model as model\n+from . import error_shout\n \n \n @click.group(name=u'search-index', short_help=u'Search index commands')\n@@ -21,7 +22,6 @@ def search_index():\n @click.option(u'-v', u'--verbose', is_flag=True)\n @click.option(u'-i', u'--force', is_flag=True,\n help=u'Ignore exceptions when rebuilding the index')\n-@click.option(u'-r', u'--refresh', help=u'Refresh current index', is_flag=True)\n @click.option(u'-o', u'--only-missing',\n help=u'Index non indexed datasets only', is_flag=True)\n @click.option(u'-q', u'--quiet', help=u'Do not output index rebuild progress',\n@@ -31,22 +31,31 @@ def search_index():\n u'ensures that changes are immediately available on the'\n u'search, but slows significantly the process. Default'\n u'is false.')\n+@click.option('-c', '--clear', help='Clear the index before reindexing',\n+ is_flag=True)\n @click.argument(u'package_id', required=False)\n def rebuild(\n- verbose, force, refresh, only_missing, quiet, commit_each, package_id\n+ verbose: bool, force: bool, only_missing: bool, quiet: bool,\n+ commit_each: bool, package_id: str, clear: bool\n ):\n u''' Rebuild search index '''\n from ckan.lib.search import rebuild, commit\n try:\n-\n- rebuild(package_id,\n- only_missing=only_missing,\n- force=force,\n- refresh=refresh,\n- defer_commit=(not commit_each),\n- quiet=quiet)\n+ for pkg_id, total, indexed, err in rebuild(package_id,\n+ only_missing=only_missing,\n+ force=force,\n+ defer_commit=(not commit_each),\n+ clear=clear):\n+ if not verbose:\n+ if err:\n+ click.echo('Failed to index dataset %s with error: %s' % (pkg_id, err))\n+ continue\n+ if not err:\n+ click.echo('[%s/%s] Indexed dataset %s' % (indexed, total, pkg_id))\n+ else:\n+ click.echo('[%s/%s] Failed to index dataset %s with error: %s' % (indexed, total, pkg_id, err))\n except Exception as e:\n- tk.error_shout(e)\n+ error_shout(e)\n if not commit_each:\n commit()\n \n@@ -59,7 +68,7 @@ def check():\n \n @search_index.command(name=u'show', short_help=u'Show index of a dataset')\n @click.argument(u'dataset_name')\n-def show(dataset_name):\n+def show(dataset_name: str):\n from ckan.lib.search import show\n \n index = show(dataset_name)\n@@ -68,7 +77,7 @@ def show(dataset_name):\n \n @search_index.command(name=u'clear', short_help=u'Clear the search index')\n @click.argument(u'dataset_name', required=False)\n-def clear(dataset_name):\n+def clear(dataset_name: str):\n from ckan.lib.search import clear, clear_all\n \n if dataset_name:\n@@ -77,16 +86,15 @@ def clear(dataset_name):\n clear_all()\n \n \n-def get_orphans(private = False):\n+def get_orphans() -> list[str]:\n search = None\n indexed_package_ids = []\n while search is None or len(indexed_package_ids) < search['count']:\n search = logic.get_action('package_search')({}, {\n 'q': '*:*',\n 'fl': 'id',\n 'start': len(indexed_package_ids),\n- 'rows': 1000,\n- 'include_private': private})\n+ 'rows': 1000})\n indexed_package_ids += search['results']\n \n package_ids = {r[0] for r in model.Session.query(model.Package.id)}\n@@ -104,10 +112,8 @@ def get_orphans(private = False):\n name=u'list-orphans',\n short_help=u'Lists any non-existant packages in the search index'\n )\n-@click.option(u'-p', u'--private', help=u'Include private packages',\n- is_flag=True)\n-def list_orphans_command(private = False):\n- orphaned_package_ids = get_orphans(private)\n+def list_orphans_command():\n+ orphaned_package_ids = get_orphans()\n if len(orphaned_package_ids):\n click.echo(orphaned_package_ids)\n click.echo(\"Found {} orphaned package(s).\".format(\n@@ -119,11 +125,9 @@ def list_orphans_command(private = False):\n name=u'clear-orphans',\n short_help=u'Clear any non-existant packages in the search index'\n )\n-@click.option(u'-p', u'--private', help=u'Include private packages',\n- is_flag=True)\n @click.option(u'-v', u'--verbose', is_flag=True)\n-def clear_orphans(private = False, verbose = False):\n- for orphaned_package_id in get_orphans(private):\n+def clear_orphans(verbose: bool = False):\n+ for orphaned_package_id in get_orphans():\n if verbose:\n click.echo(\"Clearing search index for dataset {}...\".format(\n orphaned_package_id\n@@ -137,7 +141,7 @@ def clear_orphans(private = False, verbose = False):\n )\n def list_unindexed():\n packages = model.Session.query(model.Package.id)\n- if tk.config.get_value('ckan.search.remove_deleted_packages'):\n+ if config.get('ckan.search.remove_deleted_packages'):\n packages = packages.filter(model.Package.state != 'deleted')\n \n package_ids = [r[0] for r in packages.all()]\n@@ -160,23 +164,23 @@ def list_unindexed():\n def rebuild_fast():\n from ckan.lib.search import commit\n \n- db_url = tk.config['sqlalchemy.url']\n+ db_url = config['sqlalchemy.url']\n engine = sa.create_engine(db_url)\n package_ids = []\n result = engine.execute(u\"select id from package where state = 'active';\")\n for row in result:\n package_ids.append(row[0])\n \n- def start(ids):\n+ def start(ids: list[str]):\n from ckan.lib.search import rebuild\n rebuild(package_ids=ids)\n \n- def chunks(l, n):\n- u\"\"\" Yield n successive chunks from l.\"\"\"\n- newn = int(len(l) / n)\n+ def chunks(list_: list[str], n: int):\n+ u\"\"\" Yield n successive chunks from list_\"\"\"\n+ newn = int(len(list_) / n)\n for i in range(0, n - 1):\n- yield l[i * newn:i * newn + newn]\n- yield l[n * newn - newn:]\n+ yield list_[i * newn:i * newn + newn]\n+ yield list_[n * newn - newn:]\n \n processes = []\n \n@@ -191,4 +195,4 @@ def chunks(l, n):\n process.join()\n commit()\n except Exception as e:\n- click.echo(e.message)\n+ error_shout(e)" + }, + { + "sha": "764c916957fc409f8e69f21ba31a7f581982e1ce", + "filename": "ckan/cli/seed.py", + "status": "removed", + "additions": 0, + "deletions": 85, + "changes": 85, + "blob_url": "https://github.com/open-data/ckan/blob/d8d0e9647c9a34757106a0151c26d8b5442bcee3/ckan%2Fcli%2Fseed.py", + "raw_url": "https://github.com/open-data/ckan/raw/d8d0e9647c9a34757106a0151c26d8b5442bcee3/ckan%2Fcli%2Fseed.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fseed.py?ref=d8d0e9647c9a34757106a0151c26d8b5442bcee3", + "patch": "@@ -1,85 +0,0 @@\n-# encoding: utf-8\n-\n-import logging\n-\n-import click\n-\n-from ckan.lib.create_test_data import CreateTestData\n-\n-log = logging.getLogger(__name__)\n-\n-\n-@click.group(short_help=u'Create test data in the database.')\n-def seed():\n- u'''Create test data in the database.\n-\n- Tests can also delete the created objects easily with the delete() method.\n- '''\n- pass\n-\n-\n-@seed.command(short_help=u'Annakarenina and warandpeace.')\n-@click.pass_context\n-def basic(ctx):\n- flask_app = ctx.meta['flask_app']\n- with flask_app.test_request_context():\n- CreateTestData.create_basic_test_data()\n-\n-\n-@seed.command(short_help=u'Realistic data to test search.')\n-@click.pass_context\n-def search(ctx):\n- flask_app = ctx.meta['flask_app']\n- with flask_app.test_request_context():\n- CreateTestData.create_search_test_data()\n-\n-\n-@seed.command(short_help=u'Government style data.')\n-@click.pass_context\n-def gov(ctx):\n- flask_app = ctx.meta['flask_app']\n- with flask_app.test_request_context():\n- CreateTestData.create_gov_test_data()\n-\n-\n-@seed.command(short_help=u'Package relationships data.')\n-@click.pass_context\n-def family(ctx):\n- flask_app = ctx.meta['flask_app']\n- with flask_app.test_request_context():\n- CreateTestData.create_family_test_data()\n-\n-\n-@seed.command(short_help=u'Create a user \"tester\" with api key \"tester\".')\n-@click.pass_context\n-def user(ctx):\n- flask_app = ctx.meta['flask_app']\n- with flask_app.test_request_context():\n- CreateTestData.create_test_user()\n- click.echo(\n- u'Created user {0} with password {0} and apikey {0}'.format(u'tester')\n- )\n-\n-\n-@seed.command(short_help=u'Test translations of terms.')\n-@click.pass_context\n-def translations(ctx):\n- flask_app = ctx.meta['flask_app']\n- with flask_app.test_request_context():\n- CreateTestData.create_translations_test_data()\n-\n-\n-@seed.command(short_help=u'Some test vocabularies.')\n-@click.pass_context\n-def vocabs(ctx):\n- flask_app = ctx.meta['flask_app']\n- with flask_app.test_request_context():\n- CreateTestData.create_vocabs_test_data()\n-\n-\n-@seed.command(short_help=u'Hierarchy of groups.')\n-@click.pass_context\n-def hierarchy(ctx):\n- flask_app = ctx.meta['flask_app']\n- with flask_app.test_request_context():\n- CreateTestData.create_group_hierarchy_test_data()" + }, + { + "sha": "4626b4f3a14b8a374f5021521c9956e0a5eccdce", + "filename": "ckan/cli/server.py", + "status": "modified", + "additions": 43, + "deletions": 24, + "changes": 67, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fserver.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fserver.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fserver.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,16 +1,21 @@\n # encoding: utf-8\n+from __future__ import annotations\n \n+from ckan.exceptions import CkanDeprecationWarning\n import logging\n+import warnings\n+from typing import Optional\n \n import click\n from werkzeug.serving import run_simple\n+from werkzeug.middleware.dispatcher import DispatcherMiddleware\n \n-import ckan.plugins.toolkit as tk\n from ckan.common import config\n+from . import error_shout\n \n log = logging.getLogger(__name__)\n \n-DEFAULT_HOST = u\"localhost\"\n+DEFAULT_HOST = \"localhost\"\n DEFAULT_PORT = 5000\n \n \n@@ -41,11 +46,20 @@\n u\"-K\", u\"--ssl-key\", default=None,\n help=u\"Key file to use to enable SSL. Passing 'adhoc' will \"\n \" automatically generate a new one (on each server reload).\")\n+@click.option(\n+ u\"-P\", u\"--prefix\", default=\"\",\n+ help=u\"Run ckan in prefix path.\"\n+)\n @click.pass_context\n-def run(ctx, host, port, disable_reloader, passthrough_errors, threaded,\n- extra_files, processes, ssl_cert, ssl_key):\n+def run(ctx: click.Context, host: str, port: str, disable_reloader: bool,\n+ passthrough_errors: bool, threaded: bool, extra_files: list[str],\n+ processes: int, ssl_cert: Optional[str], ssl_key: Optional[str],\n+ prefix: Optional[str]):\n u\"\"\"Runs the Werkzeug development server\"\"\"\n \n+ if config.get(\"debug\"):\n+ warnings.filterwarnings(\"default\", category=CkanDeprecationWarning)\n+\n # passthrough_errors overrides conflicting options\n if passthrough_errors:\n disable_reloader = True\n@@ -54,48 +68,53 @@ def run(ctx, host, port, disable_reloader, passthrough_errors, threaded,\n \n # Reloading\n use_reloader = not disable_reloader\n- config_extra_files = tk.aslist(\n- config.get(u\"ckan.devserver.watch_patterns\")\n- )\n+ config_extra_files = config.get(u\"ckan.devserver.watch_patterns\")\n extra_files = list(extra_files) + [\n config[u\"__file__\"]\n ] + config_extra_files\n \n # Threads and processes\n- threaded = threaded or tk.asbool(config.get(u\"ckan.devserver.threaded\"))\n- processes = processes or tk.asint(\n- config.get(u\"ckan.devserver.multiprocess\", 1)\n- )\n+ threaded = threaded or config.get(u\"ckan.devserver.threaded\")\n+ processes = processes or config.get(u\"ckan.devserver.multiprocess\")\n if threaded and processes > 1:\n- tk.error_shout(u\"Cannot have a multithreaded and multi process server\")\n+ error_shout(u\"Cannot have a multithreaded and multi process server\")\n raise click.Abort()\n \n # SSL\n- cert_file = ssl_cert or config.get(u\"ckan.devserver.ssl_cert\")\n- key_file = ssl_key or config.get(u\"ckan.devserver.ssl_key\")\n+ cert_file = ssl_cert or config.get('ckan.devserver.ssl_cert')\n+ key_file = ssl_key or config.get('ckan.devserver.ssl_key')\n \n if cert_file and key_file:\n- if cert_file == key_file == u\"adhoc\":\n- ssl_context = u\"adhoc\"\n+ if cert_file == key_file == 'adhoc':\n+ ssl_context = 'adhoc'\n else:\n- ssl_context = (ssl_cert, ssl_key)\n+ ssl_context = (cert_file, key_file)\n else:\n ssl_context = None\n \n- host = host or config.get(u'ckan.devserver.host', DEFAULT_HOST)\n- port = port or config.get(u'ckan.devserver.port', DEFAULT_PORT)\n+ if prefix:\n+ if not prefix.startswith(u'/'):\n+ error_shout(u\"Prefix must start with /, example /data.\")\n+ raise click.Abort()\n+ ctx.obj.app = DispatcherMiddleware(ctx.obj.app, {\n+ prefix: ctx.obj.app\n+ })\n+\n+ host = host or config.get('ckan.devserver.host')\n+ port = port or config.get('ckan.devserver.port')\n try:\n- port = int(port)\n+ port_int = int(port)\n except ValueError:\n- tk.error_shout(u\"Server port must be an integer, not {}\".format(port))\n+ error_shout(u\"Server port must be an integer, not {}\".format(port))\n raise click.Abort()\n \n- log.info(u\"Running CKAN on {scheme}://{host}:{port}\".format(\n- scheme=u\"https\" if ssl_context else u\"http\", host=host, port=port))\n+ log.info(u\"Running CKAN on {scheme}://{host}:{port}{prefix}\".format(\n+ scheme='https' if ssl_context else 'http', host=host, port=port_int,\n+ prefix=prefix))\n \n run_simple(\n host,\n- port,\n+ port_int,\n ctx.obj.app,\n use_reloader=use_reloader,\n use_evalex=True," + }, + { + "sha": "29373020e95877c86617fad30411edee5a7da5fc", + "filename": "ckan/cli/shell.py", + "status": "added", + "additions": 63, + "deletions": 0, + "changes": 63, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fshell.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fshell.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fshell.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,63 @@\n+# encoding: utf-8\n+import click\n+import logging\n+\n+import ckan.model as model\n+\n+from typing import Any, Mapping\n+\n+from ckan.plugins import toolkit\n+\n+\n+log = logging.getLogger(__name__)\n+\n+\n+_banner = \"\"\"\n+****** Welcome to the CKAN shell ******\n+\n+This session has some variables pre-populated:\n+ - app (CKAN Application object)\n+ - config (CKAN config dictionary)\n+ - model (CKAN model module to access the Database)\n+ - toolkit (CKAN toolkit module)\n+ \"\"\"\n+\n+\n+def ipython(namespace: Mapping[str, Any], banner: str) -> None:\n+ import IPython\n+ from traitlets.config.loader import Config\n+\n+ c = Config()\n+ c.TerminalInteractiveShell.banner2 = banner\n+\n+ IPython.start_ipython([], user_ns=namespace, config=c)\n+\n+\n+def python(namespace: Mapping[str, Any], banner: str) -> None:\n+ import code\n+ code.interact(banner=banner, local=namespace)\n+\n+\n+@click.command()\n+@click.help_option(\"-h\", \"--help\")\n+@click.pass_context\n+def shell(ctx: click.Context):\n+ \"\"\"Run an interactive IPython shell with the context of the\n+ CKAN instance.\n+\n+ It will try to use IPython, if not installed it will callback\n+ to the default Python's shell.\n+ \"\"\"\n+\n+ namespace = {\n+ \"app\": ctx.obj.app._wsgi_app,\n+ \"model\": model,\n+ \"config\": ctx.obj.config,\n+ \"toolkit\": toolkit,\n+ }\n+\n+ try:\n+ ipython(namespace, _banner)\n+ except ImportError:\n+ log.debug(\"`ipython` library is missing. Using default python shell.\")\n+ python(namespace, _banner)" + }, + { + "sha": "00227f7d9f35413533cffa0cc19f46e3ffa16109", + "filename": "ckan/cli/sysadmin.py", + "status": "modified", + "additions": 8, + "deletions": 8, + "changes": 16, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fsysadmin.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fsysadmin.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fsysadmin.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,7 +1,7 @@\n # encoding: utf-8\n+from __future__ import annotations\n \n import click\n-from six import text_type\n \n import ckan.model as model\n from ckan.cli import error_shout\n@@ -13,7 +13,7 @@\n invoke_without_command=True,\n )\n @click.pass_context\n-def sysadmin(ctx):\n+def sysadmin(ctx: click.Context):\n \"\"\"Gives sysadmin rights to a named user.\n \n \"\"\"\n@@ -44,16 +44,16 @@ def list_sysadmins():\n @click.argument(u\"username\")\n @click.argument(u\"args\", nargs=-1)\n @click.pass_context\n-def add(ctx, username, args):\n- user = model.User.by_name(text_type(username))\n+def add(ctx: click.Context, username: str, args: list[str]):\n+ user = model.User.by_name(str(username))\n if not user:\n click.secho(u'User \"%s\" not found' % username, fg=u\"red\")\n if click.confirm(\n u\"Create new user: %s?\" % username, default=True, abort=True\n ):\n ctx.forward(add_user)\n- user = model.User.by_name(text_type(username))\n-\n+ user = model.User.by_name(str(username))\n+ assert user\n user.sysadmin = True\n model.Session.add(user)\n model.repo.commit_and_remove()\n@@ -62,8 +62,8 @@ def add(ctx, username, args):\n \n @sysadmin.command(help=u\"Removes user from sysadmins.\")\n @click.argument(u\"username\")\n-def remove(username):\n- user = model.User.by_name(text_type(username))\n+def remove(username: str):\n+ user = model.User.by_name(str(username))\n if not user:\n return error_shout(u'Error: user \"%s\" not found!' % username)\n user.sysadmin = False" + }, + { + "sha": "281df43536940f25575290e8c17e1d503815a90b", + "filename": "ckan/cli/tracking.py", + "status": "modified", + "additions": 39, + "deletions": 30, + "changes": 69, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Ftracking.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Ftracking.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Ftracking.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,14 +1,21 @@\n # encoding: utf-8\n \n-import ckan.model as model\n-import click\n import datetime\n import csv\n+\n+from typing import NamedTuple, Optional\n+\n+import click\n+\n+import ckan.model as model\n import ckan.logic as logic\n-from collections import namedtuple\n from ckan.cli import error_shout\n \n-_ViewCount = namedtuple(u'ViewCount', u'id name count')\n+\n+class ViewCount(NamedTuple):\n+ id: str\n+ name: str\n+ count: int\n \n \n @click.group(name=u'tracking', short_help=u'Update tracking statistics')\n@@ -18,24 +25,26 @@ def tracking():\n \n @tracking.command()\n @click.argument(u'start_date', required=False)\n-def update(start_date):\n+def update(start_date: Optional[str]):\n engine = model.meta.engine\n+ assert engine\n update_all(engine, start_date)\n \n \n @tracking.command()\n @click.argument(u'output_file', type=click.Path())\n @click.argument(u'start_date', required=False)\n-def export(output_file, start_date):\n+def export(output_file: str, start_date: Optional[str]):\n engine = model.meta.engine\n+ assert engine\n \n update_all(engine, start_date)\n export_tracking(engine, output_file)\n \n \n-def update_all(engine, start_date=None):\n+def update_all(engine: model.Engine, start_date: Optional[str] = None):\n if start_date:\n- start_date = datetime.datetime.strptime(start_date, u'%Y-%m-%d')\n+ date = datetime.datetime.strptime(start_date, u'%Y-%m-%d')\n else:\n # No date given. See when we last have data for and get data\n # from 2 days before then in case new data is available.\n@@ -44,26 +53,26 @@ def update_all(engine, start_date=None):\n ORDER BY tracking_date DESC LIMIT 1;'''\n result = engine.execute(sql).fetchall()\n if result:\n- start_date = result[0][u'tracking_date']\n- start_date += datetime.timedelta(-2)\n+ date = result[0][u'tracking_date']\n+ date += datetime.timedelta(-2)\n # convert date to datetime\n combine = datetime.datetime.combine\n- start_date = combine(start_date, datetime.time(0))\n+ date = combine(date, datetime.time(0))\n else:\n- start_date = datetime.datetime(2011, 1, 1)\n- start_date_solrsync = start_date\n+ date = datetime.datetime(2011, 1, 1)\n+ start_date_solrsync = date\n end_date = datetime.datetime.now()\n \n- while start_date < end_date:\n- stop_date = start_date + datetime.timedelta(1)\n- update_tracking(engine, start_date)\n- click.echo(u'tracking updated for {}'.format(start_date))\n- start_date = stop_date\n+ while date < end_date:\n+ stop_date = date + datetime.timedelta(1)\n+ update_tracking(engine, date)\n+ click.echo(u'tracking updated for {}'.format(date))\n+ date = stop_date\n \n update_tracking_solr(engine, start_date_solrsync)\n \n \n-def _total_views(engine):\n+def _total_views(engine: model.Engine):\n sql = u'''\n SELECT p.id,\n p.name,\n@@ -73,10 +82,10 @@ def _total_views(engine):\n GROUP BY p.id, p.name\n ORDER BY total_views DESC\n '''\n- return [_ViewCount(*t) for t in engine.execute(sql).fetchall()]\n+ return [ViewCount(*t) for t in engine.execute(sql).fetchall()]\n \n \n-def _recent_views(engine, measure_from):\n+def _recent_views(engine: model.Engine, measure_from: datetime.date):\n sql = u'''\n SELECT p.id,\n p.name,\n@@ -88,15 +97,15 @@ def _recent_views(engine, measure_from):\n ORDER BY total_views DESC\n '''\n return [\n- _ViewCount(*t) for t in engine.execute(\n+ ViewCount(*t) for t in engine.execute(\n sql, measure_from=str(measure_from)\n ).fetchall()\n ]\n \n \n-def export_tracking(engine, output_filename):\n+def export_tracking(engine: model.Engine, output_filename: str):\n u'''Write tracking summary to a csv file.'''\n- HEADINGS = [\n+ headings = [\n u'dataset id',\n u'dataset name',\n u'total views',\n@@ -109,7 +118,7 @@ def export_tracking(engine, output_filename):\n \n with open(output_filename, u'w') as fh:\n f_out = csv.writer(fh)\n- f_out.writerow(HEADINGS)\n+ f_out.writerow(headings)\n recent_views_for_id = dict((r.id, r.count) for r in recent_views)\n f_out.writerows([(r.id,\n r.name,\n@@ -118,8 +127,8 @@ def export_tracking(engine, output_filename):\n for r in total_views])\n \n \n-def update_tracking(engine, summary_date):\n- PACKAGE_URL = u'/dataset/'\n+def update_tracking(engine: model.Engine, summary_date: datetime.datetime):\n+ package_url = u'/dataset/'\n # clear out existing data before adding new\n sql = u'''DELETE FROM tracking_summary\n WHERE tracking_date='%s'; ''' % summary_date\n@@ -150,7 +159,7 @@ def update_tracking(engine, summary_date):\n ,'~~not~found~~')\n WHERE t.package_id IS NULL\n AND tracking_type = 'page';'''\n- engine.execute(sql, PACKAGE_URL)\n+ engine.execute(sql, package_url)\n \n # update summary totals for resources\n sql = u'''UPDATE tracking_summary t1\n@@ -191,13 +200,13 @@ def update_tracking(engine, summary_date):\n engine.execute(sql)\n \n \n-def update_tracking_solr(engine, start_date):\n+def update_tracking_solr(engine: model.Engine, start_date: datetime.datetime):\n sql = u'''SELECT package_id FROM tracking_summary\n where package_id!='~~not~found~~'\n and tracking_date >= %s;'''\n results = engine.execute(sql, start_date)\n \n- package_ids = set()\n+ package_ids: set[str] = set()\n for row in results:\n package_ids.add(row[u'package_id'])\n " + }, + { + "sha": "05fb0d44e9e328b5cb4d1fd2017963eab5857a8c", + "filename": "ckan/cli/translation.py", + "status": "modified", + "additions": 24, + "deletions": 17, + "changes": 41, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Ftranslation.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Ftranslation.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Ftranslation.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,12 +1,14 @@\n # encoding: utf-8\n+from __future__ import annotations\n \n import polib\n import re\n import logging\n import os\n \n+from typing import Any, cast\n+\n import click\n-import six\n \n from ckan.common import config\n from ckan.lib.i18n import build_js_translations\n@@ -54,7 +56,7 @@ def mangle():\n u'|\\\\%((\\\\d)*\\\\$)?' + spf_reg_ex + u')'\n \n for entry in po:\n- msg = entry.msgid.encode(u'utf-8')\n+ msg = entry.msgid\n matches = re.finditer(extract_reg_ex, msg)\n length = len(msg)\n position = 0\n@@ -82,10 +84,11 @@ def mangle():\n u'check-po', short_help=u'Check po files for common mistakes'\n )\n @click.argument(u'files', nargs=-1, type=click.Path(exists=True))\n-def check_po(files):\n+def check_po(files: list[str]):\n for file in files:\n errors = check_po_file(file)\n for msgid, msgstr in errors:\n+ click.echo(file)\n click.echo(u\"Format specifiers don't match:\")\n click.echo(\n u'\\t{} -> {}'.format(\n@@ -99,7 +102,7 @@ def check_po(files):\n 'with the ones on the pot file'\n )\n @click.argument(u'files', nargs=-1, type=click.Path(exists=True))\n-def sync_po_msgids(files):\n+def sync_po_msgids(files: list[str]):\n i18n_path = get_i18n_path()\n pot_path = os.path.join(i18n_path, u'ckan.pot')\n po = polib.pofile(pot_path)\n@@ -111,11 +114,11 @@ def sync_po_msgids(files):\n sync_po_file_msgids(entries_to_change, path)\n \n \n-def normalize_string(s):\n+def normalize_string(s: str):\n return re.sub(r'\\s\\s+', ' ', s).strip()\n \n \n-def sync_po_file_msgids(entries_to_change, path):\n+def sync_po_file_msgids(entries_to_change: dict[str, Any], path: str):\n \n po = polib.pofile(path)\n cnt = 0\n@@ -134,11 +137,12 @@ def sync_po_file_msgids(entries_to_change, path):\n )\n \n \n-def get_i18n_path():\n- return config.get(u'ckan.i18n_directory', os.path.join(ckan_path, u'i18n'))\n+def get_i18n_path() -> str:\n+ return config.get(\n+ u'ckan.i18n_directory') or os.path.join(ckan_path, u'i18n')\n \n \n-def simple_conv_specs(s):\n+def simple_conv_specs(s: str):\n '''Return the simple Python string conversion specifiers in the string s.\n \n e.g. ['%s', '%i']\n@@ -149,7 +153,7 @@ def simple_conv_specs(s):\n return simple_conv_specs_re.findall(s)\n \n \n-def mapping_keys(s):\n+def mapping_keys(s: str):\n '''Return a sorted list of the mapping keys in the string s.\n \n e.g. ['%(name)s', '%(age)i']\n@@ -160,7 +164,7 @@ def mapping_keys(s):\n return sorted(mapping_keys_re.findall(s))\n \n \n-def replacement_fields(s):\n+def replacement_fields(s: str):\n '''Return a sorted list of the Python replacement fields in the string s.\n \n e.g. ['{}', '{2}', '{object}', '{target}']\n@@ -171,28 +175,31 @@ def replacement_fields(s):\n return sorted(repl_fields_re.findall(s))\n \n \n-def check_translation(validator, msgid, msgstr):\n+def check_translation(validator: Any, msgid: str, msgstr: str):\n if not validator(msgid) == validator(msgstr):\n return msgid, msgstr\n \n \n-def check_po_file(path):\n- errors = []\n+def check_po_file(path: str):\n+ errors: list[tuple[str, str]] = []\n po = polib.pofile(path)\n for entry in po.translated_entries():\n if entry.msgid_plural and entry.msgstr_plural:\n for function in (\n simple_conv_specs, mapping_keys, replacement_fields\n ):\n- for key, msgstr in six.iteritems(entry.msgstr_plural):\n+ # typechecker thinks it's a list of strings\n+ plurals = cast(\"dict[str, str]\", entry.msgstr_plural)\n+ for key in plurals.keys():\n if key == u'0':\n error = check_translation(\n- function, entry.msgid, entry.msgstr_plural[key]\n+ function, entry.msgid,\n+ plurals[key]\n )\n else:\n error = check_translation(\n function, entry.msgid_plural,\n- entry.msgstr_plural[key]\n+ plurals[key]\n )\n if error:\n errors.append(error)" + }, + { + "sha": "2e6a655d30aa6be8853b34629910639894c885a1", + "filename": "ckan/cli/user.py", + "status": "modified", + "additions": 63, + "deletions": 69, + "changes": 132, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fuser.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fuser.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fuser.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,17 +1,18 @@\n # encoding: utf-8\n+from __future__ import annotations\n \n import logging\n+from typing import Optional, cast\n+\n import six\n import click\n-from six import text_type\n-from datetime import datetime\n \n import ckan.logic as logic\n-import ckan.plugins as plugin\n import ckan.model as model\n from ckan.cli import error_shout\n from ckan.common import json\n-\n+from ckan.types import Context\n+from ckan.lib.helpers import helper_functions as h\n \n log = logging.getLogger(__name__)\n \n@@ -26,7 +27,7 @@ def user():\n @click.argument(u'username')\n @click.argument(u'args', nargs=-1)\n @click.pass_context\n-def add_user(ctx, username, args):\n+def add_user(ctx: click.Context, username: str, args: list[str]):\n u'''Add new user if we use ckan sysadmin add\n or ckan user add\n '''\n@@ -53,22 +54,21 @@ def add_user(ctx, username, args):\n if u'fullname' in data_dict:\n data_dict['fullname'] = six.ensure_text(data_dict['fullname'])\n \n- # pprint(u'Creating user: %r' % username)\n+ import ckan.logic as logic\n+ import ckan.model as model\n \n try:\n- import ckan.logic as logic\n- import ckan.model as model\n- site_user = logic.get_action(u'get_site_user')({\n+ site_user = logic.get_action(u'get_site_user')(cast(Context, {\n u'model': model,\n- u'ignore_auth': True},\n+ u'ignore_auth': True}),\n {}\n )\n- context = {\n+ context = cast(Context, {\n u'model': model,\n u'session': model.Session,\n u'ignore_auth': True,\n u'user': site_user['name'],\n- }\n+ })\n flask_app = ctx.meta['flask_app']\n # Current user is tested agains sysadmin role during model\n # dictization, thus we need request context\n@@ -81,7 +81,7 @@ def add_user(ctx, username, args):\n raise click.Abort()\n \n \n-def get_user_str(user):\n+def get_user_str(user: model.User):\n user_str = u'name=%s' % user.name\n if user.name != user.display_name:\n user_str += u' display=%s' % user.display_name\n@@ -101,53 +101,56 @@ def list_users():\n @user.command(u'remove', short_help=u'Remove user')\n @click.argument(u'username')\n @click.pass_context\n-def remove_user(ctx, username):\n- import ckan.model as model\n+def remove_user(ctx: click.Context, username: str):\n if not username:\n error_shout(u'Please specify the username to be removed')\n return\n \n site_user = logic.get_action(u'get_site_user')({u'ignore_auth': True}, {})\n- context = {u'user': site_user[u'name']}\n+ context: Context = {u'user': site_user[u'name']}\n with ctx.meta['flask_app'].test_request_context():\n- plugin.toolkit.get_action(u'user_delete')(context, {u'id': username})\n+ logic.get_action(u'user_delete')(context, {u'id': username})\n click.secho(u'Deleted user: %s' % username, fg=u'green', bold=True)\n \n \n @user.command(u'show', short_help=u'Show user')\n @click.argument(u'username')\n-def show_user(username):\n+def show_user(username: str):\n import ckan.model as model\n if not username:\n error_shout(u'Please specify the username for the user')\n return\n- user = model.User.get(text_type(username))\n+ user = model.User.get(str(username))\n click.secho(u'User: %s' % user)\n \n \n-@user.command(u'setpass', short_help=u'Set password for the user')\n-@click.argument(u'username')\n-def set_password(username):\n- import ckan.model as model\n- if not username:\n- error_shout(u'Need name of the user.')\n- return\n+@user.command(\"setpass\")\n+@click.argument(\"username\")\n+@click.option(\"-p\", \"--password\", help=\"New password\")\n+def set_password(username: str, password: Optional[str]):\n+ \"\"\"Set password for the user.\"\"\"\n user = model.User.get(username)\n if not user:\n- error_shout(u\"User not found!\")\n- return\n- click.secho(u'Editing user: %r' % user.name, fg=u'yellow')\n+ error_shout(\"User not found!\")\n+ raise click.Abort()\n+\n+ click.secho(f\"Editing user: {user.name}\", fg=\"yellow\")\n+\n+ if not password:\n+ password = click.prompt(\n+ \"Password\",\n+ hide_input=True,\n+ confirmation_prompt=True,\n+ )\n \n- password = click.prompt(u'Password', hide_input=True,\n- confirmation_prompt=True)\n user.password = password\n model.repo.commit_and_remove()\n- click.secho(u'Password updated!', fg=u'green', bold=True)\n+ click.secho(\"Password updated!\", fg=\"green\", bold=True)\n \n \n @user.group()\n def token():\n- u\"\"\"Control API Tokens\"\"\"\n+ \"\"\"Manage API Tokens\"\"\"\n pass\n \n \n@@ -157,8 +160,8 @@ def token():\n @click.argument(u\"extras\", type=click.UNPROCESSED, nargs=-1)\n @click.option(\n u\"--json\",\n+ \"json_str\",\n metavar=u\"EXTRAS\",\n- type=json.loads,\n default=u\"{}\",\n help=u\"Valid JSON object with additional fields for api_token_create\",\n )\n@@ -168,37 +171,40 @@ def token():\n is_flag=True,\n help=\"Output just the token itself (useful in automated scripts)\",\n )\n-def add_token(username, token_name, extras, json, quiet):\n- u\"\"\"Create new API Token for the given user.\n+def add_token(\n+ username: str, token_name: str, extras: list[str], json_str: str,\n+ quiet: bool):\n+ \"\"\"Create a new API Token for the given user.\n \n- Either arbitary numer of arguments in format `key=value` or --json\n- option containing encoded JSON object can be passed in order to\n- customize behavior of api_token_create action. When both privided,\n- `key=value` will have higher precedence and will replace\n- corresponding keys from --json object.\n+ Arbitrary fields can be passed in the form `key=value` or using\n+ the --json option, containing a JSON encoded object. When both provided,\n+ `key=value` fields will take precedence and will replace the\n+ corresponding keys from the --json object.\n \n- Example::\n+ Example:\n \n ckan user token add john_doe new_token x=y --json '{\"prop\": \"value\"}'\n \n \"\"\"\n+ data_dict = json.loads(json_str)\n for chunk in extras:\n try:\n key, value = chunk.split(u\"=\")\n except ValueError:\n error_shout(\n- u\"Extras must be passed in `key=value` format. Got: {}\".format(\n+ u\"Extras must be passed as `key=value`. Got: {}\".format(\n chunk\n )\n )\n raise click.Abort()\n- json[key] = value\n- json.update({u\"user\": username, u\"name\": token_name})\n+ data_dict[key] = value\n+\n+ data_dict.update({u\"user\": username, u\"name\": token_name})\n try:\n- token = plugin.toolkit.get_action(u\"api_token_create\")(\n- {u\"ignore_auth\": True}, json\n+ token = logic.get_action(u\"api_token_create\")(\n+ {u\"ignore_auth\": True}, data_dict\n )\n- except plugin.toolkit.ObjectNotFound as e:\n+ except logic.NotFound as e:\n error_shout(e)\n raise click.Abort()\n if not quiet:\n@@ -209,8 +215,8 @@ def add_token(username, token_name, extras, json, quiet):\n \n @token.command(u\"revoke\")\n @click.argument(u\"id\")\n-def revoke_token(id):\n- u\"\"\"Remove API Token with the given ID\"\"\"\n+def revoke_token(id: str):\n+ \"\"\"Remove API Token with the given ID\"\"\"\n if not model.ApiToken.revoke(id):\n error_shout(u\"API Token not found\")\n raise click.Abort()\n@@ -219,13 +225,13 @@ def revoke_token(id):\n \n @token.command(u\"list\")\n @click.argument(u\"username\")\n-def list_tokens(username):\n- u\"\"\"List all API Tokens for the given user\"\"\"\n+def list_tokens(username: str):\n+ \"\"\"List all API Tokens for the given user\"\"\"\n try:\n- tokens = plugin.toolkit.get_action(u\"api_token_list\")(\n+ tokens = logic.get_action(u\"api_token_list\")(\n {u\"ignore_auth\": True}, {u\"user\": username}\n )\n- except plugin.toolkit.ObjectNotFound as e:\n+ except logic.NotFound as e:\n error_shout(e)\n raise click.Abort()\n if not tokens:\n@@ -236,21 +242,9 @@ def list_tokens(username):\n for token in tokens:\n last_access = token[u\"last_access\"]\n if last_access:\n- accessed = plugin.toolkit.h.date_str_to_datetime(last_access)\n- if six.PY2:\n- \"\"\"\n- Strip out microseconds to force formatting as isoformat doesnt\n- have a timespec param on Python 2.\n- \"\"\"\n- accessed = datetime(\n- accessed.year,\n- accessed.month,\n- accessed.day,\n- accessed.hour,\n- accessed.minute,\n- accessed.second).isoformat(b\" \")\n- else:\n- accessed = accessed.isoformat(u\" \", u\"seconds\")\n+ accessed = h.date_str_to_datetime(\n+ last_access\n+ ).isoformat(u\" \", u\"seconds\")\n \n else:\n accessed = u\"Never\"" + }, + { + "sha": "ed676da0864c7e96e0ef883562092b9277a49a11", + "filename": "ckan/cli/views.py", + "status": "modified", + "additions": 39, + "deletions": 27, + "changes": 66, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fviews.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcli%2Fviews.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcli%2Fviews.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -1,19 +1,24 @@\n # encoding: utf-8\n+from __future__ import annotations\n \n import itertools\n+from typing import Any, Optional\n \n import click\n import json\n \n import ckan.logic as logic\n import ckan.model as model\n import ckan.plugins as p\n+from ckan.common import config\n from ckan.cli import error_shout\n from ckan.lib.datapreview import (\n add_views_to_dataset_resources,\n get_view_plugins,\n get_default_view_plugins,\n )\n+from ckan.plugins import plugin_loaded\n+from ckan.types import Context\n \n \n _page_size = 100\n@@ -33,32 +38,31 @@ def views():\n @click.option(u\"-s\", u\"--search\")\n @click.option(u\"-y\", u\"--yes\", is_flag=True)\n @click.pass_context\n-def create(ctx, types, dataset, no_default_filters, search, yes):\n+def create(ctx: click.Context, types: list[str], dataset: list[str],\n+ no_default_filters: bool, search: str, yes: bool):\n \"\"\"Create views on relevant resources. You can optionally provide\n- specific view types (eg `recline_view`, `image_view`). If no types\n+ specific view types (eg `datatables_view`, `image_view`). If no types\n are provided, the default ones will be used. These are generally\n the ones defined in the `ckan.views.default_views` config option.\n- Note that on either case, plugins must be loaded (ie added to\n+ Note that in either case, plugins must be loaded (ie added to\n `ckan.plugins`), otherwise the command will stop.\n \n \"\"\"\n \n- datastore_enabled = (\n- u\"datastore\" in p.toolkit.config[u\"ckan.plugins\"].split()\n- )\n-\n flask_app = ctx.meta['flask_app']\n+ datastore_active = plugin_loaded(\"datastore\")\n with flask_app.test_request_context():\n- loaded_view_plugins = _get_view_plugins(types, datastore_enabled)\n+ loaded_view_plugins = _get_view_plugins(types, datastore_active)\n if loaded_view_plugins is None:\n return\n site_user = logic.get_action(u\"get_site_user\")({u\"ignore_auth\": True}, {})\n- context = {u\"user\": site_user[u\"name\"]}\n+ context: Context = {u\"user\": site_user[u\"name\"]}\n \n page = 1\n while True:\n query = _search_datasets(\n- context, page, loaded_view_plugins, dataset, search, no_default_filters\n+ context, page, loaded_view_plugins,\n+ dataset, search, no_default_filters\n )\n if query is None:\n return\n@@ -116,7 +120,7 @@ def create(ctx, types, dataset, no_default_filters, search, yes):\n @views.command()\n @click.argument(u\"types\", nargs=-1)\n @click.option(u\"-y\", u\"--yes\", is_flag=True)\n-def clear(types, yes):\n+def clear(types: list[str], yes: bool):\n \"\"\"Permanently delete all views or the ones with the provided types.\n \n \"\"\"\n@@ -133,7 +137,7 @@ def clear(types, yes):\n \n site_user = logic.get_action(u\"get_site_user\")({u\"ignore_auth\": True}, {})\n \n- context = {u\"user\": site_user[u\"name\"]}\n+ context: Context = {u\"user\": site_user[u\"name\"]}\n logic.get_action(u\"resource_view_clear\")(context, {u\"view_types\": types})\n \n click.secho(u\"Done\", fg=u\"green\")\n@@ -142,7 +146,7 @@ def clear(types, yes):\n @views.command()\n @click.option(u\"-y\", u\"--yes\", is_flag=True)\n @click.pass_context\n-def clean(ctx, yes):\n+def clean(ctx: click.Context, yes: bool):\n \"\"\"Permanently delete views for all types no longer present in the\n `ckan.plugins` configuration option.\n \n@@ -162,16 +166,18 @@ def clean(ctx, yes):\n for row in results:\n click.secho(u\"%s of type %s\" % (row[1], row[0]))\n \n- yes or click.confirm(\n- u\"Do you want to delete these resource views?\", abort=True\n- )\n+ if not yes:\n+ click.confirm(\n+ u\"Do you want to delete these resource views?\", abort=True\n+ )\n \n model.ResourceView.delete_not_in_view_types(names)\n model.Session.commit()\n click.secho(u\"Deleted resource views.\", fg=u\"green\")\n \n \n-def _get_view_plugins(view_plugin_types, get_datastore_views=False):\n+def _get_view_plugins(view_plugin_types: list[str],\n+ get_datastore_views: bool = False):\n \"\"\"Returns the view plugins that were succesfully loaded\n \n Views are provided as a list of ``view_plugin_types``. If no types\n@@ -217,14 +223,18 @@ def _get_view_plugins(view_plugin_types, get_datastore_views=False):\n \n \n def _search_datasets(\n- context={}, page=1, view_types=[], dataset=[], search=u\"\",\n- no_default_filters=False\n+ context: Context,\n+ page: int = 1, view_types: Optional[list[str]] = None,\n+ dataset: Optional[list[str]] = None, search: str = u\"\",\n+ no_default_filters: bool = False\n ):\n \"\"\"\n Perform a query with `package_search` and return the result\n \n Results can be paginated using the `page` parameter\n \"\"\"\n+ if not view_types:\n+ view_types = []\n \n n = _page_size\n \n@@ -259,12 +269,13 @@ def _search_datasets(\n if not search_data_dict.get(u\"q\"):\n search_data_dict[u\"q\"] = u\"*:*\"\n \n- query = p.toolkit.get_action(u\"package_search\")(context, search_data_dict)\n+ query = logic.get_action(u\"package_search\")(context, search_data_dict)\n \n return query\n \n \n-def _add_default_filters(search_data_dict, view_types):\n+def _add_default_filters(search_data_dict: dict[str, Any],\n+ view_types: list[str]):\n \"\"\"\n Adds extra filters to the `package_search` dict for common view types\n \n@@ -283,20 +294,20 @@ def _add_default_filters(search_data_dict, view_types):\n modified with extra filters.\n \"\"\"\n \n- from ckanext.imageview.plugin import DEFAULT_IMAGE_FORMATS\n from ckanext.textview.plugin import get_formats as get_text_formats\n- from ckanext.datapusher.plugin import DEFAULT_FORMATS as datapusher_formats\n+ datapusher_formats = config.get(\"ckan.datapusher.formats\")\n \n filter_formats = []\n \n for view_type in view_types:\n if view_type == u\"image_view\":\n-\n- for _format in DEFAULT_IMAGE_FORMATS:\n+ formats = config.get(\n+ \"ckan.preview.image_formats\").split()\n+ for _format in formats:\n filter_formats.extend([_format, _format.upper()])\n \n elif view_type == u\"text_view\":\n- formats = get_text_formats(p.toolkit.config)\n+ formats = get_text_formats(config)\n for _format in itertools.chain.from_iterable(formats.values()):\n filter_formats.extend([_format, _format.upper()])\n \n@@ -329,7 +340,8 @@ def _add_default_filters(search_data_dict, view_types):\n return search_data_dict\n \n \n-def _update_search_params(search_data_dict, search):\n+def _update_search_params(\n+ search_data_dict: dict[str, Any], search: str):\n \"\"\"\n Update the `package_search` data dict with the user provided parameters\n " + }, + { + "sha": "a48115ad1cd00c654ecd41afb32a706496e363b7", + "filename": "ckan/common.py", + "status": "modified", + "additions": 157, + "deletions": 113, + "changes": 270, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcommon.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fcommon.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fcommon.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -7,76 +7,75 @@\n #\n # NOTE: This file is specificaly created for\n # from ckan.common import x, y, z to be allowed\n+from __future__ import annotations\n \n-from collections import MutableMapping\n+import logging\n+from collections.abc import MutableMapping, Iterable\n+\n+from typing import (\n+ Any, Optional, TYPE_CHECKING,\n+ TypeVar, cast, overload, Union)\n+from typing_extensions import Literal\n \n import flask\n-import six\n \n from werkzeug.local import Local, LocalProxy\n \n+from flask_login import current_user as _cu\n+from flask_login import login_user as _login_user, logout_user as _logout_user\n from flask_babel import (gettext as flask_ugettext,\n ngettext as flask_ungettext)\n \n-import simplejson as json\n+import simplejson as json # type: ignore # noqa: re-export\n+import ckan.lib.maintain as maintain\n+from ckan.config.declaration import Declaration\n+from ckan.types import Model\n+\n+\n+if TYPE_CHECKING:\n+ # starting from python 3.7 the following line can be used without any\n+ # conditions after `annotation` import from `__future__`\n+ MutableMapping = MutableMapping[str, Any]\n+\n+SENTINEL = {}\n+\n+log = logging.getLogger(__name__)\n \n-if six.PY2:\n- import pylons\n- from pylons.i18n import (ugettext as pylons_ugettext,\n- ungettext as pylons_ungettext)\n- from pylons import response\n \n-current_app = flask.current_app\n+current_user = cast(Union[\"Model.User\", \"Model.AnonymousUser\"], _cu)\n+login_user = _login_user\n+logout_user = _logout_user\n \n \n+@maintain.deprecated('All web requests are served by Flask', since=\"2.10.0\")\n def is_flask_request():\n u'''\n- A centralized way to determine whether we are in the context of a\n- request being served by Flask or Pylons\n+ This function is deprecated. All CKAN requests are now served by Flask\n '''\n- if six.PY3:\n- return True\n- try:\n- pylons.request.environ\n- pylons_request_available = True\n- except TypeError:\n- pylons_request_available = False\n-\n- return (flask.request and\n- (flask.request.environ.get(u'ckan.app') == u'flask_app' or\n- not pylons_request_available))\n+ return True\n \n \n-def streaming_response(\n- data, mimetype=u'application/octet-stream', with_context=False):\n+def streaming_response(data: Iterable[Any],\n+ mimetype: str = u'application/octet-stream',\n+ with_context: bool = False) -> flask.Response:\n iter_data = iter(data)\n- if is_flask_request():\n- # Removal of context variables for pylon's app is prevented\n- # inside `pylons_app.py`. It would be better to decide on the fly\n- # whether we need to preserve context, but it won't affect performance\n- # in any visible way and we are going to get rid of pylons anyway.\n- # Flask allows to do this in easy way.\n- if with_context:\n- iter_data = flask.stream_with_context(iter_data)\n- resp = flask.Response(iter_data, mimetype=mimetype)\n- else:\n- response.app_iter = iter_data\n- resp = response.headers['Content-type'] = mimetype\n+\n+ if with_context:\n+ iter_data = flask.stream_with_context(iter_data)\n+ resp = flask.Response(iter_data, mimetype=mimetype)\n+\n return resp\n \n \n-def ugettext(*args, **kwargs):\n- return flask_ugettext(*args, **kwargs)\n+def ugettext(*args: Any, **kwargs: Any) -> str:\n+ return cast(str, flask_ugettext(*args, **kwargs))\n \n \n _ = ugettext\n \n \n-def ungettext(*args, **kwargs):\n- if is_flask_request():\n- return flask_ungettext(*args, **kwargs)\n- else:\n- return pylons_ungettext(*args, **kwargs)\n+def ungettext(*args: Any, **kwargs: Any) -> str:\n+ return cast(str, flask_ungettext(*args, **kwargs))\n \n \n class CKANConfig(MutableMapping):\n@@ -89,12 +88,13 @@ class CKANConfig(MutableMapping):\n `load_environment` method with the values of the ini file or env vars.\n \n '''\n+ store: dict[str, Any]\n \n- def __init__(self, *args, **kwargs):\n+ def __init__(self, *args: Any, **kwargs: Any):\n self.store = dict()\n self.update(dict(*args, **kwargs))\n \n- def __getitem__(self, key):\n+ def __getitem__(self, key: str):\n return self.store[key]\n \n def __iter__(self):\n@@ -106,117 +106,88 @@ def __len__(self):\n def __repr__(self):\n return self.store.__repr__()\n \n- def copy(self):\n+ def copy(self) -> dict[str, Any]:\n return self.store.copy()\n \n- def clear(self):\n+ def clear(self) -> None:\n self.store.clear()\n-\n try:\n flask.current_app.config.clear()\n except RuntimeError:\n pass\n \n- if six.PY2:\n- try:\n- pylons.config.clear()\n- # Pylons set this default itself\n- pylons.config[u'lang'] = None\n- except TypeError:\n- pass\n-\n- def __setitem__(self, key, value):\n+ def __setitem__(self, key: str, value: Any):\n self.store[key] = value\n try:\n flask.current_app.config[key] = value\n except RuntimeError:\n pass\n \n- if six.PY2:\n- try:\n- pylons.config[key] = value\n- except TypeError:\n- pass\n-\n- def __delitem__(self, key):\n+ def __delitem__(self, key: str):\n del self.store[key]\n try:\n del flask.current_app.config[key]\n except RuntimeError:\n pass\n \n- if six.PY2:\n- try:\n- del pylons.config[key]\n- except TypeError:\n- pass\n+ def is_declared(self, key: str) -> bool:\n+ return key in config_declaration\n+\n+ def get(self, key: str, default: Any = SENTINEL) -> Any:\n+ \"\"\"Return the value for key if key is in the config, else default.\n+ \"\"\"\n+ if default is SENTINEL:\n+ default = None\n+ is_strict = super().get(\"config.mode\") == \"strict\"\n+ if is_strict and key not in config_declaration:\n+ log.warning(\"Option %s is not declared\", key)\n+\n+ return super().get(key, default)\n \n \n def _get_request():\n- if is_flask_request():\n- return flask.request\n- else:\n- return pylons.request\n+ return flask.request\n \n \n class CKANRequest(LocalProxy):\n u'''Common request object\n \n This is just a wrapper around LocalProxy so we can handle some special\n cases for backwards compatibility.\n-\n- LocalProxy will forward to Flask or Pylons own request objects depending\n- on the output of `_get_request` (which essentially calls\n- `is_flask_request`) and at the same time provide all objects methods to be\n- able to interact with them transparently.\n '''\n \n @property\n+ @maintain.deprecated('Use `request.args` instead of `request.params`',\n+ since=\"2.10.0\")\n def params(self):\n- u''' Special case as Pylons' request.params is used all over the place.\n- All new code meant to be run just in Flask (eg views) should always\n- use request.args\n+ '''This property is deprecated.\n+\n+ Special case as Pylons' request.params is used all over the place. All\n+ new code meant to be run just in Flask (eg views) should always use\n+ request.args\n+\n '''\n- try:\n- return super(CKANRequest, self).params\n- except AttributeError:\n- return self.args\n+ return cast(flask.Request, self).args\n \n \n def _get_c():\n- if is_flask_request():\n- return flask.g\n- else:\n- return pylons.c\n+ return flask.g\n \n \n def _get_session():\n- if is_flask_request():\n- return flask.session\n- else:\n- return pylons.session\n+ return flask.session\n \n \n-local = Local()\n+def asbool(obj: Any) -> bool:\n+ \"\"\"Convert a string (e.g. 1, true, True) into a boolean.\n \n-# This a proxy to the bounded config object\n-local(u'config')\n+ Example::\n \n-# Thread-local safe objects\n-config = local.config = CKANConfig()\n-\n-# Proxies to already thread-local safe objects\n-request = CKANRequest(_get_request)\n-# Provide a `c` alias for `g` for backwards compatibility\n-g = c = LocalProxy(_get_c)\n-session = LocalProxy(_get_session)\n-\n-truthy = frozenset([u'true', u'yes', u'on', u'y', u't', u'1'])\n-falsy = frozenset([u'false', u'no', u'off', u'n', u'f', u'0'])\n+ assert asbool(\"yes\") is True\n \n+ \"\"\"\n \n-def asbool(obj):\n- if isinstance(obj, six.string_types):\n+ if isinstance(obj, str):\n obj = obj.strip().lower()\n if obj in truthy:\n return True\n@@ -227,22 +198,95 @@ def asbool(obj):\n return bool(obj)\n \n \n-def asint(obj):\n+def asint(obj: Any) -> int:\n+ \"\"\"Convert a string into an int.\n+\n+ Example::\n+\n+ assert asint(\"111\") == 111\n+\n+ \"\"\"\n try:\n return int(obj)\n except (TypeError, ValueError):\n raise ValueError(u\"Bad integer value: {}\".format(obj))\n \n \n-def aslist(obj, sep=None, strip=True):\n- if isinstance(obj, six.string_types):\n+T = TypeVar('T')\n+SequenceT = TypeVar('SequenceT', \"list[Any]\", \"tuple[Any]\")\n+\n+\n+@overload\n+def aslist(obj: str,\n+ sep: Optional[str] = None,\n+ strip: bool = True) -> list[str]:\n+ ...\n+\n+\n+@overload\n+def aslist(obj: SequenceT,\n+ sep: Optional[str] = None,\n+ strip: bool = True) -> SequenceT:\n+ ...\n+\n+\n+@overload\n+def aslist(obj: Literal[None],\n+ sep: Optional[str] = None,\n+ strip: bool = True) -> list[str]:\n+ ...\n+\n+\n+def aslist(obj: Any, sep: Optional[str] = None, strip: bool = True) -> Any:\n+ \"\"\"Convert a space-separated string into a list.\n+\n+ Example::\n+\n+ assert aslist(\"a b c\") == [\"a\", \"b\", \"c\"]\n+\n+ \"\"\"\n+\n+ if isinstance(obj, str):\n lst = obj.split(sep)\n if strip:\n lst = [v.strip() for v in lst]\n return lst\n elif isinstance(obj, (list, tuple)):\n- return obj\n+ return cast(Any, obj)\n+ elif isinstance(obj, Iterable):\n+ return list(obj)\n elif obj is None:\n return []\n else:\n return [obj]\n+\n+\n+def repr_untrusted(danger: Any):\n+ \"\"\"\n+ repr-format danger and truncate e.g. for logging untrusted input\n+ \"\"\"\n+ r = repr(danger)\n+ rtrunc = r[:200]\n+ return rtrunc + '…' if r != rtrunc else r\n+\n+\n+local = Local()\n+\n+# This a proxy to the bounded config object\n+local(u'config')\n+\n+# Thread-local safe objects\n+config = local.config = CKANConfig()\n+\n+local(\"config_declaration\")\n+config_declaration = local.config_declaration = Declaration()\n+\n+# Proxies to already thread-local safe objects\n+request = cast(flask.Request, CKANRequest(_get_request))\n+# Provide a `c` alias for `g` for backwards compatibility\n+g: Any = LocalProxy(_get_c)\n+c = g\n+session: Any = LocalProxy(_get_session)\n+\n+truthy = frozenset([u'true', u'yes', u'on', u'y', u't', u'1'])\n+falsy = frozenset([u'false', u'no', u'off', u'n', u'f', u'0'])" + }, + { + "sha": "40a96afc6ff09d58a702b76e3f7dd412fe975e26", + "filename": "ckan/config/__init__.py", + "status": "modified", + "additions": 1, + "deletions": 0, + "changes": 1, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fconfig%2F__init__.py", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fconfig%2F__init__.py", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fconfig%2F__init__.py?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1 @@\n+# -*- coding: utf-8 -*-" + }, + { + "sha": "4c51247b5538c13219ae29eac05881224f031e80", + "filename": "ckan/config/config_declaration.yaml", + "status": "added", + "additions": 1753, + "deletions": 0, + "changes": 1753, + "blob_url": "https://github.com/open-data/ckan/blob/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fconfig%2Fconfig_declaration.yaml", + "raw_url": "https://github.com/open-data/ckan/raw/1055e3c70d9a17a6cca31295c9bb5df332a2a0f8/ckan%2Fconfig%2Fconfig_declaration.yaml", + "contents_url": "https://api.github.com/repos/open-data/ckan/contents/ckan%2Fconfig%2Fconfig_declaration.yaml?ref=1055e3c70d9a17a6cca31295c9bb5df332a2a0f8", + "patch": "@@ -0,0 +1,1753 @@\n+version: 1\n+groups:\n+ # Internal options, that are used/computed by CKAN in runtime\n+ - annotation: ~\n+ options:\n+ - key: __file__\n+ internal: true\n+ - key: here\n+ internal: true\n+ - key: plugin_template_paths\n+ ignored: true\n+ - key: plugin_public_paths\n+ ignored: true\n+ - key: computed_template_paths\n+ ignored: true\n+ - key: clear_logo_upload\n+ ignored: true\n+ - key: logo_upload\n+ ignored: true\n+ - key: ckan.host\n+ ignored: true\n+ - key: testing\n+ ignored: true\n+ type: bool\n+\n+ # Options that are available inside CircleCI containers:\n+ - annotation: ~\n+ options:\n+ - key: CKAN_POSTGRES_USER\n+ internal: true\n+ - key: CKAN_DATASTORE_POSTGRES_WRITE_USER\n+ internal: true\n+ - key: CKAN_DATASTORE_POSTGRES_READ_USER\n+ internal: true\n+ - key: CKAN_POSTGRES_DB\n+ internal: true\n+ - key: CKAN_DATASTORE_POSTGRES_DB\n+ internal: true\n+ - key: CKAN_DATASTORE_POSTGRES_WRITE_PWD\n+ internal: true\n+ - key: CKAN_POSTGRES_PWD\n+ internal: true\n+ - key: CKAN_DATASTORE_POSTGRES_READ_PWD\n+ internal: true\n+\n+ # Flask configuration options\n+ - annotation: ~\n+ options:\n+ - key: APPLICATION_ROOT\n+ internal: true\n+ - key: BABEL_DEFAULT_LOCALE\n+ internal: true\n+ - key: BABEL_DEFAULT_TIMEZONE\n+ ignored: true\n+ - key: BABEL_DOMAIN\n+ ignored: true\n+ - key: BABEL_MULTIPLE_DOMAINS\n+ ignored: true\n+ - key: BABEL_TRANSLATION_DIRECTORIES\n+ ignored: true\n+ - key: CKAN_INI\n+ internal: true\n+ - key: DEBUG\n+ internal: true\n+ - key: ENV\n+ internal: true\n+ - key: EXPLAIN_TEMPLATE_LOADING\n+ internal: true\n+ - key: JSONIFY_MIMETYPE\n+ internal: true\n+ - key: JSONIFY_PRETTYPRINT_REGULAR\n+ internal: true\n+ - key: JSON_AS_ASCII\n+ internal: true\n+ - key: JSON_SORT_KEYS\n+ internal: true\n+ - key: MAX_CONTENT_LENGTH\n+ internal: true\n+ - key: MAX_COOKIE_SIZE\n+ internal: true\n+ - key: PERMANENT_SESSION_LIFETIME\n+ internal: true\n+ - key: PREFERRED_URL_SCHEME\n+ internal: true\n+ - key: PRESERVE_CONTEXT_ON_EXCEPTION\n+ internal: true\n+ - key: PROPAGATE_EXCEPTIONS\n+ internal: true\n+ - key: SECRET_KEY\n+ internal: true\n+ - key: SEND_FILE_MAX_AGE_DEFAULT\n+ internal: true\n+ - key: SERVER_NAME\n+ internal: true\n+ - key: SESSION_COOKIE_DOMAIN\n+ internal: true\n+ - key: SESSION_COOKIE_HTTPONLY\n+ internal: true\n+ - key: SESSION_COOKIE_NAME\n+ internal: true\n+ - key: SESSION_COOKIE_PATH\n+ internal: true\n+ - key: SESSION_COOKIE_SAMESITE\n+ internal: true\n+ - key: SESSION_COOKIE_SECURE\n+ internal: true\n+ - key: SESSION_REFRESH_EACH_REQUEST\n+ internal: true\n+ - key: TEMPLATES_AUTO_RELOAD\n+ internal: true\n+ - key: TESTING\n+ internal: true\n+ - key: TRAP_BAD_REQUEST_ERRORS\n+ internal: true\n+ - key: TRAP_HTTP_EXCEPTIONS\n+ internal: true\n+ - key: USE_X_SENDFILE\n+ internal: true\n+ - key: DEBUG_TB_HOSTS\n+ internal: true\n+ - key: DEBUG_TB_ENABLED\n+ internal: true\n+ - key: DEBUG_TB_INTERCEPT_REDIRECTS\n+ internal: true\n+ - key: DEBUG_TB_PANELS\n+ internal: true\n+\n+ - annotation: Default settings\n+ section: DEFAULT\n+ options:\n+ - key: debug\n+ type: bool\n+ example: 'true'\n+ description: |\n+ This enables the `Flask-DebugToolbar\n+ `_ in the web interface, makes\n+ Webassets serve unminified JS and CSS files, and enables CKAN templates'\n+ debugging features.\n+\n+ You will need to ensure the ``Flask-DebugToolbar`` python package is installed,\n+ by activating your ckan virtual environment and then running::\n+\n+ pip install -r /usr/lib/ckan/default/src/ckan/dev-requirements.txt\n+\n+ If you are running CKAN on Apache, you must change the WSGI\n+ configuration to run a single process of CKAN. Otherwise\n+ the execution will fail with: ``AssertionError: The EvalException\n+ middleware is not usable in a multi-process environment``. Eg. change::\n+\n+ WSGIDaemonProcess ckan_default display-name=ckan_default processes=2 threads=15\n+ to\n+ WSGIDaemonProcess ckan_default display-name=ckan_default threads=15\n+\n+ .. warning:: This option should be set to ``False`` for a public site.\n+ With debug mode enabled, a visitor to your site could execute malicious\n+ commands.\n+\n+ - annotation: General settings\n+ options:\n+ - key: use\n+ placeholder: egg:ckan\n+\n+ - key: ckan.legacy_route_mappings\n+ default: {}\n+ example: '{\"home\": \"home.index\", \"about\": \"home.about\", \"search\": \"dataset.search\"}'\n+ description: |\n+ This can be used when using an extension that is still using old\n+ (Pylons-based) route names to maintain compatibility.\n+\n+ .. warning:: This configuration will be removed when the migration to\n+ Flask is completed. Please update the extension code to use the new\n+ Flask-based route names.\n+\n+ - key: config.mode\n+ default: default\n+ example: strict\n+ description: |\n+ Controls the behavior of application when invalid values detected in\n+ the ``config`` object.\n+\n+ In the ``default`` mode any invalid value is left unprocessed (i.e.,\n+ it remains a ``str``). In addition, every invalid option is reported using\n+ a log record with a ``WARNING`` level.\n+\n+ In the ``strict`` mode, CKAN will not start unless **all** config\n+ options are valid according to the validators defined in the\n+ configuration declaration. For every invalid config option, an error will be\n+ printed to the output stream.\n+\n+ - annotation: Development settings\n+ options:\n+ - key: ckan.devserver.host\n+ default: localhost\n+ example: '0.0.0.0'\n+ description: Host name to use when running the development server.\n+ - key: ckan.devserver.port\n+ type: int\n+ default: 5000\n+ example: 5005\n+ description: Port to use when running the development server.\n+ - key: ckan.devserver.threaded\n+ type: bool\n+ example: 'true'\n+ description: Controls whether the development server should handle each request in a separate thread.\n+ - key: ckan.devserver.multiprocess\n+ type: int\n+ default: 1\n+ example: 8\n+ description: |\n+ If greater than 1 then the development server will handle each request in a new process, up to this\n+ maximum number of concurrent processes.\n+ - key: ckan.devserver.watch_patterns\n+ type: list\n+ example: 'mytheme/**/*.yaml mytheme/**/*.json'\n+ description: |\n+ A list of files the reloader should watch to restart the development server, in addition to the\n+ Python modules (for example configuration files)\n+\n+ - key: ckan.devserver.ssl_cert\n+ example: path/to/host.cert\n+ description: |\n+ Path to a certificate file that will be used to enable SSL (ie to serve the\n+ local development server on https://localhost:5000). You can generate a\n+ self-signed certificate and key (see :ref:`ckan.devserver.ssl_key`) running\n+ the following commands::\n+\n+ openssl genrsa 2048 > host.key\n+ chmod 400 host.key\n+ openssl req -new -x509 -nodes -sha256 -days 3650 -key host.key > host.cert\n+\n+ After that you can run CKAN locally with SSL using this command::\n+\n+ ckan -c /path/to/ckan.ini run --ssl-cert=/path/to/host.cert --ssl-key=/path/to/host.key\n+\n+ Alternatively, setting this option to ``adhoc`` will automatically generate a new\n+ certificate file (on each server reload, which means that you'll get a browser warning\n+ about the certificate on each reload).\n+\n+ - key: ckan.devserver.ssl_key\n+ example: path/to/host.key\n+ description: |\n+ Path to a certificate file that will be used to enable SSL (ie to serve the\n+ local development server on https://localhost:5000). See :ref:`ckan.devserver.ssl_cert`\n+ for more details. This option also supports the ``adhoc`` value, with the same caveat.\n+\n+ - annotation: Session settings\n+ options:\n+ - key: ckan.user.last_active_interval\n+ type: int\n+ default: 600\n+ description: |\n+ The number of seconds between requests to record the last time a user was active on the site.\n+ - key: cache_dir\n+ placeholder: \"/tmp/%(ckan.site_id)s\"\n+ - key: beaker.session.key\n+ default: ckan\n+ description: Name of the cookie key used to save the session under.\n+ - key: beaker.session.secret\n+ required: true\n+ placeholder_callable: secrets:token_urlsafe\n+ callable_args:\n+ nbytes: 20\n+ description: |\n+ This is the secret token that the beaker library uses to hash the\n+ cookie sent to the client. `ckan generate config` generates a unique\n+ value for this each time it generates a config file. When used in a\n+ cluster environment, the value must be the same on every machine.\n+ - key: beaker.session.auto\n+ type: bool\n+ default: False\n+ description: |\n+ When set to True, the session will save itself anytime it is accessed during a request,\n+ negating the need to issue the save() method.\n+\n+ - key: beaker.session.cookie_expires\n+ type: bool\n+ description: |\n+ Determines when the cookie used to track the client-side of the session will expire.\n+ When set to a boolean value, it will either expire at the end of the browsers session, or never expire.\n+ Setting to a datetime forces a hard ending time for the session (generally used for setting a session to a far off date).\n+ Setting to an integer will result in the cookie being set to expire in that many seconds.\n+ I.e. a value of 300 will result in the cookie being set to expire in 300 seconds.\n+ Defaults to never expiring.\n+\n+ - key: beaker.session.cookie_domain\n+ commented: true\n+ placeholder: .example.com\n+ description: |\n+ What domain the cookie should be set to. When using sub-domains,\n+ this should be set to the main domain the cookie should be valid for. For example,\n+ if a cookie should be valid under www.nowhere.com and files.nowhere.com then it should be set to .nowhere.com.\n+ Defaults to the current domain in its entirety.\n+\n+ - key: beaker.session.save_accessed_time\n+ type: bool\n+ default: True\n+ description: Whether beaker should save the session's access time (true) or only modification time (false).\n+\n+ - key: beaker.session.secure\n+ type: bool\n+ description: |\n+ Whether or not the session cookie should be marked as secure. When marked as secure,\n+ browsers are instructed to not send the cookie over anything other than an SSL connection.\n+\n+ - key: beaker.session.timeout\n+ validators: int_validator\n+ description: |\n+ Seconds until the session is considered invalid, after which it will be ignored and invalidated.\n+ This number is based on the time since the session was last accessed, not from when the session was created.\n+ Defaults to never expiring.\n+ Requires that save_accessed_time be true.\n+\n+ - key: beaker.session.type\n+ default: cookie\n+ description: |\n+ The type of session to use. The default is cookie, which uses a cookie to store the session id.\n+ Other options include file, which stores the session id in a file, and dbm, which stores the session id in a dbm file.\n+ The dbm option is not recommended as it is not thread-safe.\n+\n+ - key: beaker.session.validate_key\n+ validators: configured_default(\"beaker.session.secret\",None) not_empty\n+ placeholder_callable: secrets:token_urlsafe\n+ callable_args:\n+ nbytes: 20\n+ description: |\n+ This is the secret token that is used to sign the local encrypted session.\n+ `ckan generate config` generates a unique\n+ value for this each time it generates a config file. When used in a\n+ cluster environment, the value must be the same on every machine.\n+\n+ - key: beaker.session.httponly\n+ type: bool\n+ default: True\n+ description: |\n+ Whether or not the session cookie should be marked as http only. When marked as http only,\n+ browsers are instructed to not allow javascript access to the cookie.\n+\n+ - key: beaker.session.samesite\n+ default: Lax\n+ validators: OneOf([\"Strict\",\"Lax\",\"None\"])\n+ description: |\n+ Whether or not the session cookie should be marked as SameSite. When marked as SameSite,\n+ browsers are instructed to not send the cookie with cross-site requests.\n+ The value can be \"Strict\", \"Lax\" or \"None\".\n+\n+ - annotation: Database settings\n+ options:\n+ - key: sqlalchemy.url\n+ placeholder: postgresql://ckan_default:pass@localhost/ckan_default\n+ required: true\n+ example: postgres://tester:pass@localhost/ckantest3\n+ description: |\n+ This defines the database that CKAN is to use. The format is::\n+\n+ sqlalchemy.url = postgres://USERNAME:PASSWORD@HOST/DBNAME\n+\n+ - key: sqlalchemy.pool_pre_ping\n+ type: bool\n+ default: true\n+\n+ - key: sqlalchemy.