)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":35548,"name":"Antonia Gaete","email":"antoniagaete@osuosl.org","username":"antoniagaete"},"change_message_id":"e0c438c6876924c7ffda9b9d50bb341737f26ae2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"68572a35_0189e68f","updated":"2024-11-07 18:51:10.000000000","message":"TO DO: move the code to the endpoint resource","commit_id":"806bdbd4fc981f2dd285898ea37cbadf132ccef8"},{"author":{"_account_id":36482,"name":"Oria Weng","display_name":"0weng","email":"oweng@osuosl.org","username":"0weng"},"change_message_id":"2b01fb646583797dafefff3e8ac4b81df798fe5d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8c098651_890534c3","updated":"2025-01-28 21:17:21.000000000","message":"recheck","commit_id":"6c52edae93821406838e8b11ebc1fb2f270ea964"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"de4e20eb79b246c7ceea4540a9d969d52ea4720c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"dfba7be8_451d5c36","updated":"2024-12-18 15:43:16.000000000","message":"recheck timeout","commit_id":"6c52edae93821406838e8b11ebc1fb2f270ea964"}],"openstack/identity/v3/_proxy.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"db208467674bd3004c5fc99a9bb1b1f9e9c79585","unresolved":true,"context_lines":[{"line_number":732,"context_line":"        \"\"\""},{"line_number":733,"context_line":"        return self._update(_project.Project, project, **attrs)"},{"line_number":734,"context_line":""},{"line_number":735,"context_line":"    def create_endpoint_association(self, project, endpoint):"},{"line_number":736,"context_line":"        \"\"\"Creates a direct association between project_id and endpoint_id"},{"line_number":737,"context_line":""},{"line_number":738,"context_line":"        :param project: Either the ID of a project or a"},{"line_number":739,"context_line":"            :class:`~openstack.identity.v3.project.Project` instance."},{"line_number":740,"context_line":"        :param endpoint: Either the ID of an endpoint or a"},{"line_number":741,"context_line":"            :class:`~openstack.identity.v3.endpoint.Endpoint` instance."},{"line_number":742,"context_line":"        \"\"\""},{"line_number":743,"context_line":"        return self._create("},{"line_number":744,"context_line":"            _project.EndpointAssociation,"},{"line_number":745,"context_line":"            project_id\u003dproject,"},{"line_number":746,"context_line":"            endpoint_id\u003dendpoint,"},{"line_number":747,"context_line":"        )"},{"line_number":748,"context_line":""},{"line_number":749,"context_line":"    def delete_endpoint_association(self, project, endpoint):"},{"line_number":750,"context_line":"        \"\"\"Removes a direct association between project_id and endpoint_id"},{"line_number":751,"context_line":""},{"line_number":752,"context_line":"        :param project: Either the ID of a project or a"},{"line_number":753,"context_line":"            :class:`~openstack.identity.v3.project.Project` instance."},{"line_number":754,"context_line":"        :param endpoint: Either the ID of an endpoint or a"},{"line_number":755,"context_line":"            :class:`~openstack.identity.v3.endpoint.Endpoint` instance."},{"line_number":756,"context_line":"        \"\"\""},{"line_number":757,"context_line":"        return self._delete("},{"line_number":758,"context_line":"            _project.EndpointAssociation,"},{"line_number":759,"context_line":"            project_id\u003dproject,"},{"line_number":760,"context_line":"            endpoint_id\u003dendpoint,"},{"line_number":761,"context_line":"        )"},{"line_number":762,"context_line":""},{"line_number":763,"context_line":"    def check_endpoint_association(self, project, endpoint):"},{"line_number":764,"context_line":"        \"\"\"Verifies the existence of an association between project_id and endpoint_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"14e9a203_83796b15","line":761,"range":{"start_line":735,"start_character":0,"end_line":761,"end_character":9},"updated":"2024-11-08 15:55:38.000000000","message":"I said this in the next file, but personally I would focus on listing project endpoints first (since that\u0027s the simple case) and tackle this in another patch. You can work on both at the same time in the same branch: just use separate commits.","commit_id":"806bdbd4fc981f2dd285898ea37cbadf132ccef8"},{"author":{"_account_id":35548,"name":"Antonia Gaete","email":"antoniagaete@osuosl.org","username":"antoniagaete"},"change_message_id":"e9300cd340db0492d42ec6018ddcc0790edf2c81","unresolved":true,"context_lines":[{"line_number":732,"context_line":"        \"\"\""},{"line_number":733,"context_line":"        return self._update(_project.Project, project, **attrs)"},{"line_number":734,"context_line":""},{"line_number":735,"context_line":"    def create_endpoint_association(self, project, endpoint):"},{"line_number":736,"context_line":"        \"\"\"Creates a direct association between project_id and endpoint_id"},{"line_number":737,"context_line":""},{"line_number":738,"context_line":"        :param project: Either the ID of a project or a"},{"line_number":739,"context_line":"            :class:`~openstack.identity.v3.project.Project` instance."},{"line_number":740,"context_line":"        :param endpoint: Either the ID of an endpoint or a"},{"line_number":741,"context_line":"            :class:`~openstack.identity.v3.endpoint.Endpoint` instance."},{"line_number":742,"context_line":"        \"\"\""},{"line_number":743,"context_line":"        return self._create("},{"line_number":744,"context_line":"            _project.EndpointAssociation,"},{"line_number":745,"context_line":"            project_id\u003dproject,"},{"line_number":746,"context_line":"            endpoint_id\u003dendpoint,"},{"line_number":747,"context_line":"        )"},{"line_number":748,"context_line":""},{"line_number":749,"context_line":"    def delete_endpoint_association(self, project, endpoint):"},{"line_number":750,"context_line":"        \"\"\"Removes a direct association between project_id and endpoint_id"},{"line_number":751,"context_line":""},{"line_number":752,"context_line":"        :param project: Either the ID of a project or a"},{"line_number":753,"context_line":"            :class:`~openstack.identity.v3.project.Project` instance."},{"line_number":754,"context_line":"        :param endpoint: Either the ID of an endpoint or a"},{"line_number":755,"context_line":"            :class:`~openstack.identity.v3.endpoint.Endpoint` instance."},{"line_number":756,"context_line":"        \"\"\""},{"line_number":757,"context_line":"        return self._delete("},{"line_number":758,"context_line":"            _project.EndpointAssociation,"},{"line_number":759,"context_line":"            project_id\u003dproject,"},{"line_number":760,"context_line":"            endpoint_id\u003dendpoint,"},{"line_number":761,"context_line":"        )"},{"line_number":762,"context_line":""},{"line_number":763,"context_line":"    def check_endpoint_association(self, project, endpoint):"},{"line_number":764,"context_line":"        \"\"\"Verifies the existence of an association between project_id and endpoint_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"2b2f6427_428b7f6f","line":761,"range":{"start_line":735,"start_character":0,"end_line":761,"end_character":9},"in_reply_to":"14e9a203_83796b15","updated":"2024-12-10 21:01:19.000000000","message":"Is that handled by https://review.opendev.org/c/openstack/openstacksdk/+/934364?","commit_id":"806bdbd4fc981f2dd285898ea37cbadf132ccef8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fdb747a6746ca65a1886a064866ba97bc0ff1021","unresolved":false,"context_lines":[{"line_number":732,"context_line":"        \"\"\""},{"line_number":733,"context_line":"        return self._update(_project.Project, project, **attrs)"},{"line_number":734,"context_line":""},{"line_number":735,"context_line":"    def create_endpoint_association(self, project, endpoint):"},{"line_number":736,"context_line":"        \"\"\"Creates a direct association between project_id and endpoint_id"},{"line_number":737,"context_line":""},{"line_number":738,"context_line":"        :param project: Either the ID of a project or a"},{"line_number":739,"context_line":"            :class:`~openstack.identity.v3.project.Project` instance."},{"line_number":740,"context_line":"        :param endpoint: Either the ID of an endpoint or a"},{"line_number":741,"context_line":"            :class:`~openstack.identity.v3.endpoint.Endpoint` instance."},{"line_number":742,"context_line":"        \"\"\""},{"line_number":743,"context_line":"        return self._create("},{"line_number":744,"context_line":"            _project.EndpointAssociation,"},{"line_number":745,"context_line":"            project_id\u003dproject,"},{"line_number":746,"context_line":"            endpoint_id\u003dendpoint,"},{"line_number":747,"context_line":"        )"},{"line_number":748,"context_line":""},{"line_number":749,"context_line":"    def delete_endpoint_association(self, project, endpoint):"},{"line_number":750,"context_line":"        \"\"\"Removes a direct association between project_id and endpoint_id"},{"line_number":751,"context_line":""},{"line_number":752,"context_line":"        :param project: Either the ID of a project or a"},{"line_number":753,"context_line":"            :class:`~openstack.identity.v3.project.Project` instance."},{"line_number":754,"context_line":"        :param endpoint: Either the ID of an endpoint or a"},{"line_number":755,"context_line":"            :class:`~openstack.identity.v3.endpoint.Endpoint` instance."},{"line_number":756,"context_line":"        \"\"\""},{"line_number":757,"context_line":"        return self._delete("},{"line_number":758,"context_line":"            _project.EndpointAssociation,"},{"line_number":759,"context_line":"            project_id\u003dproject,"},{"line_number":760,"context_line":"            endpoint_id\u003dendpoint,"},{"line_number":761,"context_line":"        )"},{"line_number":762,"context_line":""},{"line_number":763,"context_line":"    def check_endpoint_association(self, project, endpoint):"},{"line_number":764,"context_line":"        \"\"\"Verifies the existence of an association between project_id and endpoint_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"95b607f3_bdc6233e","line":761,"range":{"start_line":735,"start_character":0,"end_line":761,"end_character":9},"in_reply_to":"2b2f6427_428b7f6f","updated":"2024-12-16 18:30:21.000000000","message":"Oh, so it is.\n\nWe probably want to rebase this on top of that since they add the same resource class, `ProjectEndpoint`.","commit_id":"806bdbd4fc981f2dd285898ea37cbadf132ccef8"},{"author":{"_account_id":35548,"name":"Antonia Gaete","email":"antoniagaete@osuosl.org","username":"antoniagaete"},"change_message_id":"e9300cd340db0492d42ec6018ddcc0790edf2c81","unresolved":true,"context_lines":[{"line_number":414,"context_line":"        \"\"\""},{"line_number":415,"context_line":"        return self._update(_endpoint.Endpoint, endpoint, **attrs)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    # FIXME: how is an endpoint/project association created? I guess I am"},{"line_number":418,"context_line":"    #       not understanding on the _create() method works its magic to"},{"line_number":419,"context_line":"    #       associate them."},{"line_number":420,"context_line":"    # def add_endpoint_project_association(self, endpoint, project):"}],"source_content_type":"text/x-python","patch_set":3,"id":"4be02345_13733b9d","line":417,"updated":"2024-12-10 21:01:19.000000000","message":"I apologize for the commented-out code, but the _create() line is failing due to having too many arguments. Is this the correct method to use?","commit_id":"b051798577c47d5d68bba8e1fc4371bffdfe4ee6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"46873f5fcdaec4403e0e19832ee62b806cbd9e85","unresolved":false,"context_lines":[{"line_number":414,"context_line":"        \"\"\""},{"line_number":415,"context_line":"        return self._update(_endpoint.Endpoint, endpoint, **attrs)"},{"line_number":416,"context_line":""},{"line_number":417,"context_line":"    # FIXME: how is an endpoint/project association created? I guess I am"},{"line_number":418,"context_line":"    #       not understanding on the _create() method works its magic to"},{"line_number":419,"context_line":"    #       associate them."},{"line_number":420,"context_line":"    # def add_endpoint_project_association(self, endpoint, project):"}],"source_content_type":"text/x-python","patch_set":3,"id":"6da08309_16337a0c","line":417,"in_reply_to":"4be02345_13733b9d","updated":"2024-12-17 13:15:07.000000000","message":"Yeah, this wouldn\u0027t work. create expects either a `POST` or `PUT` request with a body, but this API expects a `PUT` request with no body. We have to go ad-hoc here, unfortunately.","commit_id":"b051798577c47d5d68bba8e1fc4371bffdfe4ee6"}],"openstack/identity/v3/project.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"db208467674bd3004c5fc99a9bb1b1f9e9c79585","unresolved":true,"context_lines":[{"line_number":134,"context_line":"            return True"},{"line_number":135,"context_line":"        return False"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def check_endpoint_association(self, session, endpoint):"},{"line_number":138,"context_line":"        \"\"\"Check whether endpoint is associated with project\"\"\""},{"line_number":139,"context_line":"        url \u003d utils.urljoin(self.base_path, self.id, \u0027endpoints\u0027, endpoint.id)"},{"line_number":140,"context_line":"        resp \u003d session.head("},{"line_number":141,"context_line":"            url,"},{"line_number":142,"context_line":"        )"},{"line_number":143,"context_line":"        if resp.status_code \u003d\u003d 204:"},{"line_number":144,"context_line":"            return True"},{"line_number":145,"context_line":"        return False"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"class UserProject(Project):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fca3c5f_d544620a","line":145,"range":{"start_line":137,"start_character":0,"end_line":145,"end_character":20},"updated":"2024-11-08 15:55:38.000000000","message":"You shouldn\u0027t need to implement this. You can just call `.head(session)` on an instance of the `ProjectEndpoint` (post-renaming) class below. `head` is a method of the parent `Resource` class.","commit_id":"806bdbd4fc981f2dd285898ea37cbadf132ccef8"},{"author":{"_account_id":35548,"name":"Antonia Gaete","email":"antoniagaete@osuosl.org","username":"antoniagaete"},"change_message_id":"e9300cd340db0492d42ec6018ddcc0790edf2c81","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            return True"},{"line_number":135,"context_line":"        return False"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def check_endpoint_association(self, session, endpoint):"},{"line_number":138,"context_line":"        \"\"\"Check whether endpoint is associated with project\"\"\""},{"line_number":139,"context_line":"        url \u003d utils.urljoin(self.base_path, self.id, \u0027endpoints\u0027, endpoint.id)"},{"line_number":140,"context_line":"        resp \u003d session.head("},{"line_number":141,"context_line":"            url,"},{"line_number":142,"context_line":"        )"},{"line_number":143,"context_line":"        if resp.status_code \u003d\u003d 204:"},{"line_number":144,"context_line":"            return True"},{"line_number":145,"context_line":"        return False"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"class UserProject(Project):"}],"source_content_type":"text/x-python","patch_set":2,"id":"a17345f5_6abbda1c","line":145,"range":{"start_line":137,"start_character":0,"end_line":145,"end_character":20},"in_reply_to":"3fca3c5f_d544620a","updated":"2024-12-10 21:01:19.000000000","message":"Done","commit_id":"806bdbd4fc981f2dd285898ea37cbadf132ccef8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"542ade62bc2dfca4cca7ae5aa0e96ec9220a4215","unresolved":true,"context_lines":[{"line_number":158,"context_line":"    allow_list \u003d True"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"class EndpointAssociation(Project):"},{"line_number":162,"context_line":"    base_path \u003d \u0027/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}\u0027"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    #: The ID for the endpoint from the URI of the resource"}],"source_content_type":"text/x-python","patch_set":2,"id":"e268b361_228610c6","line":161,"range":{"start_line":161,"start_character":6,"end_line":161,"end_character":25},"updated":"2024-11-08 15:52:29.000000000","message":"If you were implementing a way to get all projects associated with an endpoint then I would suggest renaming this to `EndpointProject`. However, I\u0027ve already done that [here](https://review.opendev.org/c/openstack/openstacksdk/+/934161). I would suggest instead that implement a way to get all endpoints associate with a project (i.e. the reverse). I would move this to `endpoint.py` in this directory and change this to:\n\n```suggestion\nclass ProjectEndpoint(Endpoint):\n```\n\nThere are some other changes below.","commit_id":"806bdbd4fc981f2dd285898ea37cbadf132ccef8"},{"author":{"_account_id":35548,"name":"Antonia Gaete","email":"antoniagaete@osuosl.org","username":"antoniagaete"},"change_message_id":"e9300cd340db0492d42ec6018ddcc0790edf2c81","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    allow_list \u003d True"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"class EndpointAssociation(Project):"},{"line_number":162,"context_line":"    base_path \u003d \u0027/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}\u0027"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    #: The ID for the endpoint from the URI of the resource"}],"source_content_type":"text/x-python","patch_set":2,"id":"8637f72c_d536eee5","line":161,"range":{"start_line":161,"start_character":6,"end_line":161,"end_character":25},"in_reply_to":"e268b361_228610c6","updated":"2024-12-10 21:01:19.000000000","message":"Done","commit_id":"806bdbd4fc981f2dd285898ea37cbadf132ccef8"},{"author":{"_account_id":35548,"name":"Antonia Gaete","email":"antoniagaete@osuosl.org","username":"antoniagaete"},"change_message_id":"e0c438c6876924c7ffda9b9d50bb341737f26ae2","unresolved":true,"context_lines":[{"line_number":159,"context_line":""},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"class EndpointAssociation(Project):"},{"line_number":162,"context_line":"    base_path \u003d \u0027/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}\u0027"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    #: The ID for the endpoint from the URI of the resource"},{"line_number":165,"context_line":"    endpoint_id \u003d resource.URI(\u0027endpoint_id\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"f8972a08_6f5b0f42","line":162,"range":{"start_line":162,"start_character":40,"end_line":162,"end_character":52},"updated":"2024-11-07 18:51:10.000000000","message":"I need to change this to %(project_id)s","commit_id":"806bdbd4fc981f2dd285898ea37cbadf132ccef8"},{"author":{"_account_id":35548,"name":"Antonia Gaete","email":"antoniagaete@osuosl.org","username":"antoniagaete"},"change_message_id":"e9300cd340db0492d42ec6018ddcc0790edf2c81","unresolved":false,"context_lines":[{"line_number":159,"context_line":""},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"class EndpointAssociation(Project):"},{"line_number":162,"context_line":"    base_path \u003d \u0027/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}\u0027"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    #: The ID for the endpoint from the URI of the resource"},{"line_number":165,"context_line":"    endpoint_id \u003d resource.URI(\u0027endpoint_id\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"d0d190af_35c8dea0","line":162,"range":{"start_line":162,"start_character":40,"end_line":162,"end_character":52},"in_reply_to":"6d03eaa3_946af90b","updated":"2024-12-10 21:01:19.000000000","message":"Done","commit_id":"806bdbd4fc981f2dd285898ea37cbadf132ccef8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"542ade62bc2dfca4cca7ae5aa0e96ec9220a4215","unresolved":true,"context_lines":[{"line_number":159,"context_line":""},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"class EndpointAssociation(Project):"},{"line_number":162,"context_line":"    base_path \u003d \u0027/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}\u0027"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    #: The ID for the endpoint from the URI of the resource"},{"line_number":165,"context_line":"    endpoint_id \u003d resource.URI(\u0027endpoint_id\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"6d03eaa3_946af90b","line":162,"range":{"start_line":162,"start_character":40,"end_line":162,"end_character":52},"in_reply_to":"f8972a08_6f5b0f42","updated":"2024-11-08 15:52:29.000000000","message":"...and drop `endpoint_id`","commit_id":"806bdbd4fc981f2dd285898ea37cbadf132ccef8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"542ade62bc2dfca4cca7ae5aa0e96ec9220a4215","unresolved":true,"context_lines":[{"line_number":162,"context_line":"    base_path \u003d \u0027/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}\u0027"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    #: The ID for the endpoint from the URI of the resource"},{"line_number":165,"context_line":"    endpoint_id \u003d resource.URI(\u0027endpoint_id\u0027)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    # capabilities"},{"line_number":168,"context_line":"    allow_create \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"a573e9fc_2ef1f2e8","line":165,"updated":"2024-11-08 15:52:29.000000000","message":"```suggestion\n    project_id \u003d resource.URI(\u0027project_id\u0027)\n```","commit_id":"806bdbd4fc981f2dd285898ea37cbadf132ccef8"},{"author":{"_account_id":35548,"name":"Antonia Gaete","email":"antoniagaete@osuosl.org","username":"antoniagaete"},"change_message_id":"e9300cd340db0492d42ec6018ddcc0790edf2c81","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    base_path \u003d \u0027/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}\u0027"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    #: The ID for the endpoint from the URI of the resource"},{"line_number":165,"context_line":"    endpoint_id \u003d resource.URI(\u0027endpoint_id\u0027)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    # capabilities"},{"line_number":168,"context_line":"    allow_create \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"f7c6cdbf_b99a47e9","line":165,"in_reply_to":"a573e9fc_2ef1f2e8","updated":"2024-12-10 21:01:19.000000000","message":"Done","commit_id":"806bdbd4fc981f2dd285898ea37cbadf132ccef8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"542ade62bc2dfca4cca7ae5aa0e96ec9220a4215","unresolved":true,"context_lines":[{"line_number":165,"context_line":"    endpoint_id \u003d resource.URI(\u0027endpoint_id\u0027)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    # capabilities"},{"line_number":168,"context_line":"    allow_create \u003d True"},{"line_number":169,"context_line":"    allow_fetch \u003d False"},{"line_number":170,"context_line":"    allow_commit \u003d False"},{"line_number":171,"context_line":"    allow_delete \u003d True"},{"line_number":172,"context_line":"    allow_list \u003d False"}],"source_content_type":"text/x-python","patch_set":2,"id":"fe294f48_70f6d6e8","line":172,"range":{"start_line":168,"start_character":0,"end_line":172,"end_character":22},"updated":"2024-11-08 15:52:29.000000000","message":"For now, you only want to be able to list endpoints associate with a project. Let\u0027s punt creating/deleting associations to a separate patch.\n\n```suggestion\n    allow_create \u003d False\n    allow_fetch \u003d False\n    allow_commit \u003d False\n    allow_delete \u003d False\n    allow_list \u003d True\n```","commit_id":"806bdbd4fc981f2dd285898ea37cbadf132ccef8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ba8e302e94e3d535879638963d85a21eb612b968","unresolved":false,"context_lines":[{"line_number":165,"context_line":"    endpoint_id \u003d resource.URI(\u0027endpoint_id\u0027)"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    # capabilities"},{"line_number":168,"context_line":"    allow_create \u003d True"},{"line_number":169,"context_line":"    allow_fetch \u003d False"},{"line_number":170,"context_line":"    allow_commit \u003d False"},{"line_number":171,"context_line":"    allow_delete \u003d True"},{"line_number":172,"context_line":"    allow_list \u003d False"}],"source_content_type":"text/x-python","patch_set":2,"id":"0282b780_88285996","line":172,"range":{"start_line":168,"start_character":0,"end_line":172,"end_character":22},"in_reply_to":"fe294f48_70f6d6e8","updated":"2024-12-17 17:00:47.000000000","message":"Done","commit_id":"806bdbd4fc981f2dd285898ea37cbadf132ccef8"}]}
