mirror of
https://github.com/lingble/chatwoot.git
synced 2025-10-30 02:32:29 +00:00
- Refactor HandleStripeEventService to better manage features by plan - Add constants for features available in each plan tier (Startup, Business, Enterprise) - Add channel_instagram to Startup plan features - Improve downgrade handling to properly disable higher-tier features - Clean up and optimize tests for maintainability - Add comprehensive test coverage for plan upgrades and downgrades --------- Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
42 lines
744 B
Ruby
42 lines
744 B
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.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
|
|
end
|