chore: Use feature_flags attribute instead of settings_flags (#6820)
* chore: Use feature_flag instead of settings_flag * Remove unnecessary changes
This commit is contained in:
@@ -39,12 +39,12 @@
|
||||
<label v-if="featureInboundEmailEnabled">
|
||||
{{ $t('GENERAL_SETTINGS.FORM.FEATURES.INBOUND_EMAIL_ENABLED') }}
|
||||
</label>
|
||||
<label v-if="featureCustomDomainEmailEnabled">
|
||||
<label v-if="featureCustomReplyDomainEnabled">
|
||||
{{
|
||||
$t('GENERAL_SETTINGS.FORM.FEATURES.CUSTOM_EMAIL_DOMAIN_ENABLED')
|
||||
}}
|
||||
</label>
|
||||
<label v-if="featureCustomDomainEmailEnabled">
|
||||
<label v-if="featureCustomReplyDomainEnabled">
|
||||
{{ $t('GENERAL_SETTINGS.FORM.DOMAIN.LABEL') }}
|
||||
<input
|
||||
v-model="domain"
|
||||
@@ -52,7 +52,7 @@
|
||||
:placeholder="$t('GENERAL_SETTINGS.FORM.DOMAIN.PLACEHOLDER')"
|
||||
/>
|
||||
</label>
|
||||
<label v-if="featureCustomDomainEmailEnabled">
|
||||
<label v-if="featureCustomReplyEmailEnabled">
|
||||
{{ $t('GENERAL_SETTINGS.FORM.SUPPORT_EMAIL.LABEL') }}
|
||||
<input
|
||||
v-model="supportEmail"
|
||||
@@ -192,8 +192,16 @@ export default {
|
||||
return !!this.features.inbound_emails;
|
||||
},
|
||||
|
||||
featureCustomDomainEmailEnabled() {
|
||||
return this.featureInboundEmailEnabled && !!this.customEmailDomainEnabled;
|
||||
featureCustomReplyDomainEnabled() {
|
||||
return (
|
||||
this.featureInboundEmailEnabled && !!this.features.custom_reply_domain
|
||||
);
|
||||
},
|
||||
|
||||
featureCustomReplyEmailEnabled() {
|
||||
return (
|
||||
this.featureInboundEmailEnabled && !!this.features.custom_reply_email
|
||||
);
|
||||
},
|
||||
|
||||
getAccountId() {
|
||||
@@ -215,7 +223,6 @@ export default {
|
||||
id,
|
||||
domain,
|
||||
support_email,
|
||||
custom_email_domain_enabled,
|
||||
features,
|
||||
auto_resolve_duration,
|
||||
latest_chatwoot_version: latestChatwootVersion,
|
||||
@@ -227,7 +234,6 @@ export default {
|
||||
this.id = id;
|
||||
this.domain = domain;
|
||||
this.supportEmail = support_email;
|
||||
this.customEmailDomainEnabled = custom_email_domain_enabled;
|
||||
this.features = features;
|
||||
this.autoResolveDuration = auto_resolve_duration;
|
||||
this.latestChatwootVersion = latestChatwootVersion;
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
# limits :jsonb
|
||||
# locale :integer default("en")
|
||||
# name :string not null
|
||||
# settings_flags :integer default(0), not null
|
||||
# status :integer default("active")
|
||||
# support_email :string(100)
|
||||
# created_at :datetime not null
|
||||
@@ -33,10 +32,6 @@ class Account < ApplicationRecord
|
||||
check_for_column: false
|
||||
}.freeze
|
||||
|
||||
ACCOUNT_SETTINGS_FLAGS = {
|
||||
1 => :custom_email_domain_enabled
|
||||
}.freeze
|
||||
|
||||
validates :name, presence: true
|
||||
validates :auto_resolve_duration, numericality: { greater_than_or_equal_to: 1, less_than_or_equal_to: 999, allow_nil: true }
|
||||
validates :name, length: { maximum: 255 }
|
||||
@@ -82,8 +77,6 @@ class Account < ApplicationRecord
|
||||
has_many :whatsapp_channels, dependent: :destroy_async, class_name: '::Channel::Whatsapp'
|
||||
has_many :working_hours, dependent: :destroy_async
|
||||
|
||||
has_flags ACCOUNT_SETTINGS_FLAGS.merge(column: 'settings_flags').merge(DEFAULT_QUERY_SETTING)
|
||||
|
||||
enum locale: LANGUAGES_CONFIG.map { |key, val| [val[:iso_639_1_code], key] }.to_h
|
||||
enum status: { active: 0, suspended: 1 }
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ if resource.custom_attributes.present?
|
||||
json.subscribed_quantity resource.custom_attributes['subscribed_quantity']
|
||||
end
|
||||
end
|
||||
json.custom_email_domain_enabled @account.custom_email_domain_enabled
|
||||
json.domain @account.domain
|
||||
json.features @account.enabled_features
|
||||
json.id @account.id
|
||||
|
||||
@@ -49,3 +49,7 @@
|
||||
enabled: true
|
||||
- name: auto_resolve_conversations
|
||||
enabled: true
|
||||
- name: custom_reply_email
|
||||
enabled: false
|
||||
- name: custom_reply_domain
|
||||
enabled: false
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
class RemoveSettingsFlagsFromAccount < ActiveRecord::Migration[6.1]
|
||||
def up
|
||||
change_table :accounts do |t|
|
||||
t.remove :settings_flags
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
change_table :accounts do |t|
|
||||
t.integer :settings_flags, default: 0, null: false
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -10,7 +10,7 @@
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 2023_03_28_131926) do
|
||||
ActiveRecord::Schema.define(version: 2023_04_04_030719) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "pg_stat_statements"
|
||||
@@ -50,7 +50,6 @@ ActiveRecord::Schema.define(version: 2023_03_28_131926) do
|
||||
t.integer "locale", default: 0
|
||||
t.string "domain", limit: 100
|
||||
t.string "support_email", limit: 100
|
||||
t.integer "settings_flags", default: 0, null: false
|
||||
t.integer "feature_flags", default: 0, null: false
|
||||
t.integer "auto_resolve_duration"
|
||||
t.jsonb "limits", default: {}
|
||||
|
||||
@@ -4,7 +4,6 @@ FactoryBot.define do
|
||||
factory :account do
|
||||
sequence(:name) { |n| "Account #{n}" }
|
||||
status { 'active' }
|
||||
custom_email_domain_enabled { false }
|
||||
domain { 'test.com' }
|
||||
support_email { 'support@test.com' }
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user