]> git.openstreetmap.org Git - rails.git/blob - lib/oauth.rb
Merge remote-tracking branch 'upstream/pull/7356'
[rails.git] / lib / oauth.rb
1 # frozen_string_literal: true
2
3 module Oauth
4   SCOPES = %w[
5     read_prefs write_prefs write_diary
6     write_api write_changeset_comments read_gpx write_gpx write_notes write_redactions write_blocks
7     consume_messages send_messages openid
8   ].freeze
9   PRIVILEGED_SCOPES = %w[read_email skip_authorization].freeze
10   MODERATOR_SCOPES = %w[write_redactions write_blocks].freeze
11
12   class Scope
13     attr_reader :name
14
15     def initialize(name)
16       @name = name
17     end
18   end
19
20   def self.scopes(privileged: false)
21     scopes = SCOPES
22     scopes += PRIVILEGED_SCOPES if privileged
23     scopes.collect { |s| Scope.new(s) }
24   end
25 end