]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/changeset.rb
Merge remote-tracking branch 'upstream/pull/5765'
[rails.git] / app / models / changeset.rb
index e6bde19a50d8562f63e12e44be146a72e5905ac9..2e7bb3db53d3c8905c5aa0506cd5626ec70f862b 100644 (file)
@@ -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]