X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/54aa89a4bf8118a3fdec2d60acba6aeb7beaa8c8..35f0a0c4a7f1a75881240e101fceb9a754419c35:/app/models/changeset.rb diff --git a/app/models/changeset.rb b/app/models/changeset.rb index e6bde19a5..2e7bb3db5 100644 --- a/app/models/changeset.rb +++ b/app/models/changeset.rb @@ -2,8 +2,8 @@ # # Table name: changesets # -# id :bigint(8) not null, primary key -# user_id :bigint(8) not null +# id :bigint not null, primary key +# user_id :bigint not null # created_at :datetime not null # min_lat :integer # max_lat :integer @@ -41,7 +41,8 @@ class Changeset < ApplicationRecord has_many :old_relations has_many :comments, -> { where(:visible => true).order(:created_at) }, :class_name => "ChangesetComment" - has_and_belongs_to_many :subscribers, :class_name => "User", :join_table => "changesets_subscribers", :association_foreign_key => "subscriber_id" + has_many :subscriptions, :class_name => "ChangesetSubscription" + has_many :subscribers, :through => :subscriptions validates :id, :uniqueness => true, :presence => { :on => :update }, :numericality => { :on => :update, :only_integer => true } @@ -216,18 +217,6 @@ class Changeset < ApplicationRecord save_with_tags! end - def subscribe(user) - subscribers << user - end - - def unsubscribe(user) - subscribers.delete(user) - end - - def subscribed?(user) - subscribers.exists?(user.id) - end - def size_limit @size_limit ||= ActiveRecord::Base.connection.select_value( "SELECT api_size_limit($1)", "api_size_limit", [user_id]