From 4a7a68e6e7020e85477c0f83335dd934de193cb9 Mon Sep 17 00:00:00 2001 From: Tanmay Deep Sharma Date: Mon, 9 Jun 2025 10:24:26 +0530 Subject: [PATCH] fix: update WhatsApp GlobalConfigService.load calls --- app/controllers/super_admin/app_configs_controller.rb | 3 ++- app/controllers/whatsapp/embedded_controller.rb | 3 +-- app/services/whatsapp/embedded_signup_service.rb | 1 + config/installation_config.yml | 11 +++-------- enterprise/app/helpers/super_admin/features.yml | 6 ++++++ spec/controllers/whatsapp/embedded_controller_spec.rb | 6 ++---- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/app/controllers/super_admin/app_configs_controller.rb b/app/controllers/super_admin/app_configs_controller.rb index 204bfc95b..ae0073045 100644 --- a/app/controllers/super_admin/app_configs_controller.rb +++ b/app/controllers/super_admin/app_configs_controller.rb @@ -39,7 +39,8 @@ class SuperAdmin::AppConfigsController < SuperAdmin::ApplicationController 'email' => ['MAILER_INBOUND_EMAIL_DOMAIN'], 'linear' => %w[LINEAR_CLIENT_ID LINEAR_CLIENT_SECRET], 'slack' => %w[SLACK_CLIENT_ID SLACK_CLIENT_SECRET], - 'instagram' => %w[INSTAGRAM_APP_ID INSTAGRAM_APP_SECRET INSTAGRAM_VERIFY_TOKEN INSTAGRAM_API_VERSION ENABLE_INSTAGRAM_CHANNEL_HUMAN_AGENT] + 'instagram' => %w[INSTAGRAM_APP_ID INSTAGRAM_APP_SECRET INSTAGRAM_VERIFY_TOKEN INSTAGRAM_API_VERSION ENABLE_INSTAGRAM_CHANNEL_HUMAN_AGENT], + 'whatsapp_embedded' => %w[WHATSAPP_APP_ID WHATSAPP_APP_SECRET WHATSAPP_CONFIGURATION_ID] } @allowed_configs = mapping.fetch(@config, %w[ENABLE_ACCOUNT_SIGNUP FIREBASE_PROJECT_ID FIREBASE_CREDENTIALS]) diff --git a/app/controllers/whatsapp/embedded_controller.rb b/app/controllers/whatsapp/embedded_controller.rb index c0a1ead64..625a11f3e 100644 --- a/app/controllers/whatsapp/embedded_controller.rb +++ b/app/controllers/whatsapp/embedded_controller.rb @@ -11,8 +11,7 @@ class Whatsapp::EmbeddedController < ApplicationController status: 'ready', app_id: GlobalConfigService.load('WHATSAPP_APP_ID', ''), config_id: GlobalConfigService.load('WHATSAPP_CONFIGURATION_ID', ''), - partner_id: GlobalConfigService.load('WHATSAPP_PARTNER_ID', ''), - graph_api_version: GlobalConfigService.load('WHATSAPP_GRAPH_API_VERSION', 'v21.0') + app_secret: GlobalConfigService.load('WHATSAPP_APP_SECRET', '') } end diff --git a/app/services/whatsapp/embedded_signup_service.rb b/app/services/whatsapp/embedded_signup_service.rb index cdbf995fb..0bf0d3a78 100644 --- a/app/services/whatsapp/embedded_signup_service.rb +++ b/app/services/whatsapp/embedded_signup_service.rb @@ -15,6 +15,7 @@ class Whatsapp::EmbeddedSignupService raise ArgumentError, 'Code, business_id, waba_id, and phone_number_id are all required' end + GlobalConfig.clear_cache # Exchange code for user access token access_token = exchange_code_for_token diff --git a/config/installation_config.yml b/config/installation_config.yml index 6c9019474..38b6b8d58 100644 --- a/config/installation_config.yml +++ b/config/installation_config.yml @@ -135,14 +135,9 @@ display_title: 'WhatsApp Configuration ID' description: 'The Configuration ID for WhatsApp Embedded Signup flow (required for embedded signup)' locked: false -- name: WHATSAPP_PARTNER_ID - display_title: 'WhatsApp Partner ID' - description: 'Your Partner ID for WhatsApp Business (required for Solution Partners)' - locked: false -- name: WHATSAPP_GRAPH_API_VERSION - display_title: 'WhatsApp Graph API Version' - description: 'The Graph API version to use for WhatsApp Business API' - value: 'v21.0' +- name: WHATSAPP_APP_SECRET + display_title: 'WhatsApp App Secret' + description: 'The App Secret for WhatsApp Embedded Signup flow (required for embedded signup)' locked: false # ------- End of WhatsApp Channel Related Config ------- # diff --git a/enterprise/app/helpers/super_admin/features.yml b/enterprise/app/helpers/super_admin/features.yml index c20de2dfa..ac29a69ac 100644 --- a/enterprise/app/helpers/super_admin/features.yml +++ b/enterprise/app/helpers/super_admin/features.yml @@ -97,6 +97,12 @@ slack: enabled: true icon: 'icon-slack' config_key: 'slack' +whatsapp_embedded: + name: 'WhatsApp Embedded' + description: 'Configuration for setting up WhatsApp Embedded Integration' + enabled: true + icon: 'icon-whatsapp-line' + config_key: 'whatsapp_embedded' shopify: name: 'Shopify' description: 'Configuration for setting up Shopify Integration' diff --git a/spec/controllers/whatsapp/embedded_controller_spec.rb b/spec/controllers/whatsapp/embedded_controller_spec.rb index e5246cc5c..490a94c09 100644 --- a/spec/controllers/whatsapp/embedded_controller_spec.rb +++ b/spec/controllers/whatsapp/embedded_controller_spec.rb @@ -8,8 +8,7 @@ RSpec.describe 'WhatsApp Embedded API', type: :request do before do allow(GlobalConfigService).to receive(:load).with('WHATSAPP_APP_ID', '').and_return('test_app_id') allow(GlobalConfigService).to receive(:load).with('WHATSAPP_CONFIGURATION_ID', '').and_return('test_config_id') - allow(GlobalConfigService).to receive(:load).with('WHATSAPP_PARTNER_ID', '').and_return('test_partner_id') - allow(GlobalConfigService).to receive(:load).with('WHATSAPP_GRAPH_API_VERSION', 'v21.0').and_return('v21.0') + allow(GlobalConfigService).to receive(:load).with('WHATSAPP_APP_SECRET', '').and_return('test_app_secret') end context 'when user is authenticated' do @@ -24,8 +23,7 @@ RSpec.describe 'WhatsApp Embedded API', type: :request do 'status' => 'ready', 'app_id' => 'test_app_id', 'config_id' => 'test_config_id', - 'partner_id' => 'test_partner_id', - 'graph_api_version' => 'v21.0' + 'app_secret' => 'test_app_secret' ) end end