Skip to content
This repository was archived by the owner on Oct 16, 2025. It is now read-only.

Commit ad6f6fe

Browse files
arthurlbrjcMzem
authored andcommitted
refactor: optim recuperation indicateurs
1 parent e4e2c42 commit ad6f6fe

File tree

2 files changed

+24
-14
lines changed

2 files changed

+24
-14
lines changed

src/application/queries/get-indicateurs-pour-conseiller.query.handler.db.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Injectable } from '@nestjs/common'
22
import { Op } from 'sequelize'
3+
import { estMilo } from 'src/domain/core'
34
import { FavoriOffreEmploiSqlModel } from 'src/infrastructure/sequelize/models/favori-offre-emploi.sql-model'
45
import { FavoriOffreEngagementSqlModel } from 'src/infrastructure/sequelize/models/favori-offre-engagement.sql-model'
56
import { FavoriOffreImmersionSqlModel } from 'src/infrastructure/sequelize/models/favori-offre-immersion.sql-model'
@@ -49,16 +50,21 @@ export class GetIndicateursPourConseillerQueryHandler extends QueryHandler<
4950
}
5051

5152
async handle(
52-
query: GetIndicateursPourConseillerQuery
53+
query: GetIndicateursPourConseillerQuery,
54+
utilisateur: Authentification.Utilisateur
5355
): Promise<Result<IndicateursPourConseillerQueryModel>> {
5456
const maintenant = this.dateService.nowJs()
5557

56-
const [actionsSqlDuJeune, rendezVousSqlDuJeune, favorisSql] =
57-
await Promise.all([
58+
const favorisSql = await findAllFavorisPostulesOuCreesPendantPeriode(query)
59+
60+
let actionsSqlDuJeune: ActionSqlModel[] = []
61+
let rendezVousSqlDuJeune: RendezVousSqlModel[] = []
62+
if (estMilo(utilisateur.structure)) {
63+
;[actionsSqlDuJeune, rendezVousSqlDuJeune] = await Promise.all([
5864
findAllActions(query),
59-
findAllRendezVous(query),
60-
findAllFavorisPostulesOuCreesPendantPeriode(query)
65+
findAllRendezVous(query)
6166
])
67+
}
6268

6369
const indicateursActions = getIndicateursActions(
6470
actionsSqlDuJeune,

test/application/queries/get-indicateurs-pour-conseiller.query.handler.db.test.ts

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ describe('GetIndicateursPourConseillerQueryHandler', () => {
3737
let dateService: StubbedClass<DateService>
3838
const idConseiller = 'id-conseiller'
3939
const idJeune = 'id-jeune'
40+
const utilisateur = unUtilisateurConseiller({
41+
structure: Core.Structure.MILO
42+
})
4043

4144
before(async () => {
4245
dateService = stubClass(DateService)
@@ -95,7 +98,8 @@ describe('GetIndicateursPourConseillerQueryHandler', () => {
9598

9699
// When
97100
const response = await getIndicateursPourConseillerQueryHandler.handle(
98-
query
101+
query,
102+
utilisateur
99103
)
100104

101105
// Then
@@ -141,7 +145,8 @@ describe('GetIndicateursPourConseillerQueryHandler', () => {
141145

142146
// When
143147
const response = await getIndicateursPourConseillerQueryHandler.handle(
144-
query
148+
query,
149+
utilisateur
145150
)
146151

147152
// Then
@@ -195,7 +200,8 @@ describe('GetIndicateursPourConseillerQueryHandler', () => {
195200

196201
// When
197202
const response = await getIndicateursPourConseillerQueryHandler.handle(
198-
query
203+
query,
204+
utilisateur
199205
)
200206

201207
// Then
@@ -246,7 +252,8 @@ describe('GetIndicateursPourConseillerQueryHandler', () => {
246252

247253
// When
248254
const response = await getIndicateursPourConseillerQueryHandler.handle(
249-
query
255+
query,
256+
utilisateur
250257
)
251258

252259
// Then
@@ -317,7 +324,8 @@ describe('GetIndicateursPourConseillerQueryHandler', () => {
317324
dateFin: dateFin.toJSDate()
318325
}
319326
const response = await getIndicateursPourConseillerQueryHandler.handle(
320-
query
327+
query,
328+
utilisateur
321329
)
322330
// Then
323331
expect(
@@ -334,10 +342,6 @@ describe('GetIndicateursPourConseillerQueryHandler', () => {
334342
describe("quand c'est un conseiller", () => {
335343
it('valide le conseiller', async () => {
336344
// Given
337-
const utilisateur = unUtilisateurConseiller({
338-
structure: Core.Structure.MILO
339-
})
340-
341345
const query: GetIndicateursPourConseillerQuery = {
342346
idJeune: 'id-jeune',
343347
idConseiller: 'id-conseiller',

0 commit comments

Comments
 (0)