X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/6c6e8883f703efe8e05d893a94c169ac90733d42..c32f6dd4fffe1d2b5fc34f42e447e7b5c8fc5b92:/app/models/oauth2_application.rb 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