class Favourite < ApplicationRecord
include Paginable
- belongs_to :account, inverse_of: :favourites
- belongs_to :status, inverse_of: :favourites, counter_cache: true
+ belongs_to :account, inverse_of: :favourites, required: true
+ belongs_to :status, inverse_of: :favourites, counter_cache: true, required: true
has_one :notification, as: :activity, dependent: :destroy
validates :status_id, uniqueness: { scope: :account_id }
before_validation do
- self.status = status.reblog if status.reblog?
+ self.status = status.reblog if status&.reblog?
end
end
class Mute < ApplicationRecord
include Paginable
- belongs_to :account
- belongs_to :target_account, class_name: 'Account'
+ belongs_to :account, required: true
+ belongs_to :target_account, class_name: 'Account', required: true
- validates :account, :target_account, presence: true
validates :account_id, uniqueness: { scope: :target_account_id }
end
belongs_to :application, class_name: 'Doorkeeper::Application'
- belongs_to :account, inverse_of: :statuses, counter_cache: true
+ belongs_to :account, inverse_of: :statuses, counter_cache: true, required: true
belongs_to :in_reply_to_account, foreign_key: 'in_reply_to_account_id', class_name: 'Account'
belongs_to :thread, foreign_key: 'in_reply_to_id', class_name: 'Status', inverse_of: :replies
has_one :notification, as: :activity, dependent: :destroy
has_one :preview_card, dependent: :destroy
- validates :account, presence: true
validates :uri, uniqueness: true, unless: 'local?'
validates :text, presence: true, unless: 'reblog?'
validates_with StatusLengthValidator
MIN_EXPIRATION = 3600 * 24 * 7
MAX_EXPIRATION = 3600 * 24 * 30
- belongs_to :account
+ belongs_to :account, required: true
validates :callback_url, presence: true
validates :callback_url, uniqueness: { scope: :account_id }
otp_secret_encryption_key: ENV['OTP_SECRET'],
otp_number_of_backup_codes: 10
- belongs_to :account, inverse_of: :user
+ belongs_to :account, inverse_of: :user, required: true
accepts_nested_attributes_for :account
- validates :account, presence: true
validates :locale, inclusion: I18n.available_locales.map(&:to_s), unless: 'locale.nil?'
validates :email, email: true