Files
docuseal/lib/account_configs.rb
T

32 lines
810 B
Ruby
Raw Normal View History

2023-08-16 22:57:59 +03:00
# frozen_string_literal: true
module AccountConfigs
2023-09-17 20:38:09 +03:00
REMINDER_DURATIONS = {
'one_hour' => '1 hour',
'two_hours' => '2 hours',
'four_hours' => '4 hours',
'eight_hours' => '8 hours',
'twelve_hours' => '12 hours',
'twenty_four_hours' => '24 hours',
'two_days' => '2 days',
'four_days' => '4 days',
'eight_days' => '8 days',
'fifteen_days' => '15 days'
}.freeze
2023-08-16 22:57:59 +03:00
module_function
def find_or_initialize_for_key(account, key)
2023-11-17 18:47:04 +02:00
find_for_account(account, key) ||
2023-08-16 22:57:59 +03:00
account.account_configs.new(key:, value: AccountConfig::DEFAULT_VALUES[key])
end
2023-11-17 18:47:04 +02:00
def find_for_account(account, key)
configs = account.account_configs.find_by(key:)
configs ||= Account.order(:id).first.account_configs.find_by(key:) unless Docuseal.multitenant?
configs
end
2023-08-16 22:57:59 +03:00
end