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:
Sojan Jose
2021-12-09 12:07:48 +05:30
committed by GitHub
parent 2f63ebb8a6
commit b1eea7f7d1
15 changed files with 253 additions and 3 deletions

View File

@@ -6,6 +6,7 @@
# auto_resolve_duration :integer
# domain :string(100)
# feature_flags :integer default(0), not null
# limits :jsonb
# locale :integer default("en")
# name :string not null
# settings_flags :integer default(0), not null
@@ -19,6 +20,7 @@ class Account < ApplicationRecord
include FlagShihTzu
include Reportable
include Featurable
prepend_mod_with('Account')
DEFAULT_QUERY_SETTING = {
flag_query_mode: :bit_operator,
@@ -107,6 +109,13 @@ class Account < ApplicationRecord
super || GlobalConfig.get('MAILER_SUPPORT_EMAIL')['MAILER_SUPPORT_EMAIL'] || ENV.fetch('MAILER_SENDER_EMAIL', 'Chatwoot <accounts@chatwoot.com>')
end
def usage_limits
{
agents: ChatwootApp.max_limit,
inboxes: ChatwootApp.max_limit
}
end
private
def notify_creation