Create note subscription table and model
This commit is contained in:
parent
50cfc0a95c
commit
001fed4fd7
5 changed files with 74 additions and 0 deletions
|
@ -23,6 +23,8 @@ class Note < ApplicationRecord
|
|||
|
||||
has_many :comments, -> { left_joins(:author).where(:visible => true, :users => { :status => [nil, "active", "confirmed"] }).order(:created_at) }, :class_name => "NoteComment", :foreign_key => :note_id
|
||||
has_many :all_comments, -> { left_joins(:author).order(:created_at) }, :class_name => "NoteComment", :foreign_key => :note_id, :inverse_of => :note
|
||||
has_many :subscriptions, :class_name => "NoteSubscription"
|
||||
has_many :subscribers, :through => :subscriptions, :source => :user
|
||||
|
||||
validates :id, :uniqueness => true, :presence => { :on => :update },
|
||||
:numericality => { :on => :update, :only_integer => true }
|
||||
|
|
20
app/models/note_subscription.rb
Normal file
20
app/models/note_subscription.rb
Normal file
|
@ -0,0 +1,20 @@
|
|||
# == Schema Information
|
||||
#
|
||||
# Table name: note_subscriptions
|
||||
#
|
||||
# user_id :bigint(8) not null, primary key
|
||||
# note_id :bigint(8) not null, primary key
|
||||
#
|
||||
# Indexes
|
||||
#
|
||||
# index_note_subscriptions_on_note_id (note_id)
|
||||
#
|
||||
# Foreign Keys
|
||||
#
|
||||
# fk_rails_... (note_id => notes.id)
|
||||
# fk_rails_... (user_id => users.id)
|
||||
#
|
||||
class NoteSubscription < ApplicationRecord
|
||||
belongs_to :user
|
||||
belongs_to :note
|
||||
end
|
|
@ -66,6 +66,8 @@ class User < ApplicationRecord
|
|||
has_and_belongs_to_many :changeset_subscriptions, :class_name => "Changeset", :join_table => "changesets_subscribers", :foreign_key => "subscriber_id"
|
||||
has_many :note_comments, :foreign_key => :author_id, :inverse_of => :author
|
||||
has_many :notes, :through => :note_comments
|
||||
has_many :note_subscriptions, :class_name => "NoteSubscription"
|
||||
has_many :subscribed_notes, :through => :note_subscriptions, :source => :note
|
||||
|
||||
has_many :oauth2_applications, :class_name => Doorkeeper.config.application_model.name, :as => :owner
|
||||
has_many :access_grants, :class_name => Doorkeeper.config.access_grant_model.name, :foreign_key => :resource_owner_id
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue