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