# == Schema Information # # Table name: notification_settings # # id :bigint not null, primary key # email_flags :integer default(0), not null # created_at :datetime not null # updated_at :datetime not null # account_id :integer # user_id :integer # # Indexes # # by_account_user (account_id,user_id) UNIQUE # class NotificationSetting < ApplicationRecord # used for single column multi flags include FlagShihTzu belongs_to :account belongs_to :user DEFAULT_QUERY_SETTING = { flag_query_mode: :bit_operator }.freeze EMAIL_NOTIFCATION_FLAGS = { 1 => :conversation_creation, 2 => :conversation_assignment }.freeze has_flags EMAIL_NOTIFCATION_FLAGS.merge(column: 'email_flags').merge(DEFAULT_QUERY_SETTING) end