)]}'
{"keystone/assignment/backends/sql.py":[{"author":{"_account_id":16465,"name":"Kristi Nikolla","email":"knikolla@bu.edu","username":"knikolla"},"change_message_id":"f08db1531c5ed591387617630f175843ce4e3fd1","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            q \u003d q.filter_by(target_id\u003ddomain_id).filter("},{"line_number":83,"context_line":"                (RoleAssignment.type \u003d\u003d AssignmentType.USER_DOMAIN) |"},{"line_number":84,"context_line":"                (RoleAssignment.type \u003d\u003d AssignmentType.GROUP_DOMAIN))"},{"line_number":85,"context_line":"        else:"},{"line_number":86,"context_line":"            q \u003d q.filter_by(target_id\u003dproject_id).filter("},{"line_number":87,"context_line":"                (RoleAssignment.type \u003d\u003d AssignmentType.USER_PROJECT) |"},{"line_number":88,"context_line":"                (RoleAssignment.type \u003d\u003d AssignmentType.GROUP_PROJECT))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_9dd5e3ba","line":85,"range":{"start_line":85,"start_character":8,"end_line":85,"end_character":13},"updated":"2020-08-11 12:52:17.000000000","message":"would there be a case where we are passing here neither domain_id nor project_id?","commit_id":"28faa24e68467f7c10e00e433fec61914e172ca1"},{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"ac56c2405e5f342caf5d5d57b60db8cb807d6dcb","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            q \u003d q.filter_by(target_id\u003ddomain_id).filter("},{"line_number":83,"context_line":"                (RoleAssignment.type \u003d\u003d AssignmentType.USER_DOMAIN) |"},{"line_number":84,"context_line":"                (RoleAssignment.type \u003d\u003d AssignmentType.GROUP_DOMAIN))"},{"line_number":85,"context_line":"        else:"},{"line_number":86,"context_line":"            q \u003d q.filter_by(target_id\u003dproject_id).filter("},{"line_number":87,"context_line":"                (RoleAssignment.type \u003d\u003d AssignmentType.USER_PROJECT) |"},{"line_number":88,"context_line":"                (RoleAssignment.type \u003d\u003d AssignmentType.GROUP_PROJECT))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_91078c19","line":85,"range":{"start_line":85,"start_character":8,"end_line":85,"end_character":13},"in_reply_to":"9f560f44_9dd5e3ba","updated":"2020-08-11 16:31:00.000000000","message":"This filter function is called while checking or removing a grant.To perform these there are mandatory parameters role_id, user_id to check/remove grant on project_id or domain_id and group_id to check/remove grant on project_id or domain_id. I dont see any use case with neither of project_id or domain_id here. It\u0027s mandatory to pass domain or project.","commit_id":"28faa24e68467f7c10e00e433fec61914e172ca1"}],"keystone/tests/unit/test_v3_assignment.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"fd7766a30a0fb3d3a082915512bbb95cab730899","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from keystone.resource.backends import base as resource_base"},{"line_number":25,"context_line":"from keystone.tests import unit"},{"line_number":26,"context_line":"from keystone.tests.unit import test_v3"},{"line_number":27,"context_line":"from keystone.tests.unit import utils as test_utils"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"CONF \u003d keystone.conf.CONF"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_a5ef691c","line":27,"updated":"2020-06-22 09:05:27.000000000","message":"pep8: F401 \u0027keystone.tests.unit.utils as test_utils\u0027 imported but unused","commit_id":"f98187f643da277743928aed2888238baf8770f1"}],"releasenotes/notes/bug-1754677-13ee75ed1b473f26.yaml":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"6ed93876fa9f9f54784b407d5c9644ae07607c38","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - \u003e"},{"line_number":4,"context_line":"    [`bug 1754677 \u003chttps://bugs.launchpad.net/keystone/+bug/1754677\u003e`_]"},{"line_number":5,"context_line":"    When you setup a user with a role assignment on a domain and then a role"},{"line_number":6,"context_line":"    assignment on a project \"acting as a domain\", you can\u0027t actually remove them."},{"line_number":7,"context_line":"    This fixes it by filtering the query by \"type\" i.e either a USER_DOMAIN or"},{"line_number":8,"context_line":"    a USER_PROJECT in role assignment table."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_aacb6d1b","line":7,"range":{"start_line":6,"start_character":50,"end_line":7,"end_character":17},"updated":"2020-08-25 21:09:33.000000000","message":"(nit) release notes appear as a series of notes all grouped together describing the release as a whole, not alongside the code that fixes the bugs, so it would be better to refer to the bug in the past tense, i.e. this used to be a problem but it\u0027s now fixed in this release.","commit_id":"28faa24e68467f7c10e00e433fec61914e172ca1"}]}
