chore: Introduce enterprise edition license (#3209)
- Initialize an "enterprise" folder that is copyrighted. - You can remove this folder and the system will continue functioning normally, in case you want a purely MIT licensed product. - Enable limit on the number of user accounts in enterprise code. - Use enterprise edition injector methods (inspired from Gitlab). - SaaS software would run enterprise edition software always. Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
This commit is contained in:
33
lib/chatwoot_app.rb
Normal file
33
lib/chatwoot_app.rb
Normal file
@@ -0,0 +1,33 @@
|
||||
# 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.custom?
|
||||
@custom ||= root.join('custom').exist?
|
||||
end
|
||||
|
||||
def self.extensions
|
||||
if custom?
|
||||
%w[enterprise custom]
|
||||
elsif enterprise?
|
||||
%w[enterprise]
|
||||
else
|
||||
%w[]
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -28,4 +28,10 @@ module CustomExceptions::Account
|
||||
I18n.t 'errors.signup.failed'
|
||||
end
|
||||
end
|
||||
|
||||
class PlanUpgradeRequired < CustomExceptions::Base
|
||||
def message
|
||||
I18n.t 'errors.plan_upgrade_required.failed'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user