Chore: Web widget Inbox Tech Debts (#738)
* Chore: Webwidget Inbox Tech Debts * Additional customization options creating Web Widget * Changes to edit Page for Web Widget * Remove the WebWidget API end points * Minor chores Address: #680, #502 Co-authored-by: Pranav Raj Sreepuram <pranavrajs@gmail.com>
This commit is contained in:
35
db/migrate/20200417093432_remove_name_from_channels.rb
Normal file
35
db/migrate/20200417093432_remove_name_from_channels.rb
Normal file
@@ -0,0 +1,35 @@
|
||||
class RemoveNameFromChannels < ActiveRecord::Migration[6.0]
|
||||
def change
|
||||
remove_column :channel_facebook_pages, :name, :string
|
||||
remove_column :channel_twitter_profiles, :name, :string
|
||||
migrate_web_widget_name_to_inbox
|
||||
remove_column :channel_web_widgets, :website_name, :string # rubocop:disable Rails/BulkChangeTable
|
||||
|
||||
add_column :channel_web_widgets, :welcome_title, :string
|
||||
add_column :channel_web_widgets, :welcome_tagline, :string
|
||||
add_column :channel_web_widgets, :agent_away_message, :string
|
||||
purge_orphan_facebook_pages
|
||||
remove_avatars_from_channel_to_inbox
|
||||
end
|
||||
|
||||
def purge_orphan_facebook_pages
|
||||
Channel::FacebookPage.all.each do |facebook_page|
|
||||
facebook_page.destroy! if facebook_page.inbox.nil?
|
||||
end
|
||||
end
|
||||
|
||||
def migrate_web_widget_name_to_inbox
|
||||
Channel::WebWidget.all.each do |widget|
|
||||
widget.inbox.name = widget.website_name
|
||||
widget.save!
|
||||
end
|
||||
end
|
||||
|
||||
def remove_avatars_from_channel_to_inbox
|
||||
Channel::FacebookPage.all.each do |facebook_page|
|
||||
next unless facebook_page.avatar
|
||||
|
||||
facebook_page.avatar.purge
|
||||
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: 2020_04_04_135009) do
|
||||
ActiveRecord::Schema.define(version: 2020_04_17_093432) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
@@ -104,7 +104,6 @@ ActiveRecord::Schema.define(version: 2020_04_04_135009) do
|
||||
end
|
||||
|
||||
create_table "channel_facebook_pages", id: :serial, force: :cascade do |t|
|
||||
t.string "name", null: false
|
||||
t.string "page_id", null: false
|
||||
t.string "user_access_token", null: false
|
||||
t.string "page_access_token", null: false
|
||||
@@ -126,7 +125,6 @@ ActiveRecord::Schema.define(version: 2020_04_04_135009) do
|
||||
end
|
||||
|
||||
create_table "channel_twitter_profiles", force: :cascade do |t|
|
||||
t.string "name"
|
||||
t.string "profile_id", null: false
|
||||
t.string "twitter_access_token", null: false
|
||||
t.string "twitter_access_token_secret", null: false
|
||||
@@ -137,13 +135,15 @@ ActiveRecord::Schema.define(version: 2020_04_04_135009) do
|
||||
end
|
||||
|
||||
create_table "channel_web_widgets", id: :serial, force: :cascade do |t|
|
||||
t.string "website_name"
|
||||
t.string "website_url"
|
||||
t.integer "account_id"
|
||||
t.datetime "created_at", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.string "website_token"
|
||||
t.string "widget_color", default: "#1f93ff"
|
||||
t.string "welcome_title"
|
||||
t.string "welcome_tagline"
|
||||
t.string "agent_away_message"
|
||||
t.index ["website_token"], name: "index_channel_web_widgets_on_website_token", unique: true
|
||||
end
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ AccountUser.create!(
|
||||
role: :administrator
|
||||
)
|
||||
|
||||
web_widget = Channel::WebWidget.create!(account: account, website_name: 'Acme', website_url: 'https://acme.inc')
|
||||
web_widget = Channel::WebWidget.create!(account: account, website_url: 'https://acme.inc')
|
||||
|
||||
inbox = Inbox.create!(channel: web_widget, account: account, name: 'Acme Support')
|
||||
InboxMember.create!(user: user, inbox: inbox)
|
||||
|
||||
Reference in New Issue
Block a user