27 lines
761 B
Ruby
27 lines
761 B
Ruby
# frozen_string_literal: true
|
|
|
|
# == Schema Information
|
|
#
|
|
# Table name: antenna_accounts
|
|
#
|
|
# id :bigint(8) not null, primary key
|
|
# antenna_id :bigint(8) not null
|
|
# account_id :bigint(8) not null
|
|
# exclude :boolean default(FALSE), not null
|
|
# created_at :datetime not null
|
|
# updated_at :datetime not null
|
|
#
|
|
class AntennaAccount < ApplicationRecord
|
|
belongs_to :antenna
|
|
belongs_to :account
|
|
|
|
validate :limit_per_antenna
|
|
|
|
validates :account_id, uniqueness: { scope: :antenna_id }
|
|
|
|
private
|
|
|
|
def limit_per_antenna
|
|
raise Mastodon::ValidationError, I18n.t('antennas.errors.limit.accounts') if AntennaAccount.where(antenna_id: antenna_id).count >= Antenna::ACCOUNTS_PER_ANTENNA_LIMIT
|
|
end
|
|
end
|