57 lines
1.2 KiB
Ruby
57 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'pathname'
|
|
|
|
module ChatwootApp
|
|
def self.root
|
|
Pathname.new(File.expand_path('..', __dir__))
|
|
end
|
|
|
|
def self.max_limit
|
|
100_000
|
|
end
|
|
|
|
def self.enterprise?
|
|
return if ENV.fetch('DISABLE_ENTERPRISE', false)
|
|
|
|
@enterprise ||= root.join('enterprise').exist?
|
|
end
|
|
|
|
def self.chatwoot_cloud?
|
|
enterprise? && GlobalConfig.get_value('DEPLOYMENT_ENV') == 'cloud'
|
|
end
|
|
|
|
def self.self_hosted_enterprise?
|
|
enterprise? && !chatwoot_cloud? && GlobalConfig.get_value('INSTALLATION_PRICING_PLAN') == 'enterprise'
|
|
end
|
|
|
|
def self.custom?
|
|
@custom ||= root.join('custom').exist?
|
|
end
|
|
|
|
def self.help_center_root
|
|
ENV.fetch('HELPCENTER_URL', nil) || ENV.fetch('FRONTEND_URL', nil)
|
|
end
|
|
|
|
def self.extensions
|
|
if custom?
|
|
%w[enterprise custom]
|
|
elsif enterprise?
|
|
%w[enterprise]
|
|
else
|
|
%w[]
|
|
end
|
|
end
|
|
|
|
def self.advanced_search_allowed?
|
|
enterprise? && ENV.fetch('OPENSEARCH_URL', nil).present?
|
|
end
|
|
|
|
def self.otel_enabled?
|
|
otel_provider = InstallationConfig.find_by(name: 'OTEL_PROVIDER')&.value
|
|
secret_key = InstallationConfig.find_by(name: 'LANGFUSE_SECRET_KEY')&.value
|
|
|
|
otel_provider.present? && secret_key.present? && otel_provider == 'langfuse'
|
|
end
|
|
end
|