From 39ceb8edb3bc44df5aabb3de33ae6335331e32cc Mon Sep 17 00:00:00 2001 From: Romain Neuville Date: Wed, 29 Jan 2025 16:25:04 +0100 Subject: [PATCH] apply Amines suggestions --- .env.test | 2 +- .../france_travail/base_job.rb | 17 +++++++++++++++++ .../france_travail/create_participation_job.rb | 8 +------- .../france_travail/delete_participation_job.rb | 8 +------- .../locked_and_ordered_job_base.rb | 11 ----------- .../france_travail/update_participation_job.rb | 8 +------- .../participation/france_travail_webhooks.rb | 2 +- 7 files changed, 22 insertions(+), 34 deletions(-) create mode 100644 app/jobs/outgoing_webhooks/france_travail/base_job.rb delete mode 100644 app/jobs/outgoing_webhooks/france_travail/locked_and_ordered_job_base.rb diff --git a/.env.test b/.env.test index 9ee9dfc9a..662b352ec 100644 --- a/.env.test +++ b/.env.test @@ -18,7 +18,7 @@ FRANCE_TRAVAIL_AUTH_URL=https://somefakeauthurl.fr FRANCE_TRAVAIL_API_URL=https://francetravailfakerdvurl.fr FRANCE_TRAVAIL_CLIENT_ID=client_id FRANCE_TRAVAIL_CLIENT_SECRET=client_secret -FRANCE_TRAVAIL_CD_NUMBER=83 +FRANCE_TRAVAIL_WEBHOOKS_DEPARTMENTS=83 AGENT_SIGNATURE_KEY=bc995863-5c80-43a3-a31d-0da216e814a4 HOST=http://www.rdv-insertion-test.fake diff --git a/app/jobs/outgoing_webhooks/france_travail/base_job.rb b/app/jobs/outgoing_webhooks/france_travail/base_job.rb new file mode 100644 index 000000000..24efe4b15 --- /dev/null +++ b/app/jobs/outgoing_webhooks/france_travail/base_job.rb @@ -0,0 +1,17 @@ +module OutgoingWebhooks + module FranceTravail + class BaseJob < ApplicationJob + include LockedAndOrderedJobs + + discard_on FranceTravailApi::RetrieveUserToken::UserNotFound + + def self.lock_key(participation_id:, **) + "#{base_lock_key}:#{participation_id}" + end + + def self.job_timestamp(timestamp:, **) + timestamp + end + end + end +end diff --git a/app/jobs/outgoing_webhooks/france_travail/create_participation_job.rb b/app/jobs/outgoing_webhooks/france_travail/create_participation_job.rb index ab6605c5e..44b000fc4 100644 --- a/app/jobs/outgoing_webhooks/france_travail/create_participation_job.rb +++ b/app/jobs/outgoing_webhooks/france_travail/create_participation_job.rb @@ -1,12 +1,6 @@ module OutgoingWebhooks module FranceTravail - class CreateParticipationJob < LockedAndOrderedJobBase - discard_on FranceTravailApi::RetrieveUserToken::UserNotFound - - def self.lock_key(participation_id:, **) - "#{base_lock_key}:#{participation_id}" - end - + class CreateParticipationJob < BaseJob def perform(participation_id:, timestamp:) call_service!(FranceTravailApi::CreateParticipation, participation_id: participation_id, timestamp: timestamp) end diff --git a/app/jobs/outgoing_webhooks/france_travail/delete_participation_job.rb b/app/jobs/outgoing_webhooks/france_travail/delete_participation_job.rb index 194531f85..4be89735d 100644 --- a/app/jobs/outgoing_webhooks/france_travail/delete_participation_job.rb +++ b/app/jobs/outgoing_webhooks/france_travail/delete_participation_job.rb @@ -1,12 +1,6 @@ module OutgoingWebhooks module FranceTravail - class DeleteParticipationJob < LockedAndOrderedJobBase - discard_on FranceTravailApi::RetrieveUserToken::UserNotFound - - def self.lock_key(participation_id:, **) - "#{base_lock_key}:#{participation_id}" - end - + class DeleteParticipationJob < BaseJob def perform(participation_id:, france_travail_id:, user_id:, timestamp:) call_service!(FranceTravailApi::DeleteParticipation, participation_id: participation_id, diff --git a/app/jobs/outgoing_webhooks/france_travail/locked_and_ordered_job_base.rb b/app/jobs/outgoing_webhooks/france_travail/locked_and_ordered_job_base.rb deleted file mode 100644 index f929c4947..000000000 --- a/app/jobs/outgoing_webhooks/france_travail/locked_and_ordered_job_base.rb +++ /dev/null @@ -1,11 +0,0 @@ -module OutgoingWebhooks - module FranceTravail - class LockedAndOrderedJobBase < ApplicationJob - include LockedAndOrderedJobs - - def self.job_timestamp(timestamp:, **) - timestamp - end - end - end -end diff --git a/app/jobs/outgoing_webhooks/france_travail/update_participation_job.rb b/app/jobs/outgoing_webhooks/france_travail/update_participation_job.rb index fd9dfcf14..b8f05a1ec 100644 --- a/app/jobs/outgoing_webhooks/france_travail/update_participation_job.rb +++ b/app/jobs/outgoing_webhooks/france_travail/update_participation_job.rb @@ -1,12 +1,6 @@ module OutgoingWebhooks module FranceTravail - class UpdateParticipationJob < LockedAndOrderedJobBase - discard_on FranceTravailApi::RetrieveUserToken::UserNotFound - - def self.lock_key(participation_id:, **) - "#{base_lock_key}:#{participation_id}" - end - + class UpdateParticipationJob < BaseJob def perform(participation_id:, timestamp:) call_service!(FranceTravailApi::UpdateParticipation, participation_id: participation_id, timestamp: timestamp) end diff --git a/app/models/concerns/participation/france_travail_webhooks.rb b/app/models/concerns/participation/france_travail_webhooks.rb index 8eae8a5d2..60fd21e26 100644 --- a/app/models/concerns/participation/france_travail_webhooks.rb +++ b/app/models/concerns/participation/france_travail_webhooks.rb @@ -41,6 +41,6 @@ def eligible_for_france_travail_webhook_update? def france_travail_active_department? # C'est une condition temporaire, les autorisations des clés d'api de France Travail sont scopés au niveau des CD # le temps que FT autorise notre clé d'API au niveau national on limitera à un département pour les tests - organisation.department.number == ENV["FRANCE_TRAVAIL_CD_NUMBER"] + organisation.department.number.in?(ENV.fetch("FRANCE_TRAVAIL_WEBHOOKS_DEPARTMENTS", "").split(",")) end end