X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/f41bb4c325d8b9dbb960069c100a224fdb7cdb0e..8a88351a83fd75e89bd45d919195218c4d4642a1:/app/abilities/api_capability.rb diff --git a/app/abilities/api_capability.rb b/app/abilities/api_capability.rb index 95d7ab9ab..f27dd2e63 100644 --- a/app/abilities/api_capability.rb +++ b/app/abilities/api_capability.rb @@ -23,19 +23,13 @@ class ApiCapability if user.terms_agreed? can [:create, :update, :upload, :close, :subscribe, :unsubscribe], Changeset if scope?(token, :write_api) can :create, ChangesetComment if scope?(token, :write_api) - can [:create, :update, :delete], Node if scope?(token, :write_api) - can [:create, :update, :delete], Way if scope?(token, :write_api) - can [:create, :update, :delete], Relation if scope?(token, :write_api) + can [:create, :update, :delete], [Node, Way, Relation] if scope?(token, :write_api) end if user.moderator? can [:destroy, :restore], ChangesetComment if scope?(token, :write_api) can :destroy, Note if scope?(token, :write_notes) - if user&.terms_agreed? - can :redact, OldNode if scope?(token, :write_api) || scope?(token, :write_redactions) - can :redact, OldWay if scope?(token, :write_api) || scope?(token, :write_redactions) - can :redact, OldRelation if scope?(token, :write_api) || scope?(token, :write_redactions) - end + can :redact, [OldNode, OldWay, OldRelation] if user&.terms_agreed? && (scope?(token, :write_api) || scope?(token, :write_redactions)) end end end