Skip to content

Commit fe69b6b

Browse files
authored
Revert "refactor(api): move pole emploi event into prescription"
This reverts commit 756f673.
1 parent 4c9efa7 commit fe69b6b

File tree

42 files changed

+298
-233
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+298
-233
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import { AssessmentCompleted } from '../../../../../lib/domain/events/AssessmentCompleted.js';
2-
import { checkEventTypes } from '../../../../../lib/domain/events/check-event-types.js';
3-
import * as httpErrorsHelper from '../../../../../lib/infrastructure/http/errors-helper.js';
4-
import { httpAgent } from '../../../../../lib/infrastructure/http/http-agent.js';
5-
import { monitoringTools } from '../../../../../lib/infrastructure/monitoring-tools.js';
6-
import { PoleEmploiPayload } from '../../infrastructure/externals/PoleEmploiPayload.js';
1+
import { PoleEmploiPayload } from '../../infrastructure/externals/pole-emploi/PoleEmploiPayload.js';
2+
import * as httpErrorsHelper from '../../infrastructure/http/errors-helper.js';
3+
import { httpAgent } from '../../infrastructure/http/http-agent.js';
4+
import * as monitoringTools from '../../infrastructure/monitoring-tools.js';
75
import { PoleEmploiSending } from '../models/PoleEmploiSending.js';
6+
import { AssessmentCompleted } from './AssessmentCompleted.js';
7+
import { checkEventTypes } from './check-event-types.js';
88

99
const eventTypes = [AssessmentCompleted];
1010

Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
import { CampaignParticipationStarted } from '../../../../../lib/domain/events/CampaignParticipationStarted.js';
2-
import { checkEventTypes } from '../../../../../lib/domain/events/check-event-types.js';
3-
import * as httpErrorsHelper from '../../../../../lib/infrastructure/http/errors-helper.js';
4-
import { httpAgent } from '../../../../../lib/infrastructure/http/http-agent.js';
5-
import { monitoringTools } from '../../../../../lib/infrastructure/monitoring-tools.js';
6-
import { PoleEmploiPayload } from '../../infrastructure/externals/PoleEmploiPayload.js';
1+
import { PoleEmploiPayload } from '../../infrastructure/externals/pole-emploi/PoleEmploiPayload.js';
2+
import * as httpErrorsHelper from '../../infrastructure/http/errors-helper.js';
3+
import { httpAgent } from '../../infrastructure/http/http-agent.js';
4+
import * as monitoringTools from '../../infrastructure/monitoring-tools.js';
75
import { PoleEmploiSending } from '../models/PoleEmploiSending.js';
6+
import { CampaignParticipationStarted } from './CampaignParticipationStarted.js';
7+
import { checkEventTypes } from './check-event-types.js';
8+
89
const eventTypes = [CampaignParticipationStarted];
910

1011
async function handlePoleEmploiParticipationStarted({

api/lib/domain/events/index.js

+17
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ import { config } from '../../config.js';
3030
import * as eventBusBuilder from '../../infrastructure/events/EventBusBuilder.js';
3131
import { EventDispatcher } from '../../infrastructure/events/EventDispatcher.js';
3232
import { EventDispatcherLogger } from '../../infrastructure/events/EventDispatcherLogger.js';
33+
import * as disabledPoleEmploiNotifier from '../../infrastructure/externals/pole-emploi/disabled-pole-emploi-notifier.js';
34+
import * as poleEmploiNotifier from '../../infrastructure/externals/pole-emploi/pole-emploi-notifier.js';
3335
import { monitoringTools as MonitoringTools } from '../../infrastructure/monitoring-tools.js';
3436
import * as badgeAcquisitionRepository from '../../infrastructure/repositories/badge-acquisition-repository.js';
3537
import * as campaignParticipationRepository from '../../infrastructure/repositories/campaign-participation-repository.js';
@@ -41,16 +43,27 @@ import * as complementaryCertificationScoringCriteriaRepository from '../../infr
4143
import * as juryCertificationSummaryRepository from '../../infrastructure/repositories/jury-certification-summary-repository.js';
4244
import * as knowledgeElementRepository from '../../infrastructure/repositories/knowledge-element-repository.js';
4345
import { participantResultsSharedRepository } from '../../infrastructure/repositories/participant-results-shared-repository.js';
46+
import * as poleEmploiSendingRepository from '../../infrastructure/repositories/pole-emploi-sending-repository.js';
4447
import * as targetProfileRepository from '../../infrastructure/repositories/target-profile-repository.js';
4548
import * as scoringCertificationService from '../services/scoring/scoring-certification-service.js';
4649
import { handleAutoJury } from './handle-auto-jury.js';
4750
import { handleCertificationRescoring } from './handle-certification-rescoring.js';
4851
import { handleCertificationScoring } from './handle-certification-scoring.js';
4952
import { handleComplementaryCertificationsScoring } from './handle-complementary-certifications-scoring.js';
53+
import { handlePoleEmploiParticipationFinished } from './handle-pole-emploi-participation-finished.js';
54+
import { handlePoleEmploiParticipationStarted } from './handle-pole-emploi-participation-started.js';
5055
import { handleSessionFinalized } from './handle-session-finalized.js';
5156

5257
const { performance } = perf_hooks;
5358

59+
function requirePoleEmploiNotifier() {
60+
if (config.poleEmploi.pushEnabled) {
61+
return poleEmploiNotifier;
62+
} else {
63+
return disabledPoleEmploiNotifier;
64+
}
65+
}
66+
5467
const dependencies = {
5568
answerRepository,
5669
assessmentRepository,
@@ -80,6 +93,8 @@ const dependencies = {
8093
logger,
8194
organizationRepository,
8295
participantResultsSharedRepository,
96+
poleEmploiNotifier: requirePoleEmploiNotifier(),
97+
poleEmploiSendingRepository,
8398
scoringCertificationService,
8499
scoringDegradationService,
85100
skillRepository,
@@ -94,6 +109,8 @@ const handlersToBeInjected = {
94109
handleCertificationScoring,
95110
handleCertificationRescoring,
96111
handleComplementaryCertificationsScoring,
112+
handlePoleEmploiParticipationFinished,
113+
handlePoleEmploiParticipationStarted,
97114
handleSessionFinalized,
98115
};
99116

api/lib/domain/models/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import { CampaignForArchiving } from '../../../src/prescription/campaign/domain/
3030
import { CampaignForCreation } from '../../../src/prescription/campaign/domain/models/CampaignForCreation.js';
3131
import { Group } from '../../../src/prescription/campaign/domain/models/Group.js';
3232
import { CampaignToStartParticipation } from '../../../src/prescription/campaign-participation/domain/models/CampaignToStartParticipation.js';
33-
import { PoleEmploiSending } from '../../../src/prescription/campaign-participation/domain/models/PoleEmploiSending.js';
3433
import { OrganizationPlacesLot } from '../../../src/prescription/organization-place/domain/models/OrganizationPlacesLot.js';
3534
import { CampaignParticipationStatuses, CampaignTypes } from '../../../src/prescription/shared/domain/constants.js';
3635
import { OrganizationsToAttachToTargetProfile } from '../../../src/prescription/target-profile/domain/models/OrganizationsToAttachToTargetProfile.js';
@@ -96,6 +95,7 @@ import { OrganizationTag } from './OrganizationTag.js';
9695
import { ParticipantResultsShared } from './ParticipantResultsShared.js';
9796
import { PartnerCertificationScoring } from './PartnerCertificationScoring.js';
9897
import { PlacementProfile } from './PlacementProfile.js';
98+
import { PoleEmploiSending } from './PoleEmploiSending.js';
9999
import { PrivateCertificate } from './PrivateCertificate.js';
100100
import { ReproducibilityRate } from './ReproducibilityRate.js';
101101
import { ResultCompetence } from './ResultCompetence.js';

api/src/prescription/campaign-participation/domain/services/pole-emploi-service.js api/lib/domain/services/pole-emploi-service.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { config } from '../../../../../lib/config.js';
1+
import { config } from '../../config.js';
22

33
function generateLink(sending, filters = {}) {
44
const host = config.apiManager.url;

api/lib/domain/usecases/get-pole-emploi-sendings.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as poleEmploiService from '../services/pole-emploi-service.js';
1+
import * as poleEmploiService from '../../domain/services/pole-emploi-service.js';
22

33
const getPoleEmploiSendings = async function ({ cursorData, poleEmploiSendingRepository, filters }) {
44
const sendings = await poleEmploiSendingRepository.find(cursorData, filters);

api/lib/domain/usecases/index.js

+11
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,8 @@ import * as resetPasswordService from '../../domain/services/reset-password-serv
108108
import * as scoringCertificationService from '../../domain/services/scoring/scoring-certification-service.js';
109109
import * as sessionPublicationService from '../../domain/services/session-publication-service.js';
110110
import * as verifyCertificateCodeService from '../../domain/services/verify-certificate-code-service.js';
111+
import * as disabledPoleEmploiNotifier from '../../infrastructure/externals/pole-emploi/disabled-pole-emploi-notifier.js';
112+
import * as poleEmploiNotifier from '../../infrastructure/externals/pole-emploi/pole-emploi-notifier.js';
111113
import * as accountRecoveryDemandRepository from '../../infrastructure/repositories/account-recovery-demand-repository.js';
112114
import * as attachableTargetProfileRepository from '../../infrastructure/repositories/attachable-target-profiles-repository.js';
113115
import * as badgeAcquisitionRepository from '../../infrastructure/repositories/badge-acquisition-repository.js';
@@ -174,6 +176,14 @@ import { findTargetProfileOrganizations as findPaginatedFilteredTargetProfileOrg
174176

175177
const oidcAuthenticationServiceRegistry = new OidcAuthenticationServiceRegistry({ oidcProviderRepository });
176178

179+
function requirePoleEmploiNotifier() {
180+
if (config.poleEmploi.pushEnabled) {
181+
return poleEmploiNotifier;
182+
} else {
183+
return disabledPoleEmploiNotifier;
184+
}
185+
}
186+
177187
/**
178188
* Using {@link https://jsdoc.app/tags-type "Closure Compiler's syntax"} to document injected dependencies
179189
*
@@ -303,6 +313,7 @@ const dependencies = {
303313
pickChallengeService,
304314
pixAuthenticationService,
305315
placementProfileService,
316+
poleEmploiNotifier: requirePoleEmploiNotifier(),
306317
poleEmploiSendingRepository,
307318
refreshTokenService,
308319
resetPasswordDemandRepository,
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import * as httpErrorsHelper from '../../../../../lib/infrastructure/http/errors-helper.js';
2-
import { httpAgent } from '../../../../../lib/infrastructure/http/http-agent.js';
3-
import * as monitoringTools from '../../../../../lib/infrastructure/monitoring-tools.js';
4-
import { PoleEmploiPayload } from '../../infrastructure/externals/PoleEmploiPayload.js';
1+
import { PoleEmploiPayload } from '../../infrastructure/externals/pole-emploi/PoleEmploiPayload.js';
2+
import * as httpErrorsHelper from '../../infrastructure/http/errors-helper.js';
3+
import { httpAgent } from '../../infrastructure/http/http-agent.js';
4+
import * as monitoringTools from '../../infrastructure/monitoring-tools.js';
55
import { PoleEmploiSending } from '../models/PoleEmploiSending.js';
66

77
const sendSharedParticipationResultsToPoleEmploi = async ({

api/src/prescription/campaign-participation/infrastructure/externals/PoleEmploiPayload.js api/lib/infrastructure/externals/pole-emploi/PoleEmploiPayload.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import _ from 'lodash';
22

3-
import { config } from '../../../../shared/config.js';
3+
import { config } from '../../../config.js';
44

55
const CAMPAIGN_TYPE = 'EVALUATION';
66
const STRUCTURE_NAME = 'Pix';

api/src/prescription/campaign-participation/infrastructure/externals/pole-emploi-notifier.js api/lib/infrastructure/externals/pole-emploi/pole-emploi-notifier.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ import querystring from 'node:querystring';
66

77
import dayjs from 'dayjs';
88

9-
import { UnexpectedUserAccountError } from '../../../../../lib/domain/errors.js';
10-
import * as OidcIdentityProviders from '../../../../identity-access-management/domain/constants/oidc-identity-providers.js';
11-
import { AuthenticationMethod } from '../../../../identity-access-management/domain/models/AuthenticationMethod.js';
12-
import { config } from '../../../../shared/config.js';
9+
import * as OidcIdentityProviders from '../../../../src/identity-access-management/domain/constants/oidc-identity-providers.js';
10+
import { AuthenticationMethod } from '../../../../src/identity-access-management/domain/models/AuthenticationMethod.js';
11+
import { config } from '../../../config.js';
12+
import { UnexpectedUserAccountError } from '../../../domain/errors.js';
1313

1414
const notify = async (userId, payload, dependencies) => {
1515
const { authenticationMethodRepository, httpAgent, httpErrorsHelper, monitoringTools } = dependencies;

api/lib/infrastructure/jobs/campaign-result/SendSharedParticipationResultsToPoleEmploiHandler.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { usecases } from '../../../../src/prescription/campaign-participation/domain/usecases/index.js';
1+
import { usecases } from '../../../domain/usecases/index.js';
22
import { SendSharedParticipationResultsToPoleEmploiJob } from './SendSharedParticipationResultsToPoleEmploiJob.js';
33

44
class SendSharedParticipationResultsToPoleEmploiHandler {

api/src/certification/complementary-certification/application/attach-target-profile-route.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import Joi from 'joi';
22

3+
import { erreurDoc } from '../../../../lib/infrastructure/open-api-doc/pole-emploi/erreur-doc.js';
34
import { securityPreHandlers } from '../../../shared/application/security-pre-handlers.js';
45
import { identifiersType } from '../../../shared/domain/types/identifiers-type.js';
5-
import { erreurDoc } from '../../../shared/infrastructure/open-api-doc/erreur-doc.js';
66
import { attachTargetProfileController } from './attach-target-profile-controller.js';
77

88
const register = async function (server) {

api/src/prescription/campaign-participation/domain/events/index.js

-87
This file was deleted.

0 commit comments

Comments
 (0)