X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/12c1d5e6c05813a0697724277b4d8529a1a7c240..81bac0b09b2d03de76c8885f6d77c9297a3ead34:/app/models/oauth2_application.rb?ds=inline diff --git a/app/models/oauth2_application.rb b/app/models/oauth2_application.rb index 165761520..834f1ded5 100644 --- a/app/models/oauth2_application.rb +++ b/app/models/oauth2_application.rb @@ -1,8 +1,37 @@ +# == Schema Information +# +# Table name: oauth_applications +# +# id :bigint(8) not null, primary key +# owner_type :string not null +# owner_id :bigint(8) not null +# name :string not null +# uid :string not null +# secret :string not null +# redirect_uri :text not null +# scopes :string default(""), not null +# confidential :boolean default(TRUE), not null +# created_at :datetime not null +# updated_at :datetime not null +# +# Indexes +# +# index_oauth_applications_on_owner_type_and_owner_id (owner_type,owner_id) +# index_oauth_applications_on_uid (uid) UNIQUE +# +# Foreign Keys +# +# fk_rails_... (owner_id => users.id) +# class Oauth2Application < Doorkeeper::Application belongs_to :owner, :polymorphic => true validate :allowed_scopes + def authorized_scopes_for(user) + authorized_tokens.where(:resource_owner_id => user).sum(Doorkeeper::OAuth::Scopes.new, &:scopes) + end + private def allowed_scopes