Previously there were `hide` and `unhide` actions on changeset comments and an attempt to change them into standard actions which didn't quite work. It went like this: hiding a comment is like deleting, let's map `hide` path to `destroy` action; unhiding is like... there's no standard undelete/undestroy, let's invent another nonstandard `restore` name for now. `create` couldn't be used as an opposite action because it creates a new comment.
However `destroy` and `create` could be used if another resource is introduced. That's what this PR does. Since these operations change `visible` attributes, I guess the resource name should be `visibility`. Then we'll have something similar to message `read_mark` from #5536 that can be created and deleted and also changes an attribute. That requires a different path. Since the collection path was already introduced in #4359 as `/api/0.6/changeset_comments`, the visibility resource path should be`/api/0.6/changeset_comments/:id/visibility`. `DELETE`/`POST` at this path hide/unhide the comment. For backwards compatibility `POST /api/0.6/changeset/comment/:id/hide` is mapped to `destroy` and `POST /api/0.6/changeset/comment/:id/unhide` is mapped to `create` actions on visibility. This removes all nonstandard actions from changeset comments controller. You can view, comment on, or merge this pull request online at: https://github.com/openstreetmap/openstreetmap-website/pull/5726 -- Commit Summary -- * Test response body of changeset comment hide/unhide * Create api changeset comment visibility resource * Refactor api changeset comment visibility xml tests * Refactor api changeset comment visibility json tests * Test api changeset comment hide/unhide at legacy routes * Remove unnecessary RuboCop exclusion -- File Changes -- M .rubocop.yml (1) M app/abilities/api_ability.rb (2) A app/controllers/api/changeset_comments/visibilities_controller.rb (60) M app/controllers/api/changeset_comments_controller.rb (50) M app/controllers/api/changesets_controller.rb (2) A app/views/api/changeset_comments/visibilities/create.json.jbuilder (5) A app/views/api/changeset_comments/visibilities/create.xml.builder (5) A app/views/api/changeset_comments/visibilities/destroy.json.jbuilder (5) A app/views/api/changeset_comments/visibilities/destroy.xml.builder (5) M app/views/changesets/show.html.erb (4) M config/routes.rb (8) M test/abilities/api_capability_test.rb (28) A test/controllers/api/changeset_comments/visibilities_controller_test.rb (253) M test/controllers/api/changeset_comments_controller_test.rb (130) -- Patch Links -- https://github.com/openstreetmap/openstreetmap-website/pull/5726.patch https://github.com/openstreetmap/openstreetmap-website/pull/5726.diff -- Reply to this email directly or view it on GitHub: https://github.com/openstreetmap/openstreetmap-website/pull/5726 You are receiving this because you are subscribed to this thread. Message ID: <openstreetmap/openstreetmap-website/pull/5...@github.com>
_______________________________________________ rails-dev mailing list rails-dev@openstreetmap.org https://lists.openstreetmap.org/listinfo/rails-dev