From be8205657e4ad63cbd9945ae069491119e0aa1b9 Mon Sep 17 00:00:00 2001 From: Sojan Jose Date: Thu, 23 Jan 2025 07:44:25 +0530 Subject: [PATCH] fix: Added authentication to FireCrawl API, remove unused RobinAI references (#10737) - Fixed Firecrawl webhook payloads to ensure proper data handling and delivery. - Removed unused Robin AI code to improve codebase cleanliness and maintainability. - Implement authentication for the Firecrawl endpoint to improve security. A key is generated to secure the webhook URLs from FireCrawl. --------- Co-authored-by: Pranav --- app/policies/response_source_policy.rb | 17 --- .../inboxes/response_sources.json.jbuilder | 3 - .../add_document.json.jbuilder | 1 - .../response_sources/create.json.jbuilder | 1 - .../remove_document.json.jbuilder | 1 - .../v1/models/_response_source.json.jbuilder | 15 -- .../application/_navigation.html.erb | 2 +- config/installation_config.yml | 4 + config/routes.rb | 2 - .../super_admin/app_configs_controller.rb | 2 +- .../webhooks/firecrawl_controller.rb | 31 +++- .../app/dashboards/response_dashboard.rb | 89 ------------ .../dashboards/response_document_dashboard.rb | 84 ----------- .../dashboards/response_source_dashboard.rb | 86 ----------- .../app/helpers/captain/firecrawl_helper.rb | 9 ++ .../app/jobs/captain/documents/crawl_job.rb | 15 +- .../captain/tools/firecrawl_parser_job.rb | 4 +- enterprise/app/models/captain/document.rb | 1 + .../captain/tools/firecrawl_service.rb | 8 +- .../response_sources/chat.html.erb | 5 - .../response_sources/show.html.erb | 71 ---------- .../webooks/firecrawl_controller_spec.rb | 133 ++++++++++++----- .../jobs/captain/documents/crawl_job_spec.rb | 54 ++++++- .../tools/firecrawl_parser_job_spec.rb | 14 +- .../captain/tools/firecrawl_service_spec.rb | 134 ++++++++++++++++++ spec/factories/inbox_response_source.rb | 8 -- spec/factories/response.rb | 11 -- spec/factories/response_document.rb | 10 -- 28 files changed, 345 insertions(+), 470 deletions(-) delete mode 100644 app/policies/response_source_policy.rb delete mode 100644 app/views/api/v1/accounts/inboxes/response_sources.json.jbuilder delete mode 100644 app/views/api/v1/accounts/response_sources/add_document.json.jbuilder delete mode 100644 app/views/api/v1/accounts/response_sources/create.json.jbuilder delete mode 100644 app/views/api/v1/accounts/response_sources/remove_document.json.jbuilder delete mode 100644 app/views/api/v1/models/_response_source.json.jbuilder delete mode 100644 enterprise/app/dashboards/response_dashboard.rb delete mode 100644 enterprise/app/dashboards/response_document_dashboard.rb delete mode 100644 enterprise/app/dashboards/response_source_dashboard.rb create mode 100644 enterprise/app/helpers/captain/firecrawl_helper.rb delete mode 100644 enterprise/app/views/super_admin/response_sources/chat.html.erb delete mode 100644 enterprise/app/views/super_admin/response_sources/show.html.erb create mode 100644 spec/enterprise/services/captain/tools/firecrawl_service_spec.rb delete mode 100644 spec/factories/inbox_response_source.rb delete mode 100644 spec/factories/response.rb delete mode 100644 spec/factories/response_document.rb diff --git a/app/policies/response_source_policy.rb b/app/policies/response_source_policy.rb deleted file mode 100644 index e6083ba22..000000000 --- a/app/policies/response_source_policy.rb +++ /dev/null @@ -1,17 +0,0 @@ -class ResponseSourcePolicy < ApplicationPolicy - def parse? - @account_user.administrator? - end - - def create? - @account_user.administrator? - end - - def add_document? - @account_user.administrator? - end - - def remove_document? - @account_user.administrator? - end -end diff --git a/app/views/api/v1/accounts/inboxes/response_sources.json.jbuilder b/app/views/api/v1/accounts/inboxes/response_sources.json.jbuilder deleted file mode 100644 index aff6e551c..000000000 --- a/app/views/api/v1/accounts/inboxes/response_sources.json.jbuilder +++ /dev/null @@ -1,3 +0,0 @@ -json.array! @response_sources do |response_source| - json.partial! 'api/v1/models/response_source', formats: [:json], resource: response_source -end diff --git a/app/views/api/v1/accounts/response_sources/add_document.json.jbuilder b/app/views/api/v1/accounts/response_sources/add_document.json.jbuilder deleted file mode 100644 index ab0af26d3..000000000 --- a/app/views/api/v1/accounts/response_sources/add_document.json.jbuilder +++ /dev/null @@ -1 +0,0 @@ -json.partial! 'api/v1/models/response_source', formats: [:json], resource: @response_source diff --git a/app/views/api/v1/accounts/response_sources/create.json.jbuilder b/app/views/api/v1/accounts/response_sources/create.json.jbuilder deleted file mode 100644 index ab0af26d3..000000000 --- a/app/views/api/v1/accounts/response_sources/create.json.jbuilder +++ /dev/null @@ -1 +0,0 @@ -json.partial! 'api/v1/models/response_source', formats: [:json], resource: @response_source diff --git a/app/views/api/v1/accounts/response_sources/remove_document.json.jbuilder b/app/views/api/v1/accounts/response_sources/remove_document.json.jbuilder deleted file mode 100644 index ab0af26d3..000000000 --- a/app/views/api/v1/accounts/response_sources/remove_document.json.jbuilder +++ /dev/null @@ -1 +0,0 @@ -json.partial! 'api/v1/models/response_source', formats: [:json], resource: @response_source diff --git a/app/views/api/v1/models/_response_source.json.jbuilder b/app/views/api/v1/models/_response_source.json.jbuilder deleted file mode 100644 index 9753fa860..000000000 --- a/app/views/api/v1/models/_response_source.json.jbuilder +++ /dev/null @@ -1,15 +0,0 @@ -json.id resource.id -json.name resource.name -json.source_link resource.source_link -json.source_type resource.source_type -json.account_id resource.account_id -json.created_at resource.created_at.to_i -json.updated_at resource.updated_at.to_i -json.response_documents do - json.array! resource.response_documents do |response_document| - json.id response_document.id - json.document_link response_document.document_link - json.created_at response_document.created_at.to_i - json.updated_at response_document.updated_at.to_i - end -end diff --git a/app/views/super_admin/application/_navigation.html.erb b/app/views/super_admin/application/_navigation.html.erb index 13d33d682..f673c6bd1 100644 --- a/app/views/super_admin/application/_navigation.html.erb +++ b/app/views/super_admin/application/_navigation.html.erb @@ -32,7 +32,7 @@ as defined by the routes in the `admin/` namespace