X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/77a2657d33f0066dbdda5fce831113b6e165a264..b0348093f8877d2f59f153bf35e87ba411f4004b:/app/abilities/api_ability.rb diff --git a/app/abilities/api_ability.rb b/app/abilities/api_ability.rb index c62f65368..ec4de8f8e 100644 --- a/app/abilities/api_ability.rb +++ b/app/abilities/api_ability.rb @@ -30,18 +30,22 @@ class ApiAbility can [:read, :update, :destroy], Message if scopes.include?("consume_messages") can :create, Message if scopes.include?("send_messages") + can :read, :active_user_blocks_list if scopes.include?("read_prefs") + if user.terms_agreed? - can [:create, :update, :upload, :close, :subscribe, :unsubscribe], Changeset if scopes.include?("write_api") - can :create, ChangesetComment if scopes.include?("write_api") - can [:create, :update, :destroy], [Node, Way, Relation] if scopes.include?("write_api") + can [:create, :update, :upload, :close, :subscribe, :unsubscribe], Changeset if scopes.include?("write_map") + can :create, ChangesetComment if scopes.include?("write_changeset_comments") + can [:create, :update, :destroy], [Node, Way, Relation] if scopes.include?("write_map") end if user.moderator? - can [:destroy, :restore], ChangesetComment if scopes.include?("write_api") + can [:destroy, :restore], ChangesetComment if scopes.include?("write_changeset_comments") can :destroy, Note if scopes.include?("write_notes") - can :redact, [OldNode, OldWay, OldRelation] if user&.terms_agreed? && scopes.include?("write_redactions") + can :redact, [OldNode, OldWay, OldRelation] if user.terms_agreed? && scopes.include?("write_redactions") + + can :create, UserBlock if scopes.include?("write_blocks") end end end