add testing environment
This commit is contained in:
@@ -22,12 +22,26 @@ class Account < ApplicationRecord
|
||||
class_name: 'TemplateFolder', dependent: :destroy, inverse_of: :account
|
||||
has_many :submissions, through: :templates
|
||||
has_many :submitters, through: :submissions
|
||||
has_many :account_linked_accounts, dependent: :destroy
|
||||
has_many :account_testing_accounts, -> { testing }, dependent: :destroy,
|
||||
class_name: 'AccountLinkedAccount',
|
||||
inverse_of: :account
|
||||
has_one :linked_account_account, dependent: :destroy,
|
||||
foreign_key: :linked_account_id,
|
||||
class_name: 'AccountLinkedAccount',
|
||||
inverse_of: :linked_account
|
||||
has_many :linked_accounts, through: :account_linked_accounts
|
||||
has_many :testing_accounts, through: :account_testing_accounts, source: :linked_account
|
||||
has_many :active_users, -> { active }, dependent: :destroy,
|
||||
inverse_of: :account, class_name: 'User'
|
||||
|
||||
attribute :timezone, :string, default: 'UTC'
|
||||
attribute :locale, :string, default: 'en-US'
|
||||
|
||||
def testing?
|
||||
linked_account_account&.testing?
|
||||
end
|
||||
|
||||
def default_template_folder
|
||||
super || build_default_template_folder(name: TemplateFolder::DEFAULT_NAME,
|
||||
author_id: users.minimum(:id)).tap(&:save!)
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
# == Schema Information
|
||||
#
|
||||
# Table name: account_linked_accounts
|
||||
#
|
||||
# id :bigint not null, primary key
|
||||
# account_type :text not null
|
||||
# created_at :datetime not null
|
||||
# updated_at :datetime not null
|
||||
# account_id :bigint not null
|
||||
# linked_account_id :bigint not null
|
||||
#
|
||||
# Indexes
|
||||
#
|
||||
# idx_on_account_id_linked_account_id_48ab9f79d2 (account_id,linked_account_id) UNIQUE
|
||||
# index_account_linked_accounts_on_account_id (account_id)
|
||||
# index_account_linked_accounts_on_linked_account_id (linked_account_id)
|
||||
#
|
||||
# Foreign Keys
|
||||
#
|
||||
# fk_rails_... (account_id => accounts.id)
|
||||
# fk_rails_... (linked_account_id => accounts.id)
|
||||
#
|
||||
class AccountLinkedAccount < ApplicationRecord
|
||||
belongs_to :account
|
||||
belongs_to :linked_account, class_name: 'Account'
|
||||
|
||||
attribute :account_type, :string, default: 'testing'
|
||||
|
||||
scope :testing, -> { where(account_type: :testing) }
|
||||
|
||||
def testing?
|
||||
account_type == 'testing'
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user