X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/09c5740b5bb94c75a5c8c83cdbb80ae7b5ccbdf4..6f5167b86609674b2f38a355ea0c34abdca10ba8:/app/models/user_role.rb?ds=sidebyside diff --git a/app/models/user_role.rb b/app/models/user_role.rb index efa540fec..332848e42 100644 --- a/app/models/user_role.rb +++ b/app/models/user_role.rb @@ -1,8 +1,29 @@ -class UserRole < ActiveRecord::Base +# == Schema Information +# +# Table name: user_roles +# +# id :integer not null, primary key +# user_id :bigint(8) not null +# role :enum not null +# created_at :datetime +# updated_at :datetime +# granter_id :bigint(8) not null +# +# Indexes +# +# user_roles_id_role_unique (user_id,role) UNIQUE +# +# Foreign Keys +# +# user_roles_granter_id_fkey (granter_id => users.id) +# user_roles_user_id_fkey (user_id => users.id) +# - ALL_ROLES = ['administrator', 'moderator'] - - validates_inclusion_of :role, :in => ALL_ROLES +class UserRole < ApplicationRecord belongs_to :user + belongs_to :granter, :class_name => "User" + + ALL_ROLES = %w[administrator moderator importer].freeze + validates :role, :inclusion => ALL_ROLES, :uniqueness => { :scope => :user_id } end