]> git.openstreetmap.org Git - rails.git/blobdiff - lib/oauth.rb
Merge remote-tracking branch 'upstream/pull/5410'
[rails.git] / lib / oauth.rb
index 8f45a3b4b3b438fa6eeffd4df4459f994a91dbdf..679c564a63223e500afecac1a4a19b62dd458b2a 100644 (file)
@@ -1,5 +1,11 @@
 module Oauth
-  SCOPES = %w[read_prefs write_prefs write_diary write_api read_gpx write_gpx write_notes].freeze
+  SCOPES = %w[
+    read_prefs write_prefs write_diary
+    write_api read_gpx write_gpx write_notes write_redactions
+    consume_messages send_messages openid
+  ].freeze
+  PRIVILEGED_SCOPES = %w[read_email skip_authorization].freeze
+  MODERATOR_SCOPES = %w[write_redactions].freeze
 
   class Scope
     attr_reader :name
@@ -13,7 +19,9 @@ module Oauth
     end
   end
 
-  def self.scopes
-    SCOPES.collect { |s| Scope.new(s) }
+  def self.scopes(privileged: false)
+    scopes = SCOPES
+    scopes += PRIVILEGED_SCOPES if privileged
+    scopes.collect { |s| Scope.new(s) }
   end
 end